@font-face {
	font-family: "Aimira Montserrat";
	src: url("../fonts/montserrat/Montserrat-Light.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 300;
}

@font-face {
	font-family: "Aimira Montserrat";
	src: url("../fonts/montserrat/Montserrat-Regular.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

@font-face {
	font-family: "Aimira Montserrat";
	src: url("../fonts/montserrat/Montserrat-Medium.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 500;
}

@font-face {
	font-family: "Aimira Montserrat";
	src: url("../fonts/montserrat/Montserrat-SemiBold.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 600;
}

@font-face {
	font-family: "Aimira Madani";
	src: url("../fonts/madani/Madani-Arabic-Variable.ttf") format("truetype-variations");
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
}

:root {
	--color-ivory: #eeecea;
	--color-paper: #fbfaf7;
	--color-sand: #d7c8b5;
	--color-camel: #a58661;
	--color-taupe: #967052;
	--color-gold: #a48b6c;
	--color-gold-light: #cfb895;
	--color-ink: #000;
	--color-muted: #655f57;
	--color-line: rgba(0, 0, 0, 0.16);
	--ease-luxury: cubic-bezier(0.22, 1, 0.36, 1);
	--font-display: "Aimira Montserrat", Montserrat, "Helvetica Neue", Arial, sans-serif;
	--font-body: "Aimira Montserrat", Montserrat, "Helvetica Neue", Arial, sans-serif;
	--step--1: clamp(0.78rem, 0.74rem + 0.12vw, 0.86rem);
	--step-0: clamp(0.98rem, 0.91rem + 0.2vw, 1.08rem);
	--step-1: clamp(1.2rem, 1.04rem + 0.55vw, 1.52rem);
	--step-2: clamp(1.45rem, 1.16rem + 1vw, 2rem);
	--step-3: clamp(1.9rem, 1.42rem + 1.7vw, 3.15rem);
	--step-4: clamp(2.65rem, 1.65rem + 3.55vw, 5.2rem);
	--space-xs: clamp(0.6rem, 0.5rem + 0.25vw, 0.85rem);
	--space-s: clamp(1rem, 0.8rem + 0.5vw, 1.5rem);
	--space-m: clamp(1.5rem, 1.05rem + 1.3vw, 2.6rem);
	--space-l: clamp(2.7rem, 1.7rem + 3vw, 5.4rem);
	--space-xl: clamp(4.5rem, 2.6rem + 5.6vw, 9rem);
	--shell: min(90rem, calc(100vw - 3rem));
	--header-height: 5.5rem;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--step-0); line-height: 1.7; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.18; letter-spacing: 0.015em; }
[dir="ltr"] h1, [dir="ltr"] h2, [dir="ltr"] h3 { line-height: 1.18; }
h1 { font-size: var(--step-4); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); }
::selection { background: var(--color-taupe); color: #fff; }
:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 4px; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: var(--space-xl); }
.section--sand { background: var(--color-camel); color: var(--color-ink); }
.section--sand .eyebrow, .section--sand .journey-step__number, .section--sand .values article > span { color: #4e3d2d; }
.section--sand .journey__steps, .section--sand .values article { border-color: rgba(0,0,0,.25); }
.section--sand .journey-step, .section--sand .values article { border-color: rgba(0,0,0,.25); }
.section--sand .journey-step p, .section--sand .values article p { color: rgba(0,0,0,.9); }
.section--ink { background: var(--color-ink); color: var(--color-paper); }
.eyebrow { margin-bottom: var(--space-s); font-size: var(--step--1); font-weight: 600; letter-spacing: 0.18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow::before { display: inline-block; margin-inline-end: .65rem; color: var(--color-gold); content: "✦"; font-size: .72em; transform: translateY(-.08em); }
.prose { max-width: 45rem; color: var(--color-muted); }
.prose > *:last-child { margin-bottom: 0; }
.prose--large { font-family: var(--font-display); font-size: var(--step-1); line-height: 1.55; }
.skip-link { position: fixed; z-index: 1000; inset-block-start: 0; inset-inline-start: 1rem; padding: 0.8rem 1rem; transform: translateY(-120%); background: #fff; color: #000; }
.skip-link:focus { transform: translateY(0); }
.button { --button-bg: transparent; --button-color: var(--color-ink); --button-hover-bg: var(--color-camel); --button-hover-color: var(--color-paper); position: relative; isolation: isolate; display: inline-flex; min-height: 3.6rem; align-items: center; justify-content: center; gap: .85rem; overflow: hidden; padding: .9rem 1.55rem; border: 1px solid currentColor; background: var(--button-bg); color: var(--button-color); font-size: var(--step--1); font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; transition: color 380ms ease, border-color 380ms ease, transform 380ms var(--ease-luxury), box-shadow 380ms var(--ease-luxury); }
.button::before { position: absolute; z-index: -1; inset: 0; transform: scaleX(0); transform-origin: left; background: var(--button-hover-bg); content: ""; transition: transform 480ms var(--ease-luxury); }
.button::after { content: "↗"; font-size: 1.05em; line-height: 1; transition: transform 380ms var(--ease-luxury); }
.button:hover, .button:focus-visible { border-color: var(--button-hover-bg); color: var(--button-hover-color); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.16); }
.button:hover::before, .button:focus-visible::before { transform: scaleX(1); }
.button:hover::after, .button:focus-visible::after { transform: translate(.22rem,-.22rem); }
.button--light { --button-color: #fff; --button-hover-bg: var(--color-paper); --button-hover-color: var(--color-ink); }
.button--dark { --button-bg: var(--color-ink); --button-color: #fff; --button-hover-bg: var(--color-camel); --button-hover-color: #fff; border-color: var(--color-ink); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; }
.text-link { display: inline-block; padding-block: .35rem; border: 0; background-image: linear-gradient(currentColor,currentColor), linear-gradient(var(--color-line),var(--color-line)); background-position: left bottom,left bottom; background-repeat: no-repeat; background-size: 0 1px,100% 1px; font-size: var(--step--1); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transition: color 300ms ease, background-size 420ms var(--ease-luxury); }
.text-link span { display: inline-block; transition: transform 350ms var(--ease-luxury); }
.text-link--light { color: #fff; }
.text-link:hover, .text-link:focus-visible { color: var(--color-gold); background-size: 100% 1px,100% 1px; }
.text-link:hover span, .text-link:focus-visible span { transform: translate(.22rem,-.22rem); }

.site-header { position: absolute; z-index: 100; inset: 0 0 auto; height: var(--header-height); color: #fff; transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease; }
.site-header--solid { background: rgba(238, 236, 234, 0.96); color: var(--color-ink); box-shadow: 0 1px 0 var(--color-line); backdrop-filter: blur(16px); }
.site-header.is-sticky { position: fixed; background: rgba(238, 236, 234, 0.96); color: var(--color-ink); box-shadow: 0 1px 0 var(--color-line); backdrop-filter: blur(16px); }
.site-header__inner { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: 100%; align-items: center; height: 100%; gap: 2rem; }
.brand { display: inline-flex; align-items: center; }
.site-header .brand { transform: translateY(-1.85%); }
.brand__logo { width: clamp(6.4rem,8vw,8.2rem); height: auto; object-fit: contain; transition: filter 350ms ease, opacity 350ms ease, transform 450ms var(--ease-luxury); }
.brand:hover .brand__logo, .brand:focus-visible .brand__logo { opacity: .78; transform: translateY(-2px); }
.site-header--solid .brand__logo, .site-header.is-sticky .brand__logo { filter: none; }
.primary-navigation ul { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2.5rem); margin: 0; padding: 0; list-style: none; }
.primary-navigation a, .language-switch { position: relative; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.primary-navigation a::after { position: absolute; inset: auto 0 -0.4rem; height: 1px; transform: scaleX(0); transform-origin: center; background: var(--color-gold); content: ""; transition: transform 380ms var(--ease-luxury); }
.primary-navigation a:hover::after, .primary-navigation a:focus-visible::after { transform: scaleX(1); }
.primary-navigation .nav-cta { padding: .72rem 1rem; border: 1px solid currentColor; transition: background 350ms ease,color 350ms ease,border-color 350ms ease,transform 350ms var(--ease-luxury); }
.primary-navigation .nav-cta:hover, .primary-navigation .nav-cta:focus-visible { border-color: var(--color-camel); background: var(--color-camel); color: #fff; transform: translateY(-2px); }
.primary-navigation .nav-cta::after { display: none; }
.menu-toggle { display: none; border: 0; background: none; color: inherit; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; background-image: var(--hero-image); background-position: center; background-size: cover; color: #fff; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.08) 70%), linear-gradient(0deg, rgba(0,0,0,.54), transparent 58%); }
.hero__content { position: relative; z-index: 1; padding-block: calc(var(--header-height) + var(--space-xl)) var(--space-xl); }
.hero__content h1 { max-width: 11ch; margin-bottom: var(--space-m); }
.hero__lead { max-width: 34rem; margin-bottom: var(--space-m); font-size: var(--step-1); }
.hero__scroll { position: absolute; z-index: 2; inset-block-end: 2rem; inset-inline-end: 5vw; width: 2.7rem; height: 4.2rem; border: 1px solid rgba(255,255,255,.7); border-radius: 2rem; }
.hero__scroll span { position: absolute; inset: 0.65rem auto auto 50%; width: 0.3rem; height: 0.3rem; border-radius: 50%; transform: translateX(-50%); background: #fff; animation: scroll-cue 1.8s infinite; }
@keyframes scroll-cue { 0% { opacity: 0; transform: translate(-50%,0); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,1.8rem); } }

.editorial-split { display: grid; grid-template-columns: minmax(18rem, 0.82fr) minmax(20rem, 1.18fr); width: var(--shell); margin-inline: auto; align-items: center; gap: clamp(3rem, 8vw, 10rem); }
.editorial-split__media { position: relative; }
.editorial-split__media::after { position: absolute; z-index: -1; inset: 2.5rem -2.5rem -2.5rem 2.5rem; background: var(--color-camel); content: ""; }
.editorial-split__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.editorial-split__content h2 { max-width: 12ch; }
.editorial-split__content .text-link { margin-top: var(--space-m); }
.section-heading { max-width: 50rem; margin-bottom: var(--space-l); }
.section-heading--row { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.journey__steps { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--color-line); }
.journey-step { position: relative; min-height: 19rem; padding: var(--space-m); border-inline-end: 1px solid var(--color-line); }
.journey-step:last-child { border-inline-end: 0; }
.journey-step { overflow: hidden; transition: background 420ms ease, transform 420ms var(--ease-luxury); }
.journey-step::after { position: absolute; inset: auto 0 0; height: 3px; transform: scaleX(0); transform-origin: left; background: var(--color-gold-light); content: ""; transition: transform 480ms var(--ease-luxury); }
.journey-step:hover { background: rgba(255,255,255,.08); transform: translateY(-4px); }
.journey-step:hover::after { transform: scaleX(1); }
.journey-step__number { display: block; margin-bottom: var(--space-l); color: var(--color-gold); font-family: var(--font-display); font-size: var(--step-1); transition: transform 420ms var(--ease-luxury); }
.journey-step:hover .journey-step__number { transform: translateX(.45rem); }
.journey-step h3 { margin-bottom: 1rem; }
.journey-step p { max-width: 25rem; color: var(--color-muted); }

.venue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-l) var(--space-m); }
.venue-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.venue-card { position: relative; }
.venue-card__image { position: relative; display: block; overflow: hidden; background: var(--color-sand); }
.venue-card__image::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(0,0,0,.38)), rgba(165,134,97,.08); content: ""; opacity: 0; transition: opacity 500ms ease; }
.venue-card__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.9) contrast(.96); transition: transform 800ms var(--ease-luxury), filter 600ms ease; }
.venue-card:hover img, .venue-card:focus-within img { transform: scale(1.055); filter: saturate(1) contrast(1); }
.venue-card:hover .venue-card__image::after, .venue-card:focus-within .venue-card__image::after { opacity: 1; }
.venue-card__body { padding-block: var(--space-s); transition: transform 420ms var(--ease-luxury); }
.venue-card:hover .venue-card__body, .venue-card:focus-within .venue-card__body { transform: translateY(-3px); }
.venue-card__body .eyebrow { margin-bottom: 0.5rem; color: var(--color-muted); }
.venue-card__body h3 { margin-bottom: 0.7rem; }
.venue-card__body > p:not(.eyebrow) { color: var(--color-muted); }
.services-preview__grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: var(--space-xl); }
.services-preview__intro h2 { max-width: 10ch; }
.services-preview__intro .button { margin-top: var(--space-m); }
.service-list { border-top: 1px solid rgba(255,255,255,.22); }
.service-list__item { position: relative; display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: 1rem; min-height: 8.5rem; padding-inline: 0; border-bottom: 1px solid rgba(255,255,255,.22); transition: padding 420ms var(--ease-luxury), background 420ms ease; }
.service-list__item::before { position: absolute; inset-block: 1.2rem; inset-inline-start: 0; width: 2px; transform: scaleY(0); background: var(--color-gold-light); content: ""; transition: transform 420ms var(--ease-luxury); }
.service-list__item:hover, .service-list__item:focus-visible { padding-inline: 1.25rem; background: rgba(255,255,255,.045); }
.service-list__item:hover::before, .service-list__item:focus-visible::before { transform: scaleY(1); }
.service-list__item > span { color: var(--color-taupe); font-size: var(--step--1); }
.service-list__item h3 { margin: 0; font-size: var(--step-2); }
.service-list__item i { font-style: normal; font-size: 1.5rem; transition: transform 380ms var(--ease-luxury), color 380ms ease; }
.service-list__item:hover i, .service-list__item:focus-visible i { color: var(--color-gold-light); transform: translate(.35rem,-.35rem); }
.story-strip__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: var(--space-xl); }
.story-strip__images { display: grid; grid-template-columns: 0.85fr 1.15fr; align-items: end; gap: var(--space-s); }
.story-strip__images img { width: 100%; object-fit: cover; }
.story-strip__images img:first-child { aspect-ratio: 3/4; }
.story-strip__images img:last-child { aspect-ratio: 2/3; margin-bottom: 2.5rem; }
.story-strip blockquote { margin: 0; }
.story-strip blockquote > p:nth-child(2) { font-family: var(--font-display); font-size: var(--step-2); line-height: 1.4; }
.story-strip cite { color: var(--color-gold); font-size: var(--step--1); letter-spacing: .18em; }
.consultation-cta { position: relative; min-height: 39rem; display: grid; overflow: hidden; align-items: center; background: var(--consultation-background,#EFBF04); color: var(--color-ink); }
.consultation-cta__content { position: relative; z-index: 1; }
.consultation-cta__content h2 { max-width: 10ch; }
.consultation-cta__content > p:not(.eyebrow) { max-width: 36rem; }
.consultation-cta--light { color: var(--color-paper); }
.consultation-cta .eyebrow::before { color: currentColor; }
.consultation-cta .button { --button-bg: var(--color-ink); --button-color: #fff; --button-hover-bg: #fff; --button-hover-color: var(--color-ink); border-color: var(--color-ink); }
.consultation-cta--light .button { --button-bg: var(--color-paper); --button-color: var(--color-ink); --button-hover-bg: var(--color-ink); --button-hover-color: var(--color-paper); border-color: var(--color-paper); }

.page-hero { min-height: 78svh; padding-top: var(--header-height); }
.page-hero--split { display: grid; grid-template-columns: 1fr 1fr; background: var(--color-ivory); }
.page-hero--split .page-hero__content { display: flex; flex-direction: column; justify-content: center; padding: var(--space-xl) max(5vw, calc((100vw - 90rem)/2)); }
.page-hero__content h1 { max-width: 12ch; }
.page-hero__content > p:last-child { max-width: 40rem; color: var(--color-muted); }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero--wide { position: relative; display: grid; align-items: end; background: var(--page-image) center/cover; color: #fff; }
.page-hero--wide .page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.08)); }
.page-hero--wide .page-hero__content { position: relative; z-index: 1; width: var(--shell); margin-inline: auto; padding-block: var(--space-xl); }
.page-hero--wide .page-hero__content > p:last-child { color: rgba(255,255,255,.82); }
.manifesto__grid { display: grid; grid-template-columns: 0.4fr 1.6fr; gap: var(--space-l); }
.manifesto__grid h2 { max-width: 13ch; }
.values__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-m); }
.values article { position: relative; padding: var(--space-m) var(--space-s); border-top: 1px solid var(--color-line); transition: background 420ms ease, transform 420ms var(--ease-luxury); }
.values article:hover { background: rgba(255,255,255,.08); transform: translateY(-4px); }
.values article > span { color: var(--color-gold); }
.values h2 { margin-top: var(--space-m); font-size: var(--step-2); }
.values article p { color: var(--color-muted); }
.image-statement { min-height: 75svh; display: grid; place-items: center; padding: var(--space-l); background: linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.52)), var(--statement-image) center/cover; color: #fff; text-align: center; }
.image-statement > div { max-width: 55rem; }
.image-statement h2 { font-size: var(--step-4); }
.image-statement--service { min-height: 60svh; }

.service-catalogue { background: var(--color-paper); }
.service-row { position: relative; display: grid; grid-template-columns: 4rem 1fr 1fr 3.5rem; align-items: center; gap: var(--space-m); padding: var(--space-l) var(--space-s); border-top: 1px solid var(--color-line); transition: background 420ms ease, padding 420ms var(--ease-luxury); }
.service-row::before { position: absolute; inset-block: 0; inset-inline-start: 0; width: 3px; transform: scaleY(0); background: var(--color-camel); content: ""; transition: transform 420ms var(--ease-luxury); }
.service-row:hover, .service-row:focus-within { background: var(--color-ivory); padding-inline: var(--space-m); }
.service-row:hover::before, .service-row:focus-within::before { transform: scaleY(1); }
.service-row:last-child { border-bottom: 1px solid var(--color-line); }
.service-row__number { color: var(--color-gold); }
.service-row h2 { margin: 0; font-size: var(--step-2); }
.service-row .eyebrow { margin-bottom: 0.5rem; }
.service-row > p { margin: 0; color: var(--color-muted); }
.round-link { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 1px solid var(--color-line); border-radius: 50%; transition: background 380ms ease,color 380ms ease,border-color 380ms ease,transform 420ms var(--ease-luxury); }
.round-link:hover, .round-link:focus-visible { border-color: var(--color-camel); background: var(--color-camel); color: #fff; transform: rotate(45deg) scale(1.05); }

.contact-page { background: var(--color-ivory); }
.contact-intro { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 75svh; padding-top: var(--header-height); }
.contact-intro > div { display: flex; flex-direction: column; justify-content: center; padding: var(--space-xl) max(5vw, calc((100vw - 90rem)/2)); }
.contact-intro h1 { max-width: 10ch; }
.contact-intro > div > p:last-child { max-width: 34rem; color: var(--color-muted); }
.contact-intro img { width: 100%; height: 100%; object-fit: cover; }
.enquiry { background: var(--color-paper); }
.enquiry__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: var(--space-xl); }
.enquiry aside h2 { max-width: 9ch; }
.enquiry aside > p:last-child { color: var(--color-muted); }
.enquiry-form { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--space-m); }
.form-field { display: grid; gap: .5rem; }
.form-field label, .consent { font-size: var(--step--1); font-weight: 600; letter-spacing: .05em; }
.form-field input, .form-field textarea { width: 100%; border: 0; border-bottom: 1px solid var(--color-line); padding: .85rem 0; border-radius: 0; outline: 0; background: linear-gradient(var(--color-camel),var(--color-camel)) left bottom/0 2px no-repeat; color: var(--color-ink); transition: background-size 420ms var(--ease-luxury), border-color 420ms ease; }
.form-field input:focus, .form-field textarea:focus { border-color: transparent; background-size: 100% 2px; box-shadow: none; }
.form-field--wide { grid-column: 1/-1; }
.form-field--hidden { position: absolute; inset-inline-start: -10000px; }
.consent { display: flex; align-items: flex-start; gap: .75rem; font-weight: 400; }
.consent input { margin-top: .4rem; accent-color: var(--color-ink); }
.form-notice { margin-bottom: var(--space-m); padding: 1rem; border-inline-start: 3px solid; }
.form-notice--success { background: #eef5ed; border-color: #496b42; }
.form-notice--error { background: #f7eded; border-color: #8b3d3d; }

.detail-hero { position: relative; min-height: 82svh; display: grid; align-items: end; padding-top: var(--header-height); background: var(--detail-image) center/cover; color: #fff; }
.detail-hero__overlay { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.06)); }
.detail-hero__content { position: relative; z-index: 1; padding-bottom: var(--space-l); }
.detail-body__grid { display: grid; grid-template-columns: .45fr 1.55fr; gap: var(--space-xl); }
.detail-body__grid h2 { max-width: 12ch; }
.detail-body__grid .button { margin-top: var(--space-m); }
.service-detail { padding-top: var(--header-height); }
.service-detail__hero { padding-block: var(--space-xl); }
.service-detail__hero .eyebrow { margin-top: var(--space-l); }
.service-detail__hero h1 { max-width: 11ch; }
.service-detail__image img { width: 100%; max-height: 70svh; object-fit: cover; }
.page-shell { min-height: 70vh; padding-block: calc(var(--header-height) + var(--space-xl)) var(--space-xl); }

.site-footer { padding-top: var(--space-xl); background: var(--color-ink); color: rgba(255,255,255,.82); }
.site-footer__grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: var(--space-l); }
.brand--footer { margin-bottom: var(--space-s); color: #fff; }
.brand--footer .brand__logo { width: 9rem; }
.site-footer__grid nav, .site-footer__contact { display: grid; align-content: start; gap: .7rem; }
.site-footer__grid nav a, .site-footer__contact a { width: fit-content; transition: color 300ms ease, transform 350ms var(--ease-luxury); }
.site-footer__grid nav a:hover, .site-footer__contact a:hover { color: var(--color-gold-light); transform: translateX(.3rem); }
.site-footer__base { display: flex; justify-content: space-between; margin-top: var(--space-xl); padding-block: var(--space-s); border-top: 1px solid rgba(255,255,255,.16); font-size: var(--step--1); }

.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity 650ms ease, transform 650ms ease; }
.reveal.is-visible { opacity: 1; transform: none; }
[dir="rtl"] { --font-display: "Aimira Madani", Tahoma, Arial, sans-serif; --font-body: "Aimira Madani", Tahoma, Arial, sans-serif; }
[dir="rtl"] body { font-family: var(--font-body); }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] .prose--large { font-family: var(--font-display); letter-spacing: 0; line-height: 1.25; }
[dir="rtl"] .eyebrow, [dir="rtl"] .primary-navigation a, [dir="rtl"] .language-switch, [dir="rtl"] .button, [dir="rtl"] .text-link { letter-spacing: 0; }
[dir="rtl"] .hero__shade { transform: scaleX(-1); }
[dir="rtl"] .button::before, [dir="rtl"] .journey-step::after { transform-origin: right; }
[dir="rtl"] .button:hover::after, [dir="rtl"] .button:focus-visible::after, [dir="rtl"] .text-link:hover span, [dir="rtl"] .text-link:focus-visible span { transform: translate(-.22rem,-.22rem); }
[dir="rtl"] .text-link { background-position: right bottom,right bottom; }
[dir="rtl"] .journey-step:hover .journey-step__number { transform: translateX(-.45rem); }
[dir="rtl"] .service-list__item:hover i { transform: translate(-.35rem,-.35rem); }
[dir="rtl"] .form-field input, [dir="rtl"] .form-field textarea { background-position: right bottom; }
[dir="rtl"] .site-footer__grid nav a:hover, [dir="rtl"] .site-footer__contact a:hover { transform: translateX(-.3rem); }

