:root{--cream:#f5f1e8;--ink:#20231e;--olive:#3f4b3c;--line:#d4cec0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif}header{height:90px;display:flex;align-items:center;gap:34px;padding:14px 5%;position:absolute;z-index:5;width:100%;background:linear-gradient(#f5f1e8dd,#f5f1e800)}.brand{display:flex;flex-direction:column;letter-spacing:4px;min-width:260px}.brand strong{font-size:20px;font-weight:400}.brand small{font-size:9px;letter-spacing:3px;margin-top:6px}.bird{font-size:30px}nav{display:flex;gap:26px;margin-left:auto}nav a,.section-title a{color:inherit;text-decoration:none;font:10px Arial,sans-serif;letter-spacing:1.5px}.book,.cta{background:var(--olive);color:white;text-decoration:none;padding:17px 26px;font:10px Arial,sans-serif;letter-spacing:2px}.hero{height:790px;background:url('/assets/images/85-main-house-front-view.webp') center/cover no-repeat;position:relative}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,15,.58),rgba(12,19,15,.05) 58%,transparent)}.overlay{position:absolute;z-index:2;left:5%;top:205px;color:white;width:440px}.eyebrow{font:10px Arial,sans-serif;letter-spacing:4px}.hero h1{font-size:76px;line-height:.86;font-weight:400;margin:22px 0}.place{letter-spacing:5px;font-size:13px}.intro{font-size:17px;line-height:1.55;margin:28px 0 32px}.features{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 5%;background:#f8f5ee}.features div{text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.features div:last-child{border:0}.features b{font-size:30px;font-weight:400}.features strong{font-size:12px;letter-spacing:2px}.features span{font-size:13px}.split{display:grid;grid-template-columns:46% 54%;min-height:570px}.split .copy{padding:80px 11% 60px 8%}.split img{width:100%;height:100%;object-fit:cover}.copy h2,.section-title h2,.cellar h2,.bay h2{font-size:44px;font-weight:400;margin:12px 0 25px}.copy p:not(.eyebrow),.section-title p:not(.eyebrow),.cellar p:not(.eyebrow),.bay p:not(.eyebrow){font-size:16px;line-height:1.55}.dark{display:inline-block;margin-top:20px}.house,.rooms{padding:55px 0 0}.section-title{padding:0 5% 28px;display:flex;justify-content:space-between;align-items:end}.section-title>div{max-width:760px}.section-title h2{margin-bottom:8px}.housegrid{display:grid;grid-template-columns:58% 42%;height:520px}.housegrid img{width:100%;height:100%;object-fit:cover}.roomgrid{display:grid;grid-template-columns:repeat(4,1fr)}figure{margin:0;border-right:4px solid var(--cream)}figure img{width:100%;height:300px;object-fit:cover}figcaption{text-align:center;font-size:18px;padding:14px}figcaption small{display:block;font-size:10px;margin-top:8px}.cellar{display:grid;grid-template-columns:40% 60%;background:var(--olive);color:white;min-height:430px}.cellar>div{padding:70px 9%}.cellar img{width:100%;height:430px;object-fit:cover}.outline{border:1px solid #ddd;background:transparent;display:inline-block;margin-top:15px}.bay{display:grid;grid-template-columns:1fr 1.05fr 1fr;min-height:350px}.bay img{width:100%;height:100%;object-fit:cover}.bay div{text-align:center;padding:65px 12%}.quote{background:var(--olive);color:white;padding:55px 9%;display:flex;align-items:center;justify-content:space-between}.quote blockquote{font-size:22px;font-style:italic;line-height:1.5}.quote small{display:block;font-size:12px;margin-top:12px}footer{padding:45px 5%;display:grid;grid-template-columns:1.3fr 2fr 1fr;align-items:center;gap:25px}footer nav{margin:0;justify-content:center}footer p{font:9px Arial,sans-serif;letter-spacing:3px;text-align:center;line-height:1.8}@media(max-width:900px){header nav{display:none}.book{margin-left:auto}.hero{height:700px}.overlay{width:80%;top:180px}.hero h1{font-size:60px}.features{grid-template-columns:1fr 1fr;gap:25px}.features div:nth-child(2){border:0}.split,.cellar{grid-template-columns:1fr}.split img{height:420px}.housegrid{grid-template-columns:1fr;height:auto}.housegrid img{height:360px}.roomgrid{grid-template-columns:1fr 1fr}.bay{grid-template-columns:1fr}.bay img{height:280px}.quote{flex-direction:column;align-items:flex-start;gap:25px}footer{grid-template-columns:1fr;text-align:center}footer nav{flex-wrap:wrap}.brand{min-width:0}}
	--cream: #f5f1e8;
	--paper: #faf7f0;
	--ink: #20231e;
	--olive: #3f4b3c;
	--line: #d4cec0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: Georgia, "Times New Roman", serif;
}
img { display: block; max-width: 100%; }
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

