:root{--olive:#303000;--cream:#f4efba;--brown:#281b1e;--forest:#111a15;--gold:#b59a58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--olive);color:var(--cream);font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--cream);outline-offset:6px}h1,h2,h3,p{margin:0;font-weight:400}.skip{position:absolute;left:1rem;top:-100px;z-index:10;background:var(--forest);padding:12px}.skip:focus{top:10px}.top{height:9.5vw;display:flex;align-items:center;justify-content:space-between;padding:0 4.5% 0 11.4%}.brand{font-size:2.2vw}.top nav{display:flex;gap:7vw;font-size:1.25vw;text-transform:uppercase;letter-spacing:.04em}.hero{position:relative;height:46.7vw}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero h1{position:absolute;bottom:3.8vw;right:3.2vw;text-transform:uppercase;font-size:3.4vw;text-shadow:0 2px 8px #000}.about{height:56.2vw;position:relative;background:var(--brown);display:flex;align-items:center}.about>img{width:50%;height:100%;object-fit:cover}.card{position:relative;margin-left:-3.2%;width:47.5%;border-radius:1.3vw;background:var(--olive);padding:3vw 5.8vw 4vw;min-height:35.2vw}.card h2{font-size:3.7vw;line-height:1.1}.eyebrow{font-size:1.55vw;letter-spacing:.16em;text-transform:uppercase;margin-top:.5vw}.description{margin-top:7vw;font-size:1.32vw;line-height:1.12}.description h3{font-size:inherit;margin:2.2vw 0 1.4vw}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding:2.7vw 7% 1.1vw 5.6%;border-bottom:1px solid #8f8c4d}.section-head h2{font-size:4.8vw;text-transform:uppercase}.section-head a{font-size:1.28vw;text-transform:uppercase}.options{width:59%;margin:9vw auto 0;font-size:2.15vw;line-height:1.12}.options p+p{margin-top:2.7vw}.limited{font-size:2.05vw;line-height:1.15;margin:19vw 12% 0 16%;padding-bottom:6.6vw}.contact{position:relative;isolation:isolate;text-align:center;padding:9vw 5% 6vw;background:radial-gradient(ellipse at 65% 40%,#49451066,transparent 70%),#303000}.contact:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.contact h2{font-size:5vw;text-transform:uppercase}.reserve{display:table;margin:6.5vw auto 2.4vw;background:#fff6a0;color:#303000;border-radius:999px;padding:2vw 7vw;font-size:1.55vw;letter-spacing:.13em;text-transform:uppercase}.reserve:hover{background:#fffac3;text-decoration:none}.social{display:block;font-size:1.8vw;text-transform:uppercase;letter-spacing:.08em}.phone{display:block;margin-top:2.5vw;font-size:1.7vw}footer{text-align:center;background:var(--forest);padding:4vw 5% 3vw;color:#a0a59a;font-size:2.15vw}.footer-brand{color:var(--gold);font-size:5vw;margin-bottom:3.2vw}footer small{display:block;width:51%;margin:6vw auto 0;padding-top:4.5vw;border-top:1px solid #293129;font-size:1.7vw}@media(min-width:1500px){body{max-width:1500px;margin:auto}}@media(max-width:600px){.top{height:auto;padding:22px 6%;gap:22px;flex-wrap:wrap}.brand{font-size:25px}.top nav{justify-content:space-between;width:100%;gap:12px;font-size:11px}.hero{height:60vw}.hero h1{font-size:24px;bottom:20px;right:20px}.about{height:auto;display:block;padding-bottom:25px}.about>img{width:100%;height:105vw}.card{width:88%;margin:-35px auto 0;border-radius:10px;padding:30px;min-height:0}.card h2{font-size:32px}.eyebrow{font-size:12px;margin-top:6px}.description{margin-top:35px;font-size:16px;line-height:1.35}.description h3{margin:24px 0 12px}.section-head{display:block;padding:28px 6% 18px}.section-head h2{font-size:34px}.section-head a{display:block;font-size:10px;margin-top:10px}.options{width:78%;font-size:19px;line-height:1.3;margin-top:45px}.options p+p{margin-top:25px}.limited{margin:70px 11% 0;font-size:18px;line-height:1.3;padding-bottom:45px}.contact{padding:55px 6% 40px}.contact h2{font-size:32px}.reserve{font-size:13px;padding:18px 48px;margin:35px auto 22px}.social{font-size:16px}.phone{font-size:16px;margin-top:20px}footer{font-size:18px;padding:35px 6% 28px}.footer-brand{font-size:38px;margin-bottom:20px}footer small{width:90%;font-size:13px;margin-top:40px;padding-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.email-link{display:block;margin:0 auto 25px;color:inherit;background:none;border:0;text-decoration:underline;font:inherit;font-size:18px;cursor:pointer}dialog{border:1px solid #8f8c4d;border-radius:12px;background:#303000;color:#f4efba;width:min(520px,92vw);max-height:90vh;padding:32px;font-size:18px}dialog::backdrop{background:#000a}dialog h2{font-size:32px;margin-right:24px}dialog>p{margin:15px 0}dialog label{display:block;margin:15px 0 5px}dialog input,dialog textarea{width:100%;padding:12px;background:#fffef1;color:#232300;border:1px solid #8f8c4d;border-radius:4px;font:16px Georgia,serif}dialog button{cursor:pointer}.close-modal{position:absolute;right:15px;top:10px;background:none;border:0;color:inherit;font-size:32px}.send{background:#fff6a0;color:#303000;border:0;border-radius:30px;padding:14px 25px;margin-top:20px;font:18px Georgia,serif}.send:disabled{opacity:.6;cursor:wait}#formStatus{margin-top:15px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #f4efba;outline-offset:3px}

/* Persistent navigation and anchor clearance. */
.top{position:sticky;top:0;z-index:100;background:var(--olive);box-shadow:0 1px 0 #8f8c4d55}.skip{z-index:101}html{scroll-padding-top:calc(var(--nav-height, 120px) + 16px)}

/* Compact fixed navigation; fixed page spacing prevents scroll jumps. */
body{padding-top:9.5vw}
.top{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:1500px;height:9.5vw;transition:height .28s ease,box-shadow .28s ease}
.top.is-compact{height:70px;box-shadow:0 4px 20px #0002}
.top .brand{transition:font-size .28s ease}
.top.is-compact .brand{font-size:26px}
.menu-toggle{display:none}
@media(max-width:767px){
 body{padding-top:84px}
 .top{height:84px;padding:0 22px;gap:0;flex-wrap:nowrap}
 .top.is-compact{height:62px}
 .top .brand,.top.is-compact .brand{font-size:26px;line-height:1.15}
 .top.nav-ready .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:0;color:var(--cream);cursor:pointer}
 .menu-toggle span{width:22px;height:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
 .menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .menu-open .menu-toggle span:nth-child(2){opacity:0}
 .menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .top nav{position:absolute;top:100%;left:0;width:100%;margin:0;padding:14px 22px 20px;background:var(--olive);border-top:1px solid #8f8c4d55;box-shadow:0 14px 20px #0002;flex-direction:column;gap:0;font-size:15px;max-height:calc(100dvh - 84px);overflow-y:auto}
 .top.nav-ready nav{display:none}
 .top.menu-open nav{display:flex}
 .top nav a{display:block;padding:15px 8px;min-height:48px}
}
@media(prefers-reduced-motion:reduce){.top,.top .brand,.menu-toggle span{transition:none}}