@media (max-width: 960px) {
	:root { --header-height: 4.8rem; --shell: min(100% - 2rem, 52rem); }
	.site-header__inner { grid-template-columns: auto 1fr auto auto; gap: 1rem; }
	.menu-toggle { display: inline-grid; grid-template-columns: auto 1.4rem; align-items: center; justify-self: end; gap: .65rem; cursor: pointer; }
	.menu-toggle span { font-size: .7rem; text-transform: uppercase; }
	.menu-toggle i { grid-column: 2; width: 1.4rem; height: 1px; background: currentColor; transition: transform 180ms; }
	.menu-toggle i:last-child { margin-top: -.55rem; }
	.menu-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(.28rem) rotate(45deg); }
	.menu-toggle[aria-expanded="true"] i:last-child { transform: translateY(-.28rem) rotate(-45deg); }
	.primary-navigation { position: fixed; inset: var(--header-height) 0 0; display: grid; visibility: hidden; place-items: center; transform: translateY(-1rem); opacity: 0; background: var(--color-paper); color: var(--color-ink); transition: opacity 180ms, transform 180ms, visibility 180ms; }
	.primary-navigation.is-open { visibility: visible; transform: none; opacity: 1; }
	.primary-navigation ul { flex-direction: column; gap: 1.8rem; }
	.primary-navigation a { font-family: var(--font-display); font-size: var(--step-2); letter-spacing: 0; text-transform: none; }
	.primary-navigation .nav-cta { padding: 0; border: 0; }
	.editorial-split, .page-hero--split, .contact-intro, .services-preview__grid, .story-strip__grid, .enquiry__grid { grid-template-columns: 1fr; }
	.editorial-split { gap: var(--space-l); }
	.editorial-split__media { max-width: 34rem; }
	.page-hero__media, .contact-intro img { max-height: 55svh; }
	.page-hero--services .page-hero__media { order: -1; }
	.journey-step { min-height: 16rem; }
	.venue-grid--featured { grid-template-columns: repeat(2,1fr); }
	.venue-grid--featured .venue-card:last-child { display: none; }
	.service-row { grid-template-columns: 3rem 1fr 3rem; }
	.service-row > p { grid-column: 2/3; }
	.service-row .round-link { grid-column: 3; grid-row: 1/3; }
}

@media (max-width: 640px) {
	:root { --shell: calc(100% - 1.5rem); }
	.language-switch { font-size: .65rem; }
	.hero__content h1 { max-width: 9ch; }
	.hero__scroll { display: none; }
	.editorial-split { display: flex; flex-direction: column; }
	.editorial-split__media::after { inset: 1rem -1rem -1rem 1rem; }
	.section-heading--row { align-items: start; flex-direction: column; }
	.journey__steps, .venue-grid, .venue-grid--featured, .values__grid { grid-template-columns: 1fr; }
	.journey-step { min-height: 0; border-inline-end: 0; border-bottom: 1px solid var(--color-line); }
	.journey-step:last-child { border-bottom: 0; }
	.venue-grid--featured .venue-card:last-child { display: block; }
	.services-preview__grid { gap: var(--space-l); }
	.story-strip__grid { gap: var(--space-l); }
	.manifesto__grid, .detail-body__grid { grid-template-columns: 1fr; gap: var(--space-m); }
	.service-row { grid-template-columns: 2.5rem 1fr; }
	.service-row .round-link { display: none; }
	.service-row > p { grid-column: 2; }
	.enquiry-form { grid-template-columns: 1fr; }
	.form-field--wide { grid-column: auto; }
	.site-footer__grid { grid-template-columns: 1fr; }
	.site-footer__base { flex-direction: column; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.reveal { opacity: 1; transform: none; }
}

/* Services Index — The Service Portrait. */
.page-template-page-services { --header-height: 4rem; }
.page-template-page-services .site-header, .page-template-page-services .site-header.is-sticky { height: var(--header-height); }
.page-template-page-services .brand__logo { width: clamp(5.5rem,6.5vw,6.5rem); }
.page-template-page-services .site-header--solid { background: rgba(251,250,247,.96); }
.page-template-page-services .site-footer { border-top: 1px solid var(--color-line); background: var(--color-paper); color: var(--color-ink); }
.page-template-page-services .site-footer__grid nav a:hover,
.page-template-page-services .site-footer__contact a:hover { color: var(--color-taupe); }
.page-template-page-services .brand--footer .brand__logo { filter: none; }
.services-index { background: var(--color-paper); }
.services-index-hero { display: grid; height: clamp(31rem,39vw,35rem); grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: var(--header-height); border-bottom: 1px solid var(--color-line); }
.services-index-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.75rem,5.5vw,5rem) max(5vw,calc((100vw - 90rem)/2)); background: var(--color-paper); }
.services-index-hero__copy h1 { max-width: 10ch; margin-bottom: 1.15rem; font-size: clamp(2.8rem,3.6vw,3.55rem); line-height: 1; text-wrap: balance; }
.services-index-hero__copy p { max-width: 28rem; margin: 0; padding-inline-start: 1rem; border-inline-start: 1px solid var(--color-camel); color: var(--color-muted); font-size: .82rem; line-height: 1.65; }
.services-index-hero__media { min-width: 0; min-height: 100%; margin: 0; overflow: hidden; background: var(--color-ink); }
.services-index-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-x) var(--media-y); filter: saturate(.72) sepia(.1); transform: scale(1.015); }
.services-portrait { background: var(--color-ink); }
.service-band { position: relative; isolation: isolate; display: grid; min-height: 15rem; grid-template-columns: minmax(0,7fr) minmax(17rem,5fr); align-items: center; overflow: hidden; border-bottom: 1px solid rgba(251,250,247,.34); color: var(--color-paper); transition: min-height 650ms var(--ease-luxury); }
.services-portrait.is-enhanced .service-band:not(.is-active) { min-height: 7.25rem; }
.services-portrait--single .service-band { min-height: clamp(20rem,34vw,31rem); }
.service-band__media,
.service-band__shade { position: absolute; z-index: -2; inset: 0; }
.service-band__row-link { z-index: 1; display: grid; min-height: inherit; grid-column: 1 / -1; grid-template-columns: minmax(0,7fr) minmax(17rem,5fr); align-items: center; color: inherit; cursor: pointer; }
.service-band__row-link:focus-visible { outline-color: var(--color-gold-light); outline-offset: -4px; }
.service-band__media { overflow: hidden; background: #101512; }
.service-band__media > img,
.service-band__media > video,
.service-band__fallback { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-x) var(--media-y); }
.service-band__media > img { filter: saturate(.72) sepia(.08); transform: scale(1.01); transition: transform 900ms var(--ease-luxury),filter 650ms ease,opacity 400ms ease; }
.service-band__media > video { position: absolute; inset: 0; opacity: 0; transition: opacity 420ms ease; }
.service-band.is-previewing .service-band__media > video { opacity: 1; }
.service-band.is-previewing .service-band__media > img { opacity: 0; }
.service-band__fallback { display: grid; place-items: center; background-color: #111713; background-image: linear-gradient(45deg,rgba(165,134,97,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(165,134,97,.08) 25%,transparent 25%); background-position: 0 0,1.25rem 1.25rem; background-size: 2.5rem 2.5rem; }
.service-band__fallback span { color: rgba(165,134,97,.2); font-family: var(--font-display); font-size: clamp(8rem,20vw,20rem); line-height: 1; }
.service-band__shade { z-index: -1; background: linear-gradient(90deg,rgba(9,14,12,.95) 0%,rgba(9,14,12,.82) 31%,rgba(9,14,12,.28) 72%,rgba(9,14,12,.42) 100%); transition: background 600ms ease; }
[dir="rtl"] .service-band__shade { background: linear-gradient(270deg,rgba(9,14,12,.95) 0%,rgba(9,14,12,.82) 31%,rgba(9,14,12,.28) 72%,rgba(9,14,12,.42) 100%); }
.service-band__trigger { display: grid; width: 100%; min-width: 0; grid-template-columns: 4rem 1px minmax(0,1fr); align-items: center; gap: clamp(1.25rem,2.7vw,3rem); padding: clamp(1.25rem,2.5vw,2.5rem) clamp(1.25rem,5vw,5rem); border: 0; background: transparent; color: inherit; text-align: start; cursor: pointer; }
.service-band__number { align-self: start; color: var(--color-gold-light); font-family: var(--font-display); font-size: clamp(1.8rem,2.6vw,2.8rem); line-height: 1; font-variant-numeric: tabular-nums; }
.service-band__rule { align-self: stretch; min-height: 3.5rem; background: var(--color-camel); }
.service-band__title { max-width: 18ch; font-family: var(--font-display); font-size: clamp(2rem,3vw,3.4rem); line-height: 1.02; text-wrap: balance; transition: transform 600ms var(--ease-luxury); }
.service-band__indicator { display: none; }
.service-band__panel { align-self: center; max-width: 27rem; padding: 2rem clamp(2rem,5vw,5rem) 2rem 0; opacity: 1; transform: none; transition: opacity 380ms ease 160ms,transform 520ms var(--ease-luxury) 120ms,visibility 0s; }
[dir="rtl"] .service-band__panel { padding: 2rem 0 2rem clamp(2rem,5vw,5rem); }
.services-portrait.is-enhanced .service-band:not(.is-active) .service-band__panel { visibility: hidden; opacity: 0; transform: translateY(.75rem); transition-delay: 0s; }
.service-band__summary { display: block; margin-bottom: 1.15rem; color: rgba(251,250,247,.88); font-size: clamp(.84rem,1vw,.98rem); line-height: 1.65; }
.service-band__link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .65rem; padding-bottom: .15rem; border-bottom: 1px solid var(--color-gold-light); color: var(--color-gold-light); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transition: color 280ms ease,transform 380ms var(--ease-luxury); }
.service-band__row-link:hover .service-band__link,
.service-band__row-link:focus-visible .service-band__link { color: #fff; transform: translateY(-2px); }
.service-band__video-control { position: absolute; z-index: 2; inset-block-end: 1.5rem; inset-inline-end: 1.5rem; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(251,250,247,.75); border-radius: 50%; background: rgba(10,15,13,.28); color: #fff; opacity: 0; visibility: hidden; cursor: pointer; transition: opacity 300ms ease,background 300ms ease,visibility 0s 300ms; }
.service-band.is-active .service-band__video-control { opacity: 1; visibility: visible; transition-delay: 0s; }
.service-band__video-control:hover,
.service-band__video-control:focus-visible { background: rgba(165,134,97,.9); }
.service-band.is-active:hover .service-band__media > img,
.service-band.is-active:focus-within .service-band__media > img { filter: saturate(.86) sepia(.04); transform: scale(1.045) translate3d(.35%,0,0); }
[dir="rtl"] .service-band.is-active:hover .service-band__media > img,
[dir="rtl"] .service-band.is-active:focus-within .service-band__media > img { transform: scale(1.045) translate3d(-.35%,0,0); }
.service-band.is-active:hover .service-band__shade,
.service-band.is-active:focus-within .service-band__shade { background-color: rgba(8,13,11,.12); }
.service-band.is-active:hover .service-band__title,
.service-band.is-active:focus-within .service-band__title { transform: translateY(-.2rem); }
.services-index-empty { display: grid; min-height: clamp(24rem,40vw,36rem); grid-template-columns: minmax(0,1fr) minmax(15rem,.65fr); align-items: center; gap: clamp(3rem,8vw,9rem); padding-block: clamp(5rem,9vw,9rem); }
.services-index-empty h2 { max-width: 14ch; font-size: clamp(2.5rem,4vw,4.5rem); }
.services-index-empty p { max-width: 36rem; margin: 0; color: var(--color-muted); }
.services-index-empty__mark { color: rgba(165,134,97,.15); font-family: var(--font-display); font-size: clamp(13rem,28vw,28rem); line-height: .7; text-align: center; }
.services-index-cta { display: grid; min-height: 18rem; place-items: center; align-content: center; gap: 1.25rem; padding: clamp(3.5rem,6vw,6rem) 1.25rem; background: var(--color-paper); text-align: center; }
.services-index-cta > span { color: var(--color-camel); font-size: 1.3rem; }
.services-index-cta h2 { margin: 0; font-size: clamp(2rem,3.1vw,3.3rem); text-wrap: balance; }
.services-index-cta .button { min-width: 13rem; }

@media (max-width: 1023px) {
	.service-band { grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr); }
	.service-band__row-link { grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr); }
	.service-band__trigger { grid-template-columns: 3.25rem 1px minmax(0,1fr); padding-inline: 2rem; }
	.service-band__panel { padding-inline-end: 2rem; }
	[dir="rtl"] .service-band__panel { padding-inline: 0 0 0 2rem; }
}

@media (max-width: 767px) {
	.page-template-page-services { --header-height: 3.75rem; }
	.page-template-page-services .brand__logo { width: 5.75rem; }
	.services-index-hero { height: auto; min-height: 0; grid-template-columns: 1fr; padding-top: var(--header-height); }
	.services-index-hero__copy { min-height: 11.5rem; padding: 2.25rem 1.25rem 2rem; }
	.services-index-hero__copy h1 { max-width: 14ch; margin-bottom: .75rem; font-size: clamp(2.25rem,9.8vw,2.75rem); line-height: 1.02; }
	[dir="rtl"] .services-index-hero__copy h1 { max-width: 15ch; font-size: clamp(2rem,9vw,2.55rem); line-height: 1.18; }
	.services-index-hero__copy p { padding-inline-start: .8rem; font-size: .78rem; line-height: 1.62; }
	.services-index-hero__media { min-height: 19rem; aspect-ratio: 5/4; }
	.services-index-hero__media img { object-position: var(--media-x) var(--media-y); }
	.service-band { display: block; min-height: 17.5rem; }
	.service-band__row-link { display: block; }
	.services-portrait.is-enhanced .service-band:not(.is-active) { min-height: 9.25rem; }
	.services-portrait--single .service-band { min-height: 24rem; }
	.service-band__shade,
	[dir="rtl"] .service-band__shade { background: linear-gradient(90deg,rgba(9,14,12,.92),rgba(9,14,12,.4) 72%,rgba(9,14,12,.34)); }
	[dir="rtl"] .service-band__shade { background: linear-gradient(270deg,rgba(9,14,12,.92),rgba(9,14,12,.4) 72%,rgba(9,14,12,.34)); }
	.service-band__trigger { position: relative; z-index: 1; grid-template-columns: 2.75rem 1px minmax(0,1fr) 2rem; gap: .9rem; min-height: 9.25rem; padding: 1.25rem; }
	.service-band__number { font-size: 1.7rem; }
	.service-band__rule { min-height: 3.5rem; }
	.service-band__title { max-width: none; font-size: clamp(1.65rem,7vw,2.3rem); }
	.service-band__indicator { display: grid; width: 1.2rem; height: 1.2rem; place-items: center; color: var(--color-gold-light); }
	.service-band__indicator::before { content: "↗"; font-family: var(--font-body); font-size: .85rem; line-height: 1; transition: transform 350ms var(--ease-luxury); }
	.service-band__row-link:hover .service-band__indicator::before,
	.service-band__row-link:focus-visible .service-band__indicator::before { transform: translate(.15rem,-.15rem); }
	[dir="rtl"] .service-band__indicator::before { transform: scaleX(-1); }
	[dir="rtl"] .service-band__row-link:hover .service-band__indicator::before,
	[dir="rtl"] .service-band__row-link:focus-visible .service-band__indicator::before { transform: scaleX(-1) translate(.15rem,-.15rem); }
	.service-band__panel,
	[dir="rtl"] .service-band__panel { position: absolute; inset: auto 1.25rem 1.15rem 5.9rem; max-width: 23rem; padding: 0; }
	[dir="rtl"] .service-band__panel { inset: auto 5.9rem 1.15rem 1.25rem; }
	.service-band__summary { margin-bottom: .7rem; font-size: .78rem; line-height: 1.5; }
	.service-band__link { min-height: 2.5rem; font-size: .62rem; }
	.service-band__video-control { inset-block-end: 1rem; inset-inline-end: 1rem; width: 2.75rem; height: 2.75rem; }
	.services-index-empty { min-height: 30rem; grid-template-columns: 1fr; gap: 2rem; padding-block: 5rem; }
	.services-index-empty h2 { font-size: 2.55rem; }
	.services-index-empty__mark { display: none; }
	.services-index-cta { min-height: 17rem; }
	.services-index-cta h2 { max-width: 15ch; font-size: 2.15rem; }
	.services-index-cta .button { width: min(100%,22rem); }
}

@media (hover: none) {
	.service-band.is-active:hover .service-band__media > img { transform: scale(1.01); }
}

@media (prefers-reduced-motion: reduce) {
	.service-band,
	.service-band__media > img,
	.service-band__media > video,
	.service-band__panel,
	.service-band__title,
	.service-band__indicator::before { transition: none !important; transform: none !important; }
}

/* Step 4: universal venue detail — Option 1, The Villa Portrait. */
.venue-detail { background: var(--color-paper); color: var(--color-ink); }
.venue-detail__hero { position: relative; min-height: clamp(36rem,72vh,49rem); overflow: hidden; background: var(--color-ink); color: var(--color-paper); }
.venue-detail__hero-media, .venue-detail__hero-media > img, .venue-detail__hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.venue-detail__hero-media > img { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.72) contrast(.98); transform: scale(1.01); transition: transform 1200ms var(--ease-luxury), filter 700ms ease; }
.venue-detail__hero:hover .venue-detail__hero-media > img, .venue-detail__hero:focus-within .venue-detail__hero-media > img { transform: scale(1.035); filter: saturate(.86) contrast(1); }
.venue-detail__hero-shade { background: linear-gradient(90deg,rgba(10,15,13,.8),rgba(10,15,13,.28) 58%,rgba(10,15,13,.08)); }
.venue-detail__hero-copy { position: relative; z-index: 2; display: flex; width: var(--shell); min-height: inherit; flex-direction: column; justify-content: flex-end; margin-inline: auto; padding-block: calc(var(--header-height) + 4rem) clamp(4rem,8vh,6rem); }
.venue-detail__hero-copy .eyebrow { color: rgba(255,255,255,.76); }
.venue-detail__hero-copy h1 { max-width: 10ch; margin: .8rem 0 1rem; font-size: clamp(3.8rem,7vw,7.5rem); line-height: .88; text-transform: uppercase; }
.venue-detail__hero-copy > p:not(.eyebrow) { max-width: 34rem; color: rgba(255,255,255,.82); }
.venue-detail__scroll { display: inline-flex; width: fit-content; min-height: 3rem; align-items: center; gap: .85rem; margin-top: 1.5rem; font-size: .6rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.venue-detail__scroll i { width: 2.5rem; height: 1px; background: currentColor; transition: width 350ms var(--ease-luxury); }
.venue-detail__scroll:hover i, .venue-detail__scroll:focus-visible i { width: 3.5rem; }
.venue-detail__hero-credit { position: absolute; z-index: 2; inset: auto 2rem 1.5rem auto; color: rgba(255,255,255,.65); font-size: .62rem; }
.venue-detail__fallback { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; gap: 1rem; background: radial-gradient(circle at 70% 30%,#3d4944,var(--color-ink) 60%); }
.venue-detail__fallback span { color: var(--color-camel); font-size: 2rem; }.venue-detail__fallback b { font-family: var(--font-display); font-size: clamp(2rem,5vw,5rem); font-weight: 400; text-transform: uppercase; }
.venue-detail__facts { background: var(--color-ink); color: var(--color-paper); }
.venue-detail__facts-inner { display: grid; width: var(--shell); grid-template-columns: repeat(3,1fr); margin-inline: auto; }
.venue-detail__facts-inner > div { display: grid; min-height: 7.25rem; grid-template-columns: 2.5rem 1fr; align-items: center; padding: 1.25rem clamp(1rem,2.5vw,2.5rem); border-inline-start: 1px solid rgba(255,255,255,.15); }
.venue-detail__facts-inner > div:last-child { border-inline-end: 1px solid rgba(255,255,255,.15); }
.venue-detail__facts span, .venue-detail__facts dt { color: var(--color-camel); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }.venue-detail__facts dl,.venue-detail__facts dd { margin: 0; }.venue-detail__facts dt { margin-bottom: .35rem; }.venue-detail__facts dd { font-family: var(--font-display); font-size: clamp(1.05rem,1.5vw,1.4rem); }
.venue-detail__story { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(3rem,9vw,9rem); padding-block: clamp(5rem,9vw,9rem); }
.venue-detail__story h2 { max-width: 12ch; font-size: clamp(2.4rem,4vw,4.5rem); line-height: 1.02; }.venue-detail__story-copy { max-width: 40rem; padding-top: 2rem; }.venue-detail__story-copy > p { font-family: var(--font-display); font-size: clamp(1.35rem,2vw,2rem); line-height: 1.35; }.venue-detail__story-copy > div { color: var(--color-muted); }
.venue-detail__gallery { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(.35rem,.65vw,.75rem); padding-inline: clamp(.35rem,.65vw,.75rem); }
.venue-detail__gallery-item { position: relative; grid-column: span 5; min-height: clamp(27rem,48vw,48rem); overflow: hidden; background: var(--color-ivory); }
.venue-detail__gallery-item:nth-child(3n+1) { grid-column: span 7; }.venue-detail__gallery-item:nth-child(3n) { grid-column: span 12; min-height: clamp(24rem,42vw,42rem); }
.venue-detail__gallery--single .venue-detail__gallery-item { grid-column: 1/-1; min-height: clamp(30rem,58vw,58rem); }
.venue-detail__gallery-item > img, .venue-detail__gallery-item > a, .venue-detail__gallery-item > a img, .venue-detail__gallery-item > video { width: 100%; height: 100%; }.venue-detail__gallery-item > a { display: block; }.venue-detail__gallery-item img, .venue-detail__gallery-item video { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.78); transition: transform 900ms var(--ease-luxury),filter 650ms ease; }
.venue-detail__gallery-item:hover img, .venue-detail__gallery-item:focus-within img { transform: scale(1.025); filter: saturate(.94); }
.venue-detail__gallery-item figcaption { position: absolute; inset: auto 0 0; display: grid; padding: 4rem 1.5rem 1.25rem; background: linear-gradient(0deg,rgba(10,15,13,.75),transparent); color: var(--color-paper); pointer-events: none; }.venue-detail__gallery-item figcaption strong { font-family: var(--font-display); font-size: 1.35rem; font-weight: 400; }.venue-detail__gallery-item figcaption span,.venue-detail__gallery-item figcaption small { color: rgba(255,255,255,.72); font-size: .68rem; }
.venue-detail__experience { padding-block: clamp(5rem,9vw,9rem); text-align: center; }.venue-detail__experience .shell { display: grid; justify-items: center; }.venue-detail__experience h2 { max-width: 15ch; font-size: clamp(2.5rem,4.5vw,4.8rem); }.venue-detail__experience .shell > p:last-child { max-width: 39rem; color: var(--color-muted); }
.venue-detail__film { min-height: clamp(28rem,52vw,48rem); }
.venue-detail__related { padding-block: clamp(4.5rem,8vw,8rem); }.venue-detail__section-head { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }.venue-detail__related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; }.venue-detail__related-grid--1 { grid-template-columns: 1fr; }.venue-detail__related-grid--2 { grid-template-columns: repeat(2,1fr); }.venue-detail__related-grid a { position: relative; display: grid; min-height: clamp(20rem,32vw,31rem); align-content: end; overflow: hidden; padding: clamp(1.25rem,2.5vw,2.25rem); color: var(--color-paper); isolation: isolate; }.venue-detail__related-grid a > span,.venue-detail__related-grid a > span::after,.venue-detail__related-grid img { position: absolute; inset: 0; width: 100%; height: 100%; }.venue-detail__related-grid a > span { z-index: -1; }.venue-detail__related-grid a > span::after { background: linear-gradient(0deg,rgba(10,15,13,.82),rgba(10,15,13,.02) 70%); content: ""; }.venue-detail__related-grid img { z-index: -1; object-fit: cover; filter: saturate(.75); transition: transform 800ms var(--ease-luxury),filter 600ms ease; }.venue-detail__related-grid a:hover img,.venue-detail__related-grid a:focus-visible img { transform: scale(1.035); filter: saturate(.92); }.venue-detail__related-grid small { font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }.venue-detail__related-grid strong { font-family: var(--font-display); font-size: clamp(2rem,3vw,3.6rem); font-weight: 400; text-transform: uppercase; }
.venue-detail__return { padding-block: 1.75rem; border-top: 1px solid var(--color-line); }
[dir="rtl"] .venue-detail__hero-shade { transform: scaleX(-1); }[dir="rtl"] .venue-detail__hero-credit { inset: auto auto 1.5rem 2rem; }[dir="rtl"] .venue-detail__return .text-link span { display: inline-block; transform: scaleX(-1); }

@media (max-width: 767px) {
	.venue-detail__hero { min-height: 42rem; height: 92svh; }.venue-detail__hero-copy { justify-content: flex-end; padding-block: calc(var(--header-height) + 3rem) 3.5rem; }.venue-detail__hero-copy h1 { max-width: 9ch; font-size: clamp(3rem,14vw,4.4rem); }.venue-detail__hero-copy > p:not(.eyebrow) { max-width: 27rem; font-size: .88rem; }.venue-detail__hero-credit { inset: auto 1.25rem 1rem auto; }
	.venue-detail__facts-inner { display: block; }.venue-detail__facts-inner > div { min-height: 5.25rem; grid-template-columns: 2.25rem 1fr; border-inline-end: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }.venue-detail__facts dd { font-size: 1.05rem; }
	.venue-detail__story { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 5rem; }.venue-detail__story-copy { padding-top: 0; }.venue-detail__story h2 { font-size: clamp(2.35rem,11vw,3.4rem); }
	.venue-detail__gallery { display: block; padding-inline: .4rem; }.venue-detail__gallery-item,.venue-detail__gallery-item:nth-child(n),.venue-detail__gallery--single .venue-detail__gallery-item { min-height: 29rem; margin-bottom: .4rem; }.venue-detail__gallery-item:nth-child(even) { min-height: 23rem; }
	.venue-detail__experience { padding-block: 5rem; }.venue-detail__experience h2 { font-size: clamp(2.35rem,10vw,3.25rem); }
	.venue-detail__film { min-height: 34rem; }.venue-detail__section-head { align-items: flex-start; flex-direction: column; gap: .75rem; }.venue-detail__related-grid,.venue-detail__related-grid--1,.venue-detail__related-grid--2 { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }.venue-detail__related-grid a { width: 86%; min-width: 86%; min-height: 28rem; scroll-snap-align: start; }.venue-detail__related-grid--1 a { width: 100%; min-width: 100%; }.venue-detail__return { padding-block: 1.5rem; }
}

@media (hover:none) { .venue-detail__hero:hover .venue-detail__hero-media > img,.venue-detail__gallery-item:hover img,.venue-detail__related-grid a:hover img { transform: none; } }
@media (prefers-reduced-motion:reduce) { .venue-detail__hero-media > img,.venue-detail__gallery-item img,.venue-detail__related-grid img,.venue-detail__scroll i { transition: none; transform: none !important; } }

/* Destination detail — approved Italy Ledger system. */
.single-aimira_destination { --header-height: 4rem; }
.single-aimira_destination .site-header, .single-aimira_destination .site-header.is-sticky { height: var(--header-height); }
.single-aimira_destination .brand__logo { width: clamp(5.5rem,6.5vw,6.5rem); }
.destination-detail { background: var(--color-paper); }
.destination-detail__hero { display: grid; min-height: clamp(35rem,44vw,40rem); grid-template-columns: minmax(0,.96fr) minmax(0,1.04fr); padding-top: var(--header-height); border-bottom: 1px solid var(--color-line); background: var(--color-paper); }
.destination-detail__opening { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem,6vw,6.5rem) max(5vw,calc((100vw - 90rem)/2)); }
.destination-detail__breadcrumb { margin-bottom: clamp(1.5rem,2.5vw,2.5rem); color: var(--color-taupe); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.destination-detail__breadcrumb span { margin-inline: .7rem; }
.destination-detail__opening h1 { margin-bottom: 1.15rem; font-size: clamp(3.5rem,5.25vw,5.25rem); line-height: .9; text-transform: uppercase; }
.destination-detail__lead { max-width: 31rem; margin-bottom: 1.5rem; color: var(--color-muted); font-size: .82rem; line-height: 1.65; }
.destination-detail__region-line { margin-bottom: 2rem; color: var(--color-taupe); font-family: var(--font-display); font-size: clamp(1.1rem,1.5vw,1.45rem); }
.destination-detail__scroll { display: inline-flex; width: fit-content; min-height: 3rem; align-items: center; gap: .85rem; font-size: .58rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.destination-detail__scroll i { width: 1px; height: 3rem; background: var(--color-line); }
.destination-detail__hero-media { position: relative; min-height: 100%; overflow: hidden; background: var(--color-ivory); }
.destination-detail__hero-media > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.78) contrast(.96); }
.destination-detail__fallback { position: relative; display: grid; width: 100%; height: 100%; min-height: 12rem; place-items: center; overflow: hidden; background: var(--color-ivory); color: var(--color-taupe); font-style: normal; }
.destination-detail__fallback::before, .destination-detail__fallback::after { position: absolute; width: 45%; aspect-ratio: 1; border: 1px solid rgba(165,134,97,.28); border-radius: 50% 50% 0 0; content: ""; }
.destination-detail__fallback::before { inset: 18% auto auto 12%; }.destination-detail__fallback::after { inset: auto 8% -22% auto; }
.destination-detail__fallback b { position: relative; z-index: 1; font-family: var(--font-display); font-size: clamp(1.5rem,3vw,3rem); font-weight: 400; text-transform: uppercase; }