header {
	position: absolute;
	z-index: 5;
	top: 0;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 90px;
	gap: 34px;
	padding: 14px 5%;
	background: linear-gradient(#f5f1e8dd, #f5f1e800);
}
.brand { display: flex; flex-direction: column; min-width: 260px; letter-spacing: 4px; }
.brand strong { font-size: 20px; font-weight: 400; }
.brand small { margin-top: 6px; font-size: 9px; letter-spacing: 3px; }
.bird { height: 28px; font-size: 30px; line-height: 24px; }
nav { display: flex; gap: 26px; margin-left: auto; }
nav a, .section-title a {
	color: inherit;
	text-decoration: none;
	font: 10px Arial, sans-serif;
	letter-spacing: 1.5px;
}
header nav a { font-size: 12px; }
.book, .cta {
	display: inline-block;
	padding: 17px 26px;
	background: var(--olive);
	color: white;
	text-decoration: none;
	font: 10px Arial, sans-serif;
	letter-spacing: 2px;
}

.hero {
	position: relative;
	height: 790px;
	background: url("/assets/images/85-main-house-front-view.webp") center / cover no-repeat;
}
.hero::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(12, 19, 15, .72), rgba(12, 19, 15, .12) 62%, transparent);
}
.overlay {
	position: absolute;
	z-index: 2;
	top: 205px;
	left: 5%;
	width: 440px;
	color: white;
}
.eyebrow { margin: 0; font: 10px Arial, sans-serif; letter-spacing: 4px; }
.hero h1 { margin: 22px 0; font-size: 76px; font-weight: 400; line-height: .86; }
.place { font-size: 13px; letter-spacing: 5px; }
.intro { max-width: 390px; margin: 28px 0 32px; font-size: 17px; line-height: 1.55; }

.features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 25px 5%;
	background: var(--paper);
}
.features div { display: flex; flex-direction: column; gap: 7px; text-align: center; border-right: 1px solid var(--line); }
.features div:last-child { border: 0; }
.features b { font-size: 30px; font-weight: 400; }
.features strong { font-size: 12px; letter-spacing: 2px; }
.features span { font-size: 13px; }

.split { display: grid; grid-template-columns: 46% 54%; min-height: 570px; }
.split .copy { padding: 80px 11% 60px 8%; }
.split img { width: 100%; height: 100%; object-fit: cover; }
.copy h2, .section-title h2, .cellar h2, .bay h2 { margin: 12px 0 25px; font-size: 44px; font-weight: 400; }
.copy p:not(.eyebrow), .section-title p:not(.eyebrow), .cellar p:not(.eyebrow), .bay p:not(.eyebrow) { font-size: 16px; line-height: 1.55; }
.dark { margin-top: 20px; }

.house, .rooms { padding: 55px 0 0; }
.rooms {
	position: relative;
	z-index: 0;
	background: var(--cream);
}
.section-title { display: flex; align-items: end; justify-content: space-between; padding: 0 5% 28px; }
.rooms .section-title {
	position: relative;
	z-index: 1;
	min-height: 96px;
	align-items: center;
	background: var(--cream);
	color: var(--ink);
}
.rooms .spacer { padding: 4px 0 2px; }
.section-title > div { max-width: 760px; }
.section-title h2 { margin-bottom: 8px; }
.housegrid { display: grid; grid-template-columns: 58% 42%; height: 520px; }
.housegrid img { width: 100%; height: 100%; object-fit: cover; }
.roomgrid { display: grid; grid-template-columns: repeat(4, 1fr); }
figure { margin: 0; border-right: 4px solid var(--cream); }
figure img { width: 100%; height: 300px; object-fit: cover; }
figcaption { padding: 14px; text-align: center; font-size: 18px; }
figcaption small { display: block; margin-top: 8px; font-size: 10px; }

