:root{--ink:#213128;--olive:#516246;--sand:#eee8db;--paper:#fbf9f4;--clay:#aa6049;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans)}.container{width:min(1180px,89vw);margin:auto}.topline{background:#1f2c25;color:#fff;text-align:center;padding:8px 15px;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.topline span{margin:0 10px;color:#bfc8b9}.header{height:80px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.logo{color:inherit;text-decoration:none;font:600 25px/1 var(--serif);letter-spacing:-1px}.logo>span{font-style:italic;font-weight:500}.logo small{display:block;margin-top:7px;font:600 8px/1 var(--sans);letter-spacing:2px;text-transform:uppercase}.header nav{display:flex;align-items:center;gap:29px}.header nav a{color:var(--ink);text-decoration:none;font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}.header .reserve-link{color:#fff;background:var(--olive);padding:12px 17px}.menu-button{display:none}.hero{height:min(800px,calc(100vh - 110px));min-height:580px;position:relative;overflow:hidden}.hero>img,.reservations>img{width:100%;height:100%;object-fit:cover}.hero>img{object-position:center 49%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,28,19,.72),rgba(13,28,19,.1) 70%)}.hero-copy{position:absolute;left:10.5vw;bottom:16%;color:#fff}.hero-copy>p,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.hero h1,.reservations h2{font:500 clamp(49px,6vw,87px)/1.01 var(--serif);letter-spacing:-3px;margin:18px 0 34px}.button{display:inline-block;background:#fff;color:var(--ink);padding:14px 18px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-decoration:none;text-transform:uppercase}.button span{font-size:17px;margin-left:20px}.badge{background:var(--sand);position:absolute;right:5vw;bottom:0;width:195px;padding:22px 25px;display:grid;grid-template-columns:1fr auto;align-items:baseline;row-gap:1px}.badge b{font:500 33px var(--serif)}.badge span{font-size:9px;letter-spacing:1px;text-transform:uppercase}.badge i{height:1px;background:#a9a695;grid-column:span 2;margin:13px 0}.number{color:var(--clay);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:0}.welcome{padding:145px 0 135px}.welcome-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:9vw;margin:27px 0 0 17%}.eyebrow{color:var(--clay);margin:0 0 17px}h2{font:500 clamp(39px,4.4vw,65px)/1.1 var(--serif);letter-spacing:-2.5px;margin:0}.copy{padding-top:40px;color:#46544b}.copy p{max-width:390px;margin:0 0 16px}.underlink{display:inline-block;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:19px;font-size:10px;font-weight:700;letter-spacing:1.4px;text-decoration:none;text-transform:uppercase}.summary{display:grid;grid-template-columns:54% 46%;background:var(--olive);color:#fff}.summary figure{height:625px;margin:0}.summary img,.nature img{width:100%;height:100%;object-fit:cover}.summary-copy{padding:125px 10vw 65px 8vw}.summary-copy .eyebrow{color:#e8ccbb}.summary-copy>p:not(.eyebrow){max-width:320px;opacity:.9;margin:24px 0}.summary dl{display:flex;gap:27px;margin:45px 0 0}.summary dl div{min-width:55px}.summary dt{font:500 37px var(--serif)}.summary dd{margin:0;font-size:9px;letter-spacing:1px;text-transform:uppercase}.spaces{padding:145px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-head>p{max-width:315px;color:#48554c;margin:0}.gallery-title{font:500 28px var(--serif);margin:55px 0 18px}.gallery-title:first-of-type{margin-top:0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.grid-photo{height:215px;border:0;padding:0;overflow:hidden;background:#ddd;cursor:pointer}.grid-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.grid-photo:hover img{transform:scale(1.06)}.services{background:var(--sand);padding:125px 0}.services-grid{display:grid;grid-template-columns:42% 58%;gap:6vw}.services-grid>div>p:last-child{max-width:290px;color:#48554c;margin:22px 0 0}.services ul{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.services li{border-top:1px solid #c9c2b3;padding:19px 0;font-size:13px}.services li:before{content:"✦";display:block;color:var(--clay);font-size:17px;margin-bottom:6px}.location{display:grid;grid-template-columns:45% 55%;min-height:630px}.location-copy{padding:115px 10vw 70px 11vw}.location-copy p:not(.number){color:#46544b;max-width:330px;margin:23px 0 0}.location figure{position:relative;margin:0;overflow:hidden}.location img{width:100%;height:100%;object-fit:cover}.location figcaption{position:absolute;right:18px;bottom:12px;color:white;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.nature{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;padding:140px 0}.nature figure{height:455px;margin:0}.nature>div{align-self:center}.nature>div>p:not(.eyebrow){color:#46544b;max-width:380px;margin:22px 0 0}.rules{display:grid;grid-template-columns:35% 65%;gap:6vw;padding-bottom:140px}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.rule-grid article{border-top:1px solid #cfcac0;padding:20px 0 15px}.rule-grid b{font:500 22px var(--serif)}.rule-grid p{color:#46544b;margin:8px 0 0}.reservations{height:690px;position:relative;color:#fff}.reservations>img{position:absolute;object-position:center}.reservation-copy{position:absolute;left:11vw;top:50%;transform:translateY(-50%);max-width:520px}.reservation-copy .eyebrow{color:#edd1be}.reservation-copy h2{margin:16px 0}.reservation-copy>p:not(.eyebrow){max-width:390px}.contacts{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.contacts a{background:#fff;color:var(--ink);padding:12px 14px;font-size:10px;font-weight:700;letter-spacing:1px;text-decoration:none;text-transform:uppercase}footer{display:grid;grid-template-columns:1.2fr 1fr 1fr .6fr;gap:25px;align-items:end;padding:42px 5vw;background:#1f2c25;color:#fff;font-size:10px;letter-spacing:1px;text-transform:uppercase}footer a{display:block;color:#fff;text-decoration:none;margin-bottom:7px}footer p{margin:0;font-size:9px;line-height:1.75}.lightbox{border:0;padding:0;background:transparent;color:#fff;max-width:min(92vw,1100px);width:100%}.lightbox::backdrop{background:rgba(9,14,10,.9)}.lightbox img{display:block;width:100%;max-height:80vh;object-fit:contain}.lightbox p{text-align:center;font:20px var(--serif)}.close{position:fixed;right:3vw;top:2vw;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}.reveal{opacity:0;transform:translateY(17px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.topline{font-size:8px;line-height:1.4;padding:7px 12px}.topline span{margin:0 4px}.header{height:70px;padding:0 6vw}.header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px 6vw;background:var(--paper);flex-direction:column;align-items:flex-start;gap:21px}.header nav.open{display:flex}.menu-button{display:grid;grid-template-columns:18px auto;grid-template-rows:7px 7px;align-items:center;column-gap:8px;border:0;background:none}.menu-button i{height:1px;background:var(--ink)}.menu-button b{grid-area:1/2/3/3;font:700 9px var(--sans);letter-spacing:1px;text-transform:uppercase}.hero{height:calc(100vh - 100px);min-height:530px}.hero-copy{left:7vw}.badge{right:0;width:168px;padding:15px 18px}.badge b{font-size:27px}.welcome{padding:85px 0}.welcome-grid{display:block;margin:23px 0 0}.copy{padding-top:28px}.summary{display:flex;flex-direction:column}.summary figure{height:370px}.summary-copy{padding:75px 8vw}.spaces{padding:90px 0}.section-head{display:block;margin-bottom:35px}.section-head>p{margin-top:22px}.gallery-title{font-size:25px;margin:42px 0 14px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:7px}.grid-photo{height:150px}.services{padding:85px 0}.services-grid{display:block}.services ul{grid-template-columns:1fr 1fr;margin-top:45px}.location{display:flex;flex-direction:column}.location-copy{padding:85px 8vw 65px}.location figure{height:390px}.nature{display:flex;flex-direction:column;gap:48px;padding:90px 0}.nature figure{height:330px}.rules{display:block;padding-bottom:90px}.rule-grid{margin-top:42px;gap:0 20px}.reservations{height:680px}.reservation-copy{left:8vw;right:8vw}footer{display:block;padding:35px 6vw}footer>div,footer p{margin-bottom:22px}}