.destination-measure { padding-block: clamp(3rem,5vw,5rem); background: var(--color-ink); color: var(--color-paper); }
.destination-measure__grid { display: grid; grid-template-columns: minmax(15rem,.75fr) minmax(0,1.75fr); gap: clamp(3rem,6vw,7rem); }
.destination-measure h2 { margin-bottom: .9rem; font-size: clamp(1.8rem,2.7vw,2.65rem); }
.destination-measure__grid > div > p { max-width: 28rem; margin: 0; color: rgba(251,250,247,.72); font-size: .75rem; }
.destination-measure dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.destination-measure dl > div { position: relative; padding-inline: 1.5rem; border-inline-start: 1px solid rgba(251,250,247,.17); }
.destination-measure dl span, .destination-measure dt { color: var(--color-camel); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.destination-measure dl span { display: block; margin-bottom: .65rem; }.destination-measure dt { margin-bottom: .35rem; }
.destination-measure dd { margin: 0; font-family: var(--font-display); font-size: clamp(1.15rem,1.7vw,1.55rem); line-height: 1.25; }
.destination-measure__body { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(251,250,247,.17); color: rgba(251,250,247,.78); }

.destination-venues { padding-block: clamp(3.5rem,5.5vw,5.75rem); }
.destination-venues__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; color: var(--color-taupe); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.destination-venues__header p { margin: 0; }
.destination-venue-cinema { position: relative; border: 1px solid var(--color-line); background: var(--color-paper); }
.destination-venue-cinema.has-overflow { display: grid; grid-template-columns: minmax(0,1fr) 4.6rem; }
.destination-venue-cinema__list { scrollbar-color: var(--color-camel) transparent; scrollbar-width: thin; }
.destination-venue-cinema.has-overflow .destination-venue-cinema__list { max-height: clamp(57rem,69vw,66rem); overflow-y: auto; overscroll-behavior-y: auto; scroll-snap-type: y proximity; }
.destination-venue-cinema__list::-webkit-scrollbar { width: 3px; }
.destination-venue-cinema__list::-webkit-scrollbar-track { background: transparent; }
.destination-venue-cinema__list::-webkit-scrollbar-thumb { background: var(--color-camel); }
.destination-venue-cinema__item { min-height: clamp(18rem,21.5vw,20.5rem); display: grid; grid-template-columns: minmax(18.5rem,.46fr) minmax(0,1.54fr); border-bottom: 1px solid var(--color-line); scroll-snap-align: start; }
.destination-venue-cinema__item:last-child { border-bottom: 0; }
.destination-venue-cinema__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: clamp(1.5rem,2.4vw,2.5rem) clamp(1.35rem,2.25vw,2.25rem); }
.destination-venue-cinema__number { color: var(--color-camel); font-family: var(--font-display); font-size: clamp(1.55rem,2.2vw,2.15rem); line-height: 1; }
.destination-venue-cinema__number::after { width: 2rem; height: 1px; display: block; margin-top: .75rem; background: var(--color-camel); content: ""; }
.destination-venue-cinema__copy h3 { max-width: 100%; margin: clamp(1rem,1.7vw,1.65rem) 0 .7rem; font-size: clamp(1.5rem,2.05vw,2.25rem); line-height: 1.02; overflow-wrap: anywhere; text-transform: uppercase; }
.destination-venue-cinema__copy h3 a { min-width: 0; text-decoration: none; }
.destination-venue-cinema__copy p { max-width: 100%; margin: 0; color: var(--color-muted); font-family: var(--font-display); font-size: clamp(.8rem,1vw,.96rem); line-height: 1.45; overflow-wrap: anywhere; }
.destination-venue-cinema__link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .55rem; margin-top: auto; border-bottom: 1px solid var(--color-camel); color: var(--color-taupe); font-size: .62rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.destination-venue-cinema__link span { transition: transform 350ms var(--ease-luxury); }
.destination-venue-cinema__link:hover span, .destination-venue-cinema__link:focus-visible span { transform: translate(.2rem,-.2rem); }
.destination-venue-cinema__media { position: relative; min-width: 0; min-height: inherit; overflow: hidden; background: var(--color-ivory); touch-action: pan-y; }
.destination-venue-cinema__slides, .destination-venue-cinema__slide, .destination-venue-cinema__slide img, .destination-venue-cinema__fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.destination-venue-cinema__slide { visibility: hidden; margin: 0; opacity: 0; transition: opacity 650ms ease,visibility 650ms; }
.destination-venue-cinema__slide.is-active { visibility: visible; opacity: 1; }
.destination-venue-cinema__slide img { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.78) contrast(.97); transform: scale(1.002); transition: filter 700ms ease,transform 900ms var(--ease-luxury); }
.destination-venue-cinema__item:hover .destination-venue-cinema__slide.is-active img, .destination-venue-cinema__media:focus-within .destination-venue-cinema__slide.is-active img { filter: saturate(.9) contrast(1); transform: scale(1.018); }
.destination-venue-cinema__fallback { display: grid; place-items: center; }
.destination-venue-cinema__controls { position: absolute; z-index: 2; inset: 0; display: grid; grid-template-columns: auto minmax(3rem,auto) minmax(8rem,18rem) auto; align-items: center; gap: clamp(.65rem,1.5vw,1.5rem); padding: clamp(.8rem,1.5vw,1.5rem); pointer-events: none; }
.destination-venue-cinema__controls[hidden] { display: none; }
.destination-venue-cinema__controls button { width: clamp(2.8rem,4.25vw,4.25rem); height: clamp(2.8rem,4.25vw,4.25rem); display: grid; place-items: center; border: 1px solid rgba(251,250,247,.86); border-radius: 50%; background: rgba(10,15,13,.26); color: var(--color-paper); cursor: pointer; pointer-events: auto; transition: background 300ms ease,border-color 300ms ease,transform 350ms var(--ease-luxury); }
.destination-venue-cinema__controls button:last-child { grid-column: 4; }
.destination-venue-cinema__controls button:hover, .destination-venue-cinema__controls button:focus-visible { border-color: var(--color-camel); background: rgba(10,15,13,.62); transform: scale(1.06); }
.destination-venue-cinema__controls output { align-self: end; margin-bottom: .12rem; color: rgba(251,250,247,.8); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.destination-venue-cinema__progress { align-self: end; display: flex; gap: .35rem; margin-bottom: .5rem; }
.destination-venue-cinema__progress i { height: 1px; flex: 1; background: rgba(251,250,247,.48); transition: background 300ms ease,transform 300ms ease; }
.destination-venue-cinema__progress i.is-active { background: var(--color-camel); transform: scaleY(2); }
.destination-venue-cinema__rail { display: grid; grid-template-rows: 1fr auto auto auto; justify-items: center; gap: .65rem; padding: 1rem .65rem; border-inline-start: 1px solid var(--color-line); color: var(--color-taupe); }
.destination-venue-cinema__rail i { width: 1px; height: 100%; min-height: 8rem; background: linear-gradient(var(--color-camel) 0 var(--scroll-progress,12%),var(--color-line) var(--scroll-progress,12%) 100%); }
.destination-venue-cinema__rail span { font-family: var(--font-display); font-size: 1.2rem; }
.destination-venue-cinema__rail small { max-width: 3.2rem; font-size: .5rem; line-height: 1.3; text-align: center; text-transform: uppercase; }
.destination-venue-cinema__rail b { font-size: 1.15rem; font-weight: 400; }

.destination-film { position: relative; min-height: clamp(20rem,32vw,31rem); display: grid; align-items: end; overflow: hidden; background: var(--color-ink); color: var(--color-paper); }
.destination-film video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); }
.destination-film__shade { position: absolute; inset: 0; background: rgba(10,15,13,.48); transition: opacity 400ms ease; }.destination-film.is-playing .destination-film__shade { opacity: .15; }
.destination-film__content { position: relative; z-index: 2; display: flex; align-items: center; gap: 1.5rem; width: var(--shell); margin-inline: auto; padding-block: 3rem; }
.destination-film__content button { display: grid; width: 4rem; height: 4rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--color-paper); border-radius: 50%; background: rgba(0,0,0,.25); color: var(--color-paper); cursor: pointer; }
.destination-film__content h2 { margin-bottom: .35rem; font-size: clamp(1.8rem,3vw,3rem); }.destination-film__content p { margin-bottom: .5rem; color: rgba(251,250,247,.8); font-size: .8rem; }.destination-film__content small { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.destination-film.is-playing .destination-film__content > div { opacity: 0; pointer-events: none; }.destination-film.is-playing video { z-index: 1; }

.destination-detail__cta { background: var(--color-ink); color: var(--color-paper); text-align: center; }.destination-detail__cta a { display: grid; min-height: 9rem; place-content: center; justify-items: center; padding: 2rem 1.5rem; }.destination-detail__cta i { color: var(--color-camel); font-style: normal; }.destination-detail__cta h2 { margin: .4rem 0; font-size: clamp(1.5rem,2.2vw,2.2rem); }.destination-detail__cta span { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }.destination-detail__cta b { display: inline-block; margin-inline-start: .35rem; font-weight: 400; transition: transform 350ms var(--ease-luxury); }.destination-detail__cta a:hover b,.destination-detail__cta a:focus-visible b { transform: translate(.2rem,-.2rem); }

[dir="rtl"] .destination-detail__cta b, [dir="rtl"] .destination-venue-cinema__link span { transform: scaleX(-1); }
[dir="rtl"] .destination-venue-cinema__link:hover span, [dir="rtl"] .destination-venue-cinema__link:focus-visible span { transform: scaleX(-1) translate(.2rem,-.2rem); }
[dir="rtl"] .destination-venue-cinema__controls button span { display: inline-block; transform: scaleX(-1); }

@media (max-width: 1023px) {
	.destination-detail__hero { min-height: 34rem; }
	.destination-measure__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.destination-venue-cinema__item { grid-template-columns: minmax(15.5rem,.48fr) minmax(0,1.52fr); }
}

@media (max-width: 767px) {
	.single-aimira_destination { --header-height: 4.5rem; }
	.destination-detail__hero { min-height: 0; grid-template-columns: 1fr; }
	.destination-detail__opening { padding: 2.5rem 1.25rem 1.5rem; }
	.destination-detail__breadcrumb { margin-bottom: 1.4rem; }
	.destination-detail__opening h1 { font-size: clamp(3.3rem,16vw,4.4rem); }
	.destination-detail__lead { margin-bottom: 1rem; font-size: .82rem; }
	.destination-detail__region-line { margin-bottom: 0; font-size: 1.05rem; }
	.destination-detail__scroll { display: none; }
	.destination-detail__hero-media { min-height: 18rem; aspect-ratio: 4/3; margin: 0 1.25rem 1rem; border: 1px solid rgba(165,134,97,.45); }
	.destination-measure { padding-block: 2.5rem; }
	.destination-measure__grid { gap: 1.5rem; }
	.destination-measure h2 { font-size: 1.75rem; }
	.destination-measure dl { grid-template-columns: 1fr; }
	.destination-measure dl > div { display: grid; grid-template-columns: 2.25rem minmax(6rem,.55fr) 1fr; align-items: baseline; gap: .65rem; padding: .8rem 0; border-inline-start: 0; border-top: 1px solid rgba(251,250,247,.17); }
	.destination-measure dl span { margin: 0; }.destination-measure dt { margin: 0; }.destination-measure dd { font-size: 1rem; }
	.destination-venues { padding-block: 2.75rem; }
	.destination-venue-cinema, .destination-venue-cinema.has-overflow { display: block; }
	.destination-venue-cinema.has-overflow .destination-venue-cinema__list { max-height: none; overflow: visible; scroll-snap-type: none; }
	.destination-venue-cinema__item { min-height: 0; grid-template-columns: 1fr; }
	.destination-venue-cinema__copy { min-height: 12rem; padding: 1.25rem; }
	.destination-venue-cinema__copy h3 { max-width: 100%; margin: .8rem 0 .5rem; font-size: clamp(1.55rem,7vw,2rem); }
	.destination-venue-cinema__copy p { max-width: 19rem; font-size: .88rem; }
	.destination-venue-cinema__link { margin-top: .65rem; }
	.destination-venue-cinema__media { min-height: 18.5rem; aspect-ratio: 4/3; }
	.destination-venue-cinema__controls { grid-template-columns: auto minmax(2.5rem,auto) minmax(5rem,1fr) auto; padding: .75rem; }
	.destination-venue-cinema__controls button { width: 3rem; height: 3rem; }
	.destination-venue-cinema__controls output { font-size: .54rem; }
	.destination-venue-cinema__rail { display: none; }
	.destination-film { min-height: 18rem; }
	.destination-film__content { padding-block: 1.5rem; }.destination-film__content button { width: 3.25rem; height: 3.25rem; }.destination-film__content h2 { font-size: 1.65rem; }.destination-film__content p { display: none; }
	.destination-detail__cta a { min-height: 8rem; }.destination-detail__cta h2 { max-width: 19rem; font-size: 1.45rem; }
}

@media (hover: none) {
	.destination-venue-cinema__item:hover .destination-venue-cinema__slide.is-active img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.destination-venue-cinema__slide, .destination-venue-cinema__slide img, .destination-venue-cinema__controls button { transition: none !important; transform: none !important; }
}

/* Destinations Hub — approved Cinematic Atlas Wall. */
.page-template-page-venues { --header-height: 4rem; }
.page-template-page-venues .site-header, .page-template-page-venues .site-header.is-sticky { height: var(--header-height); }
.page-template-page-venues .brand__logo { width: clamp(5.5rem, 6.5vw, 6.5rem); }
.destinations-hub { background: var(--color-paper); }
.destinations-hub__hero { display: grid; min-height: clamp(31rem, 39vw, 35rem); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: var(--header-height); border-bottom: 1px solid var(--color-line); }
.destinations-hub__opening { display: grid; place-items: center; padding: clamp(2.75rem, 5.5vw, 5rem); }
.destinations-hub__opening > div { width: min(100%, 28rem); }
.destinations-hub__opening h1 { max-width: 10ch; margin-bottom: 1.15rem; font-size: clamp(2.8rem, 3.6vw, 3.55rem); line-height: 1; text-wrap: balance; }
.destinations-hub__opening p { margin-bottom: clamp(2rem, 3.2vw, 3.25rem); color: var(--color-muted); font-size: .82rem; letter-spacing: .01em; }
.destinations-hub__scroll { display: inline-flex; min-height: 3rem; align-items: center; gap: .9rem; font-size: .58rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.destinations-hub__scroll i { position: relative; display: block; width: .8rem; height: 3rem; border-inline-start: 1px solid var(--color-line); font-style: normal; }
.destinations-hub__scroll i::after { position: absolute; inset: auto auto 0 -.24rem; width: .45rem; height: .8rem; border: 1px solid currentColor; border-radius: .45rem; content: ""; }
.destinations-hub__scroll i span { position: absolute; inset: auto auto .47rem -.05rem; width: .12rem; height: .12rem; border-radius: 50%; background: currentColor; animation: hub-scroll-cue 1.8s ease-in-out infinite; }
.destinations-hub__hero-media { position: relative; min-width: 0; min-height: 100%; overflow: hidden; background: var(--color-ivory); color: var(--color-paper); }
.destinations-hub__slides, .destinations-hub__slide, .destinations-hub__slide-media, .destinations-hub__slide-media > img, .destinations-hub__fallback-media, .destinations-hub__fallback-media > img, .destinations-hub__hero-media > .destination-wall__fallback { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.destinations-hub__slide { z-index: 1; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 750ms ease, visibility 750ms; }
.destinations-hub__slide.is-active { z-index: 2; visibility: visible; opacity: 1; pointer-events: auto; }
.destinations-hub__slide-media { overflow: hidden; }
.destinations-hub__slide-media > img, .destinations-hub__fallback-media > img { object-fit: cover; object-position: var(--focal-x, center) var(--focal-y, center); filter: saturate(.76) contrast(.94); }
.destinations-hub__slide.is-active .destinations-hub__slide-media > img { animation: hub-slide-drift 5s ease-out both; will-change: transform; }
.destinations-hub__slide-scrim { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 15, 13, .76), rgba(10, 15, 13, .04) 62%); }
.destinations-hub__slide-copy { position: absolute; z-index: 2; inset: auto clamp(1.25rem, 2.5vw, 2.25rem) clamp(1.35rem, 2.5vw, 2.25rem); display: grid; justify-items: start; max-width: calc(100% - 9rem); text-align: start; }
.destinations-hub__slide-copy > span { display: flex; align-items: baseline; gap: .75rem; }
.destinations-hub__slide-copy small { color: var(--color-camel); font-size: .78rem; font-weight: 500; letter-spacing: .1em; }
.destinations-hub__slide-copy strong { font-family: var(--font-display); font-size: clamp(1.65rem, 2.7vw, 2.65rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
.destinations-hub__slide-copy em { margin-top: .5rem; color: rgba(251, 250, 247, .84); font-size: .7rem; font-style: normal; letter-spacing: .05em; }
.destinations-hub__slide-copy > b { margin-top: .7rem; padding-bottom: .15rem; border-bottom: 1px solid rgba(251, 250, 247, .74); font-size: .58rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.destinations-hub__slide-copy i { display: inline-block; margin-inline-start: .3rem; font-style: normal; transition: transform 350ms var(--ease-luxury); }
.destinations-hub__slide:hover .destinations-hub__slide-copy i, .destinations-hub__slide:focus-visible .destinations-hub__slide-copy i { transform: translate(.18rem, -.18rem); }
.destinations-hub__slide:focus-visible { outline: 2px solid var(--color-camel); outline-offset: -6px; }
.destinations-hub__slide-controls { position: absolute; z-index: 4; inset: auto clamp(1.25rem, 2.5vw, 2.25rem) clamp(1.35rem, 2.5vw, 2.25rem) auto; display: flex; align-items: center; gap: .6rem; }
.destinations-hub__slide-controls button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 1px solid rgba(251, 250, 247, .5); border-radius: 50%; background: rgba(10, 15, 13, .2); color: var(--color-paper); cursor: pointer; backdrop-filter: blur(5px); transition: background 260ms ease, color 260ms ease; }
.destinations-hub__slide-controls button:hover, .destinations-hub__slide-controls button:focus-visible { background: var(--color-paper); color: var(--color-ink); }
.destinations-hub__slide-controls button span { font-size: .68rem; }
.destinations-hub__slide-controls small { font-size: .58rem; letter-spacing: .1em; }
.destinations-hub__slide-controls > i { position: relative; display: block; width: 3rem; height: 1px; overflow: hidden; background: rgba(251, 250, 247, .42); }
.destinations-hub__slide-controls > i b { position: absolute; inset: 0; transform: scaleX(0); transform-origin: left; background: var(--color-paper); }
.destinations-hub__hero-media.is-paused .destinations-hub__slide.is-active img { animation-play-state: paused; }
.destinations-hub__fallback-media { z-index: 1; }
@keyframes hub-scroll-cue { 0%, 100% { opacity: .28; transform: translateY(-.35rem); } 50% { opacity: 1; transform: translateY(.25rem); } }
@keyframes hub-slide-drift { from { transform: scale(1.025) translate3d(-.35%, 0, 0); } to { transform: scale(1.065) translate3d(.8%, -.35%, 0); } }

.destination-wall { display: grid; grid-auto-flow: dense; grid-auto-rows: clamp(13.5rem, 17vw, 15.5rem); grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--color-ink); }
.destination-wall__item { position: relative; min-width: 0; overflow: hidden; border: solid rgba(251, 250, 247, .78); border-width: 0 1px 1px 0; background: var(--color-ink); color: var(--color-paper); }
.destination-wall__item--1 { grid-column: 1; grid-row: 1 / span 2; }
.destination-wall__item--2 { grid-column: 2; grid-row: 1; }
.destination-wall__item--3 { grid-column: 2; grid-row: 2; }
.destination-wall__item--4 { grid-column: 1; grid-row: 3; }
.destination-wall__item--5 { grid-column: 2; grid-row: 3; }
.destination-wall__item--6 { grid-column: 1 / -1; grid-row: 4; }
.destination-wall__item:nth-child(n+7) { grid-column: auto; grid-row: auto; }
.destination-wall__item > a, .destination-wall__media, .destination-wall__media > img, .destination-wall__video, .destination-wall__fallback { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.destination-wall__item > a { isolation: isolate; }
.destination-wall__media { z-index: -2; overflow: hidden; }
.destination-wall__media > img, .destination-wall__video { object-fit: cover; object-position: var(--focal-x, center) var(--focal-y, center); filter: saturate(.77) contrast(.96); transform: scale(1.018); transition: opacity 520ms ease, filter 900ms ease, transform 1.25s var(--ease-luxury); }
.destination-wall__video { z-index: 1; opacity: 0; }
.destination-wall__item.is-previewing .destination-wall__video { opacity: 1; }
.destination-wall__scrim { position: absolute; z-index: 2; inset: 0; background: linear-gradient(0deg, rgba(10, 15, 13, .46), rgba(10, 15, 13, .06) 65%); transition: background 700ms ease; }
.destination-wall__item--1 .destination-wall__scrim { background: linear-gradient(0deg, rgba(10, 15, 13, .76), rgba(10, 15, 13, .14) 70%); }
.destination-wall__fallback { display: grid; place-items: center; background: var(--color-ink); color: var(--color-camel); }
.destination-wall__fallback b { font-size: clamp(2rem, 5vw, 4rem); font-weight: 400; }
.destination-wall__content { position: absolute; z-index: 3; inset: 50% auto auto 50%; display: grid; width: min(calc(100% - 3rem), 38rem); justify-items: center; transform: translate(-50%, -50%); text-align: center; }
.destination-wall__content small { display: none; }
.destination-wall__content strong { font-family: var(--font-display); font-size: clamp(1.95rem, 3.25vw, 3.45rem); font-weight: 400; letter-spacing: .01em; line-height: 1; text-transform: uppercase; transition: transform 600ms var(--ease-luxury); }
.destination-wall__facts { margin-top: .9rem; font-size: .68rem; letter-spacing: .08em; line-height: 1.55; opacity: 0; transform: translateY(.55rem); transition: opacity 450ms ease, transform 550ms var(--ease-luxury); }
.destination-wall__action { margin-top: .9rem; padding-bottom: .15rem; border-bottom: 1px solid rgba(251, 250, 247, .8); font-family: var(--font-display); font-size: .9rem; opacity: 0; transform: translateY(.55rem); transition: opacity 450ms ease 50ms, transform 550ms var(--ease-luxury) 50ms, color 300ms ease; }
.destination-wall__action i { display: inline-block; margin-inline-start: .35rem; font-style: normal; transition: transform 350ms var(--ease-luxury); }
.destination-wall__content em { margin-top: .9rem; color: rgba(251, 250, 247, .64); font-size: .62rem; font-style: normal; letter-spacing: .08em; opacity: 0; transition: opacity 400ms ease; }
.destination-wall__item--1 .destination-wall__facts, .destination-wall__item--1 .destination-wall__action, .destination-wall__item--1 .destination-wall__content em, .destination-wall__item:hover .destination-wall__facts, .destination-wall__item:hover .destination-wall__action, .destination-wall__item:hover .destination-wall__content em, .destination-wall__item:focus-within .destination-wall__facts, .destination-wall__item:focus-within .destination-wall__action, .destination-wall__item:focus-within .destination-wall__content em { opacity: 1; transform: none; }
.destination-wall__item:hover .destination-wall__media > img, .destination-wall__item:focus-within .destination-wall__media > img { filter: saturate(.9) contrast(1); transform: scale(1.055) translate3d(.35%, -.25%, 0); }
.destination-wall__item:hover .destination-wall__scrim, .destination-wall__item:focus-within .destination-wall__scrim { background: linear-gradient(0deg, rgba(10, 15, 13, .72), rgba(10, 15, 13, .12) 70%); }
.destination-wall__item:hover .destination-wall__content strong, .destination-wall__item:focus-within .destination-wall__content strong { transform: translateY(-.35rem); }
.destination-wall__item:hover .destination-wall__action i, .destination-wall__item:focus-within .destination-wall__action i { transform: translate(.2rem, -.2rem); }
.destination-wall__item > a:focus-visible { outline: 2px solid var(--color-camel); outline-offset: -6px; }
.destination-wall__empty { grid-column: 1 / -1; display: grid; min-height: 26rem; place-items: center; background: var(--color-ink); color: var(--color-paper); text-align: center; }

.destinations-hub__bridge { padding-block: clamp(3.75rem, 5.5vw, 5.5rem); text-align: center; }
.destinations-hub__bridge .shell { display: grid; justify-items: center; }
.destinations-hub__bridge h2 { margin-bottom: .7rem; font-size: clamp(1.55rem, 2.15vw, 2.25rem); }
.destinations-hub__bridge p { max-width: 42rem; margin-bottom: 1.15rem; color: var(--color-muted); font-size: .8rem; line-height: 1.65; }
.destinations-hub__bridge span { width: 1px; height: 2rem; background: var(--color-line); }
.destinations-hub__cta { background: var(--color-ink); color: var(--color-paper); text-align: center; }
.destinations-hub__cta a { display: grid; min-height: 8.5rem; place-content: center; justify-items: center; padding: 2rem 1.5rem; transition: background 500ms ease; }
.destinations-hub__cta i { margin-bottom: .5rem; color: var(--color-camel); font-style: normal; }
.destinations-hub__cta h2 { margin-bottom: .55rem; font-size: clamp(1.45rem, 2vw, 2rem); }
.destinations-hub__cta span { font-size: .64rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.destinations-hub__cta b { display: inline-block; margin-inline-start: .4rem; font-weight: 400; transition: transform 350ms var(--ease-luxury); }
.destinations-hub__cta a:hover, .destinations-hub__cta a:focus-visible { background: #1b231f; }
.destinations-hub__cta a:hover b, .destinations-hub__cta a:focus-visible b { transform: translate(.22rem, -.22rem); }

.page-template-page-venues .site-footer { background: var(--color-paper); color: var(--color-ink); border-top: 1px solid var(--color-line); }
.page-template-page-venues .brand--footer .brand__logo { filter: none; }
.page-template-page-venues .site-footer__grid nav a:hover, .page-template-page-venues .site-footer__contact a:hover { color: var(--color-taupe); }

[dir="rtl"] .destination-wall__action i, [dir="rtl"] .destinations-hub__slide-copy i, [dir="rtl"] .destinations-hub__cta b { transform: scaleX(-1); }
[dir="rtl"] .destination-wall__item:hover .destination-wall__action i, [dir="rtl"] .destination-wall__item:focus-within .destination-wall__action i, [dir="rtl"] .destinations-hub__cta a:hover b, [dir="rtl"] .destinations-hub__cta a:focus-visible b { transform: scaleX(-1) translate(.22rem, -.22rem); }
[dir="rtl"] .destination-wall__content strong { letter-spacing: 0; }
[dir="rtl"] .destinations-hub__slide-controls { inset-inline: auto clamp(1.25rem, 2.5vw, 2.25rem); }
[dir="rtl"] .destinations-hub__slide-controls > i b { transform-origin: right; }

@media (max-width: 1023px) {
	.destinations-hub__hero { min-height: 31rem; }
	.destinations-hub__opening { padding: clamp(2.5rem, 5vw, 4rem); }
	.destinations-hub__opening h1 { font-size: clamp(2.55rem, 5vw, 3.35rem); }
	.destination-wall { grid-auto-rows: clamp(12.5rem, 24vw, 15rem); }
	.destination-wall__content strong { font-size: clamp(1.8rem, 4vw, 2.8rem); }
}

@media (max-width: 767px) {
	.page-template-page-venues { --header-height: 3.75rem; }
	.page-template-page-venues .brand__logo { width: 5.75rem; }
	.destinations-hub__hero { min-height: 0; grid-template-columns: 1fr; padding-top: var(--header-height); }
	.destinations-hub__opening { min-height: 11.5rem; place-items: center start; padding: 2.25rem 1.25rem 2rem; }
	.destinations-hub__opening > div { width: 100%; }
	.destinations-hub__opening h1 { max-width: 14ch; margin-bottom: .75rem; font-size: clamp(2.25rem, 9.8vw, 2.75rem); line-height: 1.02; }
	[dir="rtl"] .destinations-hub__opening h1 { max-width: 15ch; font-size: clamp(2rem, 9vw, 2.55rem); line-height: 1.18; }
	.destinations-hub__opening p { margin-bottom: 0; font-size: .78rem; }
	.destinations-hub__scroll { display: none; }
	.destinations-hub__hero-media { min-height: 19rem; aspect-ratio: 5 / 4; }
	.destinations-hub__slide-copy { inset: auto 1rem 1rem; max-width: calc(100% - 7.25rem); }
	.destinations-hub__slide-copy > span { gap: .55rem; }
	.destinations-hub__slide-copy small { font-size: .64rem; }
	.destinations-hub__slide-copy strong { font-size: clamp(1.55rem, 7.5vw, 2rem); }
	.destinations-hub__slide-copy em { margin-top: .3rem; font-size: .6rem; line-height: 1.4; }
	.destinations-hub__slide-copy > b { margin-top: .45rem; font-size: .52rem; }
	.destinations-hub__slide-controls { inset: auto .9rem .85rem auto; gap: .38rem; }
	.destinations-hub__slide-controls button { width: 2.75rem; height: 2.75rem; }
	.destinations-hub__slide-controls > i { width: 1.6rem; }
	.destinations-hub__slide-controls small { font-size: .5rem; }
	[dir="rtl"] .destinations-hub__slide-controls { inset-inline: auto .9rem; }
	.destination-wall { display: grid; grid-auto-flow: dense; grid-auto-rows: clamp(8.75rem, 40vw, 10rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.destination-wall__item { min-height: 0; border-width: 0 1px 1px 0; }
	.destination-wall__item--1 { grid-column: 1; grid-row: 1 / span 2; }
	.destination-wall__item--2 { grid-column: 2; grid-row: 1; }
	.destination-wall__item--3 { grid-column: 2; grid-row: 2; }
	.destination-wall__item--4 { grid-column: 1; grid-row: 3; }
	.destination-wall__item--5 { grid-column: 2; grid-row: 3; }
	.destination-wall__item--6 { grid-column: 1 / -1; grid-row: 4; }
	.destination-wall__item:nth-child(n+7) { grid-column: auto; grid-row: auto; min-height: 10rem; }
	.destination-wall__content { inset: 50% .5rem auto; width: auto; justify-items: center; transform: translateY(-50%); text-align: center; }
	.destination-wall__content small { display: none; }
	.destination-wall__content strong { font-size: clamp(1.25rem, 5.8vw, 1.65rem); }
	.destination-wall__item--1 .destination-wall__content strong { font-size: clamp(1.6rem, 7vw, 2.05rem); }
	.destination-wall__facts, .destination-wall__action { display: none; }
	.destination-wall__item--1 .destination-wall__facts, .destination-wall__item--1 .destination-wall__action { display: block; }
	.destination-wall__facts { max-width: 15rem; margin-top: .55rem; font-size: .53rem; line-height: 1.4; }
	.destination-wall__action { margin-top: .55rem; font-size: .68rem; }
	.destination-wall__item.is-in-view .destination-wall__media > img { animation: destination-wall-mobile-drift 12s ease-in-out infinite alternate; will-change: transform; }
	.destinations-hub__bridge { padding-block: 3.5rem; }
	.destinations-hub__bridge h2 { max-width: 16ch; font-size: 1.55rem; }
	.destinations-hub__bridge p { max-width: 30rem; font-size: .74rem; }
	.destinations-hub__bridge span { height: 1.5rem; }
	.destinations-hub__cta a { min-height: 7.5rem; padding: 1.5rem 1rem; }
	.destinations-hub__cta h2 { max-width: 20ch; font-size: 1.4rem; }
	.page-template-page-venues .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	@keyframes destination-wall-mobile-drift {
		from { transform: scale(1.035) translate3d(-.6%, 0, 0); }
		to { transform: scale(1.1) translate3d(1.3%, -.5%, 0); }
	}
}

@media (hover: none) {
	.destination-wall__item:hover .destination-wall__media > img { filter: saturate(.77) contrast(.96); transform: scale(1.018); }
}

@media (prefers-reduced-motion: reduce) {
	.destinations-hub__slide, .destinations-hub__hero-media img, .destinations-hub__scroll i span, .destination-wall__item.is-in-view .destination-wall__media > img { animation: none !important; transition: none !important; transform: none !important; }
	.destination-wall__media > img, .destination-wall__video { transition: none; }
}

/* Luminous Editorial — approved homepage redesign. */
:root {
	--shell: min(87.5rem, calc(100vw - 8rem));
	--header-height: 5.5rem;
	--home-section-space: clamp(7.5rem, 10vw, 11rem);
	--home-grid-gap: clamp(1.5rem, 2.4vw, 2.5rem);
}

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

.button { min-height: 3.5rem; padding-inline: 1.65rem; border-radius: 1px; }
.button:active { transform: scale(.985); }
.button--overlay { --button-bg: var(--color-paper); --button-color: var(--color-ink); --button-hover-bg: var(--color-camel); --button-hover-color: var(--color-ink); border-color: var(--color-paper); }
.button--outline-light { --button-color: var(--color-paper); --button-hover-bg: var(--color-paper); --button-hover-color: var(--color-ink); border-color: rgba(251,250,247,.7); }

.site-header { height: var(--header-height); transition: height 240ms var(--ease-luxury), background 240ms ease, color 240ms ease, box-shadow 240ms ease; }
.site-header.is-sticky { height: 4.5rem; }
.site-header__inner { grid-template-columns: auto minmax(0,1fr) auto; gap: clamp(1.5rem,3vw,3.75rem); }
.brand__logo { width: clamp(6.75rem, 8vw, 8.5rem); }
.primary-navigation__list, .primary-navigation ul { display: flex; align-items: center; justify-content: center; gap: clamp(1rem,1.8vw,2rem); margin: 0; padding: 0; list-style: none; }
.primary-navigation a, .language-switch, .nav-cta { position: relative; display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .7rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.primary-navigation a::after, .language-switch::after { position: absolute; inset: auto 0 .25rem; height: 1px; transform: scaleX(0); transform-origin: center; background: var(--color-camel); content: ""; transition: transform 300ms var(--ease-luxury); }
.primary-navigation a:hover::after, .primary-navigation a:focus-visible::after, .primary-navigation a[aria-current="page"]::after, .primary-navigation .current-menu-item > a::after, .language-switch:hover::after, .language-switch:focus-visible::after { transform: scaleX(1); }
.site-header__actions { display: flex; align-items: center; gap: clamp(.75rem,1.4vw,1.35rem); }
.nav-cta { min-height: 2.9rem; padding: .5rem 1rem; border: 1px solid currentColor; transition: background 380ms ease, border-color 380ms ease, color 380ms ease, transform 380ms var(--ease-luxury); }
.nav-cta:hover, .nav-cta:focus-visible { border-color: var(--color-camel); background: var(--color-camel); color: var(--color-ink); transform: translateY(-2px); }
.primary-navigation__footer { display: none; }

.hero--home { height: clamp(45rem, 100svh, 60rem); min-height: 45rem; max-height: 60rem; background: var(--color-ink); isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x, center) var(--focal-y, center); filter: saturate(.82) contrast(.96); transform: scale(1.02); animation: hero-settle 1s var(--ease-luxury) both; }
@keyframes hero-settle { to { transform: scale(1); } }
.hero--home .hero__shade { z-index: -1; background: linear-gradient(90deg,rgba(17,23,21,.78) 0%,rgba(17,23,21,.44) 42%,rgba(17,23,21,.08) 72%),linear-gradient(0deg,rgba(17,23,21,.42),transparent 58%); }
.hero--home .hero__content { width: var(--shell); padding-block: calc(var(--header-height) + 4rem) clamp(4.25rem,8vh,6.5rem); }
.hero--home h1 { max-width: 17ch; margin-bottom: clamp(1.25rem,2vw,2rem); font-size: clamp(3.2rem,4.8vw,5.15rem); line-height: 1.02; text-wrap: balance; }
.hero--home .eyebrow { margin-bottom: 1.25rem; }
.hero__lead { max-width: 32rem; margin-bottom: 2rem; color: rgba(255,255,255,.88); font-size: clamp(1rem,1.2vw,1.22rem); line-height: 1.65; }
.hero__item { animation: hero-copy-in 600ms var(--ease-luxury) both; }
.hero__item:nth-child(2) { animation-delay: 80ms; }
.hero__item:nth-child(3) { animation-delay: 160ms; }
.hero__item:nth-child(4) { animation-delay: 240ms; }
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(1rem); } }

.page-template-page-home h1, .page-template-page-home h2, .page-template-page-home h3 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.035em; }
.page-template-page-home .prose--large, .page-template-page-home .service-list__copy strong, .page-template-page-home .approach-step__number { font-family: var(--font-body); font-weight: 300; letter-spacing: -.035em; }
[dir="rtl"] .page-template-page-home h1, [dir="rtl"] .page-template-page-home h2, [dir="rtl"] .page-template-page-home h3, [dir="rtl"] .page-template-page-home .prose--large, [dir="rtl"] .page-template-page-home .service-list__copy strong { font-family: var(--font-display); letter-spacing: 0; line-height: 1.2; }

.home-ticker { position: relative; z-index: 2; overflow: hidden; border-block: 1px solid var(--color-line); background: var(--color-paper); }
.home-ticker__track { display: flex; width: max-content; animation: home-ticker 32s linear infinite; will-change: transform; }
.home-ticker__group { display: flex; align-items: center; min-height: 4.5rem; margin: 0; padding: 0; list-style: none; }
.home-ticker__group li { display: flex; align-items: center; flex: none; font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.home-ticker__group li::after { margin-inline: 2.3rem; color: var(--color-camel); content: "•"; }
.home-ticker__group a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .65rem; background-image: linear-gradient(currentColor,currentColor); background-position: left calc(100% - .4rem); background-repeat: no-repeat; background-size: 0 1px; transition: color 280ms ease, background-size 380ms var(--ease-luxury); }
.home-ticker__group a span { color: var(--color-camel); transition: transform 320ms var(--ease-luxury); }
.home-ticker__group a:hover, .home-ticker__group a:focus-visible { color: var(--color-taupe); background-size: calc(100% - 1.4rem) 1px; }
.home-ticker__group a:hover span, .home-ticker__group a:focus-visible span { transform: translateX(.22rem); }
.home-ticker:hover .home-ticker__track, .home-ticker:focus-within .home-ticker__track { animation-play-state: paused; }
@keyframes home-ticker { to { transform: translateX(-50%); } }
[dir="rtl"] .home-ticker__track { animation-direction: reverse; }

.home-about, .home-destinations, .home-film, .home-philosophy { padding-block: var(--home-section-space); }
.home-about__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: center; gap: var(--home-grid-gap); }
.home-about__media { position: relative; grid-column: 1 / span 6; }
.home-about__media::after { position: absolute; z-index: -1; inset: 2.25rem -2rem -2.25rem 2rem; background: var(--color-camel); content: ""; }
.home-about__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.82) contrast(.96); }
.home-about__content { grid-column: 8 / 13; }
.home-about__content h2 { max-width: 11ch; margin-bottom: 1.75rem; }
.home-about__content .prose { max-width: 38rem; }
.home-about__content .text-link { margin-top: 2rem; }

.home-destinations__heading { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--home-grid-gap); align-items: end; margin-bottom: clamp(3rem,5vw,5rem); }
.home-destinations__heading > div:first-child { grid-column: 1 / span 7; }
.home-destinations__heading > div:last-child { grid-column: 9 / 13; }
.home-destinations__heading h2 { max-width: 15ch; margin-bottom: 0; }
.home-destinations__heading p:not(.eyebrow) { color: var(--color-muted); }
.home-destinations__heading .text-link { margin-top: 1rem; }

