/* assets/css/tokens.css */
:root {
	--color-forest-a: #003c32;
	--color-forest-b: #00241e;
	--color-olive: #6c8048;
	--color-cooper-1: #d48f66;
	--color-cooper-2: #e0af89;
	--color-hillside: #d7ff91;
	--color-stone: #cdd7e1;
	--color-sky: #a5e1ff;
	--color-white: #ffffff;
	--color-image-overlay: rgb(0 0 0 / 0.4);
	--font-serif: brando, brando-fallback, Georgia, "Times New Roman", serif;
	--font-sans: brando-sans, brando-sans-fallback, brando-sans-fallback-arial, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--fw-extralight: 200;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-text: 500;
	--fw-semibold: 600;
	--fs-150: clamp(48px, 7.8125vw, 150px);
	--fs-100: clamp(36px, 5.2083vw, 100px);
	--fs-35: clamp(18px, 1.8229vw, 35px);
	--fs-20: clamp(15px, 1.0417vw, 20px);
	--fs-14: clamp(12px, 0.7422vw, 14.25px);
	--lh-headline: 0.85;
	--lh-subheadline: 0.88;
	--lh-body: 1;
	--lh-sans: 1.25;
	--ls-headline: -0.0067em;
	--ls-subheadline: -0.005em;
	--ls-nav: 0.01em;
	--ls-caps: 0.25em;
	--columns: 12;
	--gutter: clamp(16px, 2.0833vw, 40px);
	--space-10: clamp(6px, 0.5208vw, 10px);
	--space-20: clamp(12px, 1.0417vw, 20px);
	--space-40: clamp(16px, 2.0833vw, 40px);
	--space-80: clamp(32px, 4.1667vw, 80px);
	--space-140: clamp(56px, 7.2917vw, 140px);
	--space-180: clamp(72px, 9.375vw, 180px);
	--space-200: clamp(80px, 10.4167vw, 200px);
	--radius: 4px;
	--stroke-accent: 6px;
	--stroke-hairline: 1px;
	--dot-size: 8px;
	--dot-gap: 4px;
	--duration-page: 800ms;
	--ease-page: cubic-bezier(0.22, 1, 0.36, 1);
	--duration-fade: 600ms;
}
/* assets/css/base.css */
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia");
	font-weight: 200;
	size-adjust: 91.4%;
	ascent-override: 101.2%;
	descent-override: 25.6%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia");
	font-weight: 300;
	size-adjust: 93.9%;
	ascent-override: 99.5%;
	descent-override: 24.9%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia");
	font-weight: 400;
	size-adjust: 96.6%;
	ascent-override: 98%;
	descent-override: 25%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia");
	font-weight: 500;
	size-adjust: 98.4%;
	ascent-override: 96.9%;
	descent-override: 25.4%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia Bold"), local("Georgia-Bold");
	font-weight: 600;
	size-adjust: 87%;
	ascent-override: 110.9%;
	descent-override: 30.3%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia Bold"), local("Georgia-Bold");
	font-weight: 700;
	size-adjust: 83.3%;
	ascent-override: 117.2%;
	descent-override: 33.5%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-fallback";
	src: local("Georgia Italic"), local("Georgia-Italic");
	font-weight: 500;
	font-style: italic;
	size-adjust: 92.2%;
	ascent-override: 103.4%;
	descent-override: 27.1%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback";
	src: local("Helvetica Neue Medium"), local("HelveticaNeue-Medium");
	font-weight: 500;
	size-adjust: 93.5%;
	ascent-override: 100.9%;
	descent-override: 26.8%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback";
	src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold");
	font-weight: 600;
	size-adjust: 92.9%;
	ascent-override: 103%;
	descent-override: 28.4%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback";
	src: local("Helvetica Neue Medium Italic"), local("HelveticaNeue-MediumItalic");
	font-weight: 500;
	font-style: italic;
	size-adjust: 90.9%;
	ascent-override: 103.7%;
	descent-override: 27.5%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback-arial";
	src: local("Arial");
	font-weight: 500;
	size-adjust: 97.5%;
	ascent-override: 96.7%;
	descent-override: 25.6%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback-arial";
	src: local("Arial Bold"), local("Arial-BoldMT");
	font-weight: 600;
	size-adjust: 92.6%;
	ascent-override: 103.3%;
	descent-override: 28.5%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "brando-sans-fallback-arial";
	src: local("Arial Italic"), local("Arial-ItalicMT");
	font-weight: 500;
	font-style: italic;
	size-adjust: 94.9%;
	ascent-override: 99.4%;
	descent-override: 26.4%;
	line-gap-override: 0%;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-forest-a);
	font-family: var(--font-serif);
	font-size: var(--fs-35);
	font-weight: var(--fw-text);
	line-height: var(--lh-body);
	font-feature-settings: "onum" 1, "tnum" 1;
	-webkit-font-smoothing: antialiased;
}
img,
picture,
video,
svg {
	display: block;
	max-width: 100%;
	height: auto;
}
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure {
	margin: 0;
}
button,
input,
textarea,
select {
	font: inherit;
	color: inherit;
}
a {
	color: inherit;
}
:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}
.skip-link {
	position: absolute;
	top: -100px;
	left: var(--gutter);
	z-index: 100;
	padding: var(--space-10) var(--space-20);
	background: var(--color-white);
	color: var(--color-forest-a);
	font-family: var(--font-sans);
	font-size: var(--fs-20);
}
.skip-link:focus {
	top: var(--space-20);
}
.link-line {
	display: inline-block;
	padding-bottom: var(--space-10);
	border-bottom: var(--stroke-hairline) solid currentColor;
	text-decoration: none;
	text-box: trim-both cap alphabetic;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.t-headline,
.t-subheadline-a,
.t-subheadline-b,
.t-body,
.t-body-light,
.t-facts,
.t-nav,
.t-logo {
	text-box: trim-both cap alphabetic;
}
.t-headline {
	font-family: var(--font-serif);
	font-size: var(--fs-150);
	font-weight: var(--fw-extralight);
	line-height: var(--lh-headline);
	letter-spacing: var(--ls-headline);
}
.t-subheadline-a {
	font-family: var(--font-serif);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
}
.t-subheadline-b {
	font-family: var(--font-serif);
	font-size: var(--fs-100);
	font-weight: var(--fw-extralight);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
}
.t-body {
	font-family: var(--font-serif);
	font-size: var(--fs-35);
	font-weight: var(--fw-text);
	line-height: var(--lh-body);
}
.t-body-light {
	font-family: var(--font-serif);
	font-size: var(--fs-35);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
}
.t-facts {
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-sans);
	letter-spacing: var(--ls-caps);
	text-transform: uppercase;
	font-feature-settings: "lnum" 1, "tnum" 1;
}
.t-nav {
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	font-weight: var(--fw-text);
	line-height: var(--lh-sans);
	letter-spacing: var(--ls-nav);
	font-feature-settings: "lnum" 1, "tnum" 1;
}
.t-logo {
	font-family: var(--font-serif);
	font-size: var(--fs-14);
	font-weight: var(--fw-semibold);
	line-height: 1.4;
	letter-spacing: var(--ls-caps);
	text-transform: uppercase;
	font-feature-settings: "lnum" 1, "tnum" 1;
}
@media (max-width: 1023px) {
	.hand-break {
		display: none;
	}
}
/* assets/css/layout.css */
.container {
	padding-inline: var(--gutter);
}
.grid {
	display: grid;
	grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
	column-gap: var(--gutter);
}
.col-full {
	grid-column: 1 / -1;
}
.col-left {
	grid-column: 1 / span 6;
}
.col-right {
	grid-column: 7 / span 6;
}
.col-aside {
	grid-column: 1 / span 3;
}
.col-main {
	grid-column: 4 / span 9;
}
.inset {
	margin-inline: var(--space-20);
	border-radius: var(--radius);
	overflow: hidden;
}
.media-overlay {
	position: relative;
	isolation: isolate;
}
.media-overlay > img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.media-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--color-image-overlay);
}
.media-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
}
.media-overlay > .media-video {
	z-index: -2;
}
.media-video.is-playing {
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.media-video {
		display: none;
	}
}
.focus-y-0 { object-position: 50% 0%; }
.focus-y-10 { object-position: 50% 10%; }
.focus-y-20 { object-position: 50% 20%; }
.focus-y-30 { object-position: 50% 30%; }
.focus-y-40 { object-position: 50% 40%; }
.focus-y-60 { object-position: 50% 60%; }
.focus-y-70 { object-position: 50% 70%; }
.focus-y-80 { object-position: 50% 80%; }
.focus-y-90 { object-position: 50% 90%; }
.focus-y-100 { object-position: 50% 100%; }
.accent-bar {
	margin-left: calc(var(--stroke-accent) / -2);
	padding-left: calc(var(--space-40) - var(--stroke-accent) / 2);
	border-left: var(--stroke-accent) solid currentColor;
}
.dots {
	display: flex;
	gap: var(--dot-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.dots__dot {
	width: var(--dot-size);
	height: var(--dot-size);
	border-radius: 50%;
	background-color: var(--color-stone);
	opacity: 0.3;
}
.dots__dot[aria-current="true"] {
	background-color: var(--color-hillside);
	opacity: 1;
}
button.dots__dot {
	box-sizing: content-box;
	margin: -8px;
	padding: 0;
	border: 8px solid transparent;
	background-clip: padding-box;
	cursor: pointer;
	appearance: none;
}
.page-placeholder {
	display: grid;
	gap: var(--space-40);
	padding: var(--space-200) var(--gutter) var(--space-80);
}
@media (max-width: 767px) {
	.col-left,
	.col-right,
	.col-aside,
	.col-main {
		grid-column: 1 / -1;
	}
}
/* assets/css/header.css */
:root {
	--header-height: clamp(64px, 6.5104vw, 125px);
	--header-pad-top: clamp(16px, 1.5625vw, 30px);
	--header-logo-offset: clamp(2px, 0.2083vw, 4px);
	--header-duration: 400ms;
	--link-hover-duration: 0.1s;
	--link-hover-ease: cubic-bezier(1, 0, 0, 1);
	--header-blur-1: 2.5px;
	--header-blur-2: 5px;
	--header-blur-3: 10px;
	--header-blur-4: 20px;
	--header-fade-1: linear-gradient(to top, transparent 0%, #000 25%, #000 50%, transparent 75%);
	--header-fade-2: linear-gradient(to top, transparent 25%, #000 50%, #000 75%, transparent 100%);
	--header-fade-3: linear-gradient(to top, transparent 50%, #000 75%, #000 100%);
	--header-fade-4: linear-gradient(to top, transparent 75%, #000 100%);
}
html {
	scroll-padding-top: var(--header-height);
}
.site-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	left: 0;
	z-index: 50;
	display: grid;
	grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
	column-gap: var(--gutter);
	align-items: start;
	height: var(--header-height);
	padding: var(--header-pad-top) var(--gutter) 0;
	background: rgb(115 115 115 / 0.01);
	color: var(--color-cooper-1);
	transition: color var(--header-duration) ease;
}
.site-header--overlay:not(.is-solid) {
	color: var(--color-white);
}
.site-header__blur {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	left: 0;
	z-index: 49; 
	height: var(--header-height);
	pointer-events: none;
}
.site-header__blur > span {
	position: absolute;
	inset: 0;
	-webkit-backdrop-filter: blur(var(--blur));
	backdrop-filter: blur(var(--blur));
	-webkit-mask-image: var(--fade);
	mask-image: var(--fade);
}
.site-header__blur > :nth-child(1) {
	--blur: var(--header-blur-1);
	--fade: var(--header-fade-1);
}
.site-header__blur > :nth-child(2) {
	--blur: var(--header-blur-2);
	--fade: var(--header-fade-2);
}
.site-header__blur > :nth-child(3) {
	--blur: var(--header-blur-3);
	--fade: var(--header-fade-3);
}
.site-header__blur > :nth-child(4) {
	--blur: var(--header-blur-4);
	--fade: var(--header-fade-4);
}
.site-header__logo {
	grid-column: 1 / span 6;
	justify-self: start;
	margin-top: var(--header-logo-offset);
	text-decoration: none;
}
.site-header__nav {
	grid-column: 7 / span 5;
}
.site-header__menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-10);
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-header__menu > li {
	display: flex;
}
.site-header__reserve {
	grid-column: 12;
	justify-self: end;
	color: var(--color-cooper-1);
	transition: color var(--header-duration) ease;
}
.site-header--overlay:not(.is-solid) .site-header__reserve {
	color: var(--color-hillside);
}
.site-header .link-line {
	box-shadow: 0 0 0 currentColor;
	transition: color var(--link-hover-duration) var(--link-hover-ease), box-shadow var(--link-hover-duration) var(--link-hover-ease);
}
.site-header .site-header__reserve {
	transition: color var(--header-duration) ease, box-shadow var(--link-hover-duration) var(--link-hover-ease);
}
.site-header .link-line:is(:hover, :focus-visible) {
	color: var(--color-cooper-2);
	box-shadow: 0 5px 0 currentColor;
	transition-duration: var(--link-hover-duration);
	transition-timing-function: var(--link-hover-ease);
}
@media (prefers-reduced-motion: reduce) {
	.site-header,
	.site-header .link-line {
		transition: none;
	}
}
.site-header__toggle {
	--toggle-size: 44px;
	--toggle-line: 2px;
	--toggle-gap: 6px;
	display: none;
	grid-column: 3;
	justify-self: end;
	align-self: start;
	width: var(--toggle-size);
	height: var(--toggle-size);
	margin: calc((0.68em - var(--toggle-size)) / 2) calc((24px - var(--toggle-size)) / 2) 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: var(--fs-20);
	cursor: pointer;
	transition: color var(--link-hover-duration) var(--link-hover-ease);
}
@media (hover: hover) {
	.site-header__toggle:hover {
		color: var(--color-cooper-2);
	}
}
.site-header__toggle:focus-visible {
	outline-offset: -4px;
	color: var(--color-cooper-2);
}
.site-header__toggle[data-pointer-focus]:focus-visible {
	outline: none;
	color: inherit;
}
.site-header__toggle-lines {
	display: flex;
	flex-direction: column;
	gap: var(--toggle-gap);
	width: 24px;
	margin: 0 auto;
}
.site-header__toggle-lines > span {
	height: var(--toggle-line);
	background: currentColor;
	transition: translate 0.3s ease, rotate 0.3s ease, opacity 0.2s ease;
}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines > :nth-child(1) {
	translate: 0 calc(var(--toggle-line) + var(--toggle-gap));
	rotate: 45deg;
}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines > :nth-child(2) {
	opacity: 0;
}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines > :nth-child(3) {
	translate: 0 calc(-1 * (var(--toggle-line) + var(--toggle-gap)));
	rotate: -45deg;
}
@media (max-width: 1279px) {
	.site-header__logo {
		grid-column: 1 / span 5;
	}
	.site-header__nav {
		grid-column: 6 / span 6;
	}
}
@media (max-width: 1023px) {
	.site-header {
		grid-template-columns: 1fr auto auto;
		column-gap: var(--space-40);
	}
	.site-header__logo {
		grid-column: 1;
	}
	.site-header__nav {
		display: none;
	}
	.site-header__reserve {
		grid-column: 2;
	}
	.site-header__toggle {
		display: block;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-header__toggle,
	.site-header__toggle-lines > span {
		transition: none;
	}
}
/* assets/css/footer.css */
.site-footer {
	padding-block: var(--space-40);
	background: var(--color-cooper-2);
	color: var(--color-forest-a);
}
.site-footer__inner {
	align-items: start;
}
.site-footer__side {
	position: relative;
	margin-top: calc(var(--stroke-accent) / -2);
	margin-left: calc(-1 * var(--gutter));
	padding-left: var(--gutter);
	border-top: var(--stroke-accent) solid currentColor;
}
.site-footer__side::before {
	content: "";
	position: absolute;
	top: calc(var(--space-40) - var(--stroke-accent) / 2);
	bottom: 0;
	left: 0;
	width: var(--stroke-hairline);
	background: currentColor;
}
.site-footer__body {
	display: flex;
	flex-direction: column;
	min-height: clamp(180px, 15.1042vw, 290px);
	margin-top: calc(var(--space-40) - var(--stroke-accent) / 2);
}
.site-footer__heading {
	display: flex;
	margin-bottom: var(--space-20);
}
.site-footer__contact {
	font-style: normal;
}
.site-footer__contact a {
	text-decoration: none;
}
.site-footer__address {
	display: inline-block;
	margin-top: 1.25em;
}
.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-20);
	align-items: end;
	justify-content: space-between;
	margin-top: auto;
	padding-top: var(--space-40);
}
.site-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-10);
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer__menu > li {
	display: flex;
}
.site-footer__legal a {
	color: var(--color-white);
}
@media (max-width: 767px) {
	.site-footer__side {
		margin-top: var(--space-40);
		margin-left: 0;
		padding-left: 0;
	}
	.site-footer__side::before {
		display: none;
	}
}
/* assets/css/transitions.css */
@view-transition {
	navigation: auto;
	types: page;
}
@media (prefers-reduced-motion: reduce) {
	@view-transition {
		navigation: none;
	}
}
:root {
	--page-slide-duration: 0.75s;
	--page-slide-ease: cubic-bezier(0.33, 1, 0.68, 1); 
}
:root:active-view-transition-type(page)::view-transition-group(*) {
	animation-duration: var(--page-slide-duration);
}
:root:active-view-transition-type(page)::view-transition-old(root) {
	animation: none;
}
:root:active-view-transition-type(page)::view-transition-new(root) {
	animation: cliff-page-in var(--page-slide-duration) var(--page-slide-ease) both;
}
:root:active-view-transition-type(back)::view-transition-old(root) {
	z-index: 1;
	animation: cliff-page-out var(--page-slide-duration) var(--page-slide-ease) both;
}
:root:active-view-transition-type(back)::view-transition-new(root) {
	animation: none;
}
@keyframes cliff-page-in {
	from {
		transform: translateY(100%);
	}
}
@keyframes cliff-page-out {
	to {
		transform: translateY(100%);
	}
}
::view-transition-group(site-header) {
	z-index: 2;
}
:root:active-view-transition .site-header {
	view-transition-name: site-header;
}
:root:active-view-transition .site-header__blur > :nth-child(1) {
	view-transition-name: site-header-blur-1;
}
:root:active-view-transition .site-header__blur > :nth-child(2) {
	view-transition-name: site-header-blur-2;
}
:root:active-view-transition .site-header__blur > :nth-child(3) {
	view-transition-name: site-header-blur-3;
}
:root:active-view-transition .site-header__blur > :nth-child(4) {
	view-transition-name: site-header-blur-4;
}
::view-transition-group(site-header-blur-1),
::view-transition-group(site-header-blur-2),
::view-transition-group(site-header-blur-3),
::view-transition-group(site-header-blur-4) {
	z-index: 1;
	-webkit-backdrop-filter: blur(var(--blur));
	backdrop-filter: blur(var(--blur));
	-webkit-mask-image: var(--fade);
	mask-image: var(--fade);
}
::view-transition-group(site-header-blur-1) {
	--blur: var(--header-blur-1);
	--fade: var(--header-fade-1);
}
::view-transition-group(site-header-blur-2) {
	--blur: var(--header-blur-2);
	--fade: var(--header-fade-2);
}
::view-transition-group(site-header-blur-3) {
	--blur: var(--header-blur-3);
	--fade: var(--header-fade-3);
}
::view-transition-group(site-header-blur-4) {
	--blur: var(--header-blur-4);
	--fade: var(--header-fade-4);
}
/* assets/css/reveal.css */
:root {
	--reveal-line-duration: 0.8s;
	--reveal-block-duration: 1s;
	--reveal-ease: cubic-bezier(0.16, 1, 0.3, 1); 
	--reveal-block-ease: cubic-bezier(0.42, 0, 0.58, 1); 
	--reveal-line-stagger: 0.1s;
	--reveal-group-stagger: 0.1s;
	--reveal-rise: 24px;
}
.reveal-mask {
	clip-path: inset(-0.3em -0.5em -0.35em -0.5em);
}
.reveal-line {
	display: block;
}
.reveal-pending .reveal-line {
	opacity: 0;
	translate: 0 100%;
}
[data-reveal="up"].reveal-pending {
	opacity: 0;
	transform: translateY(var(--reveal-rise));
}
.reveal-run .reveal-line {
	transition:
		opacity var(--reveal-line-duration) var(--reveal-ease),
		translate var(--reveal-line-duration) var(--reveal-ease);
	transition-delay: calc(var(--reveal-delay, 0s) + var(--reveal-i, 0) * var(--reveal-line-stagger));
}
[data-reveal="up"].reveal-run {
	transition:
		opacity var(--reveal-block-duration) var(--reveal-block-ease),
		transform var(--reveal-block-duration) var(--reveal-block-ease);
	transition-delay: var(--reveal-delay, 0s);
}
@property --fill {
	syntax: "<number>";
	inherits: true;
	initial-value: 1;
}
@keyframes cliff-fill {
	from {
		--fill: 0;
	}
	to {
		--fill: 1;
	}
}
@supports (animation-timeline: view()) {
	.reveal-fill {
		animation: cliff-fill linear both;
		animation-timeline: view();
		animation-range: entry 20% cover 55%;
	}
	.reveal-fill .reveal-word {
		opacity: clamp(0.3, calc(var(--fill) * var(--reveal-words) - var(--reveal-i)), 1);
	}
}
@media (prefers-reduced-motion: reduce) {
	.reveal-pending .reveal-line {
		opacity: 1;
		translate: none;
	}
	[data-reveal="up"].reveal-pending {
		opacity: 1;
		transform: none;
	}
	.reveal-fill {
		animation: none;
	}
}
/* assets/css/components/site-menu.css */
:root {
	--site-menu-duration: 0.4s;
	--site-menu-link-delay: 0.15s;
}
.site-menu {
	position: fixed;
	inset: var(--wp-admin--admin-bar--height, 0px) 0 0;
	z-index: 48;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--color-forest-a);
	color: var(--color-cooper-1);
	opacity: 0;
	transition: opacity var(--site-menu-duration) ease;
}
.site-menu[hidden] {
	display: none;
}
.site-menu.is-open {
	opacity: 1;
}
html.is-menu-open {
	overflow: hidden;
}
.site-menu__inner {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	gap: var(--space-40);
	padding-top: calc(var(--header-height) + var(--space-40));
	padding-bottom: var(--space-40);
}
.site-menu__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-20);
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-menu__reserve {
	margin: 0;
}
.site-menu__link {
	display: inline-block;
	max-width: 100%;
	color: inherit;
	font-family: var(--font-serif);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-decoration: none;
	clip-path: inset(-0.3em -0.5em -0.35em -0.5em);
}
.site-menu__link--reserve {
	color: var(--color-hillside);
}
.site-menu__text {
	display: inline-block;
	box-shadow: 0 0 0 currentColor;
	transition: color var(--link-hover-duration) var(--link-hover-ease), box-shadow var(--link-hover-duration) var(--link-hover-ease);
}
.site-menu__link:is(:hover, :focus-visible) .site-menu__text {
	color: var(--color-cooper-2);
	box-shadow: 0 var(--stroke-accent) 0 currentColor;
}
.site-menu__link--reserve:is(:hover, :focus-visible) .site-menu__text {
	color: var(--color-hillside);
}
.site-menu__link:focus-visible {
	outline-offset: 0.2em;
}
.site-menu[data-pointer-focus] .site-menu__link:focus-visible {
	outline: none;
}
.site-menu__list > li:nth-child(1) { --site-menu-i: 0; }
.site-menu__list > li:nth-child(2) { --site-menu-i: 1; }
.site-menu__list > li:nth-child(3) { --site-menu-i: 2; }
.site-menu__list > li:nth-child(4) { --site-menu-i: 3; }
.site-menu__list > li:nth-child(5) { --site-menu-i: 4; }
.site-menu__list > li:nth-child(6) { --site-menu-i: 5; }
.site-menu__list > li:nth-child(7) { --site-menu-i: 6; }
.site-menu__list > li:nth-child(n + 8) { --site-menu-i: 7; }
.site-menu__reserve { --site-menu-i: 8; }
.site-menu__contact { --site-menu-i: 9; }
.site-menu:not(.is-open) .site-menu__text,
.site-menu:not(.is-open) .site-menu__contact {
	opacity: 0;
	translate: 0 100%;
}
.site-menu.is-open .site-menu__text,
.site-menu.is-open .site-menu__contact {
	transition:
		opacity var(--reveal-line-duration) var(--reveal-ease),
		translate var(--reveal-line-duration) var(--reveal-ease);
	transition-delay: calc(var(--site-menu-link-delay) + var(--site-menu-i, 0) * var(--reveal-line-stagger));
}
.site-menu.is-open .site-menu__text {
	transition:
		color var(--link-hover-duration) var(--link-hover-ease),
		box-shadow var(--link-hover-duration) var(--link-hover-ease),
		opacity var(--reveal-line-duration) var(--reveal-ease),
		translate var(--reveal-line-duration) var(--reveal-ease);
	transition-delay: 0s, 0s, calc(var(--site-menu-link-delay) + var(--site-menu-i, 0) * var(--reveal-line-stagger)), calc(var(--site-menu-link-delay) + var(--site-menu-i, 0) * var(--reveal-line-stagger));
}
.site-menu__contact {
	margin-top: auto;
	padding-top: var(--space-40);
	color: var(--color-stone);
	clip-path: inset(-0.3em -0.5em -0.35em -0.5em);
}
.site-menu__contact p {
	margin: 0;
}
.site-menu__contact p + p {
	margin-top: 0.5em;
}
.site-menu__contact a {
	text-decoration: none;
}
.site-menu__contact a:is(:hover, :focus-visible) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
@media (min-width: 1024px) {
	.site-menu {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	:root {
		--site-menu-duration: 0s;
	}
	.site-menu,
	.site-menu.is-open .site-menu__text,
	.site-menu.is-open .site-menu__contact {
		transition: none;
	}
}
/* assets/css/components/page-title.css */
.page-title {
	min-height: clamp(220px, 20.8333vw, 400px);
	padding-top: var(--space-200);
	padding-bottom: var(--space-40);
	background: var(--color-white);
}
.page-title__heading {
	color: var(--color-forest-a);
	font-family: var(--font-serif);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.page-title__line {
	display: block;
}
.page-title__line--light {
	font-weight: var(--fw-extralight);
}
@media (max-width: 1023px) {
	.page-title {
		padding-top: calc(var(--header-height) + var(--space-80));
	}
}
/* assets/css/components/hero.css */
.hero {
	--hero-height: clamp(480px, 60.4167vw, 1160px);
	--hero-layer-height: max(100lvh, 81.25vw);
	--duration-slide: 900ms;
	--ease-slide: cubic-bezier(0.65, 0, 0.35, 1);
	position: relative;
	height: var(--hero-height);
	color: var(--color-white);
}
.hero__window {
	position: absolute;
	inset: 0;
	clip-path: inset(0 round 0 0 var(--radius) var(--radius));
}
.hero__window::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--color-image-overlay);
}
.hero__track {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--hero-layer-height);
	overflow: hidden;
}
.hero__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	transform: translateX(100%);
	transition: transform var(--duration-slide) var(--ease-slide);
}
.hero__slide.is-active {
	transform: none;
}
.hero__slide.is-left {
	transform: translateX(-100%);
}
.hero__slide.is-instant {
	transition: none;
}
.hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero__line {
	display: block;
}
.hero__line--light {
	font-weight: var(--fw-light);
}
.hero__tagline {
	position: absolute;
	top: calc(var(--hero-height) * 0.5284);
	left: var(--gutter);
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.hero__headline {
	position: absolute;
	right: var(--gutter);
	bottom: var(--space-40);
	left: var(--gutter);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.hero__dots {
	position: absolute;
	left: 50%;
	translate: -50% 0;
}
.hero--dots-top .hero__dots {
	top: var(--space-40);
}
.hero--dots-bottom .hero__dots {
	bottom: calc(var(--space-40) - var(--space-10));
}
.hero--home {
	--hero-height: clamp(560px, 55.7292vw, 1070px);
	--color-image-overlay: rgb(0 0 0 / 0.35);
}
.hero--home .hero__track {
	position: absolute;
	height: 100%;
}
.hero--home .hero__headline {
	top: calc(var(--hero-height) * 0.4271);
	bottom: auto;
}
@media (prefers-reduced-motion: reduce) {
	.hero__slide {
		transition: none;
	}
}
@media (max-width: 1023px) {
	.hero {
		--hero-height: min(125vw, 100lvh);
	}
	.hero--home {
		--hero-height: 100svh;
	}
}
.hero--static .hero__track {
	position: absolute;
	height: 100%;
}
/* assets/css/components/chapters.css */
.chapters {
	--chapter-height: clamp(420px, 40.1042vw, 770px);
	--chapter-stick: var(--space-140);
	--chapter-rest: clamp(200px, 29.6875vw, 570px);
	align-items: start;
	padding-top: var(--space-80);
	padding-bottom: var(--space-140);
	background: var(--color-white);
}
.chapters__nav {
	position: sticky;
	top: var(--chapter-stick);
}
.chapters__menu {
	margin-block: 0;
	padding-top: 0;
	padding-bottom: 0;
	list-style: none;
	color: var(--color-forest-a);
	font-size: var(--fs-35);
	line-height: 0.9714;
	text-box: trim-both cap alphabetic;
}
.chapters__link {
	color: var(--color-stone);
	text-decoration: none;
}
.chapters__link[aria-current="true"] {
	color: var(--color-forest-a);
}
.chapters__cards {
	display: flex;
	flex-direction: column;
	gap: var(--space-40);
}
.chapters__cards::after {
	content: "";
	height: calc(var(--chapter-rest) - var(--space-40));
}
.chapter {
	position: sticky;
	top: var(--chapter-stick);
	display: grid;
	grid-template-columns: clamp(64px, 11.1979vw, 215px) minmax(0, clamp(240px, 34.6354vw, 665px)) 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: var(--chapter-height); 
	padding: var(--space-20);
	overflow: hidden; 
	border-radius: var(--radius);
	color: var(--color-stone);
	font-size: var(--fs-35);
	line-height: var(--lh-body);
}
.chapter:focus {
	outline: none;
}
.chapter:focus-visible {
	outline: 2px solid var(--color-forest-a);
	outline-offset: 4px;
}
.chapter[data-pointer-focus]:focus-visible {
	outline: none;
}
.chapter__number,
.chapter__head,
.chapter__body {
	text-box: trim-both cap alphabetic;
}
.chapter__number {
	grid-area: 1 / 1;
}
.chapter__head {
	grid-area: 1 / 2;
	font-size: inherit;
	font-weight: var(--fw-text);
}
.chapter__title,
.chapter__subtitle {
	display: block;
}
.chapter__subtitle {
	font-weight: var(--fw-light);
}
.chapter__body {
	grid-area: 3 / 2;
	align-self: end;
}
.chapter__body p + p {
	margin-top: 1em;
}
.chapter__body em {
	font-style: italic;
}
.chapter__body a {
	color: inherit;
	text-decoration: none;
}
.chapter__body a:hover,
.chapter__body a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.chapter__details,
.chapter__specs {
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
	text-box: trim-both cap alphabetic;
}
.chapter__details ul,
.chapter__specs ul {
	padding-left: 1.5em;
	list-style: disc;
}
.chapter__specs ul + p {
	margin-top: 1lh;
}
.chapter__extra .chapter__specs {
	margin-top: var(--space-40);
}
.chapter__details strong,
.chapter__specs strong {
	font-weight: var(--fw-semibold);
}
.chapter__details em,
.chapter__specs em {
	font-style: italic;
}
.chapter__details p + p,
.chapter__details p + ul,
.chapter__details ul + p {
	margin-top: 1lh;
}
.chapter__details a {
	color: inherit;
	text-decoration: none;
}
.chapter__details a:hover,
.chapter__details a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.chapter__link {
	color: inherit;
	text-decoration: none;
	text-box: trim-both cap alphabetic;
}
.chapter__link:hover,
.chapter__link:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
@media (min-width: 1024px) {
	.chapters--wide {
		--chapter-rest: clamp(310px, 40.3125vw, 774px);
		grid-template-columns: clamp(96px, 10.1563vw, 195px) minmax(0, 1fr);
		padding-top: calc(var(--space-140) - var(--space-40));
	}
	.chapters--wide .chapters__nav {
		grid-column: 1;
	}
	.chapters--wide .chapters__cards {
		grid-column: 2;
	}
}
.chapter--split {
	--duration-slide: 900ms;
	--ease-slide: cubic-bezier(0.65, 0, 0.35, 1);
	grid-template-columns: minmax(0, 705fr) minmax(0, 900fr);
	grid-template-rows: auto;
	padding: 0;
	color: var(--color-forest-b);
}
.chapter__media {
	position: relative;
	overflow: hidden;
}
.chapter__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	transform: translateX(100%);
	transition: transform var(--duration-slide) var(--ease-slide);
}
.chapter__slide.is-active {
	transform: none;
}
.chapter__slide.is-left {
	transform: translateX(-100%);
}
.chapter__slide.is-instant {
	transition: none;
}
.chapter__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.chapter__dots {
	position: absolute;
	bottom: var(--space-20);
	left: 50%;
	z-index: 1;
	translate: -50% 0;
}
.chapter__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: minmax(clamp(120px, 12.4479vw, 239px), auto) auto 1fr auto;
	column-gap: var(--space-40);
	padding: var(--space-20) clamp(14px, 1.25vw, 24px);
	border-radius: var(--radius);
	background: var(--color-stone);
}
.chapter--split .chapter__head {
	grid-area: 1 / 1 / 2 / -1;
	align-self: start;
	padding-bottom: var(--space-40);
}
.chapter--split .chapter__body {
	grid-area: 2 / 1;
	align-self: start;
}
.chapter--split .chapter__specs {
	grid-area: 2 / 2;
}
.chapter--split .chapter__link,
.chapter--split .chapter__link:is(:hover, :focus-visible) {
	grid-area: 4 / 1 / 5 / -1;
	justify-self: start;
	padding-top: var(--space-40);
	text-decoration: underline;
	text-decoration-thickness: from-font;
	text-decoration-skip-ink: none;
	text-underline-position: from-font;
	text-underline-offset: auto;
}
@media (prefers-reduced-motion: reduce) {
	.chapter__slide {
		transition: none;
	}
}
@media (min-width: 1024px) {
	.chapter__extra {
		grid-row: 1 / 3;
		grid-column: 2;
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding-bottom: clamp(40px, 5.3125vw, 102px);
	}
	.chapter__extra::before {
		content: "";
		flex: 0 1 clamp(120px, 15.625vw, 300px);
	}
	.chapter__extra > * {
		flex: none;
	}
	.chapter__extra .chapter__specs {
		margin-top: var(--space-80);
	}
}
.chapters--events {
	--chapter-rest: var(--space-140);
	padding-top: 0;
}
@media (min-width: 1024px) {
	.chapters--events .chapter__head {
		grid-column: 2 / -1;
	}
}
.chapters--wide .chapter__body {
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
}
@media (max-width: 1023px) {
	.chapters,
	.chapters--wide {
		--chapters-row: calc(2 * var(--space-20) + 2 * var(--space-10) + 0.9714em);
		--chapter-stick: calc(var(--header-height) + var(--chapters-row) + 40px);
		display: block;
		padding-top: var(--space-80); 
	}
	.chapters--events {
		padding-top: 0;
	}
	.chapters__nav,
	.chapters--wide .chapters__nav {
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
		z-index: 2;
		margin-inline: calc(-1 * var(--gutter));
		padding: calc(var(--header-height) + var(--space-20)) var(--gutter) var(--space-20);
		background: var(--color-white);
		font-size: var(--fs-35);
	}
	.chapters__menu {
		display: flex;
		gap: var(--space-40);
		margin-left: 0;
		padding-left: 0;
		padding-right: var(--space-80);
		border-left: 0;
		overflow-x: auto;
		white-space: nowrap;
		scrollbar-width: none;
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - var(--space-80)), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - var(--space-80)), transparent);
	}
	.chapters__menu::-webkit-scrollbar {
		display: none;
	}
	.chapters__link {
		display: block;
		padding-block: var(--space-10);
	}
	.chapters__cards,
	.chapters--wide .chapters__cards {
		padding-top: 40px;
	}
	.chapters__cards::after {
		height: 0;
	}
	.chapter {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto 1fr auto auto;
		row-gap: var(--space-20);
		height: auto;
		min-height: min(calc((100vw - 2 * var(--gutter)) * 1.25), calc(100svh - var(--chapter-stick) - 16px));
		padding: 16px; 
		scroll-margin-top: var(--chapter-stick);
	}
	.chapter__number,
	.chapter__head,
	.chapter__extra,
	.chapter__body,
	.chapters--events .chapter__head {
		grid-column: 1;
	}
	.chapter__number {
		grid-row: 1;
	}
	.chapter__head {
		grid-row: 2;
	}
	.chapter__extra {
		grid-row: 3;
	}
	.chapter__body {
		grid-row: 4;
		align-self: end;
	}
	.chapters--wide .chapter {
		position: relative;
		top: auto;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		row-gap: 0;
		min-height: 0;
		padding: 0;
	}
	.chapter__media {
		aspect-ratio: 3 / 2;
	}
	.chapter__panel {
		grid-template-rows: auto auto 1fr auto;
		padding: 16px;
	}
	.chapter--split .chapter__head {
		padding-bottom: var(--space-40);
	}
}
@media (max-width: 767px) {
	.chapter__media {
		aspect-ratio: 4 / 5;
	}
	.chapter__panel {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		row-gap: var(--space-40);
	}
	.chapter--split .chapter__head,
	.chapter--split .chapter__body,
	.chapter--split .chapter__specs,
	.chapter--split .chapter__link,
	.chapter--split .chapter__link:is(:hover, :focus-visible) {
		grid-area: auto;
		grid-column: 1;
		padding: 0;
	}
}
/* assets/css/components/intro.css */
.intro {
	row-gap: var(--space-40);
	align-items: start;
	padding-block: var(--space-140);
}
.intro--closing {
	padding-top: 0;
}
.intro__heading {
	margin-top: clamp(4px, 0.4167vw, 8px);
	color: var(--color-olive);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.intro__line {
	display: block;
}
.intro__line--light {
	font-weight: var(--fw-extralight);
}
.intro__text {
	color: var(--color-forest-a);
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.intro__text p + p {
	margin-top: 1em;
}
.intro--lead .intro__text p + p {
	font-weight: var(--fw-regular);
}
.intro__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: var(--gutter);
	margin: var(--space-80) 0 0;
}
.intro__fact {
	padding-left: calc(var(--space-40) - var(--stroke-hairline));
	border-left: var(--stroke-hairline) solid currentColor;
	color: var(--color-olive);
}
.intro__fact dt,
.intro__fact dd {
	margin: 0;
}
@media (max-width: 767px) {
	.intro__facts {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-20);
	}
}
/* assets/css/components/slider-card.css */
.slider-card {
	--card-height: clamp(520px, 55.1042vw, 1058px);
	--color-image-overlay: rgb(0 0 0 / 0.3);
	--duration-slide: 900ms;
	--ease-slide: cubic-bezier(0.65, 0, 0.35, 1);
	padding-inline: var(--space-20);
	color: var(--color-white);
}
.slider-card__frame {
	position: relative;
	isolation: isolate;
	height: var(--card-height);
	overflow: hidden;
	border-radius: var(--radius);
}
.slider-card__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--color-image-overlay);
}
.slider-card__track {
	position: absolute;
	inset: 0;
	z-index: -2;
}
.slider-card__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	transform: translateX(100%);
	transition: transform var(--duration-slide) var(--ease-slide);
}
.slider-card__slide.is-active {
	transform: none;
}
.slider-card__slide.is-left {
	transform: translateX(-100%);
}
.slider-card__slide.is-instant {
	transition: none;
}
.slider-card__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slider-card__heading {
	position: absolute;
	top: var(--space-40);
	left: var(--space-20);
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.slider-card__line {
	display: block;
}
.slider-card__line--light {
	font-weight: var(--fw-extralight);
}
.slider-card__texts {
	position: absolute;
	top: 50%;
	right: var(--space-20);
	left: var(--space-20);
	display: grid;
	grid-template-columns: 34.6354vw minmax(0, 1fr);
	translate: 0 -50%;
}
.slider-card__text {
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.slider-card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.slider-card__link:focus-visible {
	outline: 2px solid var(--color-white);
	outline-offset: -6px;
}
.slider-card__dots {
	position: absolute;
	bottom: var(--space-40);
	left: 50%;
	z-index: 2;
	translate: -50% 0;
}
@media (prefers-reduced-motion: reduce) {
	.slider-card__slide {
		transition: none;
	}
}
@media (max-width: 767px) {
	.slider-card__texts {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-20);
	}
}
/* assets/css/components/accommodation.css */
.accommodation {
	--card-duration: 400ms;
	padding-top: var(--space-80);
	padding-bottom: var(--space-40);
	color: var(--color-forest-b);
}
.intro + .accommodation {
	padding-top: 0;
}
.accommodation__lead,
.accommodation__joiner {
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.accommodation__lead {
	margin-bottom: var(--space-40);
}
.accommodation__line {
	display: block;
}
.accommodation__line--light {
	font-weight: var(--fw-light);
}
.accommodation__joiner {
	margin-block: var(--space-40);
}
.accommodation__row {
	margin: 0;
	padding: 0;
	list-style: none;
}
.accommodation__row > li {
	grid-column: span 3;
}
.house-card {
	position: relative;
	isolation: isolate;
	display: block;
	height: clamp(300px, 27.8646vw, 535px);
	overflow: hidden;
	border-radius: var(--radius);
	color: var(--color-white);
	text-decoration: none;
}
.house-card > img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.house-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgb(0 0 0 / 0.35);
	opacity: 0;
	transition: opacity var(--card-duration) ease;
}
.house-card__body,
.house-card__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.house-card__body {
	position: absolute;
	right: var(--space-20);
	bottom: var(--space-20);
	left: var(--space-20);
}
.house-card__name,
.house-card__arrow {
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.house-card__arrow {
	margin-top: var(--space-10);
	font-weight: var(--fw-light);
	transition: transform var(--card-duration) ease, margin-top var(--card-duration) ease;
}
.house-card__more {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--card-duration) ease;
}
.house-card__more-inner {
	overflow: hidden;
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: var(--ls-nav);
	font-feature-settings: "lnum" 1, "tnum" 1;
}
.house-card__facts,
.house-card__text {
	display: block;
}
.house-card__facts {
	padding-top: clamp(10px, 0.8333vw, 16px);
}
.house-card__text {
	margin-top: 1.25em;
}
.house-card:is(:hover, :focus-visible)::after {
	opacity: 1;
}
.house-card:is(:hover, :focus-visible) .house-card__arrow {
	margin-top: clamp(10px, 0.8333vw, 16px);
	transform: rotate(90deg);
}
.house-card:is(:hover, :focus-visible) .house-card__more {
	grid-template-rows: 1fr;
}
.house-card--plain:is(:hover, :focus-visible) .house-card__arrow {
	margin-top: var(--space-10);
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.house-card::after,
	.house-card__arrow,
	.house-card__more {
		transition: none;
	}
}
@media (max-width: 1279px) {
	.house-card__text br {
		display: none;
	}
}
@media (max-width: 1023px) {
	.accommodation__row {
		row-gap: var(--gutter);
	}
	.accommodation__row > li {
		grid-column: span 4;
	}
}
@media (max-width: 767px) {
	.accommodation__row > li {
		grid-column: span 6;
	}
}
@media (hover: none) {
	.house-card {
		display: grid;
		grid-template-rows: auto auto;
		height: auto;
		overflow: visible;
		border-radius: 0;
		color: inherit;
	}
	.house-card > img {
		position: static;
		grid-area: 1 / 1;
		z-index: auto;
		height: auto;
		aspect-ratio: 4 / 5;
		border-radius: var(--radius);
	}
	.house-card::after {
		display: none;
	}
	.house-card__body {
		display: contents;
	}
	.house-card__head {
		grid-area: 1 / 1;
		z-index: 1;
		align-self: end;
		margin: var(--space-20);
		color: var(--color-white);
	}
	.house-card__more {
		grid-area: 2 / 1;
		grid-template-rows: 1fr;
		transition: none;
	}
	.house-card__facts {
		padding-top: var(--space-10);
	}
	.house-card:is(:hover, :focus-visible) .house-card__arrow {
		margin-top: var(--space-10);
		transform: none;
	}
}
/* assets/css/components/section-heading.css */
.section-heading {
	padding-top: var(--space-140);
	padding-bottom: var(--space-80);
	color: var(--color-forest-a);
}
.section-heading--closing {
	padding-bottom: var(--space-180);
}
.section-heading__title {
	font-size: var(--fs-100);
	font-weight: var(--fw-text);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.section-heading__line,
.section-heading__text-line {
	display: block;
}
.section-heading__line--light {
	font-weight: var(--fw-extralight);
}
.section-heading__text {
	margin-top: var(--space-80);
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.section-heading__text-line--light {
	font-weight: var(--fw-light);
}
/* assets/css/components/word-roll.css */
.word-roll {
	padding-block: calc(var(--space-140) - var(--space-40)) var(--space-140);
}
.word-roll--type {
	padding-block: calc(var(--space-140) * 1.5 - var(--space-40)) calc(var(--space-140) * 1.5);
}
.word-roll__band {
	margin-block: calc(var(--fs-150) * -0.3);
	padding-block: calc(var(--fs-150) * 0.3);
	overflow-x: clip;
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.word-roll__row {
	width: max-content;
	color: var(--color-stone);
	font-size: var(--fs-150);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-headline);
	letter-spacing: -0.02em;
	white-space: nowrap;
	text-box: trim-both cap alphabetic;
	will-change: transform;
}
.word-roll__row + .word-roll__row {
	margin-top: var(--space-80);
}
.word-roll__type {
	margin: 0;
	color: var(--color-forest-a);
	font-size: var(--fs-150);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-headline);
	letter-spacing: -0.02em;
	text-align: center;
	white-space: nowrap;
	text-box: trim-both cap alphabetic;
}
.word-roll__caret {
	display: none;
	width: 0.045em;
	height: 0.72em;
	margin-left: 0.06em;
	background: currentColor;
	vertical-align: baseline;
}
.word-roll__type.is-live .word-roll__caret {
	display: inline-block;
	animation: cliff-caret 1s steps(2, jump-none) infinite;
}
.word-roll__type.is-typing .word-roll__caret {
	animation: none;
}
@keyframes cliff-caret {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.word-roll__caret {
		animation: none;
	}
}
/* assets/css/components/card-row.css */
.card-row {
	--card-width: clamp(280px, 34.6354vw, 665px);
	--color-image-overlay: rgb(0 0 0 / 0.3);
	position: relative;
	padding-bottom: var(--space-40);
}
.card-row__track {
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: var(--reveal-rise, 24px); 
	margin-bottom: calc(-1 * var(--reveal-rise, 24px));
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--gutter);
	scrollbar-width: none;
}
.card-row__track::-webkit-scrollbar {
	display: none;
}
.card-row__track:focus-visible {
	outline-offset: -2px;
}
@media (pointer: fine) {
	.card-row__track {
		cursor: grab;
	}
}
.card-row.is-dragging .card-row__track {
	scroll-snap-type: none;
	cursor: grabbing;
	user-select: none;
}
.card-row__list {
	display: flex;
	gap: var(--space-40);
	width: max-content;
	padding: 0 var(--gutter);
	list-style: none;
}
.card-row__card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: var(--card-width);
	aspect-ratio: 430 / 535;
	border-radius: var(--radius);
	overflow: hidden;
	color: var(--color-white);
	scroll-snap-align: start;
}
.card-row__card img {
	-webkit-user-drag: none;
	user-select: none;
}
.card-row__body {
	padding: var(--space-20);
	text-box: trim-both cap alphabetic;
}
.card-row__title {
	margin-bottom: 1lh;
	font-size: var(--fs-35);
	font-weight: var(--fw-text);
	line-height: var(--lh-body);
}
.card-row__items {
	padding: 0;
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	font-weight: var(--fw-text);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
	list-style: none;
}
.card-row__items > li::before {
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	margin-right: 0.31em;
	border-radius: 50%;
	background: currentColor;
	content: "";
	vertical-align: -0.06em;
}
.card-row__dots {
	position: absolute;
	top: var(--space-40);
	left: 50%;
	translate: -50% 0;
}
.card-row__dots[hidden] {
	display: none;
}
.card-row__more {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	height: 100%;
	padding: var(--space-20);
	color: inherit;
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-decoration: none;
}
.card-row__more:focus-visible {
	outline-offset: -4px;
}
.card-row__more-label,
.card-row__more-arrow {
	text-box: trim-both cap alphabetic;
}
.card-row__more-label {
	font-weight: var(--fw-text);
}
.card-row__more-arrow {
	margin-top: var(--space-10);
	font-weight: var(--fw-light);
}
@media (min-width: 1024px) {
	.card-row:not(.card-row--wide) .card-row__list {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-flow: column;
		width: auto;
	}
	.card-row:not(.card-row--wide) .card-row__card {
		width: auto;
		height: clamp(300px, 27.8646vw, 535px);
		aspect-ratio: auto;
	}
	.card-row:not(.card-row--wide) .card-row__track {
		cursor: auto;
	}
}
.card-row--wide {
	--card-width: clamp(300px, 83.5938vw, 1605px);
	--duration-slide: 900ms;
	--ease-slide: cubic-bezier(0.65, 0, 0.35, 1);
	padding-bottom: var(--space-140);
}
.card-row--wide .card-row__track {
	scroll-padding-inline: var(--space-20);
}
.card-row--wide .card-row__list {
	padding: 0 var(--space-20);
}
.card-row--wide .card-row__card {
	position: relative;
	isolation: isolate;
	aspect-ratio: 1605 / 770;
}
.card-row__card--forest {
	--panel-bg: var(--color-forest-a);
	--panel-ink: var(--color-white);
	--panel-label: var(--color-hillside);
	--panel-text: var(--color-stone);
}
.card-row__card--cooper {
	--panel-bg: var(--color-cooper-1);
	--panel-ink: var(--color-forest-a);
	--panel-label: var(--color-stone);
	--panel-text: var(--color-forest-a);
}
.card-row__card--sky {
	--panel-bg: var(--color-sky);
	--panel-ink: var(--color-forest-a);
	--panel-label: var(--color-forest-a);
	--panel-text: var(--color-forest-a);
}
.card-row__slides {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.card-row__slides::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 0.3);
}
.card-row__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	transform: translateX(100%);
	transition: transform var(--duration-slide) var(--ease-slide);
}
.card-row__slide.is-active {
	transform: none;
}
.card-row__slide.is-left {
	transform: translateX(-100%);
}
.card-row__slide.is-instant {
	transition: none;
}
.card-row__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.card-row__panel {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: clamp(260px, 35.6771vw, 685px);
	height: clamp(180px, 20.0521vw, 385px);
	padding: var(--space-20);
	border-radius: var(--radius);
	background: var(--panel-bg);
	color: var(--panel-ink);
}
.card-row__titles {
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.card-row__label {
	color: var(--panel-label);
	font-weight: var(--fw-light);
}
.card-row__heading {
	font-size: inherit;
	font-weight: var(--fw-text);
}
.card-row__heading-light {
	font-weight: var(--fw-light);
}
.card-row__text {
	color: var(--panel-text);
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
	text-box: trim-both cap alphabetic;
}
.card-row__slide-dots {
	position: absolute;
	bottom: var(--space-40);
	left: 50%;
	z-index: 1;
	translate: -50% 0;
}
@media (prefers-reduced-motion: reduce) {
	.card-row__slide {
		transition: none;
	}
}
@media (max-width: 1023px) {
	.card-row--wide .card-row__card {
		aspect-ratio: 4 / 5;
	}
	.card-row__panel {
		gap: var(--space-20);
		width: 100%;
		height: auto;
	}
}
@media (max-width: 767px) {
	.card-row {
		--card-width: calc(100vw - var(--gutter) * 2);
	}
	.card-row--wide {
		--card-width: calc(100vw - var(--space-20) * 2);
	}
}
/* assets/css/components/info-rows.css */
.info-rows {
	margin: 0;
	padding-top: var(--space-140);
	color: var(--color-forest-a);
}
.info-row {
	row-gap: calc(var(--space-40) - var(--stroke-hairline));
	align-items: start;
	padding-bottom: var(--space-80);
}
.info-row:last-child {
	padding-bottom: var(--space-140);
}
.info-row::before {
	content: "";
	grid-column: 4 / -1;
	border-top: var(--stroke-hairline) solid var(--color-olive);
}
.info-row__label {
	grid-column: 4 / span 3;
	padding-left: calc(var(--space-40) - var(--stroke-hairline));
	border-left: var(--stroke-hairline) solid currentColor;
	color: var(--color-olive);
}
.info-row__line {
	display: block;
}
.info-row__text {
	grid-column: 7 / -1;
	margin: 0;
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.info-row__text p + p {
	margin-top: 1em;
}
.info-row__text a {
	color: inherit;
	text-decoration: none;
}
.info-row__text a:hover,
.info-row__text a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}
@media (max-width: 767px) {
	.info-row::before,
	.info-row__label,
	.info-row__text {
		grid-column: 1 / -1;
	}
}
/* assets/css/components/experience-group.css */
.xp-group {
	color: var(--color-forest-a);
}
.xp-group + .xp-group {
	margin-top: var(--space-200);
}
.xp-group:last-of-type {
	padding-bottom: var(--space-140);
}
.xp-group--cooper {
	--xp-heading: var(--color-cooper-1);
}
.xp-group--forest {
	--xp-heading: var(--color-forest-a);
}
.xp-group--olive {
	--xp-heading: var(--color-olive);
}
.xp-group__heading {
	height: calc(var(--fs-100) * 0.68);
	color: var(--xp-heading);
	font-size: var(--fs-100);
	font-weight: var(--fw-extralight);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.xp-group__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-40);
	margin-top: var(--space-40);
	padding: 0;
	list-style: none;
}
.xp-card {
	--xp-overlay: rgb(0 0 0 / 0.2);
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 1;
	padding: var(--space-20);
	overflow: hidden;
	border-radius: var(--radius);
	color: var(--color-white);
}
.xp-card:focus {
	outline: none;
}
.xp-card:focus-visible {
	outline: 2px solid var(--xp-heading);
	outline-offset: 4px;
}
.xp-card[data-pointer-focus]:focus-visible {
	outline: none;
}
.xp-card:first-child {
	--xp-overlay: rgb(0 0 0 / 0.3);
	grid-row: 1 / span 2;
	grid-column: 1 / span 2;
}
.xp-group--big-right .xp-card:first-child {
	grid-column: 2 / span 2;
}
.xp-card > img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.xp-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--xp-overlay);
}
.xp-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-10);
}
.xp-card:first-child .xp-card__body {
	gap: clamp(10px, 0.8333vw, 16px);
}
.xp-card__title,
.xp-card__availability,
.xp-card__arrow {
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.xp-card__title {
	font-weight: var(--fw-text);
}
.xp-card__availability,
.xp-card__arrow {
	font-weight: var(--fw-light);
}
.xp-card__arrow {
	margin-bottom: -0.14em;
}
.xp-card:first-child .xp-card__arrow {
	display: flex;
	margin-bottom: 0;
	align-items: center;
	justify-content: center;
	width: 0.6857em;
	height: 1em;
	text-box: none;
}
.xp-card:first-child .xp-card__arrow > span {
	transform: rotate(90deg);
}
.xp-card__text {
	display: none;
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
	text-box: trim-both cap alphabetic;
}
.xp-card:first-child .xp-card__text {
	display: block;
}
.xp-card__text p + p {
	margin-top: 1lh;
}
.xp-card__text em {
	font-style: italic;
}
.xp-card__text strong {
	font-weight: var(--fw-semibold);
}
.xp-card__open {
	position: absolute;
	inset: 0;
	z-index: 1;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}
.xp-card__open:focus-visible {
	outline: 2px solid var(--color-white);
	outline-offset: -6px;
}
.xp-card:first-child .xp-card__open {
	display: none;
}
::view-transition-group(.xp-card) {
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 1023px) {
	.xp-group__cards,
	.xp-group--big-right .xp-group__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.xp-card:first-child,
	.xp-group--big-right .xp-card:first-child {
		grid-row: auto;
		grid-column: 1 / -1;
	}
	.xp-card:nth-child(6) {
		grid-column: 1 / -1;
	}
}
/* assets/css/components/faq.css */
.faq {
	--faq-duration: 0.5s; 
	--faq-ease: cubic-bezier(0.42, 0, 0.58, 1); 
	padding-block: var(--space-140);
	color: var(--color-forest-a);
}
.faq__section {
	display: grid;
	grid-template-columns: minmax(0, 705fr) minmax(0, 1135fr);
	align-items: start;
}
.faq__section + .faq__section {
	margin-top: var(--space-140);
}
.faq__heading {
	font-size: var(--fs-100);
	font-weight: var(--fw-extralight);
	line-height: var(--lh-subheadline);
	letter-spacing: var(--ls-subheadline);
	text-box: trim-both cap alphabetic;
}
.faq__heading-line {
	display: block;
}
.faq__item {
	padding: calc(var(--space-20) - var(--stroke-hairline)) 0 var(--space-20);
	border-bottom: var(--stroke-hairline) solid var(--color-stone);
}
.faq__item:first-child:not([open]) {
	border-top: var(--stroke-hairline) solid var(--color-stone);
}
.faq__item[open] {
	padding: calc(var(--space-40) - var(--stroke-hairline)) 0 var(--space-40);
}
.faq__item[open]:first-child {
	padding-top: 0;
}
.faq__question {
	display: block;
	margin: 0;
	color: var(--color-stone);
	font-size: var(--fs-35);
	font-weight: var(--fw-text);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
summary.faq__question {
	list-style: none;
	cursor: pointer;
}
summary.faq__question::-webkit-details-marker {
	display: none;
}
details.faq__item > .faq__question {
	margin-left: calc(var(--stroke-accent) * -1);
	border-left: var(--stroke-accent) solid transparent;
}
.faq__item[open] > .faq__question,
.faq__entry > .faq__question {
	margin-left: calc(var(--stroke-accent) / -2);
	padding-left: calc(var(--space-40) - var(--stroke-accent) / 2);
	border-left: var(--stroke-accent) solid currentColor;
	color: var(--color-forest-a);
}
.faq__answer {
	max-width: 79.3%; 
	margin-top: var(--space-40);
	padding-left: var(--space-40);
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	letter-spacing: 0.01em;
	text-box: trim-both cap alphabetic;
}
.faq__answer > * + * {
	margin-top: 1lh;
}
.faq__answer a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.faq__answer :is(ul, ol) {
	padding-left: 1.25em;
}
.faq__entry + .faq__entry {
	margin-top: var(--space-80);
}
@media (max-width: 767px) {
	.faq__section {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-40);
	}
	.faq__answer {
		max-width: none;
	}
}
/* assets/css/components/map.css */
.map {
	margin: 0;
	padding-bottom: var(--space-140);
	color: var(--color-forest-a);
}
.map__link {
	position: relative;
	display: block;
	grid-column: 4 / -1;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius);
	text-decoration: none;
}
.map__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: scale 0.6s cubic-bezier(0.42, 0, 0.58, 1);
}
.map__link:is(:hover, :focus-visible) .map__image {
	scale: 1.03;
}
.map__link:focus-visible {
	outline: 2px solid var(--color-forest-a);
	outline-offset: 4px;
}
.map__pin {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	gap: var(--space-20);
	translate: calc(var(--map-dot) / -2) -50%;
	--map-dot: clamp(16px, 1.25vw, 24px);
}
.map__dot {
	flex: none;
	width: var(--map-dot);
	height: var(--map-dot);
	border: 3px solid var(--color-white);
	border-radius: 50%;
	background: var(--color-cooper-1);
	box-shadow: 0 2px 10px rgb(0 36 30 / 0.35);
}
.map__name {
	padding: 0.35em 0.6em;
	border-radius: var(--radius);
	background: rgb(255 255 255 / 0.85);
	white-space: nowrap;
}
.map__credit {
	grid-column: 4 / -1;
	margin-top: var(--space-20);
	color: var(--color-olive);
	font-family: var(--font-sans);
	font-size: clamp(12px, 0.7292vw, 14px);
	line-height: var(--lh-sans);
}
.map__credit a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
@media (prefers-reduced-motion: reduce) {
	.map__image {
		transition: none;
	}
}
@media (max-width: 767px) {
	.map__link,
	.map__credit {
		grid-column: 1 / -1;
	}
	.map__link {
		aspect-ratio: 4 / 3;
	}
	.map__pin {
		flex-direction: column;
		gap: var(--space-10);
		translate: -50% calc(var(--map-dot) / -2);
	}
}
/* assets/css/components/date-picker.css */
.reserve {
	row-gap: var(--space-80);
	align-items: start;
	padding-block: var(--space-140);
	color: var(--color-forest-a);
}
.date-picker {
	--picker-pad: var(--space-20);
	display: grid;
	gap: var(--space-20);
	width: 100%;
	max-width: 430px;
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
}
.date-picker__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-20);
}
.date-picker__fields[hidden] {
	display: none;
}
.date-picker__field {
	display: grid;
	gap: 0.4em;
}
.date-picker__label {
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-caps);
	text-transform: uppercase;
	font-size: 0.75em;
}
.date-picker__input {
	padding: 0.4em 0.5em;
	border: var(--stroke-hairline) solid var(--color-stone);
	border-radius: var(--radius);
	color: inherit;
	font: inherit;
}
.date-picker__ui {
	display: grid;
	overflow: hidden;
	border: var(--stroke-hairline) solid var(--color-stone);
	border-radius: var(--radius);
}
.date-picker__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--color-stone);
}
.date-picker__tab {
	display: grid;
	padding: 0.5em 0.75em;
	border: 0;
	background: none;
	color: var(--color-white);
	font: inherit;
	font-weight: var(--fw-text);
	text-align: center;
	cursor: pointer;
	appearance: none;
	transition: color 0.2s ease;
}
.date-picker__tab + .date-picker__tab {
	border-left: var(--stroke-hairline) solid var(--color-forest-a);
}
.date-picker__tab.is-active {
	color: var(--color-forest-a);
}
.date-picker__tab-date {
	font-size: 0.75em;
}
.date-picker__tab:focus-visible {
	outline: 2px solid var(--color-forest-a);
	outline-offset: -4px;
}
.date-picker__month {
	position: relative;
	margin: var(--picker-pad) var(--picker-pad) 0;
	border-bottom: var(--stroke-hairline) solid var(--color-stone);
}
.date-picker__select {
	width: 100%;
	padding: 0.6em 0;
	border: 0;
	background: none;
	color: var(--color-forest-a);
	font: inherit;
	font-weight: var(--fw-text);
	text-align: center;
	text-align-last: center;
	cursor: pointer;
	appearance: none;
}
.date-picker__ruler {
	position: absolute;
	visibility: hidden;
	white-space: nowrap;
	font-weight: var(--fw-text);
}
.date-picker__month::after {
	position: absolute;
	top: 50%;
	left: calc(50% + var(--month-half, 4.4em) + 0.5em);
	color: var(--color-forest-a);
	content: "↓";
	pointer-events: none;
	translate: 0 -50%;
}
.date-picker__select:focus-visible {
	outline: 2px solid var(--color-forest-a);
	outline-offset: -2px;
}
.date-picker__grid {
	width: calc(100% - var(--picker-pad) * 2);
	margin: var(--picker-pad);
	border-collapse: separate;
	border-spacing: 0 0.2em;
	table-layout: fixed;
	text-align: center;
}
.date-picker__grid th {
	padding-bottom: 0.5em;
	color: var(--color-sky);
	font-weight: var(--fw-text);
}
.date-picker__grid td {
	padding: 0;
}
.date-picker__day {
	width: 2.2em;
	height: 2.2em;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--color-forest-a);
	font: inherit;
	font-weight: var(--fw-text);
	font-feature-settings: "lnum" 1, "tnum" 1;
	cursor: pointer;
	appearance: none;
}
.date-picker__day:disabled {
	color: var(--color-stone);
	cursor: default;
}
.date-picker__day:not(:disabled, .is-start, .is-end):hover {
	background: rgb(205 215 225 / 0.5); 
}
.date-picker__day.is-today:not(.is-start, .is-end) {
	box-shadow: inset 0 0 0 var(--stroke-hairline) var(--color-forest-a);
}
.date-picker__grid td.is-between {
	background: rgb(205 215 225 / 0.6); 
}
.date-picker__grid td.is-range-start {
	background: linear-gradient(to right, transparent 50%, rgb(205 215 225 / 0.6) 50%);
}
.date-picker__grid td.is-range-end {
	background: linear-gradient(to right, rgb(205 215 225 / 0.6) 50%, transparent 50%);
}
.date-picker__grid td:is(.is-between, .is-range-start, .is-range-end) .date-picker__day {
	position: relative; 
}
.date-picker__day.is-start,
.date-picker__day.is-end {
	background: var(--color-forest-a);
	color: var(--color-white);
}
.date-picker__day:focus-visible {
	outline: 2px solid var(--color-cooper-1);
	outline-offset: 1px;
}
.date-picker__grid[data-pointer-focus] .date-picker__day:focus-visible {
	outline: none;
}
.date-picker__submit {
	justify-self: start;
	margin-top: var(--space-40);
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-family: var(--font-serif);
	font-size: var(--fs-35);
	font-weight: var(--fw-text);
	line-height: var(--lh-body);
	cursor: pointer;
	appearance: none;
	text-box: trim-both cap alphabetic;
}
.date-picker__submit:is(:hover, :focus-visible),
.reserve__link:is(:hover, :focus-visible) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.reserve__text,
.reserve__link {
	display: block;
	font-size: var(--fs-35);
	line-height: var(--lh-body);
	text-box: trim-both cap alphabetic;
}
.reserve__link {
	margin-top: 1lh;
	color: inherit;
	text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
	.date-picker__tab {
		transition: none;
	}
}
/* assets/css/components/bubbles.css */
.bubbles {
	--bubble-size: 56px;
	position: fixed;
	right: var(--gutter);
	bottom: var(--gutter);
	z-index: 40;
	display: flex;
	gap: 12px;
	view-transition-name: bubbles;
}
.bubbles__disc {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--bubble-size);
	height: var(--bubble-size);
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--color-forest-a);
	color: var(--color-white);
	box-shadow: 0 2px 10px rgb(0 36 30 / 0.3);
	cursor: pointer;
	transition: background-color var(--link-hover-duration) var(--link-hover-ease);
}
@media (hover: hover) {
	.bubbles__disc:hover {
		background: var(--color-cooper-2);
	}
}
.bubbles__disc:focus-visible {
	background: var(--color-cooper-2);
}
.bubbles__disc:focus-visible {
	outline: 2px solid var(--color-forest-a);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.bubbles__disc {
		transition: none;
	}
}
@media print {
	.bubbles {
		display: none;
	}
}
@media (max-width: 767px) {
	.bubbles {
		flex-direction: column;
	}
}
/* assets/css/components/whatsapp.css */
.whatsapp__icon {
	width: 28px;
	height: 28px;
}
/* assets/css/components/chat.css */
:root {
	--chat-duration: 0.3s;
}
.chat {
	position: fixed;
	right: var(--gutter);
	bottom: calc(var(--gutter) + 56px + 12px);
	z-index: 45;
	display: flex;
	flex-direction: column;
	width: min(380px, 100vw - var(--gutter) * 2);
	height: min(620px, 100dvh - var(--header-height) - var(--gutter) * 2 - 68px);
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--color-forest-a);
	color: var(--color-stone);
	box-shadow: 0 8px 30px rgb(0 36 30 / 0.35);
	font-family: var(--font-sans);
	font-size: var(--fs-20);
	line-height: var(--lh-sans);
	opacity: 0;
	translate: 0 12px;
	transition: opacity var(--chat-duration) ease, translate var(--chat-duration) ease;
}
.chat[hidden] {
	display: none;
}
.chat__icon {
	width: 26px;
	height: 26px;
}
.chat.is-open {
	opacity: 1;
	translate: 0 0;
}
@media (max-width: 767px) {
	.chat {
		inset: var(--header-height) 0 0;
		right: 0;
		bottom: 0;
		width: auto;
		height: auto;
		border-radius: 0;
		box-shadow: none;
	}
	html.is-chat-open {
		overflow: hidden;
	}
}
.chat__head {
	display: flex;
	gap: var(--space-10);
	align-items: center;
	padding: var(--space-20);
	border-bottom: var(--stroke-hairline) solid rgb(255 255 255 / 0.15);
	color: var(--color-cooper-1);
}
.chat__title {
	flex: 1;
	margin: 0;
	font-family: var(--font-serif);
	font-size: var(--fs-20);
	font-weight: var(--fw-text);
	letter-spacing: var(--ls-nav);
}
.chat__restart,
.chat__close {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}
.chat__restart {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	font-size: 0.85em;
}
.chat__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -12px -12px -12px 0;
	font-family: var(--font-serif);
	font-size: 28px;
	line-height: 1;
}
.chat__restart:is(:hover, :focus-visible),
.chat__close:is(:hover, :focus-visible) {
	color: var(--color-cooper-2);
}
.chat__messages {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-10);
	margin: 0;
	padding: var(--space-20);
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
}
.chat__msg {
	max-width: 85%;
	padding: 0.6em 0.9em;
	border-radius: 12px;
	white-space: pre-line;
	overflow-wrap: anywhere;
}
.chat__msg--site {
	align-self: flex-start;
	border-bottom-left-radius: 4px;
	background: rgb(255 255 255 / 0.08);
	color: var(--color-white);
}
.chat__msg--user {
	align-self: flex-end;
	border-bottom-right-radius: 4px;
	background: var(--color-forest-b);
	color: var(--color-stone);
}
.chat__msg--link {
	align-self: flex-start;
}
.chat__msg a {
	color: var(--color-hillside);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.chat__typing {
	display: inline-flex;
	gap: 4px;
	padding: 0.2em 0;
}
.chat__typing > span {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.4;
	animation: cliff-chat-dot 1s ease-in-out infinite;
}
.chat__typing > :nth-child(2) {
	animation-delay: 0.15s;
}
.chat__typing > :nth-child(3) {
	animation-delay: 0.3s;
}
@keyframes cliff-chat-dot {
	50% {
		opacity: 1;
	}
}
.chat__form {
	display: grid;
	gap: var(--space-10);
	padding: var(--space-20);
	border-top: var(--stroke-hairline) solid rgb(255 255 255 / 0.15);
}
.chat__row {
	display: flex;
	gap: var(--space-10);
}
.chat__row .chat__input {
	flex: 1;
	min-width: 0;
}
.chat__input {
	width: 100%;
	padding: 0.6em 0.8em;
	border: var(--stroke-hairline) solid rgb(205 215 225 / 0.5);
	border-radius: var(--radius);
	background: rgb(0 0 0 / 0.2);
	color: var(--color-white);
	font: inherit;
}
.chat__input:focus-visible {
	outline: 2px solid var(--color-cooper-2);
	outline-offset: 1px;
}
.chat__fields {
	display: grid;
	gap: var(--space-10);
	margin: 0;
	padding: 0;
	border: 0;
}
.chat__fields[hidden],
.chat__final[hidden],
.chat__row[hidden],
.chat__note[hidden] {
	display: none;
}
.chat__field {
	display: grid;
	gap: 0.3em;
}
.chat__label {
	font-size: 0.8em;
	color: var(--color-stone);
}
.chat__button {
	padding: 0.6em 1em;
	border: var(--stroke-hairline) solid var(--color-cooper-1);
	border-radius: var(--radius);
	background: none;
	color: var(--color-cooper-1);
	font: inherit;
	font-weight: var(--fw-semibold);
	cursor: pointer;
	transition: background-color var(--link-hover-duration) var(--link-hover-ease), color var(--link-hover-duration) var(--link-hover-ease);
}
.chat__button:is(:hover, :focus-visible) {
	background: var(--color-cooper-1);
	color: var(--color-forest-a);
}
.chat__button--quiet {
	border-color: transparent;
	color: var(--color-stone);
}
.chat__button--primary {
	border-color: var(--color-hillside);
	background: var(--color-hillside);
	color: var(--color-forest-a);
}
.chat__button--primary:is(:hover, :focus-visible) {
	background: var(--color-white);
	border-color: var(--color-white);
}
.chat__button:disabled {
	opacity: 0.5;
	cursor: default;
}
.chat__button:focus-visible {
	outline: 2px solid var(--color-cooper-2);
	outline-offset: 2px;
}
.chat__final {
	display: grid;
	gap: var(--space-10);
}
.chat__consent {
	display: flex;
	gap: 0.6em;
	align-items: flex-start;
	font-size: 0.85em;
	color: var(--color-stone);
}
.chat__consent input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0.1em 0 0;
	accent-color: var(--color-hillside);
}
.chat__consent a {
	color: var(--color-hillside);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.chat__note {
	margin: 0;
	font-size: 0.85em;
	color: var(--color-cooper-2);
}
.chat__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
	.chat,
	.chat__button {
		transition: none;
	}
	.chat__typing > span {
		animation: none;
		opacity: 1;
	}
}
