*{margin:0;padding:0;box-sizing:border-box}
:root{
	--nav-height:62px;
	--slate:#f7f8f7;
	--white:#ffffff;
	--dark:#22272b;
	--mid:#6b7175;
	--light:#dde1df;
	--divider:rgba(34,39,43,0.07);
	--green:#3d5c4a;
	--green-light:#e8eeea;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}
body{padding-top:var(--nav-height);font-family:'Inter',sans-serif;background:var(--white);color:var(--dark);-webkit-font-smoothing:antialiased}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 52px;height:var(--nav-height);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.97);border-bottom:1px solid var(--divider)}
.nav-logo{display:flex;align-items:center;text-decoration:none;gap:6px}
.nav-logo-word{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--green);line-height:1}
.nav-logo-trees{height:26px;width:auto;color:var(--green);display:block;flex-shrink:0}

.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{text-decoration:none;font-size:0.72rem;font-weight:400;color:var(--mid);letter-spacing:0.1em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--dark)}
.nav-cta{font-size:0.67rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:white;text-decoration:none;padding:6px 10px;border:1px solid var(--green);border-radius:999px;background:var(--green);transition:border-color .2s, background-color .2s, color .2s, opacity .2s}
.nav-cta:hover{background:#314b3c;border-color:#314b3c;color:white}

.hero{position:relative;width:100%;height:calc(100vh - var(--nav-height));height:calc(100svh - var(--nav-height));min-height:500px;overflow:hidden}
.hero-video-wrap{position:absolute;inset:0;overflow:hidden}
.hero-video-wrap img,
.hero-video-wrap video{
	width:100%;height:100%;object-fit:cover;object-position:center;display:block;
	animation:heroPan 18s ease-in-out infinite alternate;
	transform-origin:center center;
}
@keyframes heroPan{
	0%  {transform:scale(1.08) translateX(0)}
	100%{transform:scale(1.08) translateX(-3%)}
}

section{padding:88px 56px}
.section-overline{font-size:0.73rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--mid);margin-bottom:14px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.15rem,3.2vw,2.95rem);font-weight:300;color:var(--dark);line-height:1.1;margin-bottom:16px}
.section-rule{width:28px;height:1px;background:var(--green);margin-bottom:40px}

@media(min-width:941px){
	html{scroll-snap-type:y mandatory}
	.hero,section{scroll-snap-align:start;scroll-snap-stop:always}
	section{min-height:calc(100vh - var(--nav-height));min-height:calc(100svh - var(--nav-height));display:flex;align-items:center}
	section > *{width:100%}
	.features{align-items:stretch}
	.floorplans{align-items:flex-start}
}