.destination-atlas__item { margin-block: 2rem; }
.destination-atlas__trigger { display: flex; width: 100%; min-height: 5.5rem; align-items: center; gap: 1.25rem; padding: 1rem 1.25rem; border: 0; border-block-end: 1px solid var(--color-line); background: transparent; color: var(--color-ink); text-align: start; }
.destination-atlas__trigger > span { min-width: 2.5rem; color: var(--color-camel); font-size: .8rem; letter-spacing: .12em; }
.destination-atlas__name { display: inline-flex; min-width: 0; min-height: 3.5rem; flex: 1; align-items: center; }
.destination-atlas__trigger strong { font-size: clamp(1.15rem,1.8vw,1.65rem); font-weight: 300; letter-spacing: .02em; text-transform: uppercase; }
.destination-atlas__toggle { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 auto; place-items: center; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.destination-atlas__trigger i { width: .85rem; height: 1px; background: currentColor; }
.destination-atlas__trigger i::after { display: block; width: 1px; height: .85rem; margin: -.4rem auto 0; background: currentColor; content: ""; transition: transform 300ms var(--ease-luxury); }
.destination-atlas__toggle[aria-expanded="true"] i::after { transform: scaleY(0); }
.destination-atlas__panel { position: relative; min-height: clamp(36rem,58vw,49rem); overflow: hidden; background: var(--color-ink); color: var(--color-paper); }
.destination-atlas__media, .destination-atlas__media img, .destination-atlas__preview, .destination-atlas__fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.destination-atlas__media { overflow: hidden; }
.destination-atlas__media img, .destination-atlas__preview { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.84) contrast(.98); transition: opacity 500ms ease, transform 720ms var(--ease-luxury), filter 720ms ease; }
.destination-atlas__preview { z-index: 1; opacity: 0; }
.destination-atlas__panel.is-previewing .destination-atlas__preview { opacity: 1; }
.destination-atlas__panel:hover .destination-atlas__media img, .destination-atlas__panel:focus-within .destination-atlas__media img { transform: scale(1.04); filter: saturate(.96) contrast(1); }
.destination-atlas__shade { position: absolute; z-index: 2; inset: 0; background: linear-gradient(0deg,rgba(12,17,15,.9),rgba(12,17,15,.08) 68%); }
.destination-atlas__fallback { display: grid; place-items: center; background: linear-gradient(135deg,var(--color-camel),#d8c7b2); color: var(--color-ink); }
.destination-atlas__fallback span { font-size: clamp(2.5rem,7vw,6rem); font-weight: 300; letter-spacing: .15em; }
.destination-atlas__body { position: absolute; z-index: 3; inset: auto 0 0; max-width: 48rem; padding: clamp(1.75rem,4vw,4rem); }
.destination-atlas__number { display: block; margin-bottom: .4rem; color: var(--color-camel); letter-spacing: .12em; }
.destination-atlas__body h3 { margin-bottom: .65rem; font-size: clamp(2.6rem,4.8vw,5rem); line-height: .96; text-transform: uppercase; }
.destination-atlas__body h3 a { display: inline-block; }
.destination-atlas__facts { margin-bottom: .75rem; font-size: .85rem; letter-spacing: .08em; }
.destination-atlas__summary { max-width: 42rem; color: rgba(255,255,255,.76); }
.destination-atlas__credit { display: block; margin-top: 1.25rem; color: rgba(255,255,255,.62); font-size: .72rem; }
.destination-atlas.is-enhanced { --atlas-count: 6; display: grid; grid-template-columns: minmax(0,2fr) minmax(18rem,.82fr); grid-template-rows: repeat(var(--atlas-count),minmax(5.5rem,1fr)); min-height: clamp(36rem,58vw,49rem); }
.destination-atlas.is-enhanced .destination-atlas__item { display: contents; }
.destination-atlas.is-enhanced .destination-atlas__trigger { grid-column: 2; }
.destination-atlas.is-enhanced .destination-atlas__item.is-active .destination-atlas__trigger { background: var(--color-ink); color: var(--color-paper); }
.destination-atlas.is-enhanced .destination-atlas__panel { grid-column: 1; grid-row: 1 / span var(--atlas-count); min-height: 100%; }
.destination-atlas.is-enhanced .destination-atlas__panel[hidden] { display: none; }

.home-film { background: var(--color-paper); }
.home-film__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--home-grid-gap); align-items: center; }
.home-film__copy { grid-column: 1 / span 4; }
.home-film__copy h2 { max-width: 11ch; }
.home-film__copy > p:last-child { color: var(--color-muted); }
.home-film__media { grid-column: 6 / 13; margin: 0; }
.home-film__frame { position: relative; overflow: hidden; aspect-ratio: 16/9; background: var(--color-ink); }
.home-film__poster, .home-film__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: var(--focal-x,center) var(--focal-y,center); }
.home-film--vertical .home-film__media { justify-self: center; width: min(100%,25rem); }
.home-film--vertical .home-film__frame { aspect-ratio: 9/16; }
.home-film__poster { filter: saturate(.82) contrast(.96); }
.home-film__video { z-index: 1; opacity: 0; transition: opacity 350ms ease; }
.home-film__frame.is-playing .home-film__video { opacity: 1; }
.home-film__frame.is-playing .home-film__poster { opacity: 0; }
.home-film__control { position: absolute; z-index: 3; inset: auto auto 2rem 2rem; display: grid; width: 4rem; height: 4rem; place-items: center; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; background: rgba(15,20,18,.28); color: #fff; cursor: pointer; backdrop-filter: blur(8px); }
.home-film__control:hover, .home-film__control:focus-visible { background: var(--color-paper); color: var(--color-ink); }
.home-film__status { position: absolute; z-index: 3; inset: auto 1.5rem 1.25rem auto; margin: 0; color: #fff; font-size: .78rem; }
.home-film figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; color: var(--color-muted); font-size: .82rem; }

.home-approach { padding-block: clamp(4.5rem,6vw,6rem); }
.home-approach__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--home-grid-gap); align-items: start; }
.home-approach__heading { position: sticky; top: 7rem; grid-column: 1 / span 4; }
.home-approach__heading h2 { max-width: 10ch; color: #fff; }
.approach-list { grid-column: 6 / 13; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.28); list-style: none; }
.approach-step { display: grid; grid-template-columns: 4rem 1fr; gap: 1.25rem; min-height: 8rem; align-items: center; padding-block: 1.25rem; border-bottom: 1px solid rgba(0,0,0,.28); transition: transform 420ms var(--ease-luxury), background 420ms ease; }
.approach-step__number { color: rgba(0,0,0,.58); font-family: var(--font-display); font-size: clamp(1.5rem,2.2vw,2.3rem); transition: color 420ms ease, transform 420ms var(--ease-luxury); }
.approach-step h3 { margin-bottom: .45rem; font-size: clamp(1.55rem,2.5vw,2.5rem); }
.home-approach .approach-step h3 { color: #fff; }
.approach-step p { max-width: 36rem; margin-bottom: 0; color: rgba(0,0,0,.78); }
.approach-step.is-active { background: rgba(251,250,247,.09); transform: translateX(.55rem); }
.approach-step.is-active .approach-step__number { color: var(--color-paper); transform: translateY(-.35rem); }

.section-heading--row { margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.section-heading--row h2 { max-width: 15ch; }
.venue-card__link { position: relative; display: block; height: 100%; overflow: hidden; background: var(--color-ink); }
.venue-card__image { display: block; height: 100%; overflow: hidden; }
.venue-card__image::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(15,20,18,.82),rgba(15,20,18,.06) 62%); content: ""; opacity: .84; transition: opacity 500ms ease; }
.venue-card__image img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; filter: saturate(.82) contrast(.96); transition: transform 720ms var(--ease-luxury), filter 720ms ease; }
.venue-card__body { position: absolute; z-index: 1; inset: auto 0 0; display: grid; grid-template-columns: 1fr auto; align-items: end; padding: clamp(1.35rem,2.4vw,2.5rem); color: var(--color-paper); transition: transform 380ms var(--ease-luxury); }
.venue-card__body .eyebrow { grid-column: 1 / -1; margin-bottom: .55rem; color: rgba(255,255,255,.72); }
.venue-card__body strong { font-family: var(--font-display); font-size: clamp(2rem,3.4vw,3.75rem); font-weight: 400; line-height: 1; }
.venue-card--supporting .venue-card__body strong { font-size: clamp(1.65rem,2.4vw,2.55rem); }
.venue-card__body small { grid-column: 1; max-width: 39rem; margin-top: .9rem; color: rgba(255,255,255,.76); font-size: .88rem; line-height: 1.55; }
.venue-card__body i { grid-column: 2; grid-row: 2 / 4; align-self: end; font-size: 1.35rem; font-style: normal; transition: transform 350ms var(--ease-luxury); }
.venue-card:hover .venue-card__image img, .venue-card:focus-within .venue-card__image img { transform: scale(1.04); filter: saturate(.95) contrast(1); }
.venue-card:hover .venue-card__image::after, .venue-card:focus-within .venue-card__image::after { opacity: 1; }
.venue-card:hover .venue-card__body, .venue-card:focus-within .venue-card__body { transform: translateY(-.25rem); }
.venue-card:hover .venue-card__body i, .venue-card:focus-within .venue-card__body i { transform: translate(.2rem,-.2rem); }

