/*
Theme Name: The Amara Estate
Theme URI: https://github.com/dendritecorp/template-theamaraestate.com
Author: Dendrite Corp
Description: The Amara Estate. Classic PHP shell with Gutenberg content.
Version: 1.1.0
Text Domain: theamaraestate
*/

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("https://theamaraestate.gagadomains.com/static/themes/theamaraestate/assets/fonts/cormorant-garamond-400.woff2") format("woff2");
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("https://theamaraestate.gagadomains.com/static/themes/theamaraestate/assets/fonts/cormorant-garamond-400-italic.woff2") format("woff2");
}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("https://theamaraestate.gagadomains.com/static/themes/theamaraestate/assets/fonts/dm-sans-400.woff2") format("woff2");
}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("https://theamaraestate.gagadomains.com/static/themes/theamaraestate/assets/fonts/dm-sans-500.woff2") format("woff2");
}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("https://theamaraestate.gagadomains.com/static/themes/theamaraestate/assets/fonts/dm-sans-600.woff2") format("woff2");
}

:root {
	--ae-paper: #f8f6f0;
	--ae-white: #fffefb;
	--ae-ink: #29352b;
	--ae-olive: #354536;
	--ae-deep: #203126;
	--ae-gold: #af8b52;
	--ae-gold-soft: #d0b279;
	--ae-sand: #eae5d9;
	--ae-muted: #64685e;
	--ae-line: #d8d9cb;
	--ae-serif: "Cormorant Garamond", Georgia, serif;
	--ae-sans: "DM Sans", sans-serif;
	--ae-wrap: min(1280px, 88%);
	--ae-header: 92px;
}

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

body {
	margin: 0;
	background: var(--ae-paper);
	color: var(--ae-ink);
	font-family: var(--ae-sans);
	font-size: 16px;
	line-height: 1.65;
}

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

h1, h2, h3, h4, .rb-block-heading, .rb-block-heading {
	font-family: var(--ae-serif);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--ae-ink);
	margin: 0;
}

h1, .ae-hero h1 {
	font-size: clamp(3.2rem, 6.4vw, 6.4rem);
	letter-spacing: -0.035em;
}

h2 { font-size: clamp(2.6rem, 4.2vw, 4.4rem); }
h3 { font-size: clamp(1.6rem, 2vw, 2rem); }

em { font-style: italic; }

p { margin: 0; color: var(--ae-muted); }

a { color: inherit; }

:focus-visible {
	outline: 3px solid var(--ae-gold);
	outline-offset: 4px;
}

.skip-link {
	position: fixed;
	left: 12px;
	top: -80px;
	z-index: 50;
	background: var(--ae-paper);
	color: var(--ae-ink);
	padding: 10px 14px;
}

.skip-link:focus { top: 12px; }

.site-main { padding: 0; }

.entry-content {
	max-width: none;
	margin: 0;
}

