@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--green:#203d32;--ink:#24372f;--cream:#f5f4ed;--muted:#647068;--border:#d4d9cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #bf722b;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}em{font-weight:400}header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:Georgia,serif;font-size:38px;line-height:.85;letter-spacing:-2px}.brand span{display:block;font:10px/1.4 'DM Sans',sans-serif;letter-spacing:3px;margin-top:10px;text-align:center}nav{display:flex;gap:34px;font-size:14px}.button{background:var(--green);color:white;padding:16px 24px;display:inline-flex;align-items:center;gap:38px;border-radius:5px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#365846;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.button.small{padding:12px 20px;font-size:14px;gap:28px}.hero{max-width:1440px;margin:auto;padding:35px 5% 60px;display:grid;grid-template-columns:1.02fr 1fr;gap:50px;align-items:center}.hero-copy{padding:25px 0}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;margin-bottom:22px}h1{font-size:clamp(48px,5.7vw,82px)}h1 em{color:#58735b}.intro{max-width:415px;margin:25px 0 28px;color:var(--muted);font-size:17px}.hero-note{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin-top:38px}.line{height:1px;width:26px;background:var(--muted)}.hero-image{height:600px;border-radius:160px 8px 8px 8px;overflow:hidden;position:relative}.hero-image>img{height:100%}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(14,29,20,.65))}.image-label{position:absolute;z-index:1;bottom:38px;left:36px;color:white}.image-label span{font-size:11px;letter-spacing:2px}.image-label strong{display:block;font:36px/1.1 Georgia,serif;margin-top:13px}.benefit-strip{background:#e8ebdf;padding:23px 5%;display:flex;justify-content:space-around;gap:20px;font-size:14px;border-block:1px solid #dce1d3}.section{padding:100px 5%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}h2{font-size:clamp(38px,4.1vw,60px)}.section-heading>p{max-width:370px;color:var(--muted)}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.property{background:#fff;border-radius:8px;overflow:hidden}.property-photo{height:315px;position:relative}.property-photo img{height:100%;transition:transform .6s}.property:hover .property-photo img{transform:scale(1.035)}.property-photo{overflow:hidden}.photo-tag{position:absolute;top:20px;left:20px;background:var(--cream);padding:7px 12px;font-size:10px;letter-spacing:1.5px;border-radius:3px}.property-body{padding:30px}.property-body .eyebrow{font-size:10px;margin-bottom:12px}h3{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.5px}.specs{font-size:14px;margin:12px 0 20px}.specs span{padding:0 7px;color:#8d958c}.property-body>p:not(.eyebrow):not(.specs){color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tags span{padding:5px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px}.listing-link{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:20px;font-size:14px;font-weight:600}.listing-link:hover{text-decoration:underline}.property-note{font-size:13px;color:var(--muted);max-width:890px;margin:25px auto 0;text-align:center}.experience{background:var(--green);color:var(--cream);max-width:none;padding-inline:max(5%,calc((100vw - 1296px)/2))}.experience .section-heading>p{color:#d3dbd2}.experience .eyebrow{color:#c5d0bc}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.care-grid article{border-top:1px solid #698074;padding-top:23px}.care-number{font-size:12px;letter-spacing:1.5px;color:#cad3c6}.care-grid h3{font:27px Georgia,serif;margin:24px 0 16px}.care-grid p{color:#d3dbd2}.neighborhood{display:grid;grid-template-columns:1fr 1fr;gap:100px}.neighborhood h2{font-size:clamp(46px,5.3vw,74px)}.neighborhood em{color:#647c60}.neighborhood-copy>p{color:var(--muted);margin-bottom:25px}.neighborhood-copy>.large-copy{font-size:23px;color:var(--ink);line-height:1.4}.neighborhood-row{display:flex;gap:23px;padding:24px 0;border-top:1px solid var(--border)}.neighborhood-row>span{font-size:12px;padding-top:5px;color:var(--muted)}.neighborhood-row h3{font-size:18px;margin-bottom:6px}.neighborhood-row p{font-size:14px;color:var(--muted)}.booking{background:#e4e9dc;text-align:center;border-radius:8px;margin:0 5% 80px;max-width:none;padding:75px 20px}.booking h2{font-size:clamp(40px,5vw,68px)}.booking>p:not(.eyebrow){max-width:530px;margin:24px auto;color:#586651}.booking .booking-note{font-size:12px}footer{padding:15px 5% 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}footer>p{font-size:14px;color:var(--muted)}footer>a:not(.brand){font-size:14px}.footer-bottom{display:flex;justify-content:space-between;flex-basis:100%;border-top:1px solid var(--border);padding-top:23px;margin-top:25px;font-size:12px;color:var(--muted)}.skip{position:absolute;left:10px;top:-80px;background:white;padding:10px;z-index:9}.skip:focus{top:10px}@media(min-width:1500px){.booking{max-width:1296px;margin-inline:auto}}@media(max-width:900px){nav{gap:18px}.hero{gap:25px}.hero-image{height:520px}.hero-note{font-size:11px}.section-heading{gap:35px}.section-heading>p{max-width:300px}.property-body{padding:23px}.property-photo{height:260px}.neighborhood{gap:45px}.care-grid{gap:25px}}@media(max-width:650px){header{padding:24px 6%}.brand{font-size:33px}nav{display:none}.button.small{font-size:13px;gap:15px}.hero{padding:20px 6% 35px;grid-template-columns:1fr;gap:25px}.hero-copy{padding:15px 0 5px}h1{font-size:55px}.eyebrow{font-size:10px;letter-spacing:1.6px}.intro{font-size:16px}.hero-note{margin-top:24px}.hero-image{height:390px;border-top-left-radius:110px}.image-label{bottom:28px;left:28px}.benefit-strip{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;gap:15px;font-size:12px}.section{padding:65px 6%}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:none}.property-grid{grid-template-columns:1fr;gap:28px}.property-photo{height:270px}.property-body h3{font-size:23px}.property-note{text-align:left}.care-grid{grid-template-columns:1fr;gap:30px;margin-top:40px}.care-grid h3{margin-top:16px}.neighborhood{grid-template-columns:1fr;gap:30px}.neighborhood h2{font-size:52px}.booking{margin:0 6% 55px;padding:55px 22px}.booking h2{font-size:42px}footer{padding-inline:6%;align-items:flex-start}footer>p{flex-basis:60%;font-size:12px}.footer-bottom{font-size:11px;gap:20px}.listing-link{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.lifestyle-caption{position:absolute;top:20px;right:20px;background:rgba(20,38,27,.75);color:white;font-size:12px;padding:4px 9px;border-radius:3px}.tags span,.specs,.photo-tag,.care-number,.eyebrow{font-size:14px}.photo-tag{font-size:12px}.hero .eyebrow{font-size:12px}.property-body .eyebrow{font-size:12px}@media(max-width:650px){.hero .eyebrow{font-size:11px}}