.features{background:var(--white);border-top:1px solid var(--divider);padding-top:56px;padding-bottom:56px}
.features-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:42px;align-items:center}
.features-lead{max-width:300px;display:flex;flex-direction:column;justify-content:center}
.features-lead .section-rule{width:84px}
.features-intro{font-size:1.06rem;line-height:1.85;color:var(--mid);font-weight:300}
#amenities .features-inner{grid-template-columns:304px minmax(0,1fr)}
#amenities .features-lead{max-width:332px}
#amenities .features-lead .section-title{font-size:clamp(3.25rem,4.8vw,4.45rem)}
#amenities .features-lead .section-title{letter-spacing:0.022em}
#amenities .features-lead .section-rule{width:143px}
#amenities .features-intro{font-size:1.38rem;line-height:1.82}
#neighborhood .features-inner{grid-template-columns:328px minmax(0,1fr);align-items:center}
#neighborhood .features-lead .section-title{font-size:clamp(2.45rem,3.6vw,3.35rem);letter-spacing:0.004em}
#neighborhood .features-intro{max-width:320px}
.neighborhood-details{display:grid;gap:18px;max-width:376px;margin-top:16px}
.neighborhood-item{display:block}
.neighborhood-item-row{display:flex;align-items:center;gap:12px}
.neighborhood-item-icon{width:28px;height:28px;display:block;flex:none;color:var(--green)}
.neighborhood-item-icon path,.neighborhood-item-icon circle,.neighborhood-item-icon line,.neighborhood-item-icon polyline,.neighborhood-item-icon polygon{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.neighborhood-item-value{font-size:1.06rem;line-height:1.5;color:var(--mid);font-weight:300;white-space:nowrap}
.amenities-showcase{display:flex;flex-direction:column;min-width:0;width:100%;max-width:700px;justify-self:end}
.amenities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:20px 24px}
.amenity-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:24px 12px 22px;background-color:#fbfcfa;background-image:radial-gradient(ellipse 44% 34% at 50% 44%,rgba(251,252,250,0.98) 0%,rgba(251,252,250,0.94) 42%,rgba(251,252,250,0.62) 68%,rgba(251,252,250,0) 100%),linear-gradient(rgba(251,252,250,0.72),rgba(251,252,250,0.72)),linear-gradient(to right,rgba(61,92,74,0.065) 1px,transparent 1px),linear-gradient(to bottom,rgba(61,92,74,0.065) 1px,transparent 1px);background-size:auto,auto,6px 6px,6px 6px;background-position:center center,0 0,0 0,0 0;border:1px solid rgba(61,92,74,0.11);border-radius:14px;min-height:178px;text-align:center;box-shadow:0 8px 18px rgba(34,39,43,0.025)}
.amenity-icon{width:68px;height:68px;color:#666d68}
.amenity-icon path,.amenity-icon rect,.amenity-icon circle,.amenity-icon line{stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}
.amenity-label{font-size:0.88rem;font-weight:500;color:var(--dark);letter-spacing:0.01em}
.features-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.features-groups.neighborhood-only{grid-template-columns:1fr;max-width:420px;justify-self:end}
.neighborhood-map-wrap{width:95%;max-width:722px;justify-self:end;border:1px solid rgba(61,92,74,0.11);border-radius:18px;overflow:hidden;background:#f8faf7;box-shadow:0 18px 34px rgba(34,39,43,0.075)}
.neighborhood-map{display:block;width:100%;height:auto}
.features-group{display:flex;flex-direction:column;padding:10px 12px 12px}
.features-group-title{position:relative;display:flex;align-items:center;gap:10px;font-size:0.78rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:14px;padding-bottom:10px}
.features-group-title::after{content:"";position:absolute;left:0;bottom:0;width:84%;height:1px;background:var(--light)}
.features-group-icon{width:17px;height:17px;display:block;flex:none}
.features-group-icon path,.features-group-icon circle,.features-group-icon line{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.features-list{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:8px;flex:1}
.feature-item{position:relative;display:flex;flex-direction:column;justify-content:center;padding-bottom:10px}
.feature-item::after{content:"";position:absolute;left:0;bottom:0;width:84%;height:1px;background:var(--light)}
.feature-item:last-child{padding-bottom:0}
.feature-item:last-child::after{display:none}
.feat-name{font-size:0.92rem;font-weight:500;color:var(--dark);margin-bottom:4px;letter-spacing:0.01em}
.feat-desc{font-size:0.82rem;line-height:1.65;color:var(--mid);font-weight:300}

.floorplans{background:var(--white);border-top:1px solid var(--divider);padding-top:64px;padding-bottom:60px}
.floorplans .section-title{font-size:clamp(1.84rem,2.74vw,2.53rem)}
.floorplans .section-rule{width:84px}
.fp-inner{max-width:1080px;margin:0 auto}
.fp-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;margin-top:72px}
.fp-card{display:flex;flex-direction:column;gap:20px;align-items:center}
.fp-media{width:99%;padding:12px;border:1px solid var(--light);background:var(--white);justify-self:center}
.fp-media svg{width:100%;display:block;border:1px solid var(--light);background:white;aspect-ratio:400 / 230}
.fp-copy{max-width:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.fp-type{font-size:0.78rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);margin-bottom:0}
.fp-name{font-family:'Cormorant Garamond',serif;font-size:2.08rem;font-weight:300;color:var(--dark);line-height:0.98}
.fp-metrics{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
.fp-metric{font-size:0.7rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--green);padding:7px 10px;border:1px solid var(--light);background:rgba(247,248,247,0.7);white-space:nowrap}

.contact{background:#fbfcfb;border-top:1px solid var(--divider)}
.contact-inner{max-width:1060px;margin:0 auto}
.contact-grid{display:grid;grid-template-columns:0.94fr 1.06fr;gap:72px;align-items:center}
.contact-copy{max-width:352px;justify-self:start;padding-left:12px}
.contact-copy .section-title{font-size:clamp(3.25rem,4.8vw,4.45rem);letter-spacing:0.04em}
.contact-copy .section-rule{width:143px}
.contact-detail{margin-bottom:26px}
.cdt-label{font-size:0.76rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--green);margin-bottom:5px}
.cdt-val{font-size:1.14rem;color:var(--mid);font-weight:300;line-height:1.85}
.cdt-val a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(61,92,74,0.3)}
.form-wrap{background:var(--white);padding:46px;border:1px solid var(--light);border-radius:18px;box-shadow:0 8px 22px rgba(34,39,43,0.035)}
.form-row{margin-bottom:18px}
.form-row label{display:block;font-size:0.68rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--mid);margin-bottom:7px}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:10px 12px;border:1px solid var(--light);background:var(--white);font-family:'Inter',sans-serif;font-size:0.92rem;color:var(--dark);outline:none;transition:border-color .2s, box-shadow .2s;background-clip:padding-box;border-radius:10px;font-weight:300}
.form-row select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.25 4.5 6 8l3.75-3.5' stroke='%236b7175' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 12px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#9ab0a2;background:white}
.form-row input::placeholder,.form-row textarea::placeholder{color:#b0b7b3}
.form-row textarea{height:88px;resize:none}
.form-half{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn-submit{width:100%;margin-top:8px;background:var(--green);border:none;color:white;font-family:'Inter',sans-serif;font-size:0.77rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;padding:14px;cursor:pointer;transition:background .2s;border-radius:10px}
.btn-submit:hover{background:#2e4538}

footer{background:var(--white);border-top:1px solid var(--divider);padding:24px 56px;display:flex;justify-content:space-between;align-items:center}
.footer-name{font-family:'Cormorant Garamond',serif;font-size:0.95rem;letter-spacing:0.12em;color:var(--mid)}
.footer-note{font-size:0.67rem;color:#aab2ae;letter-spacing:0.04em}

@media(max-width:940px){
	nav{padding:0 24px}
	.nav-links{gap:20px}
	.nav-logo img{height:34px}
	.hero{height:72svh;min-height:420px;max-height:680px}
	.hero-video-wrap img,
	.hero-video-wrap video{animation:none;transform:scale(1.015);object-position:center 42%}
	section{padding:64px 24px;min-height:auto;display:block}
	footer{padding:20px 24px;flex-direction:column;gap:8px;text-align:center}
	.features{padding-top:60px;padding-bottom:60px}
	.features-inner,
	#amenities .features-inner{grid-template-columns:1fr;gap:32px}
	#neighborhood .features-inner{grid-template-columns:1fr;gap:32px}
	.features-lead,
	#amenities .features-lead{max-width:none}
	.features-lead{order:1}
	.amenities-showcase,
	.neighborhood-map-wrap,
	.features-groups,
	.features-groups.neighborhood-only{order:2}
	#amenities .features-lead .section-title,
	#neighborhood .features-lead .section-title,
	.contact-copy .section-title{font-size:clamp(2.45rem,9vw,3.3rem);letter-spacing:0.02em}
	#amenities .features-intro,
	#neighborhood .features-intro,
	.cdt-val{font-size:1rem;line-height:1.75}
	#neighborhood .features-intro,
	.neighborhood-divider,
	.neighborhood-details{max-width:none}
	.neighborhood-item-value{white-space:normal}
	.amenities-showcase{padding:0;max-width:none;justify-self:stretch}
	.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
	.amenity-card{min-height:152px;padding:18px 12px 16px;gap:10px}
	.amenity-icon{width:54px;height:54px}
	.amenity-label{font-size:0.82rem;line-height:1.3}
	.neighborhood-map-wrap{max-width:none;justify-self:stretch}
	.features-groups.neighborhood-only{max-width:none;justify-self:stretch}
	.features-groups{grid-template-columns:1fr;gap:28px}
	.features-group{padding:0}
	.features-list{grid-template-rows:none}
	.floorplans{padding-top:64px;padding-bottom:64px}
	.fp-stack{grid-template-columns:1fr;gap:24px;margin-top:44px}
	.fp-card{gap:18px}
	.fp-media{width:96%;padding:10px}
	.fp-metrics{gap:8px}
	.contact-grid{grid-template-columns:1fr;gap:40px}
	.contact-copy{max-width:none;justify-self:center;text-align:center}
	.contact-copy .section-rule{margin-left:auto;margin-right:auto}
	.form-wrap{padding:34px 24px}
}
@media(max-width:880px){
	.nav-links li:nth-child(4){display:none}
}
@media(max-width:760px){
	.nav-links li:nth-child(3){display:none}
	.nav-links{gap:16px}
}
@media(max-width:620px){
	.nav-links{display:none}
}
@media(max-width:680px){
	.hero{height:66svh;min-height:380px;max-height:560px}
	.hero-video-wrap img,
	.hero-video-wrap video{transform:scale(1.01);object-position:center 40%}
	.features-inner{gap:28px}
	.neighborhood-details{gap:18px}
	.contact-grid{gap:32px}
	.fp-stack{margin-top:36px}
}
@media(max-width:520px){
	.hero{height:58svh;min-height:320px;max-height:460px}
	.hero-video-wrap img,
	.hero-video-wrap video{transform:scale(1);object-position:center 38%}
	section{padding:56px 20px}
	.features{padding-top:54px;padding-bottom:54px}
	.nav-logo img{height:36px}
	.nav-cta{font-size:0.7rem;padding:8px 12px}
	.section-title{font-size:clamp(2rem,11vw,2.7rem)}
	.amenities-grid{gap:12px 10px}
	.amenity-card{min-height:136px;padding:16px 10px 14px;gap:8px}
	.amenity-icon{width:46px;height:46px}
	.amenity-label{font-size:0.76rem}
	.fp-name{font-size:1.55rem}
	.fp-media{width:88%;padding:8px}
	.fp-metric{font-size:0.6rem;padding:6px 8px}
	.form-half{grid-template-columns:1fr}
}