.entry-content > .alignfull {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.entry-content > .ae-facts-bar.alignfull {
	width: var(--ae-wrap);
	max-width: var(--ae-wrap);
	margin-inline: auto;
}

.ae-wrap {
	width: var(--ae-wrap);
	margin-inline: auto;
}

/* Flow layout inserts a block gap. Grids opt out. */
.ae-facts > *,
.ae-occasion-grid > *,
.ae-why > *,
.ae-teasers > *,
.ae-steps > *,
.ae-package-grid > *,
.ae-policy > *,
.ae-gallery > *,
.ae-extras > *,
.ae-split > *,
.ae-intro > *,
.ae-form-layout > *,
.ae-contact-line > *,
.ae-section-head > *,
.ae-hero-content > *,
.ae-hero-bottom > *,
.ae-actions > *,
.ae-visit > *,
.entry-content .ae-facts > * + *,
.entry-content .ae-occasion-grid > * + *,
.entry-content .ae-why > * + *,
.entry-content .ae-teasers > * + *,
.entry-content .ae-steps > * + *,
.entry-content .ae-package-grid > * + *,
.entry-content .ae-policy > * + *,
.entry-content .ae-gallery > * + *,
.entry-content .ae-extras > * + *,
.entry-content .ae-split > * + *,
.entry-content .ae-intro > * + *,
.entry-content .ae-form-layout > * + *,
.entry-content .ae-contact-line > * + *,
.entry-content .ae-section-head > * + *,
.entry-content .ae-actions > * + * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.ae-facts > .rb-block-group__inner-container,
.ae-facts > .rb-block-group__inner-container,
.ae-occasion-grid > .rb-block-group__inner-container,
.ae-occasion-grid > .rb-block-group__inner-container,
.ae-why > .rb-block-group__inner-container,
.ae-why > .rb-block-group__inner-container,
.ae-teasers > .rb-block-group__inner-container,
.ae-teasers > .rb-block-group__inner-container,
.ae-package-grid > .rb-block-group__inner-container,
.ae-package-grid > .rb-block-group__inner-container,
.ae-policy > .rb-block-group__inner-container,
.ae-policy > .rb-block-group__inner-container,
.ae-gallery > .rb-block-group__inner-container,
.ae-gallery > .rb-block-group__inner-container,
.ae-intro > .rb-block-group__inner-container,
.ae-intro > .rb-block-group__inner-container,
.ae-split > .rb-block-group__inner-container,
.ae-split > .rb-block-group__inner-container,
.ae-form-layout > .rb-block-group__inner-container,
.ae-form-layout > .rb-block-group__inner-container {
	display: contents;
}

.rb-block-image img,
.rb-block-image img,
.rb-block-image a,
.rb-block-image a {
	width: 100%;
	height: auto;
}

/* Header
   ========================================================================== */

.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: var(--ae-paper);
	border-bottom: 1px solid #deded1;
}

.header-inner {
	width: min(1480px, 94%);
	min-height: var(--ae-header);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.brand {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--ae-ink);
	text-decoration: none;
	flex-shrink: 0;
}

.brand-mark {
	width: 46px;
	height: 46px;
	object-fit: contain;
}

.wordmark {
	font-family: var(--ae-serif);
	font-size: 1.55rem;
	letter-spacing: 0.08em;
	line-height: 0.9;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.wordmark span {
	font-family: var(--ae-sans);
	font-size: 0.62rem;
	letter-spacing: 0.42em;
	margin-top: 7px;
}

.site-nav .nav-menu,
.footer-links {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.81rem;
}

.site-nav .nav-menu a,
.footer-links a {
	color: inherit;
	text-decoration: none;
}

.site-nav .nav-menu a:hover,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a {
	color: #907044;
}

.site-nav .menu-item-has-children { position: relative; }

.site-nav .sub-menu {
	display: none;
	position: absolute;
	left: -18px;
	top: 100%;
	min-width: 255px;
	padding: 10px 18px 16px;
	background: var(--ae-paper);
	box-shadow: 0 12px 30px #17291d26;
	list-style: none;
	margin: 0;
	z-index: 5;
}

.site-nav .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 12px;
}

.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.site-nav .sub-menu a {
	display: block;
	padding: 7px 4px;
	white-space: normal;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-shrink: 0;
}

.lang {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 0.75rem;
}

.lang a { color: inherit; text-decoration: none; }
.lang a[aria-current="true"] { border-bottom: 1px solid var(--ae-ink); }

.menu-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	font-size: 1.4rem;
	color: var(--ae-ink);
	cursor: pointer;
}

.header-book {
	display: inline-flex;
	align-items: center;
	padding: 14px 18px;
	background: var(--ae-olive);
	color: var(--ae-white);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
}

.header-book:hover { background: var(--ae-deep); color: var(--ae-white); }

/* Buttons and links
   ========================================================================== */

.rb-block-button__link,
.rb-block-button__link {
	border-radius: 0;
	padding: 16px 22px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
}

