:root{--bone:#f6f1e7;--cream:#ede4d3;--sand:#d9c8ae;--wood:#a0825c;--sage:#7a8471;--terracotta:#b88566;--ink:#2a2620;--muted:#6e675b;--line:#e4dcc9;--bg:var(--bone);--fg:var(--ink);--font-serif:"DM Serif Display","Didot",Georgia,serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--maxw:1240px;--pad:clamp(20px,4vw,48px)}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","kern"}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em;line-height:1.08;margin:0}h1{font-size:clamp(42px,6vw,88px)}h2{font-size:clamp(30px,3.6vw,52px)}h3{font-size:clamp(20px,1.6vw,24px)}p{margin:0}::selection{background:var(--ink);color:var(--bone)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.rule{width:48px;height:1px;background:var(--wood);border:0;margin:0}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bone) 90%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:90px}@media (min-width:768px){.nav-inner{height:120px}}.brand{display:inline-flex;align-items:center;line-height:0}.brand svg{display:block;width:auto}.logo-lg{display:none}.logo-sm{display:block}@media (min-width:768px){.logo-lg{display:block}.logo-sm{display:none}}.nav-links ul{display:flex;gap:40px;list-style:none;padding:0;margin:0;font-size:17px;letter-spacing:.04em;color:var(--muted)}.nav-links ul a:hover{color:var(--ink)}.book-btn,.book-btn:visited{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--ink);color:var(--bone);font-size:15px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;transition:background .2s ease,transform .2s ease}.book-btn:hover{background:var(--terracotta)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;background:none;border:none;cursor:pointer;border-radius:6px;transition:background .15s ease}.nav-hamburger:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.nav-hamburger.is-open span:first-child{transform:translateY(6.5px) rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none;overflow:hidden;background:color-mix(in srgb,var(--bone) 97%,transparent);border-top:1px solid var(--line)}.nav-mobile.is-open{display:block}.nav-mobile ul{list-style:none;padding:0;margin:0}.nav-mobile ul li{border-bottom:1px solid var(--line)}.nav-mobile ul li:last-child{border-bottom:none}.nav-mobile ul a{display:block;padding:22px var(--pad);font-size:20px;color:var(--ink);letter-spacing:.03em}.nav-mobile ul a:hover{color:var(--terracotta)}@media (max-width:639px){.nav-links{display:none}.nav-hamburger{display:flex}}.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding-bottom:0}@media (max-width:767px){.hero{align-items:flex-end;padding-bottom:14vh}}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,38,32,0) 40%,rgba(42,38,32,.55)),url(/photos/exterior-aerial.jpg) 50%/cover no-repeat;z-index:-1}.hero-content{padding-top:80px;padding-bottom:100px;color:var(--bone);max-width:820px}.hero h1{color:var(--bone);margin-top:20px}.hero .eyebrow{color:color-mix(in srgb,var(--bone) 85%,transparent)}.hero .meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:24px 32px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--bone) 80%,transparent)}.section{padding:clamp(80px,10vw,140px) 0}.section.tight{padding:clamp(48px,6vw,96px) 0}.section-head{display:grid;grid-gap:16px;gap:16px;max-width:720px;margin-bottom:clamp(32px,4vw,56px)}.section-head p{font-size:clamp(17px,1.4vw,20px);color:var(--muted);max-width:60ch}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:2px;gap:2px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{background:var(--bone);padding:32px 28px;display:grid;grid-gap:6px;gap:6px}.feature .num{font-family:var(--font-serif);font-size:38px;color:var(--wood)}.feature .lbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.gallery{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(6,1fr);grid-auto-rows:180px}.gallery figure{margin:0;overflow:hidden;background:var(--cream);border-radius:2px}.gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.gallery figure:hover img{transform:scale(1.04)}.g-1{grid-column:span 4;grid-row:span 2}.g-2,.g-3{grid-column:span 2;grid-row:span 1}.g-4{grid-column:span 3;grid-row:span 2}.g-5,.g-6{grid-column:span 3;grid-row:span 1}.g-7{grid-column:span 2;grid-row:span 2}.g-8{grid-column:span 4;grid-row:span 1}@media (max-width:800px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.gallery figure{grid-column:span 1!important;grid-row:span 1!important}.g-1,.g-4{grid-column:span 2!important}}.reno-gallery{column-count:3;column-gap:12px}.reno-gallery figure{page-break-inside:avoid;break-inside:avoid;margin:0 0 12px;overflow:hidden;background:var(--cream);border-radius:2px}.reno-gallery figure img{display:block;width:100%;height:auto;transition:transform .8s ease}.reno-gallery figure:hover img{transform:scale(1.03)}@media (max-width:900px){.reno-gallery{column-count:2}}@media (max-width:560px){.reno-gallery{column-count:1}}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,5vw,96px);gap:clamp(32px,5vw,96px);align-items:center}.split img{border-radius:2px;aspect-ratio:4/5;object-fit:cover}.split-copy{display:grid;grid-gap:20px;gap:20px}.split-copy p{color:var(--muted);font-size:17px}@media (max-width:800px){.split{grid-template-columns:1fr}}.amenities{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px 40px;gap:20px 40px;list-style:none;padding:0;margin:0}.amenities li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}.amenities li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);flex-shrink:0}.location{background:var(--cream)}.location .inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:clamp(32px,5vw,80px);gap:clamp(32px,5vw,80px)}.location iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:2px;filter:grayscale(.25) contrast(.95)}@media (max-width:800px){.location .inner{grid-template-columns:1fr}}.cta{background:var(--ink);text-align:center;padding:clamp(72px,10vw,140px) var(--pad)}.cta,.cta h2{color:var(--bone)}.cta p{color:color-mix(in srgb,var(--bone) 75%,transparent);margin:20px auto 32px;max-width:56ch}.cta .book-btn{background:var(--bone);color:var(--ink)}.cta .book-btn:hover{background:var(--terracotta);color:var(--bone)}.page-header{padding:clamp(64px,9vw,132px) 0 clamp(36px,5vw,64px);border-bottom:1px solid var(--line)}.page-header .wrap{max-width:820px}.page-header h1{font-size:clamp(40px,5.4vw,76px);margin-top:16px}.page-header .lede{margin-top:24px;font-size:clamp(18px,1.6vw,22px);color:var(--muted);max-width:60ch}.story{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,5vw,96px);gap:clamp(32px,5vw,96px);align-items:center}.story.reverse .story-media{order:2}.story-copy{display:grid;grid-gap:18px;gap:18px}.story-copy p{color:var(--muted);font-size:17px}.story-copy .year{font-family:var(--font-serif);font-size:20px;color:var(--wood)}.story-media img{border-radius:2px;aspect-ratio:3/2;object-fit:cover;width:100%}@media (max-width:800px){.story{grid-template-columns:1fr}.story.reverse .story-media{order:0}}.photo-ph{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--cream);border:1px dashed var(--sand);border-radius:2px;color:var(--muted);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:24px}.photo-ph.tall{aspect-ratio:4/5}.photo-ph.wide{aspect-ratio:3/2}.timeline{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:140px 1fr;grid-gap:clamp(20px,4vw,56px);gap:clamp(20px,4vw,56px);padding:clamp(28px,4vw,48px) 0;border-bottom:1px solid var(--line)}.timeline-item .t-year{font-family:var(--font-serif);font-size:clamp(28px,3vw,40px);color:var(--wood);line-height:1}.timeline-item .t-body{display:grid;grid-gap:10px;gap:10px}.timeline-item .t-body h3{font-size:clamp(20px,1.8vw,26px)}.timeline-item .t-body p{color:var(--muted);font-size:16px}@media (max-width:640px){.timeline-item{grid-template-columns:1fr;gap:8px}}.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:clamp(28px,4vw,48px);gap:clamp(28px,4vw,48px)}.team-card{display:grid;grid-gap:16px;gap:16px}.team-card .team-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}.team-card h3{font-size:22px}.team-card .role{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--wood);margin-top:2px}.team-card p{color:var(--muted);font-size:15px;margin-top:6px}.members-gate{display:grid;grid-gap:20px;gap:20px;max-width:560px;padding:clamp(48px,8vw,96px) 0}.members-gate p{color:var(--muted);font-size:17px;max-width:52ch}.res-banner{display:grid;grid-gap:16px;gap:16px;background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:4px;padding:clamp(24px,3.4vw,40px)}.res-banner p{color:var(--muted);font-size:16px;max-width:62ch}.res-banner.is-open{border-left-color:var(--sage)}.res-banner.is-closed{border-left-color:var(--terracotta)}.res-banner.is-members{border-left-color:var(--wood)}.res-banner.is-loading{min-height:96px;align-content:center}.res-eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:clamp(16px,2vw,24px);gap:clamp(16px,2vw,24px)}.addon-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bone);border:1px solid var(--line);border-radius:4px;padding:clamp(24px,2.4vw,32px);transition:border-color .2s ease}.addon-card:hover{border-color:var(--sand)}.addon-img-btn{position:relative;display:block;width:calc(100% + 2 * clamp(24px, 2.4vw, 32px));margin:calc(-1 * clamp(24px, 2.4vw, 32px)) calc(-1 * clamp(24px, 2.4vw, 32px)) 20px;padding:0;border:0;background:var(--cream);overflow:hidden;cursor:zoom-in}.addon-img{display:block;width:100%;height:200px;object-fit:cover;transition:transform .6s ease}.addon-img-btn:hover .addon-img{transform:scale(1.04)}.addon-img-hint{position:absolute;right:10px;bottom:10px;padding:6px 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);background:color-mix(in srgb,var(--ink) 55%,transparent);border-radius:999px;opacity:0;transition:opacity .2s ease;pointer-events:none}.addon-img-btn:focus-visible .addon-img-hint,.addon-img-btn:hover .addon-img-hint{opacity:1}.addon-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px);background:color-mix(in srgb,var(--ink) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.addon-modal{position:relative;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--bone);border-radius:6px;box-shadow:0 24px 70px rgba(42,38,32,.35)}.addon-modal-img{display:block;width:100%;height:auto;max-height:55vh;object-fit:cover;border-radius:6px 6px 0 0}.addon-modal-body{display:grid;grid-gap:14px;gap:14px;padding:clamp(24px,3vw,36px)}.addon-modal-body h3{font-size:clamp(24px,3vw,30px)}.addon-modal-close{position:absolute;top:12px;right:12px;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:color-mix(in srgb,var(--bone) 82%,transparent);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;transition:background .2s ease}.addon-modal-close:hover{background:var(--bone)}.addon-body{display:grid;grid-gap:10px;gap:10px;flex:1 1;min-width:0}.addon-body h3{font-size:22px;margin:0;overflow-wrap:anywhere}.addon-desc{font-size:15px;line-height:1.6;word-break:break-word}.addon-desc,.addon-notice{color:var(--muted);overflow-wrap:anywhere}.addon-notice{font-size:13px;opacity:.7;display:flex;align-items:center;gap:5px}.addon-notice:before{content:"⏱";font-size:12px;flex-shrink:0}.addon-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.addon-price{display:grid;grid-gap:2px;gap:2px}.addon-price .amount{font-family:var(--font-serif);font-size:30px;color:var(--wood);line-height:1}.addon-price .unit{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.addon-btn,.addon-btn:visited{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:var(--ink);color:var(--bone);font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;white-space:nowrap;transition:background .2s ease}.addon-btn:hover{background:var(--terracotta)}.addon-btn.is-soon{color:var(--muted);border:1px solid var(--line);cursor:not-allowed}.addon-btn.is-soon,.addon-btn.is-soon:hover{background:transparent}.pay-note{font-size:14px;color:var(--muted);text-align:center;max-width:56ch;margin:0 auto}.pay-note a{color:var(--wood)}.pay-note a:hover{color:var(--ink)}footer{padding:48px var(--pad);border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}footer a:hover{color:var(--ink)}