@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-0.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-1.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-2.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-3.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-4.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-5.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-6.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-7.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/font-8.woff2) format('truetype');
}

:root{--paper:#f7f5f0;--ink:#252c27;--muted:#646b63;--line:#d6d9ce;--accent:#dbe5ca;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #48614b;outline-offset:5px}a:hover{color:#4f6542}img{display:block;width:100%;height:auto;object-fit:cover}p{margin:0 0 1.3em}h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.12;margin:0 0 .55em}h1{font-size:clamp(48px,5.5vw,88px)}h2{font-size:clamp(35px,4vw,60px)}h3{font-size:25px;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em} .wrap{max-width:1440px;width:calc(100% - 112px);margin:auto}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:650;letter-spacing:.17em;margin-bottom:24px;line-height:1.5}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--ink);border:1px solid var(--ink);color:white;padding:15px 23px;font-size:14px;line-height:1.5;border-radius:2px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#44523d;color:white;transform:translateY(-2px)}.button span{font-size:19px}.text-link{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:14px;color:var(--ink)}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:28px}.brand{display:flex;gap:12px;align-items:center;font-family:Manrope,Arial,sans-serif;font-size:19px;font-weight:750;letter-spacing:-.045em;line-height:1.15}.brand-icon{font-size:45px;font-weight:400;line-height:1}.brand-sub{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:.3em;font-weight:500;margin-top:6px}.header nav{display:flex;gap:29px;align-items:center;font-size:13px}.header nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.nav-book{padding:12px 18px;gap:20px}.menu-toggle{display:none}.hero{padding-top:61px}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px}.hero h1{font-size:clamp(46px,5.1vw,78px);margin:0}.hero-aside{width:250px;flex-shrink:0;padding-bottom:8px}.hero-aside p{font-size:15px;color:var(--muted);line-height:1.65}.hero-photo{position:relative}.hero-photo img{height:clamp(350px,42vw,620px);object-position:center 57%}.photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:35px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.6));font-size:13px}.photo-label span{font-family:var(--serif);font-size:24px;font-style:italic}.photo-label a{color:white}.hero-bottom{display:flex;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.section{padding-top:110px;padding-bottom:110px}.section-heading{max-width:720px;margin-bottom:48px}.section-heading p:not(.eyebrow){max-width:550px;color:var(--muted);font-size:18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 26px}.service-card img{aspect-ratio:1.43;height:auto;transition:filter .2s}.service-card:hover img{filter:brightness(.93)}.service-card div{display:flex;justify-content:space-between;gap:14px;margin-top:22px}.service-card h3{font-size:23px;margin:0}.service-card div span{font-size:24px;line-height:1}.service-card p{font-size:14px;color:var(--muted);margin:12px 0 0;max-width:330px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding-top:70px;padding-bottom:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.split img{height:620px}.split .copy p:not(.eyebrow){max-width:470px;color:var(--muted);font-size:18px}.copy .button{margin-top:15px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-top:60px}.three p{color:var(--muted);font-size:16px}.number{display:block;color:var(--muted);font-size:12px;letter-spacing:.12em;margin-bottom:35px}.three h3{font-size:26px}.cta{background:var(--accent);padding:85px 0}.cta .wrap{position:relative}.cta h2{font-size:clamp(45px,5vw,76px)}.cta .wrap>div{display:flex;align-items:center;gap:38px;margin-top:35px}footer{background:#232b26;color:#f4f2e9;padding-top:75px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:80px}.footer-grid>.brand,.footer-grid>div>.brand{display:block;width:fit-content}.footer-grid p:not(.eyebrow){font-size:14px;color:#bec7bb;margin-top:25px}.footer-grid a:not(.brand){display:block;width:fit-content;font-size:14px;margin-bottom:12px}.footer-grid a:hover{color:#dbe5ca}.footer-grid .eyebrow{color:#b8c1b3;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #485047;padding:24px 0;font-size:11px;color:#b8c1b3}.page-intro{padding-top:80px;padding-bottom:65px}.page-intro .lead{max-width:640px;font-size:19px;color:var(--muted);margin-top:24px}.page-intro h1{max-width:1000px}.compact{padding-top:10px}.detail-image img{height:min(600px,48vw)}body:has(link[rel="canonical"][href$="floor-plans"]) .detail-image img{object-fit:contain;background:white}.feature-list{max-width:1000px;margin:auto}.feature-list article{display:grid;grid-template-columns:70px 1fr;gap:20px;border-top:1px solid var(--line);padding:40px 0}.feature-list h2{font-size:34px}.feature-list p{font-size:18px;color:var(--muted);max-width:720px}.feature-list .number{margin:7px 0}.related{border-top:1px solid var(--line)}.related>h2{margin-bottom:45px}.photo-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px}.photo-trio img{aspect-ratio:1.05}.video{position:relative;aspect-ratio:16/9;background:#252c27;margin-top:35px}.video iframe{width:100%;height:100%;border:0}.area{background:#e9ece3;padding:65px;max-width:1328px;margin-top:35px;margin-bottom:90px}.area>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:18px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-bottom:110px}.gallery-item{position:relative;border:0;padding:0;background:none;text-align:left;overflow:hidden}.gallery-item img{aspect-ratio:1.45;transition:transform .3s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{position:absolute;bottom:15px;right:15px;background:var(--paper);padding:6px 12px;font-size:12px}.gallery-item:nth-child(5n+1){grid-column:1/-1}.gallery-item:nth-child(5n+1) img{aspect-ratio:2.15}.faq-layout{display:grid;grid-template-columns:1fr 2.5fr;gap:80px;padding:25px 0 110px}.faq-layout aside{align-self:start;position:sticky;top:135px}.faq-layout aside a{display:block;font-size:14px;margin:20px 0}.faq-layout section{margin-bottom:55px}.faq-layout h2{font-size:34px;margin-bottom:25px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:17px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:23px;line-height:1}details[open] summary span{transform:rotate(45deg)}details>div{padding:0 35px 25px 0;color:var(--muted)}details a{text-decoration:underline;text-underline-offset:3px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:110px}.contact-grid img{height:100%;max-height:700px}.contact-link{display:block;font-size:clamp(18px,2.1vw,30px);letter-spacing:-.04em;margin:10px 0 25px}.contact-grid p{color:var(--muted);max-width:500px}.contact-book{padding:35px 0;margin:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-book h2{font-size:36px}.booking-choices{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:80px}.booking-choices article{border:1px solid var(--line);background:#eeeee7}.booking-choices article>div{padding:38px}.booking-choices img{aspect-ratio:1.7}.booking-choices h2{font-size:38px}.booking-choices p:not(.eyebrow){color:var(--muted)}.prep-toolbar{display:flex;align-items:center;gap:25px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.prep-toolbar p{margin:0 auto 0 0;font-size:14px;color:var(--muted);max-width:400px}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px 0}.checklist article{border-top:1px solid var(--line);padding-top:30px}.checklist h2{font-size:34px}.checklist label{display:flex;gap:14px;align-items:flex-start;font-size:16px;margin:18px 0;cursor:pointer}.checklist input{accent-color:#48614b;width:18px;height:18px;flex-shrink:0;margin-top:5px}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}dialog{border:0;padding:55px 20px 20px;background:var(--paper);width:min(1200px,95vw);max-height:95vh}dialog::backdrop{background:rgba(10,18,12,.85)}dialog img{max-height:80vh;object-fit:contain}dialog button{position:absolute;right:20px;top:12px;border:0;background:none;color:var(--ink);padding:5px 10px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.wrap{width:calc(100% - 160px)}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:17px}.brand{font-size:16px}.hero-heading{gap:25px}.hero-aside{width:210px}.hero h1{font-size:54px}.split{gap:6%}.split img{height:480px}.service-card h3{font-size:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.faq-layout{gap:35px}.contact-grid{gap:45px}.area{width:calc(100% - 64px)}}
@media(max-width:780px){.wrap{width:calc(100% - 40px)}.nav-shell{min-height:78px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;padding:10px 0;color:var(--ink);font-size:14px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav>a{padding:14px 0;font-size:17px}.header nav .button{padding:14px 20px;margin-top:15px}.brand-icon{font-size:35px}.hero{padding-top:35px}.hero-heading{display:block;margin-bottom:30px}.hero h1{font-size:clamp(42px,7.5vw,61px);letter-spacing:-.055em}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero-aside{width:auto;display:flex;align-items:center;gap:25px;margin-top:25px;padding:0}.hero-aside p{max-width:300px;margin:0;font-size:14px}.hero-aside .button{flex-shrink:0;padding:13px 15px;gap:15px;font-size:12px}.hero-photo img{height:430px}.photo-label{padding:20px;font-size:11px}.photo-label span{font-size:20px}.hero-bottom{font-size:9px;gap:15px;letter-spacing:.05em}.hero-bottom>span:nth-child(2){display:none}.section{padding:65px 0}.section-heading{margin-bottom:30px}.service-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}.service-card h3{font-size:21px}.service-card div{margin-top:15px}.service-card p{font-size:13px}.split{grid-template-columns:1fr;padding:45px 0;gap:35px}.split img{height:420px}.split .copy p:not(.eyebrow){font-size:17px}.three{gap:25px;margin-top:35px}.three h3{font-size:22px}.three p{font-size:14px}.number{margin-bottom:20px}.cta{padding:60px 0}.footer-grid{padding-bottom:45px;gap:35px 25px}.footer-grid a:not(.brand){font-size:13px}.footer-grid>div:last-child a{overflow-wrap:anywhere}.page-intro{padding:50px 0 35px}.page-intro .lead{font-size:17px}.page-intro h1{font-size:clamp(42px,7.5vw,62px)}.compact{padding-top:10px}.detail-image img{height:420px}.area{padding:35px;width:calc(100% - 40px);margin-bottom:60px}.faq-layout{grid-template-columns:1fr;padding-bottom:60px;gap:25px}.faq-layout aside{position:static;border-bottom:1px solid var(--line);padding-bottom:15px}.faq-layout aside a{display:inline-block;margin:0 20px 12px 0;font-size:12px}.faq-layout aside .eyebrow{margin-bottom:12px}.faq-layout h2{font-size:30px}.contact-grid{grid-template-columns:1fr;padding-bottom:60px;gap:35px}.contact-grid img{height:420px}.contact-link{font-size:28px}.booking-choices{gap:20px}.booking-choices article>div{padding:25px}.booking-choices h2{font-size:30px}.booking-choices .button{padding:14px;gap:15px;font-size:12px}.booking-choices p:not(.eyebrow){font-size:15px}.prep-toolbar{flex-wrap:wrap;gap:15px}.prep-toolbar p{max-width:none;width:100%}.prep-toolbar .button{font-size:13px;padding:12px 18px}.checklist{gap:35px;padding-top:40px}.checklist h2{font-size:28px}.checklist label{font-size:14px}.gallery{gap:16px;margin-bottom:65px}.feature-list article{grid-template-columns:35px 1fr;gap:12px}.feature-list h2{font-size:28px}.feature-list p{font-size:16px}}
@media(max-width:480px){.hero-aside{display:block}.hero-aside p{margin-bottom:20px;max-width:340px}.hero-photo img{height:335px;object-position:40% center}.hero-bottom{font-size:8px}.service-grid{grid-template-columns:1fr}.service-card img{aspect-ratio:1.6}.service-card h3{font-size:24px}.service-card p{font-size:15px}.three{grid-template-columns:1fr;gap:30px}.three article{border-top:1px solid var(--line);padding-top:20px}.three p{font-size:16px}.three h3{font-size:26px}.split img{height:340px}.cta .wrap>div{gap:25px}.cta h2{font-size:43px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 15px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid p:not(.eyebrow){margin-top:15px}.footer-bottom{gap:20px;font-size:9px}.booking-choices{grid-template-columns:1fr}.booking-choices article>div{padding:28px}.booking-choices .button{font-size:14px}.checklist{grid-template-columns:1fr;gap:25px}.checklist label{font-size:16px}.detail-image img{height:300px}.gallery{grid-template-columns:1fr}.gallery-item:nth-child(5n+1) img{aspect-ratio:1.45}.photo-trio{grid-template-columns:1fr}.photo-trio img{aspect-ratio:1.5}.area{padding:28px}.area h2{font-size:34px}summary{font-size:16px}.contact-link{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}@media print{.header,footer,.cta,.prep-toolbar,.skip,.area{display:none}.wrap{width:100%;max-width:none}body{background:white;color:black;font-size:11pt}.page-intro{padding:0}.page-intro h1{font-size:30pt}.checklist{padding:15px 0;gap:20px;grid-template-columns:1fr 1fr}.checklist article{break-inside:avoid}.checklist h2{font-size:18pt}.checklist label{font-size:10pt;line-height:1.4;margin:8px 0}.checklist input:checked+span{text-decoration:none;color:black}.eyebrow{font-size:8pt;margin-bottom:8px}}
@media(max-width:480px){.photo-label span{font-size:16px;white-space:nowrap}.photo-label a{max-width:110px;text-align:right}.photo-label{gap:10px;align-items:flex-end}}