.venue-grid:not(.venue-grid--featured) .venue-card__link { height: auto; overflow: visible; background: transparent; color: var(--color-ink); }
.venue-grid:not(.venue-grid--featured) .venue-card__image { position: relative; height: auto; }
.venue-grid:not(.venue-grid--featured) .venue-card__image img { aspect-ratio: 4/3; }
.venue-grid:not(.venue-grid--featured) .venue-card__body { position: static; display: grid; padding: 1.25rem 0 2rem; color: var(--color-ink); }
.venue-grid:not(.venue-grid--featured) .venue-card__body .eyebrow { color: var(--color-muted); }
.venue-grid:not(.venue-grid--featured) .venue-card__body strong { font-size: var(--step-2); }
.venue-grid:not(.venue-grid--featured) .venue-card__body small { color: var(--color-muted); }

.services-preview { padding-block: clamp(4.5rem,6vw,6rem); }
.services-preview__grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--home-grid-gap); }
.services-preview__intro { grid-column: 1 / span 4; }
.services-preview__intro h2 { max-width: 9ch; }
.services-preview__intro .button { margin-top: 2rem; }
.service-list { grid-column: 6 / 13; }
.service-list__item { grid-template-columns: 3.25rem minmax(0,1fr) auto; min-height: 7rem; }
.service-list__copy { display: grid; gap: .65rem; }
.service-list__copy strong { font-family: var(--font-display); font-size: clamp(1.5rem,2vw,2.15rem); font-weight: 400; line-height: 1.12; }
.service-list__copy small { max-width: 42rem; color: rgba(255,255,255,.62); font-size: .9rem; line-height: 1.55; }
.service-list__number { color: var(--color-gold-light); }

.home-philosophy__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: center; gap: var(--home-grid-gap); }
.home-philosophy__images { position: relative; grid-column: 1 / span 7; min-height: clamp(36rem,52vw,48rem); }
.home-philosophy__primary { position: absolute; inset: 0; }
.home-philosophy__primary img { width: 100%; height: 100%; object-fit: cover; }
.home-philosophy blockquote { grid-column: 9 / 13; margin: 0; }
.home-philosophy blockquote > p:nth-child(2) { font-family: var(--font-display); font-size: clamp(1.75rem,2.5vw,2.75rem); line-height: 1.25; }
.home-philosophy cite { color: var(--color-camel); font-size: var(--step--1); font-style: normal; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.consultation-cta { min-height: 38.75rem; isolation: isolate; }
.consultation-cta__content h2 { max-width: 11ch; }
.consultation-cta__content > p:not(.eyebrow) { margin-bottom: 2rem; color: rgba(0,0,0,.82); }
.consultation-cta--light .consultation-cta__content > p:not(.eyebrow) { color: rgba(251,250,247,.84); }

.site-footer { padding-block: 1.75rem; }
.site-footer__grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(1rem,2vw,2rem); align-items: center; }
.site-footer__brand { grid-column: 1 / span 2; }
.brand--footer .brand__logo { width: clamp(5.5rem,7vw,6.75rem); }
.site-footer__grid > nav { grid-column: 3 / span 4; }
.site-footer__contact { grid-column: 7 / span 3; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .15rem 1rem; }
.site-footer__contact p { grid-column: 1 / -1; margin-bottom: .15rem; }
.footer-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .1rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-footer__grid nav a, .site-footer__contact a { display: inline-flex; min-height: 1.65rem; align-items: center; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer__base { grid-column: 10 / 13; display: grid; justify-items: end; gap: .2rem; margin: 0; padding: 0; border: 0; font-size: .62rem; letter-spacing: .08em; line-height: 1.45; text-align: end; text-transform: uppercase; }
.site-footer__legal { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem .8rem; }
.site-footer__legal-link { display: inline-flex; min-height: 1.5rem; align-items: center; color: var(--color-camel); }

/* Approved legal-page system: A Promise in Practice. */
.legal-page { padding-top: var(--header-height); overflow: clip; background: var(--color-paper); color: var(--color-ink); }
.legal-page__hero { min-height: clamp(27rem,39vw,35rem); display: grid; align-items: center; background: var(--color-ink); color: var(--color-paper); }
.legal-page__hero > .shell { padding-block: clamp(4.5rem,7vw,7rem); }
.legal-page__hero h1 { max-width: 12ch; margin: 0; color: inherit; font-size: clamp(3.8rem,5.7vw,5.9rem); line-height: .98; text-wrap: balance; }
.legal-page__hero i { display: block; width: clamp(9rem,17vw,14rem); height: 1px; margin-block: clamp(1.8rem,3vw,2.5rem); background: var(--color-camel); }
.legal-page__hero p { max-width: 34rem; margin: 0 0 1.7rem; font-size: .95rem; line-height: 1.6; }
.legal-page__hero time { color: var(--color-camel); font-family: var(--font-display); font-size: .82rem; font-style: italic; }
.legal-page__contents { display: none; }
.legal-page__body { --legal-spine: 5.15rem; position: relative; max-width: min(100% - 4rem,72rem); padding-block: clamp(4.5rem,7vw,7rem); }
.legal-page__body::before { position: absolute; inset: 0 auto 0 var(--legal-spine); width: 1px; background: rgba(165,134,97,.65); content: ""; }
.legal-chapter { display: grid; grid-template-columns: var(--legal-spine) minmax(0,1fr); scroll-margin-top: calc(var(--header-height) + 1.5rem); }
.legal-chapter__marker { position: relative; z-index: 1; display: grid; height: 3rem; grid-template-columns: 3.5rem 1.65rem; align-items: center; align-self: start; color: var(--color-camel); font-family: var(--font-display); font-size: 1.15rem; text-decoration: none; }
.legal-chapter__marker span { text-align: center; font-variant-numeric: tabular-nums; }
.legal-chapter__marker i { width: .72rem; height: .72rem; place-self: center; border: 1px solid var(--color-camel); border-radius: 50%; background: var(--color-paper); transition: background-color 300ms ease,transform 300ms var(--ease-luxury); }
.legal-chapter__marker:focus-visible { outline: 1px solid var(--color-ink); outline-offset: .2rem; }
.legal-chapter__marker:focus-visible i, .legal-chapter:hover .legal-chapter__marker i { background: var(--color-camel); transform: scale(.78); }
.legal-chapter__copy { min-width: 0; max-width: 49rem; margin-inline-start: 2.7rem; padding: 0 0 clamp(3rem,5vw,4.5rem); border-bottom: 1px solid var(--color-line); }
.legal-chapter:last-child .legal-chapter__copy { padding-bottom: 0; border-bottom: 0; }
.legal-chapter + .legal-chapter { padding-top: clamp(2.5rem,4vw,3.5rem); }
.legal-chapter h2 { margin: 0 0 1rem; font-size: clamp(2.05rem,3vw,3.1rem); line-height: 1.06; transition: color 300ms ease,transform 400ms var(--ease-luxury); }
.legal-chapter:hover h2, .legal-chapter:focus-within h2 { color: var(--color-camel); transform: translateX(.25rem); }
.legal-chapter .prose { max-width: 65ch; }
.legal-chapter .prose > :first-child { margin-top: 0; }
.legal-chapter .prose p, .legal-chapter .prose li { color: var(--color-muted); font-size: .88rem; line-height: 1.78; }
.legal-chapter .prose a { color: var(--color-camel); text-decoration-thickness: 1px; text-underline-offset: .2rem; }
.legal-chapter__media { position: relative; margin: clamp(2rem,4vw,3.5rem) 0 .25rem; overflow: hidden; background: var(--color-ink); }
.legal-chapter__media img { width: 100%; aspect-ratio: 16/6.2; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.68) sepia(.08); transition: transform 900ms var(--ease-luxury),filter 600ms ease; }
.legal-chapter__media:hover img { filter: saturate(.82) sepia(.04); transform: scale(1.025); }
.legal-media-fallback { display: grid; min-height: 16rem; place-items: center; padding: 2rem; color: var(--color-paper); font-family: var(--font-display); font-size: clamp(2rem,4vw,3.5rem); line-height: 1.05; text-align: center; }
.legal-page__close { position: relative; min-height: clamp(16rem,23vw,21rem); display: grid; isolation: isolate; place-items: center; overflow: hidden; background: var(--color-ink); color: var(--color-paper); text-align: center; }
.legal-page__close-media { position: absolute; z-index: -2; inset: 0; }
.legal-page__close-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.55) sepia(.12); transition: transform 1000ms var(--ease-luxury); }
.legal-page__close::after { position: absolute; z-index: -1; inset: 0; background: rgba(0,0,0,.58); content: ""; }
.legal-page__close:hover .legal-page__close-media img { transform: scale(1.025); }
.legal-page__close h2 { max-width: 20ch; margin: 0 auto 1.2rem; color: inherit; font-size: clamp(2rem,3.7vw,3.6rem); line-height: 1.08; text-wrap: balance; }
.legal-page__close a { display: inline-flex; min-height: 2.75rem; align-items: center; border-bottom: 1px solid currentColor; color: var(--color-camel); font-size: .72rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.legal-page__close a:hover, .legal-page__close a:focus-visible { color: var(--color-paper); outline: 1px solid var(--color-camel); outline-offset: .35rem; }
[dir="rtl"] .legal-page__body::before { inset: 0 var(--legal-spine) 0 auto; }
[dir="rtl"] .legal-chapter h2 { transform-origin: right center; }
[dir="rtl"] .legal-chapter:hover h2, [dir="rtl"] .legal-chapter:focus-within h2 { transform: translateX(-.25rem); }

/* Approved Terms composition: Before We Begin. */
.legal-page--terms .legal-page__hero { min-height: clamp(34rem,48vw,43rem); grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; background: var(--color-paper); color: var(--color-ink); }
.legal-page--terms .legal-page__hero-copy { width: 100%; max-width: none; display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem,7vw,7.5rem) clamp(2rem,7vw,7.5rem); }
.legal-page--terms .legal-page__hero h1 { max-width: 8ch; font-size: clamp(3.5rem,5.3vw,5.35rem); }
.legal-page--terms .legal-page__hero p { max-width: 27rem; color: var(--color-muted); }
.legal-page--terms .legal-page__hero-media { min-width: 0; overflow: hidden; background: var(--color-ink); }
.legal-page--terms .legal-page__hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.62) sepia(.1); transition: filter 700ms ease,transform 1100ms var(--ease-luxury); }
.legal-page--terms .legal-page__hero:hover .legal-page__hero-media img { filter: saturate(.78) sepia(.04); transform: scale(1.018); }
.legal-page--terms .legal-page__hero-media .legal-media-fallback { height: 100%; background: var(--color-ink); }
.legal-page--terms .legal-page__body { max-width: min(100% - 4rem,76rem); padding-block: clamp(5rem,8vw,8rem); }
.legal-page--terms .legal-chapter:first-child .legal-chapter__marker i { background: var(--color-camel); transform: scale(.78); }
.legal-page--terms .legal-chapter:first-child h2 { color: var(--color-camel); }
.legal-page--terms .legal-chapter__copy { max-width: 53rem; }
.legal-page--terms .legal-chapter__media { width: min(62rem,calc(100vw - 8rem)); margin-inline-start: clamp(-4rem,-4vw,-2rem); isolation: isolate; }
.legal-page--terms .legal-chapter__media img { aspect-ratio: 16/7; min-height: 19rem; }
.legal-page--terms .legal-chapter__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.48),transparent 68%); content: ""; pointer-events: none; }
.legal-page--terms .legal-chapter__media figcaption { position: absolute; z-index: 1; inset-inline-start: clamp(1.5rem,4vw,3.5rem); bottom: clamp(1.5rem,3vw,2.75rem); max-width: 15ch; margin: 0; color: var(--color-paper); font-family: var(--font-display); font-size: clamp(1.7rem,3vw,3rem); line-height: 1.05; }
.legal-page--terms .legal-page__close { min-height: clamp(14rem,19vw,18rem); background: var(--color-camel); color: var(--color-ink); }
.legal-page--terms .legal-page__close::after { display: none; }
.legal-page--terms .legal-page__close h2 { max-width: 22ch; font-size: clamp(2rem,3.3vw,3.35rem); }
.legal-page--terms .legal-page__close a { color: var(--color-ink); }
.legal-page--terms .legal-page__close a:hover, .legal-page--terms .legal-page__close a:focus-visible { color: var(--color-paper); outline-color: var(--color-ink); }
[dir="rtl"] .legal-page--terms .legal-page__hero-copy { grid-column: 2; grid-row: 1; }
[dir="rtl"] .legal-page--terms .legal-page__hero-media { grid-column: 1; grid-row: 1; }
[dir="rtl"] .legal-page--terms .legal-chapter__media::after { background: linear-gradient(-90deg,rgba(0,0,0,.48),transparent 68%); }

@media (max-width: 767px) {
	.legal-page__hero { min-height: 25rem; }
	.legal-page__hero > .shell { padding-block: 4.25rem; }
	.legal-page__hero h1 { max-width: 11ch; font-size: clamp(3.15rem,14vw,4rem); }
	.legal-page__hero p { font-size: .88rem; }
	.legal-page__contents { display: block; width: 100%; }
	.legal-page__contents summary { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding-inline: max(1.25rem,calc((100vw - var(--shell))/2)); border-bottom: 1px solid var(--color-line); font-family: var(--font-display); font-size: 1.35rem; cursor: pointer; list-style: none; }
	.legal-page__contents summary::-webkit-details-marker { display: none; }
	.legal-page__contents summary i { width: .65rem; height: .65rem; border-inline-end: 1px solid var(--color-camel); border-bottom: 1px solid var(--color-camel); transform: rotate(45deg); transition: transform 300ms var(--ease-luxury); }
	.legal-page__contents[open] summary i { transform: rotate(225deg); }
	.legal-page__contents summary:focus-visible { outline: 1px solid var(--color-camel); outline-offset: -3px; }
	.legal-page__contents nav { display: grid; border-bottom: 1px solid var(--color-line); }
	.legal-page__contents nav a { display: grid; min-height: 3.25rem; grid-template-columns: 2.5rem minmax(0,1fr); align-items: center; padding-inline: max(1.25rem,calc((100vw - var(--shell))/2)); border-bottom: 1px solid rgba(0,0,0,.08); font-family: var(--font-display); font-size: 1rem; }
	.legal-page__contents nav a:last-child { border-bottom: 0; }
	.legal-page__contents nav a span { color: var(--color-camel); font-size: .8rem; font-variant-numeric: tabular-nums; }
	.legal-page__contents nav a:hover, .legal-page__contents nav a:focus-visible { background: var(--color-ivory); color: var(--color-camel); outline: 1px solid var(--color-camel); outline-offset: -3px; }
	.legal-page__body { --legal-spine: 3.45rem; width: calc(100% - 2.5rem); padding-block: 4rem; }
	.legal-page__body::before { inset-inline-start: var(--legal-spine); }
	.legal-chapter { grid-template-columns: var(--legal-spine) minmax(0,1fr); }
	.legal-chapter__marker { height: 2.5rem; grid-template-columns: 2.75rem 1.4rem; font-size: 1rem; }
	.legal-chapter__marker i { width: .65rem; height: .65rem; }
	.legal-chapter__copy { margin-inline-start: 1.35rem; padding-bottom: 3rem; }
	.legal-chapter + .legal-chapter { padding-top: 2.6rem; }
	.legal-chapter h2 { font-size: clamp(1.85rem,8.5vw,2.45rem); }
	.legal-chapter .prose p, .legal-chapter .prose li { font-size: .84rem; line-height: 1.72; }
	.legal-chapter__media { width: calc(100% + 1.35rem); margin-inline-end: -1.35rem; }
	.legal-chapter__media img { aspect-ratio: 4/2.4; }
	.legal-page__close { min-height: 18rem; }
	.legal-page__close h2 { font-size: 2.35rem; }
	.legal-page--terms .legal-page__hero { min-height: 0; grid-template-columns: 1fr; }
	.legal-page--terms .legal-page__hero-copy, [dir="rtl"] .legal-page--terms .legal-page__hero-copy { grid-column: 1; grid-row: 1; min-height: 24rem; padding: 4rem 1.25rem 3rem; }
	.legal-page--terms .legal-page__hero h1 { max-width: 8ch; font-size: clamp(3.1rem,13vw,3.8rem); }
	.legal-page--terms .legal-page__hero-media, [dir="rtl"] .legal-page--terms .legal-page__hero-media { grid-column: 1; grid-row: 2; height: min(72vw,21rem); }
	.legal-page--terms .legal-page__body { width: calc(100% - 2.5rem); padding-block: 4rem; }
	.legal-page--terms .legal-chapter__media { width: calc(100% + var(--legal-spine) + 2.6rem); margin-inline-start: calc((var(--legal-spine) + 2.7rem) * -1); }
	.legal-page--terms .legal-chapter__media img { min-height: 15rem; aspect-ratio: 4/2.7; }
	.legal-page--terms .legal-chapter__media figcaption { max-width: 12ch; font-size: 1.85rem; }
	.legal-page--terms .legal-page__close { min-height: 15rem; padding-block: 3rem; }
	.legal-page--terms .legal-page__close h2 { font-size: 2.15rem; }
}

@media (hover: none) {
	.legal-chapter:hover h2 { color: inherit; transform: none; }
	.legal-chapter__media:hover img, .legal-page__close:hover .legal-page__close-media img { transform: none; }
	.legal-page--terms .legal-page__hero:hover .legal-page__hero-media img { filter: saturate(.62) sepia(.1); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.legal-chapter h2, .legal-chapter__marker i, .legal-chapter__media img, .legal-page__close-media img, .legal-page__contents summary i { transition: none !important; transform: none !important; }
	.legal-page--terms .legal-page__hero-media img { transition: none !important; transform: none !important; }
}

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(1rem); transition: opacity 560ms ease, transform 560ms var(--ease-luxury); }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }

[dir="rtl"] .hero--home .hero__shade { transform: scaleX(-1); }
[dir="rtl"] .approach-step.is-active { transform: translateX(-.55rem); }
[dir="rtl"] .destination-atlas__body { text-align: right; }
[dir="rtl"] .home-film__control { inset: auto 2rem 2rem auto; }
[dir="rtl"] .home-ticker__group a:hover span, [dir="rtl"] .home-ticker__group a:focus-visible span { transform: translateX(-.22rem); }
[dir="rtl"] .home-philosophy__primary { inset: 0; }