.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:14px;overflow-wrap:anywhere}.footer-contact strong{font-weight:600}.footer-contact a:hover{text-decoration:underline}.footer-contact a{padding:3px 0}@media(max-width:650px){.footer-contact{flex-basis:100%}}

.homecoming{padding-bottom:0}.homecoming-film{position:relative;background:var(--green);border-radius:8px;overflow:hidden;aspect-ratio:16/9}.homecoming-film video{display:block;width:100%;height:100%;object-fit:contain}.film-toggle{position:absolute;right:20px;bottom:20px;border:1px solid #ffffff80;border-radius:5px;background:#203d32e8;color:white;padding:12px 18px;font:500 14px 'DM Sans',sans-serif;cursor:pointer}.film-toggle:hover{background:#365846}.film-toggle:focus-visible{outline:3px solid white;outline-offset:3px}.film-caption{font-size:13px;color:var(--muted);margin-top:14px;max-width:850px}@media(max-width:650px){.film-toggle{right:10px;bottom:10px;padding:8px 12px}.homecoming .section-heading{margin-bottom:25px}}

.hero-video{position:relative;isolation:isolate;display:flex;align-items:center;min-height:700px;max-width:none;padding:70px max(6%,calc((100vw - 1268px)/2)) 105px;color:#fff;overflow:hidden;background:#203d32}.hero-backdrop{position:absolute;inset:0;z-index:-2}.hero-backdrop video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-video:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,25,18,.85) 0%,rgba(10,25,18,.64) 45%,rgba(10,25,18,.18) 100%),linear-gradient(0deg,rgba(10,25,18,.5),transparent 35%)}.hero-video .hero-copy{max-width:750px;padding:0}.hero-video h1{font-size:clamp(52px,5.7vw,82px)}.hero-video h1 em{color:#e3ead4}.hero-video .intro{color:#f0f2eb;max-width:450px}.hero-video .hero-note{color:#e1e7dc}.hero-video .line{background:#e1e7dc}.hero-video .button{background:#f5f4ed;color:#203d32}.hero-video .button:hover{background:#e3ead4}.hero-video .film-toggle{right:6%;bottom:30px}.hero-film-note{position:absolute;bottom:34px;left:6%;font-size:12px;color:#e1e7dc;max-width:60%}@media(max-width:650px){.hero-video{min-height:760px;padding:55px 6% 125px}.hero-video h1{font-size:52px}.hero-video:after{background:linear-gradient(90deg,rgba(10,25,18,.83),rgba(10,25,18,.55))}.hero-video .hero-copy{width:100%}.hero-video .film-toggle{bottom:22px;right:6%}.hero-film-note{bottom:24px;max-width:52%;font-size:12px}.hero-video .hero-note{font-size:12px}}

.brand{display:block;flex-shrink:0;width:265px;line-height:1;letter-spacing:normal}.brand .logo-crop{display:block;position:relative;width:100%;aspect-ratio:5.05;overflow:hidden;margin:0;letter-spacing:normal}.brand .logo-crop img{position:absolute;width:123%;max-width:none;height:auto;left:-11.6%;top:-110%;object-fit:initial}footer .brand{width:280px}@media(max-width:900px){header{gap:20px}header nav{gap:18px}.brand{width:220px}}@media(max-width:650px){header{gap:16px}.brand{width:clamp(165px,46vw,220px)}header .button.small{padding:11px 12px;gap:10px}footer .brand{width:260px}footer>p{flex-basis:100%}}

.brand .logo-crop{aspect-ratio:5.05}.brand .logo-crop img{width:105%;left:-2.5%;top:-40%;height:auto}

.reviews{padding-top:35px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{margin:0;padding:32px;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column}.review-stars{color:#a6532b;font-size:21px;letter-spacing:4px;margin-bottom:20px}.review-card h3{font-family:Georgia,serif;font-size:25px;line-height:1.25;margin-bottom:20px}.review-card blockquote{margin:0 0 30px;font-size:17px;line-height:1.75;color:var(--muted);flex:1}.review-card figcaption{display:flex;align-items:center;gap:13px;margin-bottom:22px}.review-initials{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e8ebdf;color:var(--green);font-size:14px;font-weight:600;flex-shrink:0}.review-card strong{font-size:15px;font-weight:600}.review-card time{display:block;color:var(--muted);font-size:13px}.review-card>a{border-top:1px solid var(--border);padding-top:18px;font-size:14px;line-height:1.5}.review-card>a:hover{text-decoration:underline}.reviews-note{font-size:13px;color:var(--muted);margin-top:20px}@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-card{padding:28px}.review-card blockquote{max-width:700px}}

/* Responsive desktop, tablet, and mobile layouts. */
header{position:relative;flex-wrap:wrap}
header>nav{flex-wrap:wrap;justify-content:center}
.mobile-menu{display:none}
button:focus-visible,summary:focus-visible{outline:3px solid #bf722b;outline-offset:5px}
.button,.listing-link,.footer-contact a{min-height:44px}
.property-grid>* , .section-heading>*, .neighborhood>*, .review-grid>*{min-width:0}
.property-body{display:flex;flex-direction:column;flex:1}
.property{display:flex;flex-direction:column}
.property .listing-link{margin-top:auto;align-items:center}
.hero-note{line-height:1.5}
@media (min-width:651px) and (max-width:1100px){
 header{padding-block:20px;gap:18px}header>nav{order:3;width:100%;gap:12px 32px}header>nav a{padding:8px 0}
 .hero-video{min-height:620px;padding-block:65px 110px}
 .hero-video h1{font-size:clamp(52px,7vw,72px)}
 .section{padding-block:72px}.section-heading{gap:28px}.section-heading>p{flex:0 1 320px}
 .property-photo{height:auto;aspect-ratio:4/3}.property-body{padding:24px}
 .care-grid{gap:24px}.neighborhood{gap:40px}
}
@media (max-width:650px){
 html{scroll-padding-top:20px}
 header{padding:18px 6%;gap:14px 10px}
 header .brand{width:clamp(170px,53vw,260px)}
 header>.button.small{order:3;width:100%;justify-content:space-between;min-height:44px;padding:10px 16px}
 header>nav{display:none}
 .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] nav{display:flex;position:absolute;top:76px;left:6%;right:6%;z-index:10;flex-direction:column;gap:0;padding:12px 20px;background:var(--cream);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 24px #203d3226}
 .mobile-menu nav a{padding:12px 0;min-height:48px;border-bottom:1px solid var(--border)}
 .mobile-menu nav a:last-child{border:0}
 .hero-video{min-height:0;padding:48px 6% 112px}
 .hero-video h1{font-size:clamp(39px,9.8vw,62px);line-height:1.08}
 .hero-video .eyebrow{font-size:10px;letter-spacing:1.3px;max-width:290px}
 .hero-video .intro{font-size:16px;line-height:1.65;margin-block:24px}
 .hero-video .button{justify-content:space-between;width:100%;max-width:340px;min-height:52px}
 .hero-backdrop video{object-position:58% center}
 .hero-video .hero-note{font-size:12px;gap:10px;align-items:flex-start}
 .hero-note .line{flex-shrink:0;margin-top:9px}
 .hero-film-note{left:6%;bottom:25px;max-width:48%;font-size:10px;line-height:1.5}
 .hero-video .film-toggle{min-height:44px;padding:10px 12px;font-size:12px;bottom:22px}
 .benefit-strip{gap:16px 20px;line-height:1.5;font-size:12px}
 .section{padding:56px 6%}.section-heading{margin-bottom:28px}
 h2,.neighborhood h2,.booking h2{font-size:clamp(34px,9vw,48px)}
 .section .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.5px;margin-bottom:16px}
 .property-photo{height:auto;aspect-ratio:4/3}.property-body{padding:24px 20px}
 .photo-tag{top:14px;left:14px;font-size:10px}
 .specs{font-size:13px;line-height:1.8}.specs span{padding-inline:3px}
 .tags span{font-size:12px}.listing-link{font-size:13px;line-height:1.5}
 .review-card{padding:24px}.review-card blockquote{font-size:16px}
 .reviews{padding-top:16px}.neighborhood-copy>.large-copy{font-size:21px}
 .booking{padding:48px 20px;margin-bottom:44px}.booking .button{width:100%;justify-content:space-between;gap:16px}
 footer{gap:24px}footer .brand{max-width:100%;width:260px}.footer-contact{font-size:14px}
 .footer-bottom{flex-direction:column;gap:8px;margin-top:0;padding-bottom:env(safe-area-inset-bottom)}
}
@media (prefers-reduced-motion:reduce){.button:hover,.property:hover .property-photo img{transform:none}}