.rb-block-button__link::after,
.rb-block-button__link::after {
	content: "\00a0↗";
}

.ae-filter .rb-block-button__link::after,
.ae-filter .rb-block-button__link::after { content: none; }

.ae-btn-gold .rb-block-button__link,
.ae-btn-gold .rb-block-button__link {
	background: var(--ae-gold-soft);
	color: #243027;
	border: 1px solid var(--ae-gold-soft);
}

.ae-btn-ghost .rb-block-button__link,
.ae-btn-ghost .rb-block-button__link {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}

.ae-btn-light .rb-block-button__link,
.ae-btn-light .rb-block-button__link {
	background: var(--ae-paper);
	color: var(--ae-ink);
}

.ae-actions,
.rb-block-buttons,
.rb-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.ae-text-link a {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid var(--ae-gold);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	color: inherit;
}

.ae-eyebrow {
	font-family: var(--ae-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ae-gold);
	margin-bottom: 16px;
}

.ae-note {
	font-size: 0.8rem;
	color: var(--ae-muted);
	margin-top: 16px;
}

.ae-caption {
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-top: 14px;
}

/* Hero
   ========================================================================== */

.ae-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 660px;
	height: calc(100svh - var(--ae-header));
	max-height: 920px;
	color: var(--ae-white);
	background: var(--ae-deep);
	overflow: hidden;
}

.ae-page-hero {
	height: auto;
	max-height: none;
	min-height: 560px;
}

.ae-hero-media {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: -2;
}

.ae-hero-media img,
.ae-hero .ae-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, #142318d4 0%, #17261963 51%, #14231814 100%),
		linear-gradient(0deg, #15251c91, transparent 30%);
}

.ae-hero .ae-wrap { position: relative; width: min(1280px, 88%); }

.ae-hero-content { max-width: 800px; padding: 70px 0; }