@media (max-width: 1023px) {
	:root { --shell: min(100% - 4rem, 60rem); --header-height: 4.5rem; --home-section-space: clamp(6rem,10vw,8rem); }
	.site-header, .site-header.is-sticky { height: var(--header-height); }
	.site-header__inner { grid-template-columns: auto 1fr auto; }
	.site-header__actions { justify-self: end; }
	.site-header__actions .nav-cta { display: none; }
	.menu-toggle { display: grid; width: 2.75rem; height: 2.75rem; grid-template-columns: 1.4rem; place-content: center; padding: 0; }
	.menu-toggle i { grid-column: 1; width: 1.4rem; height: 1px; background: currentColor; transition: transform 180ms; }
	.menu-toggle i:last-child { margin-top: -.55rem; }
	.menu-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(.28rem) rotate(45deg); }
	.menu-toggle[aria-expanded="true"] i:last-child { transform: translateY(-.28rem) rotate(-45deg); }
	body.menu-open .site-header { background: var(--color-paper); color: var(--color-ink); box-shadow: 0 1px 0 var(--color-line); -webkit-backdrop-filter: none; backdrop-filter: none; }
	.primary-navigation { position: fixed; inset: var(--header-height) 0 auto; display: grid; visibility: hidden; width: 100vw; height: calc(100dvh - var(--header-height)); grid-template-rows: minmax(0,1fr) auto; place-items: stretch; align-content: stretch; gap: clamp(2rem,6vw,4rem); overflow-y: auto; overscroll-behavior: contain; padding: clamp(1.5rem,5vw,3rem) max(var(--shell-gutter,2rem),calc((100vw - 52rem)/2)) max(1.5rem,env(safe-area-inset-bottom)); transform: translateY(-.75rem); opacity: 0; background: linear-gradient(145deg,var(--color-paper) 0%,var(--color-paper) 66%,var(--color-ivory) 100%); color: var(--color-ink); transition: opacity 280ms ease, transform 280ms var(--ease-luxury), visibility 280ms; }
	.primary-navigation.is-open { visibility: visible; transform: none; opacity: 1; }
	.primary-navigation__list, .primary-navigation ul { width: 100%; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; border-bottom: 1px solid var(--color-line); counter-reset: aimira-menu; }
	.primary-navigation li { position: relative; width: 100%; border-top: 1px solid var(--color-line); counter-increment: aimira-menu; }
	.primary-navigation li::before { position: absolute; z-index: 1; inset-block-start: 50%; inset-inline-start: 0; color: var(--color-camel); content: counter(aimira-menu,decimal-leading-zero); font-size: .6rem; font-weight: 600; letter-spacing: .12em; transform: translateY(-50%); pointer-events: none; }
	.primary-navigation a { width: 100%; min-height: clamp(4rem,8vw,4.75rem); justify-content: space-between; padding-inline: 2.75rem .2rem; font-family: var(--font-display); font-size: clamp(1.4rem,3vw,1.85rem); font-weight: 400; letter-spacing: -.015em; line-height: 1.05; text-transform: none; }
	.primary-navigation li > a::after { position: static; width: auto; height: auto; flex: 0 0 auto; margin-inline-start: 1rem; transform: none; background: none; color: var(--color-camel); content: "↗"; font-family: var(--font-body); font-size: .8rem; }
	.primary-navigation li > a:hover::after, .primary-navigation li > a:focus-visible::after, .primary-navigation li.current-menu-item > a::after, .primary-navigation li > a[aria-current="page"]::after { transform: translate(.18rem,-.18rem); }
	.primary-navigation li.current-menu-item > a, .primary-navigation li > a[aria-current="page"] { color: var(--color-taupe); }
	.primary-navigation__footer { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1.5rem; width: 100%; }
	.primary-navigation__footer > span { color: var(--color-muted); font-size: .58rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
	.primary-navigation .primary-navigation__cta { width: auto; min-height: 3.25rem; gap: .75rem; padding: .75rem 1rem; border: 1px solid var(--color-ink); font-family: var(--font-body); font-size: .66rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; transition: background 300ms ease,color 300ms ease,border-color 300ms ease; }
	.primary-navigation .primary-navigation__cta::after { display: none; }
	.primary-navigation .primary-navigation__cta i { color: var(--color-camel); font-style: normal; transition: transform 300ms var(--ease-luxury); }
	.primary-navigation .primary-navigation__cta:hover, .primary-navigation .primary-navigation__cta:focus-visible { border-color: var(--color-camel); background: var(--color-camel); color: var(--color-ink); }
	.primary-navigation .primary-navigation__cta:hover i, .primary-navigation .primary-navigation__cta:focus-visible i { transform: translate(.18rem,-.18rem); }
	[dir="rtl"] .primary-navigation li > a::after, [dir="rtl"] .primary-navigation .primary-navigation__cta i { transform: scaleX(-1); }
	[dir="rtl"] .primary-navigation li > a:hover::after, [dir="rtl"] .primary-navigation li > a:focus-visible::after, [dir="rtl"] .primary-navigation li.current-menu-item > a::after, [dir="rtl"] .primary-navigation li > a[aria-current="page"]::after { transform: scaleX(-1) translate(.18rem,-.18rem); }
	.hero--home h1 { max-width: 15ch; font-size: clamp(3rem,6vw,4.4rem); }
	.home-about__media { grid-column: 1 / span 4; }
	.home-about__content { grid-column: 5 / 13; padding-inline-start: 1rem; }
	.home-destinations__heading > div:first-child { grid-column: 1 / span 7; }
	.home-destinations__heading > div:last-child { grid-column: 8 / 13; }
	.destination-atlas.is-enhanced { grid-template-columns: minmax(0,1.55fr) minmax(16rem,.85fr); }
	.home-film__copy { grid-column: 1 / 13; margin-bottom: 2.5rem; }
	.home-film__media { grid-column: 1 / 13; }
	.home-approach__grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
	.home-approach__heading { position: static; grid-column: 1 / 9; margin-bottom: 2.5rem; }
	.home-approach__heading h2 { max-width: 13ch; }
	.approach-list { grid-column: 1 / 9; }
	.services-preview__grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
	.services-preview__intro { grid-column: 1 / 9; margin-bottom: 2.5rem; }
	.services-preview__intro h2 { max-width: 13ch; }
	.service-list { grid-column: 1 / 9; }
	.home-philosophy__images { grid-column: 1 / span 7; }
	.home-philosophy blockquote { grid-column: 8 / 13; }
	.site-footer__brand { grid-column: 1 / span 2; }
	.site-footer__grid > nav { grid-column: 3 / span 4; }
	.site-footer__contact { grid-column: 7 / span 3; }
	.site-footer__base { grid-column: 10 / 13; }
}

@media (max-width: 767px) {
	:root { --shell: calc(100% - 2.5rem); --home-section-space: clamp(5.5rem,22vw,7.5rem); }
	.brand__logo { width: 6.75rem; }
	.site-header__inner { gap: .75rem; }
	.site-header__actions { gap: .25rem; }
	.language-switch { min-width: 3.25rem; justify-content: center; font-size: .65rem; }
	.primary-navigation { padding-inline: 1.25rem; }
	.primary-navigation a { min-height: 3.85rem; padding-inline-start: 2.4rem; font-size: clamp(1.25rem,5.5vw,1.5rem); }
	.primary-navigation__footer { grid-template-columns: 1fr; align-items: stretch; gap: .8rem; }
	.primary-navigation .primary-navigation__cta { width: 100%; justify-content: space-between; }
	.hero--home { height: 100svh; min-height: 42.5rem; max-height: none; }
	.hero--home .hero__content { padding-block: calc(var(--header-height) + 3rem) clamp(3rem,8vh,4.5rem); }
	.hero--home h1 { max-width: 12ch; font-size: clamp(2.7rem,10.5vw,3.6rem); line-height: 1.04; }
	.hero__lead { max-width: 29rem; font-size: 1rem; }
	.button-row { gap: 1rem; }
	.button { min-height: 3.25rem; }
	.home-about__grid { grid-template-columns: 1fr; gap: 4rem; }
	.home-about__media, .home-about__content { grid-column: auto; }
	.home-about__content { padding: 0; }
	.home-about__media::after { inset: 1rem -1rem -1rem 1rem; }
	.home-destinations__heading { grid-template-columns: 1fr; align-items: start; }
	.home-destinations__heading > div:first-child, .home-destinations__heading > div:last-child { grid-column: auto; }
	.destination-atlas.is-enhanced { display: block; min-height: 0; }
	.destination-atlas.is-enhanced .destination-atlas__item { display: block; margin: 0; }
	.destination-atlas__trigger { min-height: 4.25rem; padding-inline: .75rem; }
	.destination-atlas__trigger strong { font-size: 1rem; }
	.destination-atlas.is-enhanced .destination-atlas__panel { min-height: 34rem; }
	.destination-atlas.is-enhanced .destination-atlas__item.is-active .destination-atlas__media img { animation: atlas-mobile-drift 12s ease-in-out infinite alternate; will-change: transform; }
	.destination-atlas__body { padding: 1.5rem; }
	.destination-atlas__body h3 { font-size: clamp(2.35rem,11vw,3.5rem); }
	.destination-atlas__summary { display: none; }
	.home-film__grid { grid-template-columns: 1fr; gap: 3.5rem; }
	.home-film__copy, .home-film__media { grid-column: auto; }
	.home-film--horizontal .home-film__frame { aspect-ratio: 16/9; }
	.home-film--vertical .home-film__media { width: min(100%,24rem); }
	.home-film--vertical .home-film__frame { aspect-ratio: 9/16; }
	.home-film__control { inset: auto auto 1.25rem 1.25rem; width: 3.5rem; height: 3.5rem; }
	[dir="rtl"] .home-film__control { inset: auto 1.25rem 1.25rem auto; }
	.home-approach__grid { grid-template-columns: 1fr; }
	.home-approach__heading, .approach-list { grid-column: auto; }
	.home-approach, .services-preview { padding-block: 3.75rem; }
	.home-approach__heading, .services-preview__intro { margin-bottom: 1.75rem; }
	.approach-step { grid-template-columns: 3rem 1fr; min-height: 0; padding-block: 1.15rem; }
	.approach-step.is-active { transform: none; }
	.approach-step h3 { font-size: 1.5rem; }
	.approach-step p { font-size: .9rem; line-height: 1.55; }
	.section-heading--row { gap: 1.5rem; }
	.venue-card__body { padding: 1.25rem; }
	.venue-card__body strong, .venue-card--supporting .venue-card__body strong { font-size: clamp(1.8rem,8vw,2.5rem); }
	.venue-card__body small { display: none; }
	.service-list__item { grid-template-columns: 2.25rem minmax(0,1fr) auto; min-height: 6rem; padding-block: 1rem; }
	.service-list__copy strong { font-size: 1.5rem; }
	.service-list__copy small { font-size: .82rem; }
	.home-philosophy__grid { grid-template-columns: 1fr; gap: 4.5rem; }
	.home-philosophy__images, .home-philosophy blockquote { grid-column: auto; }
	.home-philosophy__images { min-height: 30rem; }
	.home-philosophy__primary, [dir="rtl"] .home-philosophy__primary { inset: 0; }
	.consultation-cta { min-height: 36rem; align-items: end; }
	.consultation-cta__content { padding-bottom: 4.5rem; }
	.consultation-cta__content .button { width: 100%; }
	.site-footer { padding-block: 2rem; }
	.site-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem 2rem; align-items: start; }
	.site-footer__brand { grid-column: 1; }
	.site-footer__base { grid-column: 2; grid-row: 1; justify-items: end; }
	.site-footer__grid > nav { grid-column: 1; }
	.site-footer__contact { grid-column: 2; grid-template-columns: 1fr; }
	.footer-menu { grid-template-columns: 1fr; gap: .05rem; }
	.site-footer__contact p { grid-column: auto; }
	.site-footer__grid nav a, .site-footer__contact a { min-height: 1.55rem; font-size: .6rem; }
	@keyframes atlas-mobile-drift {
		from { transform: scale(1.04) translate3d(-.5%, 0, 0); }
		to { transform: scale(1.11) translate3d(1.5%, -.5%, 0); }
	}
}

@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
	.primary-navigation, .primary-navigation li > a::after, .primary-navigation .primary-navigation__cta, .primary-navigation .primary-navigation__cta i, .menu-toggle i { transition: none !important; }
}

@media (hover: none) {
	.venue-card:hover .venue-card__image img { transform: none; }
	.destination-atlas__panel:hover .destination-atlas__media img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.hero__media img, .hero__item { animation: none; }
	.home-ticker__track { width: 100%; animation: none; }
	.home-ticker__group { width: 100%; flex-wrap: wrap; justify-content: center; padding-block: .8rem; }
	.home-ticker__group[aria-hidden="true"] { display: none; }
	.destination-atlas__media img, .destination-atlas__preview, .home-film__video { animation: none !important; transition: none; transform: none !important; }
	.motion-ready .reveal { opacity: 1; transform: none; }
}

/* Step 6: universal service detail — Option 1, The Planning Portrait. */
.service-detail-v2 { padding-top: var(--header-height); background: var(--color-paper); color: var(--color-ink); }
.service-detail-v2__hero { position: relative; min-height: clamp(34rem,58vw,47rem); overflow: hidden; background: var(--color-ink); }
.service-detail-v2__hero-media, .service-detail-v2__hero-media > img, .service-detail-v2__hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.service-detail-v2__hero-media > img { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.7) sepia(.08) contrast(.96); transform: scale(1.012); transition: transform 1400ms var(--ease-luxury), filter 800ms ease; }
.service-detail-v2__hero:hover .service-detail-v2__hero-media > img, .service-detail-v2__hero:focus-within .service-detail-v2__hero-media > img { filter: saturate(.84) sepia(.04) contrast(1); transform: scale(1.035); }
.service-detail-v2__hero-shade { background: linear-gradient(90deg,rgba(10,15,13,.32),rgba(10,15,13,.04) 48%,rgba(10,15,13,.16)); }
.service-detail-v2__hero-inner { position: relative; z-index: 2; display: flex; min-height: inherit; align-items: center; }
.service-detail-v2__hero-copy { display: flex; width: min(34rem,44vw); min-height: clamp(25rem,37vw,32rem); flex-direction: column; justify-content: center; padding: clamp(2rem,4vw,4rem); background: rgba(251,250,247,.98); box-shadow: 0 1.5rem 4rem rgba(10,15,13,.12); }
.service-detail-v2__hero-copy h1 { max-width: 100%; margin-bottom: 1.25rem; font-size: clamp(2.35rem,3vw,2.9rem); line-height: .98; overflow-wrap: anywhere; text-wrap: balance; }
.service-detail-v2__lead { margin-bottom: 1rem; color: var(--color-camel); font-family: var(--font-display); font-size: clamp(1.05rem,1.45vw,1.4rem); line-height: 1.45; }
.service-detail-v2__hero-copy > i { display: block; width: 3rem; height: 1px; margin-bottom: 1.25rem; background: var(--color-camel); }
.service-detail-v2__summary { margin-bottom: 1.65rem; color: var(--color-muted); font-size: .86rem; line-height: 1.65; }
.service-detail-v2__back { display: inline-flex; width: fit-content; min-height: 2.75rem; align-items: center; gap: .7rem; margin-top: auto; font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.service-detail-v2__back span { color: var(--color-camel); transition: transform 350ms var(--ease-luxury); }
.service-detail-v2__back:hover span, .service-detail-v2__back:focus-visible span { transform: translateX(-.3rem); }
.service-detail-v2__hero-credit { position: absolute; z-index: 2; inset: auto 1.25rem .75rem auto; color: rgba(255,255,255,.7); font-size: .58rem; }
.service-detail-v2__fallback { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; gap: 1rem; background: radial-gradient(circle at 70% 30%,#3d4944,var(--color-ink) 60%); color: var(--color-paper); }
.service-detail-v2__fallback span { color: var(--color-camel); font-size: 2rem; }
.service-detail-v2__fallback b { max-width: 14ch; font-family: var(--font-display); font-size: clamp(2.4rem,6vw,6rem); font-weight: 400; line-height: .95; text-align: center; }
.service-detail-v2__scope { overflow-x: auto; background: var(--color-ink); color: var(--color-paper); scrollbar-width: thin; }
.service-detail-v2__scope ul { display: flex; width: max-content; min-width: 100%; align-items: stretch; justify-content: center; margin: 0; padding: 0 max(1rem,calc((100vw - 90rem)/2)); list-style: none; }
.service-detail-v2__scope li { display: flex; min-height: 4.4rem; align-items: center; justify-content: center; padding-inline: clamp(1.1rem,2.25vw,2.5rem); color: rgba(255,255,255,.82); font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.service-detail-v2__scope li + li::before { margin-inline-end: clamp(1.1rem,2.25vw,2.5rem); color: var(--color-camel); content: "|"; }
.service-detail-v2__intro { display: grid; justify-items: center; padding-block: clamp(4.5rem,7vw,7rem) clamp(3.5rem,5.5vw,5.5rem); text-align: center; }
.service-detail-v2__intro .eyebrow { margin-bottom: 1rem; color: var(--color-camel); }
.service-detail-v2__intro h2 { max-width: 24ch; margin-bottom: 1.3rem; font-size: clamp(2.1rem,3.25vw,3.55rem); text-wrap: balance; }
.service-detail-v2__intro > p:not(.eyebrow) { max-width: 46rem; margin-bottom: 0; color: var(--color-muted); }
.service-detail-v2__body { max-width: 46rem; margin-top: 1.5rem; color: var(--color-muted); text-align: start; }
.service-detail-v2__chapters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.5rem,.9vw,1rem); padding-bottom: clamp(4rem,6vw,6rem); }
.service-detail-v2__chapters--1 { grid-template-columns: 1fr; }
.service-detail-v2__chapters--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.service-detail-v2__chapter { min-width: 0; margin: 0; }
.service-detail-v2__chapter-media { position: relative; aspect-ratio: 4/5; overflow: hidden; background: var(--color-ivory); }
.service-detail-v2__chapters--1 .service-detail-v2__chapter-media { aspect-ratio: 16/8; }
.service-detail-v2__chapter-media > img, .service-detail-v2__chapter-media > a, .service-detail-v2__chapter-media > a img, .service-detail-v2__chapter-media > video { width: 100%; height: 100%; }
.service-detail-v2__chapter-media > a { display: block; }
.service-detail-v2__chapter-media img, .service-detail-v2__chapter-media video { object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.72) sepia(.06); transition: transform 950ms var(--ease-luxury), filter 650ms ease; }
.service-detail-v2__chapter:hover img, .service-detail-v2__chapter:focus-within img { filter: saturate(.9); transform: scale(1.035); }
.service-detail-v2__chapter figcaption { position: relative; min-height: 12rem; padding: 1.25rem .25rem 0; }
.service-detail-v2__chapter figcaption > span { position: absolute; inset: 1.45rem .25rem auto auto; color: var(--color-camel); font-size: .58rem; letter-spacing: .12em; }
.service-detail-v2__chapter h3 { max-width: calc(100% - 2.5rem); margin-bottom: .65rem; font-size: clamp(1.65rem,2.2vw,2.4rem); }
.service-detail-v2__chapter figcaption > i { display: block; width: 1.5rem; height: 1px; margin-bottom: .8rem; background: var(--color-camel); transition: width 400ms var(--ease-luxury); }
.service-detail-v2__chapter:hover figcaption > i, .service-detail-v2__chapter:focus-within figcaption > i { width: 3rem; }
.service-detail-v2__chapter figcaption p { max-width: 28rem; margin: 0; color: var(--color-muted); font-size: .82rem; line-height: 1.65; }
.service-detail-v2__chapter figcaption small { display: block; margin-top: .75rem; color: var(--color-muted); font-size: .58rem; }
.service-detail-v2__film { position: relative; width: var(--shell); min-height: clamp(20rem,34vw,32rem); margin: 0 auto clamp(3.5rem,6vw,6rem); overflow: hidden; background: var(--color-ink); color: var(--color-paper); }
.service-detail-v2__film > img, .service-detail-v2__film > video, .service-detail-v2__film-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.service-detail-v2__film > img, .service-detail-v2__film > video { object-fit: cover; filter: saturate(.66) contrast(.93); }
.service-detail-v2__film-shade { background: linear-gradient(0deg,rgba(10,15,13,.78),rgba(10,15,13,.18)); }
.service-detail-v2__film-content { position: relative; z-index: 2; display: grid; min-height: inherit; place-content: center; justify-items: center; text-align: center; }
.service-detail-v2__film-content button { display: grid; width: 4.8rem; height: 4.8rem; place-items: center; margin-bottom: 1.25rem; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(10,15,13,.18); color: #fff; cursor: pointer; transition: background 350ms ease,color 350ms ease,transform 350ms var(--ease-luxury); }
.service-detail-v2__film-content button:hover, .service-detail-v2__film-content button:focus-visible { background: var(--color-paper); color: var(--color-ink); transform: scale(1.04); }
.service-detail-v2__film-content h2 { max-width: 22ch; margin: 0 0 .75rem; font-size: clamp(2rem,3.4vw,3.6rem); }
.service-detail-v2__film-content p { max-width: 34rem; margin: 0; color: rgba(255,255,255,.78); }
.service-detail-v2__film.is-playing .service-detail-v2__film-content h2, .service-detail-v2__film.is-playing .service-detail-v2__film-content p { opacity: 0; }
.service-detail-v2__related { padding-bottom: clamp(4rem,6vw,6rem); text-align: center; }
.service-detail-v2__related h2 { margin-bottom: 1.25rem; font-size: clamp(1.8rem,2.6vw,2.75rem); }
.service-detail-v2__related h2::after { display: block; width: 2rem; height: 1px; margin: .85rem auto 0; background: var(--color-camel); content: ""; }
.service-detail-v2__related-links { display: flex; flex-wrap: wrap; justify-content: center; border-block: 1px solid var(--color-line); }
.service-detail-v2__related-links a { display: inline-flex; min-height: 4.5rem; align-items: center; gap: .6rem; padding-inline: clamp(1.25rem,2.8vw,3rem); color: var(--color-camel); font-family: var(--font-display); font-size: clamp(1rem,1.4vw,1.25rem); transition: color 300ms ease,background 300ms ease; }
.service-detail-v2__related-links a + a { border-inline-start: 1px solid var(--color-line); }
.service-detail-v2__related-links a span { font-family: var(--font-body); font-size: .8rem; transition: transform 350ms var(--ease-luxury); }
.service-detail-v2__related-links a:hover, .service-detail-v2__related-links a:focus-visible { background: var(--color-ivory); color: var(--color-ink); }
.service-detail-v2__related-links a:hover span, .service-detail-v2__related-links a:focus-visible span { transform: translate(.2rem,-.2rem); }
.service-detail-v2__cta { display: grid; min-height: clamp(16rem,23vw,21rem); place-items: center; padding: 3rem 1.25rem; background: var(--color-ink); color: var(--color-paper); text-align: center; }
.service-detail-v2__cta > div { display: grid; justify-items: center; }
.service-detail-v2__cta > div > span { margin-bottom: .6rem; color: var(--color-camel); }
.service-detail-v2__cta h2 { max-width: 24ch; margin-bottom: 1.4rem; font-size: clamp(2.2rem,3.6vw,4rem); text-wrap: balance; }
.service-detail-v2__cta .button { min-width: 13rem; }
[dir="rtl"] .service-detail-v2__hero-shade { transform: scaleX(-1); }
[dir="rtl"] .service-detail-v2__hero-credit { inset: auto auto .75rem 1.25rem; }
[dir="rtl"] .service-detail-v2__back span { transform: scaleX(-1); }
[dir="rtl"] .service-detail-v2__back:hover span, [dir="rtl"] .service-detail-v2__back:focus-visible span { transform: scaleX(-1) translateX(-.3rem); }
[dir="rtl"] .service-detail-v2__chapter figcaption > span { inset: 1.45rem auto auto .25rem; }

@media (max-width: 1023px) {
	.service-detail-v2__hero-copy { width: min(32rem,56vw); }
	.service-detail-v2__scope ul { justify-content: flex-start; }
	.service-detail-v2__chapters { gap: .6rem; }
}

@media (max-width: 767px) {
	.service-detail-v2__hero { min-height: 0; overflow: visible; background: var(--color-paper); }
	.service-detail-v2__hero-media { position: relative; height: min(31rem,118vw); overflow: hidden; }
	.service-detail-v2__hero-shade { background: linear-gradient(0deg,rgba(10,15,13,.32),rgba(10,15,13,.02) 60%); }
	.service-detail-v2__hero-inner { display: block; min-height: 0; margin-top: -3.5rem; }
	.service-detail-v2__hero-copy { position: relative; width: calc(100% - 1.5rem); min-height: 0; margin-inline: auto; padding: 2rem 1.5rem 1.5rem; box-shadow: 0 .8rem 2.5rem rgba(10,15,13,.09); }
	.service-detail-v2__hero-copy h1 { max-width: 100%; margin-bottom: .9rem; font-size: clamp(2rem,10vw,2.75rem); }
	.service-detail-v2__lead { font-size: 1.05rem; }
	.service-detail-v2__summary { font-size: .8rem; }
	.service-detail-v2__back { margin-top: .25rem; }
	.service-detail-v2__hero-credit { inset: 1rem 1rem auto auto; }
	.service-detail-v2__scope { margin-top: 1.25rem; }
	.service-detail-v2__scope ul { justify-content: flex-start; padding-inline: 0; }
	.service-detail-v2__scope li { min-height: 3.75rem; padding-inline: 1rem; font-size: .56rem; }
	.service-detail-v2__scope li + li::before { margin-inline-end: 1rem; }
	.service-detail-v2__intro { padding-block: 4.25rem 3.5rem; }
	.service-detail-v2__intro h2 { max-width: 16ch; font-size: clamp(2.2rem,10.5vw,3rem); }
	.service-detail-v2__intro > p:not(.eyebrow), .service-detail-v2__body { font-size: .88rem; }
	.service-detail-v2__chapters, .service-detail-v2__chapters--1, .service-detail-v2__chapters--2 { grid-template-columns: 1fr; gap: 2.5rem; padding-bottom: 4rem; }
	.service-detail-v2__chapter-media, .service-detail-v2__chapters--1 .service-detail-v2__chapter-media { aspect-ratio: 4/5; }
	.service-detail-v2__chapter figcaption { min-height: 0; padding: 1rem 0 0; }
	.service-detail-v2__chapter figcaption > span { inset: 1.15rem 0 auto auto; }
	[dir="rtl"] .service-detail-v2__chapter figcaption > span { inset: 1.15rem auto auto 0; }
	.service-detail-v2__chapter h3 { font-size: 2rem; }
	.service-detail-v2__film { width: 100%; min-height: 28rem; margin-bottom: 4rem; }
	.service-detail-v2__film-content { width: calc(100% - 2.5rem); }
	.service-detail-v2__film-content h2 { max-width: 13ch; font-size: 2.5rem; }
	.service-detail-v2__film-content p { max-width: 22rem; font-size: .84rem; }
	.service-detail-v2__related { padding-bottom: 4rem; }
	.service-detail-v2__related-links { display: block; text-align: start; }
	.service-detail-v2__related-links a { display: flex; min-height: 3.8rem; justify-content: space-between; padding-inline: .75rem; border-bottom: 1px solid var(--color-line); }
	.service-detail-v2__related-links a + a { border-inline-start: 0; }
	.service-detail-v2__related-links a:last-child { border-bottom: 0; }
	.service-detail-v2__cta { min-height: 19rem; }
	.service-detail-v2__cta h2 { max-width: 13ch; font-size: 2.55rem; }
	.service-detail-v2__cta .button { width: min(100%,20rem); }
}

@media (hover: none) {
	.service-detail-v2__hero:hover .service-detail-v2__hero-media > img, .service-detail-v2__chapter:hover img { filter: saturate(.72) sepia(.06); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.service-detail-v2__hero-media > img, .service-detail-v2__chapter-media img, .service-detail-v2__chapter figcaption > i, .service-detail-v2__film-content button, .service-detail-v2__related-links a span, .service-detail-v2__back span { transition: none !important; transform: none !important; }
}

/* Step 7: About AIMIRA — Option 2, The AIMIRA Manifesto. */
.about-manifesto { padding-top: var(--header-height); background: var(--color-paper); color: var(--color-ink); }
.about-manifesto__hero { display: grid; min-height: clamp(38rem,64vw,54rem); align-items: center; border-bottom: 1px solid var(--color-line); }
.about-manifesto__hero-inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(22rem,.85fr); align-items: center; gap: clamp(2.5rem,5vw,6rem); padding-block: clamp(4rem,8vw,8rem); }
.about-manifesto__hero-copy { padding-inline-start: clamp(0rem,2vw,2rem); }
.about-manifesto__hero-copy .eyebrow { margin-bottom: clamp(1.75rem,3vw,3rem); color: var(--color-camel); }
.about-manifesto__hero-star { width: clamp(4rem,5vw,5.5rem); height: auto; margin: 0 auto clamp(2rem,3.25vw,3.25rem); }
.about-manifesto__hero-copy h1 { max-width: none; margin-bottom: clamp(2rem,4vw,3.5rem); font-size: clamp(2.4rem,3.75vw,4.35rem); line-height: 1.12; }
.about-manifesto__hero-title-line { display: block; }
[dir="ltr"] .about-manifesto__hero-title-line { white-space: nowrap; }
.about-manifesto__hero-copy > i { display: block; width: 4.5rem; height: 1px; margin-bottom: 2.4rem; background: var(--color-camel); }
.about-manifesto__hero-copy > p:last-child { max-width: 35rem; margin: 0; color: var(--color-muted); line-height: 1.75; }
.about-manifesto__hero-media { margin: 0; overflow: hidden; background: var(--color-ivory); }
.about-manifesto__hero-media img { width: 100%; aspect-ratio: 3/5; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.74) sepia(.05) contrast(.96); transition: transform 1200ms var(--ease-luxury),filter 700ms ease; }
.about-manifesto__hero-media:hover img, .about-manifesto__hero-media:focus-within img { filter: saturate(.88) sepia(.02); transform: scale(1.025); }
.about-manifesto__story { padding-block: clamp(4rem,7vw,7rem); }
.about-manifesto__story-inner { display: grid; grid-template-columns: minmax(17rem,.68fr) minmax(0,1.65fr); align-items: stretch; border: 1px solid var(--color-line); }
.about-manifesto__ledger { display: flex; flex-direction: column; }
.about-manifesto__ledger > .eyebrow { margin: 0; padding: 1.35rem clamp(1.25rem,3vw,3rem); border-bottom: 1px solid var(--color-line); color: var(--color-camel); }
.about-manifesto__story-trigger { position: relative; display: grid; flex: 1; grid-template-columns: 2rem 1fr; align-content: center; gap: .35rem 1rem; min-height: 10.5rem; padding: 1.5rem clamp(1.25rem,3vw,3rem); border: 0; border-bottom: 1px solid var(--color-line); background: transparent; color: var(--color-ink); text-align: start; cursor: pointer; transition: background 400ms ease,color 400ms ease; }
.about-manifesto__story-trigger:last-child { border-bottom: 0; }
.about-manifesto__story-trigger::after { position: absolute; inset: 0 auto 0 0; width: 2px; transform: scaleY(0); transform-origin: bottom; background: var(--color-camel); content: ""; transition: transform 450ms var(--ease-luxury); }
[dir="rtl"] .about-manifesto__story-trigger::after { inset: 0 0 0 auto; }
.about-manifesto__story-trigger > span { grid-row: 1 / 3; color: var(--color-camel); font-size: .68rem; letter-spacing: .1em; }
.about-manifesto__story-trigger strong { font-family: var(--font-display); font-size: clamp(1.5rem,2vw,2.2rem); font-weight: 400; line-height: 1.05; }
.about-manifesto__story-trigger small { max-width: 24rem; color: var(--color-muted); font-size: .78rem; line-height: 1.65; }
.about-manifesto__story-trigger:hover, .about-manifesto__story-trigger:focus-visible, .about-manifesto__story-trigger.is-active { background: var(--color-ivory); }
.about-manifesto__story-trigger:hover::after, .about-manifesto__story-trigger:focus-visible::after, .about-manifesto__story-trigger.is-active::after { transform: scaleY(1); }
.about-manifesto__story-stage { position: relative; min-height: clamp(34rem,47vw,46rem); overflow: hidden; background: var(--color-ivory); }
.about-manifesto__story-media { position: absolute; inset: 0; margin: 0; visibility: hidden; opacity: 0; transition: opacity 700ms ease,visibility 700ms; }
.about-manifesto__story-media.is-active { visibility: visible; opacity: 1; }
.about-manifesto__story-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.74) sepia(.06) contrast(.96); transform: scale(1.025); transition: transform 1600ms var(--ease-luxury); }
.about-manifesto__story-media.is-active img { transform: scale(1); }
.about-manifesto__values { padding-block: clamp(4rem,6vw,6rem); background: var(--color-ink); color: var(--color-paper); }
.about-manifesto__values .eyebrow { margin-bottom: 2rem; color: var(--color-camel); }
.about-manifesto__values-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid rgba(255,255,255,.18); }
.about-manifesto__values article { min-height: 17rem; padding: clamp(2rem,3vw,3.4rem); border-inline-end: 1px solid rgba(255,255,255,.18); }
.about-manifesto__values article:last-child { border-inline-end: 0; }
.about-manifesto__values article > span { display: block; margin-bottom: clamp(2rem,3vw,3.5rem); color: var(--color-camel); font-size: .68rem; letter-spacing: .12em; }
.about-manifesto__values h2 { max-width: 12ch; margin-bottom: 1rem; color: var(--color-paper); font-size: clamp(1.55rem,2.1vw,2.3rem); }
.about-manifesto__values article p { max-width: 25rem; margin: 0; color: rgba(251,250,247,.68); font-size: .82rem; line-height: 1.65; }
.about-manifesto__philosophy { padding-block: clamp(4rem,7vw,7rem); }
.about-manifesto__philosophy-inner { display: grid; grid-template-columns: minmax(18rem,.78fr) minmax(0,1.22fr); align-items: stretch; border: 1px solid var(--color-line); }
.about-manifesto__quote { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem,6vw,6rem); }
.about-manifesto__quote > span { margin-bottom: .6rem; color: var(--color-camel); font-family: var(--font-display); font-size: 4rem; line-height: .7; }
.about-manifesto__quote h2 { max-width: 10ch; margin-bottom: 2rem; font-size: clamp(2.5rem,4.3vw,5rem); text-wrap: balance; }
.about-manifesto__quote > i { width: 1px; height: 3rem; margin-bottom: 1.6rem; background: var(--color-camel); }
.about-manifesto__philosophy-copy { max-width: 31rem; color: var(--color-muted); }
.about-manifesto__philosophy-copy > *:last-child { margin-bottom: 0; }
.about-manifesto__philosophy-media { min-height: clamp(30rem,46vw,44rem); margin: 0; overflow: hidden; background: var(--color-ivory); }
.about-manifesto__philosophy-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.76) sepia(.05); transition: transform 1200ms var(--ease-luxury),filter 700ms ease; }
.about-manifesto__philosophy-media:hover img, .about-manifesto__philosophy-media:focus-within img { filter: saturate(.9); transform: scale(1.03); }
.about-manifesto__cta { padding-block: clamp(4rem,6vw,6rem); border-top: 1px solid var(--color-line); text-align: center; }
.about-manifesto__cta .shell { display: grid; justify-items: center; }
.about-manifesto__cta h2 { max-width: 22ch; margin-bottom: 1rem; font-size: clamp(2.25rem,3.6vw,4rem); text-wrap: balance; }
.about-manifesto__cta p { max-width: 38rem; margin-bottom: 1.8rem; color: var(--color-muted); }
.about-manifesto__cta .button { min-width: 16rem; }

