:root {
	--bg: #f4f0e7;
	--surface: #fbf8f1;
	--ink: #1f2522;
	--accent: #c89a52;
	--lake: #0d4b55;
	--lake-deep: #082f38;
	--pine: #244b3f;
	--wood: #29241f;
	--mist: #c6ddd8;
	--white: #fffdf8;
	--heading: Georgia, "Times New Roman", serif;
	--body: "Avenir Next", "Segoe UI", sans-serif;
	--shell: min(1240px, calc(100vw - 80px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--ink); font-family: var(--body); margin: 0; overflow-x: hidden; }
body :where(h1,h2,h3,p,ul,figure) { margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, select { font: inherit; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.site-shell { margin-inline: auto; width: var(--shell); }

.site-header { color: var(--white); left: 0; position: absolute; right: 0; top: 0; z-index: 20; }
.site-header.is-scrolled { background: linear-gradient(180deg,rgba(8,47,56,.62),transparent); }
.site-header__inner { align-items: center; display: flex; height: 118px; justify-content: space-between; }
.brand { display: grid; grid-template-columns: 48px auto; grid-template-rows: 1fr auto; min-width: 240px; }
.brand__mark { fill: none; grid-row: 1/3; height: 42px; margin-right: 11px; stroke: var(--accent); stroke-width: 1.3; width: 48px; }
.brand__name { align-self: end; font-family: var(--heading); font-size: 27px; letter-spacing: .02em; line-height: 1; text-transform: uppercase; }
.brand__sub { font-size: 9px; letter-spacing: .34em; margin-top: 6px; text-transform: uppercase; }
.primary-nav { align-items: center; display: flex; gap: clamp(24px,3vw,48px); }
.primary-nav a { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.primary-nav a:hover { color: var(--accent); }
.primary-nav .nav-cta { border: 1px solid var(--accent); color: var(--accent); padding: 16px 24px; }
.menu-toggle { background: transparent; border: 0; display: none; padding: 12px; }
.menu-toggle span:not(.screen-reader-text) { background: var(--white); display: block; height: 1px; margin: 6px 0; width: 28px; }

.hero { color: var(--white); min-height: 880px; overflow: visible; position: relative; z-index: 2; }
.hero__image { background: url("images/dale-hollow-hero.png") center/cover no-repeat; inset: 0; position: absolute; }
.hero__scrim { background: linear-gradient(90deg,rgba(4,35,43,.86) 0%,rgba(5,42,49,.63) 42%,rgba(4,32,38,.06) 74%), linear-gradient(180deg,rgba(4,31,39,.55),transparent 27%,rgba(4,35,40,.22)); inset: 0; position: absolute; }
.hero::after { content: none; }
.watercolor-edge { -webkit-mask-image: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.82) 8%,#000 22%,#000 76%,rgba(0,0,0,.55) 88%,transparent 100%); background-image: url("images/hero-watercolor-transition-v2.png"); background-position: center bottom; background-repeat: no-repeat; background-size: 100% auto; bottom: -60px; height: clamp(230px,26vw,300px); left: 0; mask-image: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.82) 8%,#000 22%,#000 76%,rgba(0,0,0,.55) 88%,transparent 100%); pointer-events: none; position: absolute; right: 0; z-index: 4; }
.hero__content { padding-top: 245px; position: relative; z-index: 2; }
.eyebrow { color: var(--accent); font-size: 12px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.hero h1 { font-family: var(--heading); font-size: clamp(58px,5.2vw,82px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin-top: 22px; max-width: 790px; }
.hero__lede { font-size: 17px; line-height: 1.6; margin-top: 22px; max-width: 500px; }
.hero__actions { align-items: center; display: flex; gap: 36px; margin-top: 38px; }
.button { border: 0; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 600; justify-content: center; letter-spacing: .14em; min-height: 52px; padding: 18px 28px; text-transform: uppercase; }
.button--gold { background: var(--accent); color: var(--white); }
.button--gold:hover { background: var(--pine); }
.text-link { border-bottom: 1px solid rgba(255,255,255,.52); font-size: 11px; letter-spacing: .09em; padding-bottom: 6px; text-transform: uppercase; }
.text-link span { color: var(--accent); font-size: 18px; margin-left: 10px; }
.property-search { align-items: end; background: rgba(39,33,28,.96); border: 1px solid rgba(200,154,82,.56); bottom: 27px; box-shadow: 0 20px 50px rgba(11,21,19,.3); display: grid; gap: 22px; grid-template-columns: 1.15fr 1.15fr 1.15fr .7fr auto; left: 50%; padding: 26px 32px 29px; position: absolute; transform: translateX(-50%); width: min(1120px,calc(100% - 80px)); z-index: 5; }
.search-field label { color: var(--accent); display: block; font-size: 8px; letter-spacing: .17em; margin-bottom: 9px; text-transform: uppercase; }
.search-field select { appearance: none; background: linear-gradient(45deg,transparent 50%,var(--accent) 50%) calc(100% - 18px) 50%/5px 5px no-repeat,linear-gradient(135deg,var(--accent) 50%,transparent 50%) calc(100% - 14px) 50%/5px 5px no-repeat,rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.24); color: var(--white); height: 49px; padding: 0 35px 0 15px; width: 100%; }
.property-search .button { min-width: 145px; }

.paper-section { background: #f4f0e8; position: relative; }
.paper-section > .site-shell { position: relative; z-index: 2; }
.featured { overflow: hidden; padding: 96px 0 120px; }
.featured::before,.featured::after { content: none; }
.section-heading--center { text-align: center; }
.section-heading svg { fill: none; height: 38px; stroke: var(--accent); stroke-width: 1.3; width: 80px; }
.section-heading h2 { font-family: var(--heading); font-size: clamp(40px,4vw,58px); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; margin-top: 16px; }
.ornament { border-top: 1px solid var(--accent); display: inline-block; margin-top: 25px; position: relative; width: 116px; }
.ornament::after { background: var(--bg); border: 1px solid var(--accent); content: ""; height: 6px; left: 50%; position: absolute; top: -4px; transform: rotate(45deg); width: 6px; }
.property-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); margin-top: 55px; }
.property-card { background: rgba(251,248,241,.92); border: 1px solid rgba(91,79,62,.16); }
.property-card--raised { transform: translateY(-14px); }
.property-card__image { background-image: linear-gradient(0deg,rgba(7,43,49,.08),transparent),url("images/dale-hollow-hero.png"); background-repeat: no-repeat; background-size: 170%; display: block; height: 310px; position: relative; }
.property-card__image--one { background-position: 92% 70%; }
.property-card__image--two { background-position: 71% 52%; filter: sepia(.2) saturate(.75); }
.property-card__image--three { background-position: 24% 48%; }
.property-card__image > span { background: var(--lake); color: var(--white); font-size: 9px; left: 0; letter-spacing: .16em; padding: 10px 13px; position: absolute; text-transform: uppercase; top: 0; }
.property-card__body { padding: 19px 23px 22px; }
.property-card__price { align-items: center; display: flex; font-family: var(--heading); font-size: 27px; justify-content: space-between; }
.property-card__price span { color: var(--accent); font-family: var(--body); font-size: 25px; }
.property-card h3 { font-family: var(--heading); font-size: 18px; font-weight: 400; margin-top: 8px; }
.property-card p { color: var(--ink); font-size: 12px; margin-top: 10px; opacity: .68; }
.property-card .property-card__facts { color: var(--ink); font-size: 10px; letter-spacing: .06em; opacity: .78; }

.discover { overflow: hidden; padding: 50px 0 110px; position: relative; }
.discover::before,.discover::after { content: none; }
.discover__grid { align-items: center; display: grid; grid-template-columns: 34% 66%; min-height: 690px; position: relative; }
.discover__copy { padding-left: 60px; position: relative; z-index: 2; }
.discover__copy h2 { font-family: var(--heading); font-size: clamp(50px,5vw,74px); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.title-rule { border-top: 2px solid var(--accent); display: block; margin: 26px 0 30px; width: 105px; }
.discover__copy > p { color: var(--ink); font-size: 14px; line-height: 1.8; max-width: 360px; opacity: .72; }
.community-list { display: grid; gap: 18px; margin: 30px 0; }
.community-list a { align-items: center; display: flex; gap: 15px; }
.community-icon { align-items: center; background: var(--lake); border: 1px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 1px var(--lake); color: var(--white); display: flex; font-size: 16px; height: 38px; justify-content: center; width: 38px; }
.community-list strong,.community-list small { display: block; }
.community-list strong { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.community-list small { color: #77786f; font-size: 10px; margin-top: 4px; }
.button--outline { border: 1px solid var(--accent); color: #a67632; }
.button--outline span { font-size: 18px; margin-left: 14px; }
.lake-map { min-height: 760px; position: relative; }
.lake-map::before { -webkit-mask-image: radial-gradient(ellipse 49% 54% at 50% 50%,#000 0 42%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.52) 67%,rgba(0,0,0,.12) 80%,transparent 90%); background: url("images/dale-hollow-map.png") center/contain no-repeat; content: ""; inset: -5% -4%; mask-image: radial-gradient(ellipse 49% 54% at 50% 50%,#000 0 42%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.52) 67%,rgba(0,0,0,.12) 80%,transparent 90%); pointer-events: none; position: absolute; }
.lake-map::after { content: none; }
.map-region,.map-lake-title,.map-pin { position: absolute; z-index: 2; }
.map-region { color: var(--mapInk,#544f43); font-family: var(--heading); font-size: 17px; letter-spacing: .2em; text-transform: uppercase; }
.map-region--kentucky { left: 19%; top: 10%; }
.map-region--tennessee { bottom: 6%; left: 49%; }
.map-lake-title { color: var(--white); font-family: var(--heading); font-size: 17px; left: 48%; letter-spacing: .13em; line-height: 1.45; text-align: center; text-transform: uppercase; top: 43%; transform: translate(-50%,-50%); }
.map-pin { align-items: center; color: var(--mapInk,#544f43); display: flex; font-family: var(--heading); font-size: 16px; gap: 9px; }
.map-pin i { background: var(--mapGold,#9a7438); border: 3px solid var(--surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--mapGold,#9a7438); height: 16px; position: relative; width: 16px; }
.map-pin i::after { background: var(--mapGold,#9a7438); content: ""; height: 25px; left: 50%; position: absolute; top: 14px; transform: translateX(-50%); width: 1px; }
.map-pin--byrdstown { left: 48%; top: 21%; }
.map-pin--celina { right: 8%; top: 41%; }
.map-pin--livingston { bottom: 25%; left: 28%; }

.lake-life { background-color: var(--wood); background-image: radial-gradient(ellipse at 14% 26%,rgba(5,8,7,.32) 0 2%,transparent 7%),radial-gradient(ellipse at 82% 72%,rgba(5,8,7,.28) 0 1.5%,transparent 6%),linear-gradient(90deg,rgba(7,10,9,.3),transparent 22%,rgba(255,255,255,.018) 52%,transparent 78%,rgba(5,8,7,.25)),repeating-linear-gradient(2deg,transparent 0 11px,rgba(255,255,255,.018) 12px,transparent 14px),repeating-linear-gradient(178deg,rgba(0,0,0,.05) 0 1px,transparent 2px 16px); color: var(--white); overflow: hidden; padding: 24px 28px 26px; position: relative; }
.lake-life::before { background: linear-gradient(90deg,transparent,rgba(200,154,82,.12),transparent); content: ""; height: 1px; left: 8%; position: absolute; right: 8%; top: 8px; }
.lake-life__grid { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); margin: auto; max-width: 1320px; }
.life-panel { background-image: linear-gradient(0deg,rgba(4,26,31,.82),transparent 60%),url("images/dale-hollow-hero.png"); background-size: 180%; height: 260px; position: relative; }
.life-panel--boat { background-position: 15% 60%; }
.life-panel--fish { background-position: 50% 68%; }
.life-panel--cove { background-position: 88% 45%; }
.life-panel > span { bottom: 24px; left: 25px; position: absolute; }
.life-panel strong,.life-panel small { display: block; }
.life-panel strong { font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.life-panel small { font-size: 12px; margin-top: 8px; }
.lake-life__tagline { align-items: center; color: #e3b96f; display: flex; gap: 19px; justify-content: center; letter-spacing: .28em; margin: 30px auto 0; max-width: 980px; text-transform: uppercase; }
.lake-life__tagline span { border-top: 1px solid rgba(200,154,82,.5); flex: 1; }
.lake-life__tagline b { font-family: var(--heading); font-size: 14px; font-weight: 400; white-space: nowrap; }
.lake-life__trees { display: inline-flex; height: 28px; width: 70px; }
.lake-life__trees svg { fill: none; height: 100%; stroke: var(--accent); stroke-width: 1.2; width: 100%; }
.lake-life__legal { align-items: center; border-top: 1px solid rgba(200,154,82,.16); color: rgba(255,253,248,.52); display: grid; font-size: 9px; grid-template-columns: 1fr auto 1fr; letter-spacing: .08em; margin: 25px auto 0; max-width: 1180px; padding-top: 18px; text-transform: uppercase; }
.lake-life__legal nav { display: flex; gap: 24px; justify-content: center; }
.lake-life__legal p:last-child { text-align: right; }
.lake-life__legal a:hover { color: var(--accent); }

.site-footer { background: var(--wood); color: rgba(255,253,248,.72); padding: 54px 0; }
.site-footer__inner { align-items: center; display: grid; gap: 24px; grid-template-columns: 1.2fr 1fr auto; }
.brand--footer { color: var(--white); grid-template-columns: 0 auto; min-width: 0; }
.brand--footer .brand__name { font-size: 22px; }
.site-footer p { font-size: 12px; line-height: 1.6; }
.site-footer nav { display: flex; gap: 22px; }
.site-footer nav a { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.site-footer__legal { grid-column: 1/-1; }

.generic-hero { background: var(--lake-deep); color: var(--white); padding: 210px 0 90px; }
.generic-hero h1,.generic-page h1 { font-family: var(--heading); font-size: clamp(46px,6vw,84px); font-weight: 400; line-height: 1.02; margin-top: 20px; }
.generic-page { background: var(--bg); min-height: 55vh; padding: 90px 0; }
.generic-page .site-shell { max-width: 900px; }
.generic-page p { line-height: 1.75; margin-top: 20px; }

@media (max-width: 1050px) {
	:root { --shell: min(100% - 48px, 920px); }
	.site-header__inner { height: 94px; }
	.menu-toggle { display: block; z-index: 3; }
	.primary-nav { align-items: flex-start; background: var(--lake-deep); display: none; flex-direction: column; gap: 28px; inset: 0 0 auto; min-height: 100vh; padding: 130px 42px 60px; position: fixed; }
	.primary-nav.is-open { display: flex; }
	.primary-nav a { font-family: var(--heading); font-size: 28px; text-transform: none; }
	.primary-nav .nav-cta { font-family: var(--body); font-size: 11px; margin-top: 10px; text-transform: uppercase; }
	.hero { min-height: 980px; }
	.hero__content { padding-top: 210px; }
	.property-search { bottom: 50px; grid-template-columns: 1fr 1fr; }
	.property-search .button { width: 100%; }
	.property-grid { gap: 14px; }
	.property-card__image { height: 240px; }
	.discover__copy { padding-left: 0; }
	.site-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
	:root { --shell: calc(100% - 36px); }
	.site-header__inner { height: 82px; }
	.brand { grid-template-columns: 38px auto; min-width: 205px; }
	.brand__mark { height: 34px; width: 38px; }
	.brand__name { font-size: 21px; }
	.brand__sub { font-size: 7px; }
	.hero { min-height: 1080px; }
	.hero__image { background-position: 62% center; }
	.hero__scrim { background: linear-gradient(90deg,rgba(4,35,43,.9),rgba(5,42,49,.42)),linear-gradient(0deg,rgba(4,35,43,.85),transparent 70%); }
	.hero__content { padding-top: 160px; }
	.hero h1 { font-size: clamp(46px,13vw,62px); }
	.hero__lede { font-size: 15px; max-width: 350px; }
	.hero__actions { align-items: flex-start; flex-direction: column; gap: 24px; }
	.property-search { bottom: 44px; gap: 16px; grid-template-columns: 1fr; padding: 23px; width: calc(100% - 36px); }
	.watercolor-edge { height: 170px; }
	.search-field--short { display: none; }
	.featured { padding: 76px 0 90px; }
	.property-grid { grid-template-columns: 1fr; }
	.property-card--raised { transform: none; }
	.property-card__image { height: 280px; }
	.discover { padding-bottom: 65px; }
	.discover__grid { grid-template-columns: 1fr; }
	.discover__copy { padding: 0; }
	.lake-map { min-height: 530px; margin: 35px -15px 0; }
	.lake-life { padding: 18px; }
	.lake-life__grid { grid-template-columns: 1fr; }
	.life-panel { height: 230px; }
	.lake-life__tagline { gap: 12px; letter-spacing: .14em; }
	.lake-life__trees { display: none; }
	.lake-life__legal { gap: 15px; grid-template-columns: 1fr; text-align: center; }
	.lake-life__legal nav { flex-wrap: wrap; gap: 15px; }
	.lake-life__legal p:last-child { text-align: center; }
	.site-footer__inner { align-items: flex-start; grid-template-columns: 1fr; }
	.site-footer nav { flex-wrap: wrap; }
	.site-footer__legal { grid-column: auto; }
}

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