.cellar { display: grid; grid-template-columns: 40% 60%; min-height: 430px; background: var(--olive); color: white; }
.cellar > div { padding: 70px 9%; }
.cellar img { width: 100%; height: 430px; object-fit: cover; }
.outline { margin-top: 15px; border: 1px solid #ddd; background: transparent; }
.bay { display: grid; grid-template-columns: 1fr 1.05fr 1fr; min-height: 350px; }
.bay img { width: 100%; height: 100%; object-fit: cover; }
.bay div { padding: 65px 12%; text-align: center; }
.quote { display: flex; align-items: center; justify-content: space-between; padding: 55px 9%; background: var(--olive); color: white; }
.quote blockquote { font-size: 22px; font-style: italic; line-height: 1.5; }
.quote small { display: block; margin-top: 12px; font-size: 12px; }

footer { display: grid; grid-template-columns: 1.3fr 2fr 1fr; align-items: center; gap: 25px; padding: 45px 5%; }
footer nav { justify-content: center; margin: 0; }
footer p { text-align: center; font: 9px Arial, sans-serif; letter-spacing: 3px; line-height: 1.8; }

@media (max-width: 900px) {
	header nav { display: none; }
	.book { margin-left: auto; }
	.hero { height: 700px; }
	.overlay { top: 180px; width: 80%; }
	.hero h1 { font-size: 60px; }
	.features { grid-template-columns: 1fr 1fr; gap: 25px; }
	.features div:nth-child(2) { border: 0; }
	.split, .cellar { grid-template-columns: 1fr; }
	.split img { height: 420px; }
	.housegrid { grid-template-columns: 1fr; height: auto; }
	.housegrid img { height: 360px; }
	.roomgrid { grid-template-columns: 1fr 1fr; }
	.bay { grid-template-columns: 1fr; }
	.bay img { height: 280px; }
	.quote { flex-direction: column; align-items: flex-start; gap: 25px; }
	footer { grid-template-columns: 1fr; text-align: center; }
	footer nav { flex-wrap: wrap; }
}

@media (max-width: 560px) {
	header { min-height: 72px; padding: 12px 6%; }
	.brand { min-width: 0; letter-spacing: 3px; }
	.brand strong { font-size: 15px; }
	.book { padding: 13px 14px; font-size: 9px; }
	.hero { height: 640px; background-position: 60% center; }
	.overlay { top: 170px; left: 6%; width: 88%; }
	.hero h1 { margin: 18px 0; font-size: 55px; }
	.intro { font-size: 15px; }
	.features { padding: 22px 4%; gap: 20px 0; }
	.features strong { font-size: 10px; }
	.features span { font-size: 11px; }
	.copy h2, .section-title h2, .cellar h2, .bay h2 { font-size: 35px; }
	.split .copy, .cellar > div { padding: 55px 8%; }
	.section-title { display: block; padding-bottom: 22px; }
	.section-title > a { display: inline-block; margin-top: 12px; }
	.housegrid img { height: 270px; }
	.roomgrid { grid-template-columns: 1fr; }
	figure img { height: 280px; }
	.cellar img { height: 320px; }
	.bay img { height: 220px; }
	.quote { padding: 45px 8%; }
	.quote blockquote { margin: 0; font-size: 18px; }
}

/* Header brand is a link back home */
a.brand { color: inherit; text-decoration: none; }

/* Homepage booking bar: CHECK IN | CHECK OUT | GUESTS | CHECK AVAILABILITY */
.bookbar {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	align-items: stretch;
	margin: -38px 5% 0;
	position: relative;
	z-index: 3;
	border: 1px solid var(--line);
	background: #faf7f0;
}
.bookbar label { display: flex; flex-direction: column; gap: 6px; padding: 14px 20px; border-right: 1px solid var(--line); background: #faf7f0; }
.bookbar span { font: 10px Arial, sans-serif; letter-spacing: 2px; }
.bookbar input,
.bookbar select {
	width: 100%;
	min-height: 32px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font: 16px Georgia, "Times New Roman", serif;
}
.bookbar input:focus,
.bookbar select:focus { outline: 1px solid var(--olive); outline-offset: 4px; }
.bookbar .cta { border: 0; cursor: pointer; padding: 0 30px; }

@media (max-width: 900px) {
	.bookbar { grid-template-columns: 1fr 1fr; margin: 0; border-left: 0; border-right: 0; }
	.bookbar label:nth-child(2) { border-right: 0; }
	.bookbar label:nth-child(3) { grid-column: 1 / -1; border-right: 0; border-top: 1px solid var(--line); }
	.bookbar .cta { grid-column: 1 / -1; padding: 18px; }
}

.property-highlights {
	padding: 78px 8% 72px;
	background: var(--paper);
}
.property-highlights-heading {
	max-width: 780px;
	margin: 0 auto 34px;
	text-align: center;
}
.property-highlights-heading h2 {
	margin: 12px 0 0;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 400;
}
.property-highlights-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	max-width: 1100px;
	margin: 0 auto;
	border: 1px solid var(--line);
	background: var(--line);
}
.property-highlights-grid article {
	padding: 26px 30px;
	background: var(--paper);
}
.property-highlights-grid h3 {
	margin: 0 0 10px;
	font-size: 21px;
	font-weight: 400;
}
.property-highlights-grid p,
.property-highlights-note {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
}
.property-highlights-note {
	max-width: 900px;
	margin: 24px auto 0;
	color: #5d5a51;
	text-align: center;
}
@media (max-width: 600px) {
	.property-highlights { padding: 54px 6%; }
	.property-highlights-grid { grid-template-columns: 1fr; }
	.property-highlights-grid article { padding: 22px; }
}

.skip-link {
	position: fixed;
	z-index: 1000;
	top: 12px;
	left: 12px;
	transform: translateY(-160%);
	padding: 12px 16px;
	background: #fff;
	color: #20231e;
	font: 16px Arial, sans-serif;
}
.skip-link:focus { transform: translateY(0); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
iframe:focus-visible,
summary:focus-visible {
	outline: 3px solid #20231e;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--cream);
}
.skip-link:focus-visible { outline-color: #20231e; box-shadow: none; }
main[tabindex="-1"]:focus { outline: 3px solid #20231e; outline-offset: 3px; }
.nav-toggle { display: none; }

@media (max-width: 900px) {
	.site-header { gap: 16px; flex-wrap: wrap; }
	.site-header .nav-toggle { display: none; }
	.site-header.has-mobile-menu .nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 56px;
		min-height: 44px;
		margin-left: auto;
		padding: 10px 12px;
		border: 1px solid var(--olive);
		background: var(--paper);
		color: var(--ink);
		font: 10px Arial, sans-serif;
		letter-spacing: 1.5px;
		cursor: pointer;
	}
	.site-header nav {
		display: flex;
		flex-direction: column;
		gap: 0;
		order: 5;
		width: 100%;
		margin: 0;
		padding: 8px 18px;
		border: 1px solid var(--line);
		background: var(--paper);
		box-shadow: 0 8px 20px rgba(32, 35, 30, .12);
	}
	.site-header.has-mobile-menu:not(.is-nav-open) nav { display: none; }
	.site-header.is-nav-open nav {
		position: absolute;
		top: 100%;
		left: 5%;
		width: 90%;
	}
	.site-header nav a {
		display: flex;
		align-items: center;
		min-height: 44px;
		border-bottom: 1px solid var(--line);
	}
	.site-header nav a:last-child { border-bottom: 0; }
	.site-header .book { margin-left: 0; }
}

@media (max-width: 560px) {
	.site-header { gap: 10px; }
	.site-header .nav-toggle { min-width: 52px; padding: 9px; }
	.site-header .book { padding: 13px 10px; }
}

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

button.cta:disabled,
.cta[disabled] {
	background: #626b5f;
	color: #fff;
	opacity: 1;
	cursor: not-allowed;
}