@media (max-width: 1023px) {
	.about-manifesto__hero-inner { grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); gap: 2.5rem; }
	.about-manifesto__hero-copy h1 { font-size: clamp(1.8rem,3.85vw,3.1rem); }
	.about-manifesto__story-inner { grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr); }
	.about-manifesto__values article { padding-inline: 1.5rem; }
}

@media (max-width: 767px) {
	.about-manifesto__hero { min-height: 0; }
	.about-manifesto__hero-inner { grid-template-columns: 1fr; gap: 3rem; padding-block: 4rem 0; }
	.about-manifesto__hero-copy { padding: 0; }
	.about-manifesto__hero-copy .eyebrow { margin-bottom: 1.6rem; }
	.about-manifesto__hero-star { width: clamp(3.6rem,14vw,5rem); margin-bottom: 2rem; }
	.about-manifesto__hero-copy h1 { max-width: none; margin-bottom: 1.8rem; font-size: clamp(1.65rem,7.8vw,3rem); line-height: 1.16; }
	.about-manifesto__hero-copy > i { margin-bottom: 1.5rem; }
	.about-manifesto__hero-copy > p:last-child { font-size: .88rem; }
	.about-manifesto__hero-media { width: 100vw; margin-inline-start: calc((var(--shell) - 100vw)/2); }
	.about-manifesto__hero-media img { aspect-ratio: 4/5; }
	.about-manifesto__story { padding-block: 4rem; }
	.about-manifesto__story-inner { grid-template-columns: 1fr; border-inline: 0; }
	.about-manifesto__ledger > .eyebrow { padding-inline: .25rem; }
	.about-manifesto__story-trigger { min-height: 9rem; padding-inline: .25rem; }
	.about-manifesto__story-trigger::after { display: none; }
	.about-manifesto__story-trigger small { font-size: .76rem; }
	.about-manifesto__story-stage { min-height: 28rem; }
	.about-manifesto__values { padding-block: 4rem; }
	.about-manifesto__values-grid { grid-template-columns: 1fr; }
	.about-manifesto__values article { min-height: 0; padding: 2.25rem .25rem; border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
	.about-manifesto__values article:last-child { border-bottom: 0; }
	.about-manifesto__values article > span { margin-bottom: 1rem; }
	.about-manifesto__values h2 { max-width: none; font-size: 2rem; }
	.about-manifesto__philosophy { padding-block: 4rem; }
	.about-manifesto__philosophy-inner { grid-template-columns: 1fr; border-inline: 0; }
	.about-manifesto__quote { padding: 3rem .25rem; }
	.about-manifesto__quote h2 { font-size: clamp(2.75rem,12vw,3.7rem); }
	.about-manifesto__philosophy-media { min-height: 28rem; }
	.about-manifesto__cta { padding-block: 4.5rem; }
	.about-manifesto__cta h2 { max-width: 13ch; font-size: 2.7rem; }
	.about-manifesto__cta p { font-size: .86rem; }
	.about-manifesto__cta .button { width: min(100%,20rem); min-width: 0; }
}

@media (hover: none) {
	.about-manifesto__hero-media:hover img, .about-manifesto__philosophy-media:hover img { filter: saturate(.74) sepia(.05); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.about-manifesto__hero-media img, .about-manifesto__story-trigger, .about-manifesto__story-trigger::after, .about-manifesto__story-media, .about-manifesto__story-media img, .about-manifesto__philosophy-media img { transition: none !important; transform: none !important; }
}

/* Step 8: Contact — Option 1, The Invitation. */
.contact-invitation { padding-top: var(--header-height); background: var(--color-paper); color: var(--color-ink); }
.contact-invitation__hero { display: grid; grid-template-columns: minmax(25rem,.82fr) minmax(0,1.18fr); min-height: clamp(34rem,50vw,45rem); border-bottom: 1px solid var(--color-line); }
.contact-invitation__hero-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(3rem,7vw,7.5rem) max(3rem,calc((100vw - 90rem)/2)); background: var(--color-ivory); }
.contact-invitation__hero-copy .eyebrow { margin-bottom: clamp(1.5rem,3vw,2.8rem); color: var(--color-camel); }
.contact-invitation__hero-copy h1 { max-width: 9ch; margin-bottom: clamp(1.5rem,3vw,2.6rem); font-size: clamp(3.1rem,5vw,5.7rem); line-height: .98; text-wrap: balance; }
.contact-invitation__hero-copy > p:last-child { max-width: 31rem; margin: 0; color: var(--color-muted); font-size: .9rem; line-height: 1.75; }
.contact-invitation__hero-media { min-width: 0; margin: 0; overflow: hidden; background: var(--color-ink); }
.contact-invitation__hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.72) sepia(.07) contrast(.96); transform: scale(1.015); transition: transform 1500ms var(--ease-luxury),filter 800ms ease; }

.has-aimira-media-backdrop { position: relative; overflow: hidden; isolation: isolate; background: var(--ink); }
.aimira-media-backdrop { position: absolute !important; z-index: 0 !important; inset: -4% !important; width: 108% !important; height: 108% !important; max-width: none !important; object-fit: cover !important; object-position: center !important; filter: blur(22px) brightness(.68) saturate(.72) !important; scale: 1.08 !important; transform: none !important; opacity: 1 !important; pointer-events: none; }
.aimira-media-foreground { position: relative; z-index: 1; }