.ae-hero .ae-eyebrow { color: #e6cd9f; }
.ae-hero h1,
.ae-hero .rb-block-heading { color: var(--ae-white); max-width: 12em; }
.ae-hero h1 em { color: #ead6b3; }

.ae-hero-content > p,
.ae-hero .ae-hero-content p:not(.ae-eyebrow) {
	margin-top: 22px;
	max-width: 36rem;
	color: #e8e7dc;
	font-size: 1.05rem;
}

.ae-hero-bottom {
	position: absolute;
	left: 6%;
	right: 6%;
	bottom: 28px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
	border-top: 1px solid #ffffff4a;
	padding-top: 20px;
	color: #e9e7dc;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ae-hero-bottom p { color: inherit; margin: 0; }
.ae-hero-bottom a { color: inherit; text-decoration: none; }

/* Sections
   ========================================================================== */

.ae-section { padding: 105px 0; }
.ae-section + .ae-section,
.ae-facts-bar + .ae-section { border-top: 1px solid var(--ae-line); }
.ae-tight { padding-top: 30px; }

.ae-occasions { background: var(--ae-sand); }

.ae-dark {
	background: var(--ae-deep);
	color: var(--ae-paper);
}

.ae-dark h2,
.ae-dark h3,
.ae-dark .rb-block-heading { color: var(--ae-paper); }
.ae-dark p { color: #c2c9b9; }
.ae-dark .ae-eyebrow { color: #c7ab75; }

.ae-section-head {
	display: flex;
	gap: 30px;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 44px;
}

.ae-section-head p { max-width: 370px; }

.ae-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 38px 0 28px;
	border-bottom: 1px solid var(--ae-line);
}

.ae-fact { padding: 0 22px; border-right: 1px solid var(--ae-line); }
.ae-fact:first-child { padding-left: 0; }
.ae-fact:last-child { border: 0; }

.ae-fact-value {
	font-family: var(--ae-serif);
	font-size: 2rem;
	line-height: 1.2;
	color: var(--ae-ink);
}

.ae-fact-label { font-size: 0.77rem; margin-top: 6px; }

.ae-stack { min-width: 0; }

.ae-intro,
.ae-split,
.ae-form-layout,
.ae-visit {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 72px;
	align-items: center;
}

.ae-intro { gap: 90px; }

.ae-intro-media img,
.ae-split > .rb-block-image img,
.ae-split > .rb-block-image img,
.ae-aside .rb-block-image img,
.ae-aside .rb-block-image img {
	width: 100%;
	height: 520px;
	object-fit: cover;
}

.ae-intro-media img { border-radius: 48% 48% 0 0; height: 550px; }
.ae-split > .rb-block-image img,
.ae-split > .rb-block-image img { height: 470px; }
.ae-aside .rb-block-image img,
.ae-aside .rb-block-image img { height: 380px; margin-bottom: 28px; }

.ae-intro-copy p,
.ae-split p,
.ae-aside p { margin-top: 18px; }

.ae-occasion-grid,
.ae-why,
.ae-teasers,
.ae-package-grid,
.ae-policy,
.ae-gallery {
	display: grid;
	gap: 22px;
}

.ae-occasion-grid,
.ae-why,
.ae-teasers { grid-template-columns: repeat(4, 1fr); }
.ae-package-grid,
.ae-gallery { grid-template-columns: repeat(3, 1fr); }
.ae-package-grid.ae-cols-4 { grid-template-columns: repeat(4, 1fr); }
.ae-package-grid.ae-cols-2 { grid-template-columns: repeat(2, 1fr); }
.ae-policy { grid-template-columns: repeat(4, 1fr); }
.ae-why,
.ae-steps { gap: 42px; }

.ae-occasion-card { position: relative; }
.ae-card-photo img { height: 340px; width: 100%; object-fit: cover; }
.ae-occasion-card h3 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 1.8rem;
	padding-top: 18px;
	border-bottom: 1px solid #bdbfac;
	padding-bottom: 12px;
}
.ae-occasion-card h3 a { color: inherit; text-decoration: none; }
.ae-occasion-card h3 a::after { content: ""; position: absolute; inset: 0; }
.ae-occasion-card h3::after {
	content: "";
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border: 1px solid #929b84;
	border-radius: 50%;
	background: center / 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23555f4e' stroke-width='1.4'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E");
}
.ae-occasion-card p { font-size: 0.8rem; margin-top: 8px; }

.ae-photo img { height: 280px; width: 100%; object-fit: cover; }
.ae-photo h3 { font-size: 1.5rem; margin-top: 14px; }

.ae-extras {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 32px;
	justify-content: space-between;
}

.ae-extras a {
	font-size: 0.875rem;
	border-bottom: 1px solid #b7b9a7;
	padding-bottom: 6px;
	text-decoration: none;
}

.ae-num {
	font-family: var(--ae-serif);
	font-size: 2rem;
	color: var(--ae-gold);
	line-height: 1;
}

.ae-why-item h3,
.ae-step h3 { font-size: 1.7rem; margin: 12px 0; }
.ae-why-item p,
.ae-step p { font-size: 0.92rem; }

.ae-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.ae-step { border-top: 1px solid var(--ae-line); padding-top: 22px; }

.ae-teasers { border-top: 1px solid #89917b66; margin-top: 28px; }
.ae-teaser { padding: 28px 22px; border-right: 1px solid #89917b66; }
.ae-teaser:first-child { padding-left: 0; }
.ae-teaser:last-child { border-right: 0; }
.ae-price {
	font-family: var(--ae-serif);
	font-size: 3rem;
	line-height: 1.15;
	color: inherit;
	margin-top: 12px;
}
.ae-price small,
.ae-price-note { display: block; font-family: var(--ae-sans); font-size: 0.75rem; color: #c2c9b9; }
.ae-section:not(.ae-dark) .ae-price-note,
.ae-package:not(.ae-featured) .ae-price-note { color: var(--ae-muted); }

.ae-package {
	position: relative;
	padding: 34px 28px;
	background: var(--ae-white);
	border: 1px solid var(--ae-line);
}

.ae-package .ae-price { color: var(--ae-ink); font-size: 2.6rem; }
.ae-featured {
	background: var(--ae-olive);
	color: var(--ae-white);
	border-color: var(--ae-olive);
}
.ae-featured h3,
.ae-featured .rb-block-heading,
.ae-featured .ae-price { color: var(--ae-white); }
.ae-featured p,
.ae-featured li { color: #e0e5d8; }

.ae-tag {
	position: absolute;
	top: -12px;
	left: 24px;
	background: var(--ae-gold-soft);
	color: var(--ae-deep);
	padding: 3px 12px;
	font-size: 0.7rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.ae-package ul,
.ae-package .rb-block-list,
.ae-package .rb-block-list {
	list-style: none;
	margin: 18px 0 22px;
	padding: 16px 0 0;
	border-top: 1px solid #9aab8870;
}

.ae-package li { position: relative; padding-left: 18px; margin: 8px 0; font-size: 0.875rem; }
.ae-package li::before { content: "✓"; position: absolute; left: 0; color: var(--ae-gold); }

.ae-gallery .ae-shot img,
.ae-gallery .rb-block-image img,
.ae-gallery .rb-block-image img {
	height: 280px;
	width: 100%;
	object-fit: cover;
}

.ae-gallery figcaption,
.ae-gallery .rb-element-caption {
	font-size: 0.83rem;
	margin-top: 12px;
	color: var(--ae-ink);
}

.ae-panel { padding: 32px; background: var(--ae-sand); }
.ae-panel h3 { margin-bottom: 14px; }
.ae-panel p { margin-top: 12px; font-size: 0.92rem; }

.ae-policy > * { padding: 28px; background: var(--ae-sand); }
.ae-policy h3 { font-size: 1.45rem; margin-bottom: 12px; }
.ae-policy p { font-size: 0.875rem; }

.ae-faq { max-width: 900px; margin-inline: auto; }
.ae-faq .rb-block-details,
.ae-faq .rb-block-details { border-bottom: 1px solid var(--ae-line); }
.ae-faq summary { padding: 22px 0; cursor: pointer; font-size: 1.05rem; }
.ae-faq .rb-block-details p,
.ae-faq .rb-block-details p { padding-bottom: 22px; }

.rb-block-table,
.rb-block-table { overflow-x: auto; }
.rb-block-table table,
.rb-block-table table { width: 100%; border-collapse: collapse; font-size: 0.875rem; text-align: left; }
.rb-block-table th,
.rb-block-table th { background: var(--ae-olive); color: var(--ae-white); padding: 16px; font-weight: 500; }
.rb-block-table td,
.rb-block-table td { padding: 16px; border-bottom: 1px solid var(--ae-line); }
.rb-block-table tbody tr:nth-child(even) td,
.rb-block-table tbody tr:nth-child(even) td { background: #f0eee5; }
.rb-block-table a,
.rb-block-table a { border-bottom: 1px solid var(--ae-gold); text-decoration: none; }

.ae-filters { margin: 8px 0 22px; }
.ae-filter .rb-block-button__link,
.ae-filter .rb-block-button__link {
	background: transparent;
	color: var(--ae-ink);
	border: 1px solid var(--ae-line);
	padding: 10px 16px;
}
.ae-filter-on .rb-block-button__link,
.ae-filter-on .rb-block-button__link,
.ae-filter.is-pressed .rb-block-button__link {
	background: var(--ae-olive);
	border-color: var(--ae-olive);
	color: white;
}

.ae-page-intro { text-align: center; padding: 84px 6% 36px; }
.ae-page-intro h1,
.ae-page-intro .rb-block-heading { font-size: clamp(3.2rem, 5.5vw, 5.4rem); }
.ae-page-intro p { max-width: 40rem; margin: 18px auto 0; }

.ae-subnav {
	border-bottom: 1px solid var(--ae-line);
	padding: 18px 0;
}
.ae-subnav a { text-decoration: none; font-size: 0.875rem; }

.ae-visit { background: var(--ae-sand); gap: 0; }
.ae-visit > .rb-block-image,
.ae-visit > .rb-block-image,
.ae-visit > .rb-block-image img,
.ae-visit > .rb-block-image img { height: 100%; min-height: 520px; object-fit: cover; margin: 0; }
.ae-visit-copy { padding: 72px 10%; }
.ae-visit-copy p { margin-top: 16px; }
.ae-address { font-style: normal; margin-top: 22px; font-size: 0.875rem; }

.ae-legal { max-width: 760px; }
.ae-legal h2,
.ae-legal .rb-block-heading { font-size: 2rem; margin-top: 36px; }
.ae-legal p { margin-top: 14px; }

.ae-planning-note { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--ae-line); max-width: 52rem; }

.ae-contact-line {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 48px;
	padding: 28px 0;
	border-top: 1px solid var(--ae-line);
	border-bottom: 1px solid var(--ae-line);
}
.ae-contact-item .ae-price-note {
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.7rem;
	margin-bottom: 6px;
}
.ae-contact-item a { text-decoration: none; border-bottom: 1px solid var(--ae-gold); }

.ae-enquiry {
	background: var(--ae-white);
	border: 1px solid var(--ae-line);
	padding: 36px;
}
.ae-enquiry h3 { margin-bottom: 8px; }

body.ae-cinematic { background: #1d221d; color: #f7f5ed; }
body.ae-cinematic .ae-hero::after { background: linear-gradient(90deg, #111c16d9, #101a1b26); }
body.ae-cinematic .ae-section p,
body.ae-cinematic .ae-page-intro p { color: #c5cabf; }
body.ae-cinematic .ae-section + .ae-section { border-color: #ffffff26; }
body.ae-cinematic .ae-panel { background: #2a3229; }
body.ae-cinematic .rb-block-table td,
body.ae-cinematic .rb-block-table td { border-color: #ffffff26; color: #e8e7dc; }
body.ae-cinematic .rb-block-table tbody tr:nth-child(even) td,
body.ae-cinematic .rb-block-table tbody tr:nth-child(even) td { background: #ffffff08; }
body.ae-cinematic .ae-faq .rb-block-details,
body.ae-cinematic .ae-faq .rb-block-details { border-color: #74806e66; }
body.ae-cinematic .ae-faq summary { color: var(--ae-paper); }

/* Forms
   ========================================================================== */

.ae-enquiry .repraesent-form { display: block; min-height: 12rem; }

/* Footer and mobile bar
   ========================================================================== */

.site-footer {
	background: var(--ae-deep);
	color: var(--ae-paper);
	padding: 64px 0 28px;
	margin: 0;
}

.footer-top {
	width: var(--ae-wrap);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1fr;
	gap: 32px;
}

.site-footer .brand { color: var(--ae-paper); }
.site-footer .brand-mark { background: white; border-radius: 50%; }
.site-footer p { color: #bac5b5; font-size: 0.85rem; margin-top: 16px; max-width: 260px; }
.footer-label {
	font-family: var(--ae-sans);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #cbb282;
	margin: 0 0 16px;
	font-weight: 500;
}

.footer-links { flex-direction: column; align-items: flex-start; gap: 9px; font-size: 0.85rem; color: #d9decf; }
.footer-links a:hover { color: white; }

.footer-bottom {
	width: var(--ae-wrap);
	margin: 48px auto 0;
	padding-top: 20px;
	border-top: 1px solid #7381695c;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 0.75rem;
	color: #b9c3b3;
}
.footer-bottom a { color: inherit; }

.mobile-bar { display: none; }

.ae-not-found { padding: 8rem 6%; text-align: center; }
.ae-not-found p { margin: 16px auto 28px; max-width: 36rem; }
.ae-not-found a.header-book { display: inline-flex; }

.archive-grid, .search-list { width: var(--ae-wrap); margin: 2rem auto; }
.entry-header, .archive-header { width: var(--ae-wrap); margin: 3rem auto 1rem; }

@media (max-width: 1100px) {
	.ae-package-grid.ae-cols-4,
	.ae-policy,
	.ae-why { grid-template-columns: repeat(2, 1fr); }
	.site-nav .nav-menu { gap: 14px; font-size: 0.76rem; }
}

@media (max-width: 980px) {
	.menu-toggle { display: block; }
	.site-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--ae-paper);
		border-top: 1px solid var(--ae-line);
		padding: 22px 6% 28px;
		max-height: calc(100svh - 80px);
		overflow: auto;
	}
	.site-nav.is-open { display: block; }
	.site-nav .nav-menu { flex-direction: column; align-items: flex-start; gap: 16px; font-size: 1rem; }
	.site-nav .sub-menu { position: static; display: block; box-shadow: none; padding: 8px 0 0 12px; min-width: 0; }
	.site-nav .sub-menu::before { display: none; }
	.ae-intro,
	.ae-split,
	.ae-form-layout { grid-template-columns: 1fr; gap: 32px; }
	.ae-occasion-grid { grid-template-columns: repeat(2, 1fr); }
	.ae-teasers,
	.ae-package-grid,
	.ae-gallery { grid-template-columns: 1fr 1fr; }
	.ae-steps { grid-template-columns: 1fr; }
	.footer-top { grid-template-columns: 1fr 1fr; }
	.repraesent-fields,
	.repraesent-tours div { grid-template-columns: 1fr; flex-direction: column; }
}

@media (max-width: 700px) {
	:root { --ae-header: 76px; }
	.header-book { display: none; }
	.wordmark { font-size: 1.3rem; }
	.ae-hero { min-height: 640px; height: calc(92svh - var(--ae-header)); }
	.ae-hero h1, .ae-page-hero h1 { font-size: clamp(2.7rem, 10vw, 3.6rem); }
	.ae-hero-bottom { flex-direction: column; align-items: flex-start; font-size: 0.68rem; }
	.ae-section { padding: 64px 0; }
	.ae-section-head { display: block; }
	.ae-section-head p { margin-top: 16px; }
	h2 { font-size: 2.5rem; }
	.ae-facts { grid-template-columns: 1fr 1fr; gap: 22px 0; }
	.ae-fact:nth-child(2) { border: 0; }
	.ae-fact:nth-child(3) { padding-left: 0; }
	.ae-intro-media img,
	.ae-split img,
	.ae-visit img,
	.ae-card-photo img { height: 280px; min-height: 0; }
	.ae-extras { justify-content: flex-start; }
	.ae-occasion-card h3::after { display: none; }
	.ae-visit { grid-template-columns: 1fr; }
	.ae-visit-copy { padding: 40px 6%; }
	.ae-occasion-grid,
	.ae-why,
	.ae-teasers,
	.ae-package-grid,
	.ae-policy,
	.ae-gallery { grid-template-columns: 1fr; }
	.ae-teaser { border-right: 0; border-top: 1px solid #89917b66; padding-left: 0; }
	.footer-top { grid-template-columns: 1fr; }
	.footer-bottom { flex-direction: column; }
	.site-footer { padding-bottom: 108px; }
	.mobile-bar {
		display: grid;
		grid-template-columns: 1fr 1fr 1.3fr;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 25;
		background: var(--ae-paper);
		border-top: 1px solid var(--ae-line);
		padding: 8px 5%;
		gap: 8px;
	}
	.mobile-bar a {
		text-align: center;
		text-decoration: none;
		padding: 10px 0;
		font-size: 0.8rem;
		color: var(--ae-ink);
	}
	.mobile-bar a:last-child { background: var(--ae-olive); color: white; }
	.ae-enquiry { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition: none !important;
		animation: none !important;
	}
}