/* Customer-managed focal zoom composes with existing restrained hover motion. */
.services-index-hero__media img,
.service-band__media > img,
.service-band__media > video,
.destination-wall__media > img,
.destination-wall__video,
.destinations-hub__slide-media > img,
.destinations-hub__fallback-media > img,
.destination-detail__hero-media > img,
.destination-venue-cinema__slide img,
.venue-detail__hero-media > img,
.venue-detail__gallery-item img,
.venue-detail__related a > span img,
.service-detail-v2__hero-media > img,
.destination-atlas__media img,
.destination-atlas__preview,
.contact-invitation__hero-media img { scale: var(--media-zoom, 1); }
.contact-invitation__hero-media:hover img, .contact-invitation__hero-media:focus-within img { filter: saturate(.86) sepia(.03); transform: scale(1.045); }
.contact-invitation__enquiry { padding-block: clamp(4rem,7vw,7rem); }
.contact-invitation__grid { display: grid; grid-template-columns: minmax(16rem,.62fr) minmax(0,1.38fr); gap: clamp(3.5rem,8vw,9rem); }
.contact-invitation__aside { align-self: start; }
.contact-invitation__aside > .eyebrow { color: var(--color-camel); }
.contact-invitation__aside > h2 { max-width: 9ch; margin-bottom: 1.5rem; font-size: clamp(2.4rem,3.6vw,4rem); }
.contact-invitation__aside > p { max-width: 25rem; color: var(--color-muted); font-size: .85rem; line-height: 1.75; }
.contact-invitation__details, .contact-invitation__assurance { margin-top: clamp(2.4rem,4vw,4rem); padding-top: 1.5rem; border-top: 1px solid var(--color-line); }
.contact-invitation__details h3, .contact-invitation__assurance h3 { margin-bottom: 1rem; font-family: var(--font-display); font-size: .67rem; font-weight: 400; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.contact-invitation__location { margin-bottom: 1rem; font-family: var(--font-display); font-size: 1.1rem; }
.contact-invitation__details ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.contact-invitation__details a { display: inline-flex; min-height: 2.5rem; align-items: center; background: linear-gradient(var(--color-camel),var(--color-camel)) bottom left/0 1px no-repeat; font-size: .78rem; transition: color 300ms ease,background-size 400ms var(--ease-luxury); }
.contact-invitation__details a:hover, .contact-invitation__details a:focus-visible { color: var(--color-camel); background-size: 100% 1px; }
.contact-invitation__assurance p { margin: 0; color: var(--color-muted); font-size: .77rem; line-height: 1.7; }
.enquiry-form--invitation { display: block; }
.enquiry-form__chapter { min-width: 0; margin: 0; padding: 0 0 clamp(2.5rem,4vw,4rem); border: 0; }
.enquiry-form__chapter + .enquiry-form__chapter { padding-top: clamp(2.5rem,4vw,4rem); border-top: 1px solid var(--color-line); }
.enquiry-form__chapter legend { display: flex; width: 100%; align-items: center; gap: 1rem; margin-bottom: clamp(1.8rem,3vw,2.8rem); padding: 0; color: var(--color-ink); font-size: .67rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.enquiry-form__chapter legend::after { flex: 1; height: 1px; background: var(--color-line); content: ""; }
.enquiry-form__chapter legend span { color: var(--color-camel); font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; letter-spacing: 0; }
.enquiry-form__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,3vw,3.2rem); }
.enquiry-form--invitation .form-field { gap: .25rem; }
.enquiry-form--invitation .form-field label { font-size: .68rem; letter-spacing: .02em; }
.enquiry-form--invitation .form-field input, .enquiry-form--invitation .form-field select, .enquiry-form--invitation .form-field textarea { width: 100%; min-height: 3.4rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; outline: 0; background-color: transparent; background-image: none; color: var(--color-ink); font: inherit; font-size: .86rem; transition: border-color 300ms ease,box-shadow 300ms ease; }
.enquiry-form--invitation .form-field input::placeholder, .enquiry-form--invitation .form-field textarea::placeholder { color: rgba(101,95,87,.68); opacity: 1; }
.enquiry-form--invitation .form-field select { appearance: auto; padding: .75rem 0; cursor: pointer; }
.enquiry-form--invitation .form-field--date, .enquiry-form--invitation .event-type-combobox { grid-template-rows: auto 3.4rem auto; align-content: start; }
.date-picker-control { position: relative; height: 3.4rem; }
.enquiry-form--invitation .date-picker-control input { height: 3.4rem; cursor: pointer; }
.date-picker-control__trigger { display: flex; width: 100%; height: 3.4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--color-line); background: transparent; color: rgba(101,95,87,.68); font: inherit; font-size: .86rem; line-height: 1.2; text-align: start; cursor: pointer; transition: border-color 300ms ease,box-shadow 300ms ease,color 300ms ease; }
.date-picker-control__trigger[hidden] { display: none; }
.date-picker-control__trigger.has-value { color: var(--color-ink); }
.date-picker-control__trigger i { position: relative; width: .9rem; height: .8rem; flex: 0 0 auto; border: 1px solid var(--color-camel); }
.date-picker-control__trigger i::before { position: absolute; inset: .18rem -1px auto; height: 1px; background: var(--color-camel); content: ""; }
.date-picker-control__trigger i::after { position: absolute; inset: -.22rem .14rem auto; height: .34rem; border-inline: 1px solid var(--color-camel); content: ""; }
.date-picker-control.is-open .date-picker-control__trigger, .date-picker-control__trigger:hover, .date-picker-control__trigger:focus-visible { border-color: var(--color-camel); box-shadow: 0 1px 0 var(--color-camel); color: var(--color-ink); outline: 0; }
.date-picker-popover { position: absolute; z-index: 30; inset: calc(100% + .45rem) auto auto 0; width: min(20rem,calc(100vw - 2rem)); padding: 1rem; border: 1px solid rgba(0,0,0,.2); border-radius: .55rem; background: var(--color-paper); box-shadow: 0 1.25rem 3.5rem rgba(0,0,0,.18); }
.date-picker-popover[hidden] { display: none; }
.date-picker-popover header { display: grid; grid-template-columns: 2.4rem 1fr 2.4rem; align-items: center; margin-bottom: .8rem; }
.date-picker-popover header strong { color: var(--color-ink); font-family: var(--font-body); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-align: center; }
.date-picker-popover header button { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--color-camel); font: inherit; font-size: 1.25rem; cursor: pointer; }
.date-picker-popover header button:hover, .date-picker-popover header button:focus-visible { border-color: var(--color-camel); background: var(--color-ivory); color: var(--color-ink); outline: 0; }
.date-picker-popover__weekdays, .date-picker-popover__days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.date-picker-popover__weekdays { margin-bottom: .25rem; color: var(--color-camel); font-size: .58rem; font-weight: 600; text-align: center; }
.date-picker-popover__weekdays span { display: grid; min-height: 1.8rem; place-items: center; }
.date-picker-popover__days button { position: relative; display: grid; width: 2.25rem; height: 2.25rem; place-self: center; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--color-ink); font: inherit; font-size: .68rem; cursor: pointer; }
.date-picker-popover__days button.is-outside { color: rgba(101,95,87,.38); }
.date-picker-popover__days button.is-today:not(.is-selected) { border-color: rgba(184,139,90,.62); color: var(--color-camel); }
.date-picker-popover__days button.is-selected { border-color: var(--color-camel); background: var(--color-camel); color: var(--color-paper); }
.date-picker-popover__days button:hover, .date-picker-popover__days button:focus-visible { border-color: var(--color-camel); background: var(--color-ivory); color: var(--color-ink); outline: 0; }
.date-picker-popover__days button.is-selected:hover, .date-picker-popover__days button.is-selected:focus-visible { background: var(--color-camel); color: var(--color-paper); box-shadow: 0 0 0 2px var(--color-paper),0 0 0 3px var(--color-camel); }
.date-picker-popover footer { display: grid; grid-template-columns: auto minmax(7rem,1fr); gap: .7rem; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--color-line); }
.date-picker-popover footer button { min-height: 2.4rem; padding: .55rem 1rem; border: 1px solid transparent; border-radius: 1.3rem; font: inherit; font-size: .6rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.date-picker-popover footer [data-date-picker-clear] { background: transparent; color: var(--color-camel); }
.date-picker-popover footer [data-date-picker-apply] { background: var(--color-ink); color: var(--color-paper); }
.date-picker-popover footer button:hover, .date-picker-popover footer button:focus-visible { border-color: var(--color-camel); outline: 0; }
.date-picker-popover footer [data-date-picker-apply]:hover, .date-picker-popover footer [data-date-picker-apply]:focus-visible { background: var(--color-camel); }
.enquiry-form--invitation .form-field--date small { margin-top: .15rem; color: rgba(101,95,87,.72); font-size: .62rem; line-height: 1.45; }
.country-combobox { position: relative; }
.country-combobox__trigger { position: relative; display: flex; width: 100%; height: 3.4rem; min-height: 3.4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--color-line); background: transparent; color: rgba(101,95,87,.68); font: inherit; font-size: .86rem; line-height: 1.2; text-align: start; cursor: pointer; transition: border-color 300ms ease,box-shadow 300ms ease,color 300ms ease; }
.country-combobox__trigger[hidden] { display: none; }
.country-combobox__trigger.has-value { color: var(--color-ink); }
.country-combobox__trigger i { width: .55rem; height: .55rem; flex: 0 0 auto; border-inline-end: 1px solid var(--color-camel); border-bottom: 1px solid var(--color-camel); transform: rotate(45deg) translateY(-.15rem); transition: transform 300ms var(--ease-luxury); }
.country-combobox.is-open .country-combobox__trigger, .country-combobox__trigger:hover, .country-combobox__trigger:focus-visible { border-color: var(--color-camel); box-shadow: 0 1px 0 var(--color-camel); color: var(--color-ink); outline: 0; }
.country-combobox.is-open .country-combobox__trigger i { transform: rotate(225deg) translate(-.12rem,-.12rem); }
.country-combobox__panel { position: absolute; z-index: 20; inset: calc(100% + .45rem) 0 auto; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-paper); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.14); }
.country-combobox__panel[hidden] { display: none; }
.country-combobox__search { position: relative; display: flex; align-items: center; padding: .7rem .8rem; border-bottom: 1px solid var(--color-line); background: var(--color-ivory); }
.country-combobox__search > span { position: absolute; inset-inline-start: 1rem; width: .75rem; height: .75rem; border: 1px solid var(--color-camel); border-radius: 50%; pointer-events: none; }
.country-combobox__search > span::after { position: absolute; width: .38rem; height: 1px; inset: auto -.28rem -.13rem auto; background: var(--color-camel); content: ""; transform: rotate(45deg); }
.enquiry-form--invitation .country-combobox__search input { min-height: 2.6rem; padding: .5rem 2rem; border: 1px solid transparent; background: var(--color-paper); font-size: .8rem; }
.enquiry-form--invitation .country-combobox__search input:focus { border-color: var(--color-camel); box-shadow: none; }
.country-combobox__clear { width: 100%; min-height: 2.6rem; padding: .55rem 1rem; border: 0; border-bottom: 1px solid var(--color-line); background: transparent; color: var(--color-camel); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-align: start; text-transform: uppercase; cursor: pointer; }
.country-combobox__clear:hover, .country-combobox__clear:focus-visible { background: var(--color-ivory); color: var(--color-ink); outline-offset: -3px; }
.country-combobox__list { max-height: 16rem; overflow-y: auto; margin: 0; padding: 0; overscroll-behavior: contain; scrollbar-color: var(--color-camel) var(--color-ivory); scrollbar-width: thin; list-style: none; }
.country-combobox__list button { display: flex; width: 100%; min-height: 2.9rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 1rem; border: 0; border-bottom: 1px solid rgba(0,0,0,.08); background: transparent; color: var(--color-ink); font: inherit; font-size: .78rem; text-align: start; cursor: pointer; }
.country-combobox__list button small { color: var(--color-camel); font-size: .58rem; letter-spacing: .1em; }
.country-combobox__list button:hover, .country-combobox__list button:focus-visible, .country-combobox__list button[aria-selected="true"] { background: var(--color-ivory); outline: 0; }
.country-combobox__list button:focus-visible { box-shadow: inset 2px 0 0 var(--color-camel); }
.country-combobox__empty { margin: 0; padding: 1.2rem 1rem; color: var(--color-muted); font-size: .75rem; }
.event-type-combobox__panel .country-combobox__list { max-height: 13rem; }
.enquiry-form--invitation .form-field textarea { min-height: 9rem; resize: vertical; }
.enquiry-form--invitation .form-field input:focus, .enquiry-form--invitation .form-field select:focus, .enquiry-form--invitation .form-field textarea:focus { border-color: var(--color-camel); box-shadow: 0 1px 0 var(--color-camel); }
.enquiry-form--invitation .form-field input[aria-invalid="true"], .enquiry-form--invitation .form-field select[aria-invalid="true"], .enquiry-form--invitation .form-field textarea[aria-invalid="true"], .enquiry-form--invitation .has-error .country-combobox__trigger, .enquiry-form--invitation .has-error .date-picker-control__trigger { border-color: #9f2f2f; box-shadow: 0 1px 0 #9f2f2f; }
.enquiry-form--invitation .form-field input:user-invalid, .enquiry-form--invitation .form-field select:user-invalid, .enquiry-form--invitation .form-field textarea:user-invalid { border-color: #9f2f2f; box-shadow: 0 1px 0 #9f2f2f; }
.enquiry-form--invitation .has-error > label, .enquiry-form--invitation .consent.has-error label { color: #8b2424; }
.enquiry-form--invitation .form-field__error { display: flex; align-items: flex-start; gap: .45rem; margin: .45rem 0 0; color: #8b2424; font-size: .68rem; font-weight: 600; letter-spacing: .01em; line-height: 1.45; }
.enquiry-form--invitation .form-field__error::before { display: grid; width: 1rem; height: 1rem; flex: 0 0 auto; place-items: center; margin-top: .02rem; border: 1px solid currentColor; border-radius: 50%; content: "!"; font-size: .65rem; line-height: 1; }
.enquiry-form--invitation .form-optional { color: var(--color-muted); font-size: .62rem; font-weight: 400; }
.enquiry-form--invitation .consent { margin: 1.75rem 0; font-size: .75rem; line-height: 1.6; }
.enquiry-form--invitation .consent input { width: 1rem; height: 1rem; flex: 0 0 auto; }
.enquiry-form--invitation .consent input[aria-invalid="true"] { outline: 2px solid #9f2f2f; outline-offset: 2px; }
.enquiry-form--invitation .consent.has-error { flex-wrap: wrap; }
.enquiry-form--invitation .consent.has-error .form-field__error { flex-basis: 100%; margin-inline-start: 1.75rem; }
.enquiry-form--invitation .consent a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.enquiry-form--invitation .consent a:hover, .enquiry-form--invitation .consent a:focus-visible { color: var(--color-camel-dark); }
.enquiry-form__actions { display: flex; align-items: center; gap: 2rem; }
.enquiry-form__actions > div { display: grid; max-width: 21rem; gap: .15rem; }
.enquiry-form__actions strong { font-family: var(--font-display); font-size: 1rem; font-weight: 400; }
.enquiry-form__actions span { color: var(--color-muted); font-size: .68rem; line-height: 1.5; }
.contact-invitation .form-notice { margin-bottom: 2.25rem; padding: 1.15rem 1.3rem; border: 1px solid; border-inline-start-width: 3px; font-family: var(--font-display); font-size: 1.05rem; }
.contact-invitation__trust { background: var(--color-ink); color: var(--color-paper); }
.contact-invitation__trust > .shell { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.contact-invitation__trust article { display: grid; grid-template-columns: auto 1fr; gap: 1rem; min-height: 9.5rem; align-content: center; padding: 2rem clamp(1.25rem,2.5vw,2.5rem); border-inline-end: 1px solid rgba(255,255,255,.17); }
.contact-invitation__trust article:last-child { border-inline-end: 0; }
.contact-invitation__trust article > span { color: var(--color-camel); font-family: var(--font-display); font-size: 1rem; }
.contact-invitation__trust h2 { margin-bottom: .35rem; font-family: var(--font-display); font-size: .64rem; font-weight: 400; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.contact-invitation__trust p { margin: 0; color: rgba(251,250,247,.65); font-family: var(--font-display); font-size: .82rem; line-height: 1.5; }
[dir="rtl"] .contact-invitation__details a { background-position: bottom right; }
[dir="rtl"] .date-picker-popover { inset-inline: 0 auto; }
[dir="rtl"] .date-picker-popover header button span { display: inline-block; transform: scaleX(-1); }
[dir="rtl"] .country-combobox__list button:focus-visible { box-shadow: inset -2px 0 0 var(--color-camel); }

@media (max-width: 1023px) {
	.contact-invitation__hero { grid-template-columns: minmax(21rem,.9fr) minmax(0,1.1fr); }
	.contact-invitation__grid { gap: 3.5rem; }
	.contact-invitation__trust > .shell { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.contact-invitation__trust article:nth-child(2) { border-inline-end: 0; }
	.contact-invitation__trust article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.17); }
}

@media (max-width: 767px) {
	.contact-invitation__hero { grid-template-columns: minmax(0,1fr); min-height: 0; }
	.contact-invitation__hero-copy { padding: 4rem max(1rem,calc((100vw - var(--shell))/2)); }
	.contact-invitation__hero-copy h1 { max-width: 10ch; font-size: clamp(2.85rem,12vw,3.8rem); }
	.contact-invitation__hero-copy > p:last-child { font-size: .84rem; }
	.contact-invitation__hero-media { height: auto; }
	.contact-invitation__hero-media img { height: auto; object-fit: contain; scale: 1; transform: none; }
	.contact-invitation__grid { grid-template-columns: 1fr; gap: 3.75rem; }
	.contact-invitation__aside > h2 { font-size: 2.8rem; }
	.contact-invitation__details, .contact-invitation__assurance { margin-top: 2.25rem; }
	.enquiry-form__fields { grid-template-columns: 1fr; gap: 1.75rem; }
	.enquiry-form__chapter { padding-bottom: 2.75rem; }
	.enquiry-form__chapter + .enquiry-form__chapter { padding-top: 2.75rem; }
	.enquiry-form__chapter legend { margin-bottom: 1.9rem; }
	.enquiry-form--invitation .form-field input, .enquiry-form--invitation .form-field select { min-height: 3.2rem; }
	.country-combobox__trigger { min-height: 3.2rem; }
	.date-picker-control__trigger { min-height: 3.2rem; }
	.date-picker-popover { position: fixed; z-index: 120; inset: auto 1rem 1rem; width: auto; padding: 1.1rem; border-color: rgba(0,0,0,.28); }
	[dir="rtl"] .date-picker-popover { inset: auto 1rem 1rem; }
	.date-picker-popover__days button { width: min(2.55rem,10vw); height: min(2.55rem,10vw); min-width: 2.35rem; min-height: 2.35rem; }
	.country-combobox__panel { position: fixed; z-index: 110; inset: auto 1rem 1rem; max-height: min(72svh,34rem); border-color: rgba(0,0,0,.28); }
	.country-combobox__list { max-height: calc(min(72svh,34rem) - 6rem); }
	.enquiry-form__actions { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
	.enquiry-form__actions .button { width: min(100%,20rem); }
	.contact-invitation__trust > .shell { width: 100%; grid-template-columns: 1fr; }
	.contact-invitation__trust article { min-height: 7.5rem; padding-inline: max(1rem,calc((100vw - var(--shell))/2)); border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
	.contact-invitation__trust article:nth-child(3) { border-bottom: 1px solid rgba(255,255,255,.17); }
	.contact-invitation__trust article:last-child { border-bottom: 0; }
}

@media (hover: none) {
	.contact-invitation__hero-media:hover img { filter: saturate(.72) sepia(.07) contrast(.96); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.contact-invitation__hero-media img, .contact-invitation__details a, .enquiry-form--invitation .form-field input, .enquiry-form--invitation .form-field select, .enquiry-form--invitation .form-field textarea, .date-picker-control__trigger { transition: none !important; transform: none !important; }
}

/* Step 11: 404 — Option 1, The Lost Portrait. */
.error-portrait { padding-top: var(--header-height); background: var(--color-ink); color: var(--color-paper); }
.error-portrait__stage { display: grid; grid-template-columns: minmax(23rem,.42fr) minmax(0,.58fr); min-height: clamp(36rem,calc(100svh - var(--header-height) - 7rem),48rem); border-bottom: 1px solid rgba(251,250,247,.2); }
.error-portrait__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(3.5rem,6vw,7rem) max(2rem,calc((100vw - 90rem)/2)); border-inline-end: 1px solid rgba(165,134,97,.58); background: var(--color-ink); }
.error-portrait__code { margin-bottom: clamp(1.2rem,2.4vw,2rem); color: var(--color-camel); font-family: var(--font-display); font-size: clamp(2rem,2.8vw,3.2rem); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.025em; line-height: 1; }
.error-portrait h1 { max-width: 8ch; margin-bottom: clamp(1.4rem,2.4vw,2.2rem); color: var(--color-paper); font-size: clamp(3.6rem,5.8vw,6.4rem); line-height: .94; text-wrap: balance; }
.error-portrait__lead { max-width: 30rem; margin-bottom: clamp(2.4rem,4vw,3.8rem); color: rgba(251,250,247,.76); font-size: clamp(.85rem,.78rem + .22vw,1rem); line-height: 1.7; }
.error-portrait__actions { display: grid; width: fit-content; min-width: min(100%,19rem); gap: 1.35rem; }
.error-portrait__actions .button { width: 100%; }
.error-portrait__actions .text-link { width: fit-content; }
.error-portrait__media { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #1d211f; }
.error-portrait__media::after { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.15),transparent 42%),linear-gradient(0deg,rgba(0,0,0,.18),transparent 46%); content: ""; pointer-events: none; }
.error-portrait__media > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,50%) var(--focal-y,50%); filter: saturate(.72) sepia(.06) contrast(.96); scale: var(--media-zoom,1); transition: filter 900ms ease,transform 1500ms var(--ease-luxury); }
.error-portrait__media:hover > img { filter: saturate(.84) sepia(.03) contrast(.98); transform: scale(1.025); }
.error404 .site-footer { border-top: 0; }

@media (max-width: 1023px) {
	.error-portrait__stage { grid-template-columns: minmax(20rem,.46fr) minmax(0,.54fr); }
	.error-portrait h1 { font-size: clamp(3.4rem,6.8vw,5.1rem); }
}

@media (max-width: 767px) {
	.error-portrait__stage { grid-template-columns: 1fr; min-height: 0; }
	.error-portrait__copy { min-height: 30rem; padding: 3.75rem max(1rem,calc((100vw - var(--shell))/2)) 4rem; border-inline-end: 0; border-bottom: 1px solid rgba(165,134,97,.58); }
	.error-portrait__code { margin-bottom: 1rem; font-size: 1.8rem; }
	.error-portrait h1 { max-width: 9ch; margin-bottom: 1.4rem; font-size: clamp(3.15rem,14vw,4.25rem); }
	.error-portrait__lead { margin-bottom: 2.4rem; font-size: .84rem; }
	.error-portrait__actions { width: 100%; max-width: 22rem; }
	.error-portrait__actions .button { min-height: 3.4rem; }
	.error-portrait__media { height: min(31rem,118vw); }
	.error-portrait__media::after { background: linear-gradient(0deg,rgba(0,0,0,.2),transparent 50%); }
	.error-portrait__media > img { transform: none; }
}

@media (hover: none) {
	.error-portrait__media:hover > img { filter: saturate(.72) sepia(.06) contrast(.96); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.error-portrait__media > img, .error-portrait__actions .button, .error-portrait__actions .text-link, .error-portrait__actions .text-link span { transition: none !important; transform: none !important; }
}

/*
 * Meira's tall, narrow letterforms need open tracking and leading to remain
 * legible when headings wrap. The refreshed face is registered directly at
 * the requested bold display weight so its outlines are not emboldened twice.
 */
[dir="ltr"] body h1, [dir="ltr"] body h2, [dir="ltr"] body h3 {
	font-weight: 700;
	letter-spacing: .015em;
	line-height: 1.18;
}

[dir="rtl"] body h1, [dir="rtl"] body h2, [dir="rtl"] body h3 {
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

@media (max-width: 767px) {
	[dir="ltr"] body h1, [dir="ltr"] body h2, [dir="ltr"] body h3 { line-height: 1.22; }
	[dir="rtl"] body h1, [dir="rtl"] body h2, [dir="rtl"] body h3 { line-height: 1.35; }
}

/* Step 12: Design & Styling — Option 1, The Planner Atlas. */
.planner-directory { padding-top: var(--header-height); overflow: hidden; background: var(--color-paper); color: var(--color-ink); }
.planner-directory__opening { padding-block: clamp(3.5rem,6vw,6.5rem) clamp(2.25rem,4vw,3.75rem); }
.planner-directory__back { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .65rem; margin-bottom: clamp(2.75rem,5vw,5rem); font-size: .61rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.planner-directory__back span { color: var(--color-camel); transition: transform 350ms var(--ease-luxury); }
.planner-directory__back:hover span, .planner-directory__back:focus-visible span { transform: translateX(-.3rem); }
.planner-directory__eyebrow { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1rem; }
.planner-directory__eyebrow p { margin: 0; font-size: .65rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.planner-directory__eyebrow i { height: 1px; flex: 1; background: var(--color-line); }
.planner-directory__opening h1 { max-width: 22ch; margin-bottom: .75rem; font-size: clamp(3.4rem,5vw,5.7rem); line-height: .98; text-wrap: balance; }
.planner-directory__intro { max-width: 48rem; margin: 0; color: var(--color-muted); font-size: clamp(.85rem,.75rem + .3vw,1.05rem); line-height: 1.7; }
.planner-atlas { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: clamp(.45rem,.75vw,.8rem); padding-bottom: clamp(2.5rem,4.5vw,4.5rem); }
.planner-atlas__choice { min-width: 0; padding: 0; border: 1px solid transparent; background: transparent; color: var(--color-paper); cursor: pointer; text-align: start; transition: border-color 300ms ease,transform 450ms var(--ease-luxury); }
.planner-atlas__choice:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; }
.planner-atlas__choice.is-active { border-color: var(--color-camel); }
.planner-atlas__media { position: relative; display: block; aspect-ratio: 3/2; overflow: hidden; background: var(--color-ink); }
.planner-atlas__media > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.68) sepia(.08) brightness(.78); scale: var(--media-zoom,1); transition: filter 650ms ease,transform 900ms var(--ease-luxury); }
.planner-atlas__media > i { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,15,13,.62),transparent 62%); pointer-events: none; }
.planner-atlas__choice:hover .planner-atlas__media > img, .planner-atlas__choice:focus-visible .planner-atlas__media > img, .planner-atlas__choice.is-active .planner-atlas__media > img { filter: saturate(.87) sepia(.04) brightness(.9); transform: scale(1.035); }
.planner-atlas__choice strong { position: absolute; z-index: 2; inset: auto .85rem .7rem; overflow: hidden; color: var(--color-paper); font-family: var(--font-display); font-size: clamp(1.05rem,1.6vw,1.65rem); font-weight: 400; line-height: 1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; pointer-events: none; }
.planner-atlas__choice { position: relative; }
.planner-atlas__fallback { display: grid; width: 100%; height: 100%; place-items: center; color: var(--color-camel); font-size: 1.35rem; }
.planner-groups { padding-bottom: clamp(4.5rem,7vw,7rem); }
.planner-directory.is-enhanced .planner-group[hidden] { display: none; }
.planner-group__heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.planner-group__heading p, .planner-group__heading span { margin: 0; font-size: .63rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.planner-group__heading span { color: var(--color-camel); font-variant-numeric: tabular-nums; }
.planner-group__heading i { height: 1px; flex: 1; background: var(--color-line); }
.planner-profiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,1.9vw,2rem); }
.planner-profiles--1 { grid-template-columns: minmax(0,2fr) minmax(15rem,1fr); }
.planner-profiles--1::after { align-self: stretch; border-inline-start: 1px solid var(--color-line); content: ""; }
.planner-profiles--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.planner-profile { min-width: 0; }
.planner-profile__media { position: relative; aspect-ratio: 4/3; margin: 0; overflow: hidden; background: var(--color-ivory); }
.planner-profile__media > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-x,center) var(--focal-y,center); filter: saturate(.72) sepia(.06); scale: var(--media-zoom,1); transition: filter 700ms ease,transform 1100ms var(--ease-luxury); }
.planner-profile:hover .planner-profile__media > img, .planner-profile:focus-within .planner-profile__media > img { filter: saturate(.9) sepia(.02); transform: scale(1.025); }
.planner-profile__fallback { display: grid; width: 100%; height: 100%; place-items: center; background: var(--color-ivory); color: var(--color-camel); }
.planner-profile__fallback i { font-size: 1.75rem; }
.planner-profile__copy { padding-top: 1.15rem; }
.planner-profile__label { display: flex; align-items: center; gap: .85rem; margin-bottom: .8rem; color: var(--color-camel); }
.planner-profile__label span { font-size: .59rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.planner-profile__label i { width: 1.75rem; height: 1px; background: currentColor; transition: width 350ms var(--ease-luxury); }
.planner-profile:hover .planner-profile__label i, .planner-profile:focus-within .planner-profile__label i { width: 3rem; }
.planner-profile h2 { max-width: 18ch; margin-bottom: .55rem; font-size: clamp(1.6rem,2.15vw,2.35rem); text-wrap: balance; }
.planner-profile__copy > p { max-width: 32rem; margin: 0; color: var(--color-muted); font-size: .8rem; line-height: 1.65; }
.planner-profile__copy > small { display: block; margin-top: .75rem; color: var(--color-muted); font-size: .56rem; }
.planner-profile__details { margin-top: .9rem; }
.planner-profile__details summary { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .45rem; border-bottom: 1px solid var(--color-camel); color: var(--color-ink); cursor: pointer; font-size: .59rem; font-weight: 600; letter-spacing: .16em; list-style: none; text-transform: uppercase; }
.planner-profile__details summary::-webkit-details-marker { display: none; }
.planner-profile__details summary i { color: var(--color-camel); transition: transform 350ms var(--ease-luxury); }
.planner-profile__details summary:hover i, .planner-profile__details summary:focus-visible i { transform: translate(.18rem,-.18rem); }
.planner-profile__details [data-profile-close], .planner-profile__details[open] [data-profile-open] { display: none; }
.planner-profile__details[open] [data-profile-close] { display: inline; }
.planner-profile__details > div { max-width: 34rem; padding-top: 1rem; color: var(--color-muted); font-size: .78rem; line-height: 1.7; }
.planner-group__empty { display: grid; min-height: 19rem; place-content: center; justify-items: center; gap: 1rem; border-block: 1px solid var(--color-line); color: var(--color-muted); text-align: center; }
.planner-group__empty span { color: var(--color-camel); }
.planner-group__empty p { max-width: 34rem; margin: 0; }
.planner-group__empty--page { margin-bottom: clamp(4rem,7vw,7rem); }
.planner-directory__cta { background: var(--color-ink); color: var(--color-paper); }
.planner-directory__cta > div { display: grid; grid-template-columns: minmax(0,auto) minmax(4rem,1fr) auto; min-height: clamp(10rem,15vw,14rem); align-items: center; gap: clamp(1.5rem,3vw,3rem); }
.planner-directory__cta h2 { max-width: 22ch; margin: 0; font-size: clamp(2rem,3.2vw,3.5rem); }
.planner-directory__cta i { height: 1px; background: rgba(251,250,247,.6); }
.planner-directory__cta a { display: inline-flex; min-height: 3rem; align-items: center; gap: .55rem; border-bottom: 1px solid var(--color-paper); font-size: .63rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.planner-directory__cta a span { transition: transform 350ms var(--ease-luxury); }
.planner-directory__cta a:hover span, .planner-directory__cta a:focus-visible span { transform: translate(.2rem,-.2rem); }
[dir="rtl"] .planner-directory__back span { transform: scaleX(-1); }
[dir="rtl"] .planner-directory__back:hover span, [dir="rtl"] .planner-directory__back:focus-visible span { transform: scaleX(-1) translateX(-.3rem); }
[dir="rtl"] .planner-directory__cta a span, [dir="rtl"] .planner-profile__details summary i { transform: scaleX(-1); }

@media (max-width: 1023px) {
	.planner-atlas { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.planner-profile h2 { font-size: clamp(1.5rem,2.8vw,2rem); }
}

@media (max-width: 767px) {
	.planner-directory__opening { padding-block: 2.75rem 2rem; }
	.planner-directory__back { margin-bottom: 2.75rem; }
	.planner-directory__eyebrow { gap: .85rem; }
	.planner-directory__opening h1 { max-width: 15ch; font-size: clamp(2.25rem,9.5vw,3rem); }
	.planner-directory__intro { font-size: .84rem; }
	.planner-atlas { display: flex; width: 100%; overflow-x: auto; gap: .65rem; padding-inline: max(1rem,calc((100vw - var(--shell))/2)); padding-bottom: 2.5rem; scroll-padding-inline: max(1rem,calc((100vw - var(--shell))/2)); scroll-snap-type: inline mandatory; scrollbar-width: thin; }
	.planner-atlas__choice { width: min(69vw,17rem); flex: 0 0 auto; scroll-snap-align: start; }
	.planner-atlas__choice strong { font-size: 1.3rem; }
	.planner-group__heading { gap: .75rem; }
	.planner-group__heading p { max-width: 18rem; }
	.planner-profiles, .planner-profiles--1, .planner-profiles--2 { grid-template-columns: 1fr; gap: 3rem; }
	.planner-profiles--1::after { display: none; }
	.planner-profile__media { aspect-ratio: 4/3; }
	.planner-profile h2 { font-size: 2rem; }
	.planner-directory__cta > div { grid-template-columns: 1fr; min-height: 19rem; align-content: center; gap: 1.35rem; }
	.planner-directory__cta h2 { max-width: 12ch; font-size: 2.6rem; }
	.planner-directory__cta i { width: 3rem; }
	.planner-directory__cta a { width: fit-content; }
}

@media (hover: none) {
	.planner-atlas__choice:hover .planner-atlas__media > img, .planner-profile:hover .planner-profile__media > img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.planner-directory__back span, .planner-atlas__choice, .planner-atlas__media > img, .planner-profile__media > img, .planner-profile__label i, .planner-profile__details summary i, .planner-directory__cta a span { transition: none !important; transform: none !important; }
}
