@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--ink:#18221d;--paper:#f8f5ee;--sand:#ebe4d8;--muted:#706d65;--rust:#aa5c39;--rust-dark:#7e4228;--line:rgba(24,34,29,.15);--green:#30483a;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e7a06f;outline-offset:3px}.container{max-width:var(--max);margin:0 auto;padding:0 32px}.demo-strip{background:#20251f;color:#fff;font-size:12px;letter-spacing:.025em;padding:9px 0;text-align:center}.demo-strip strong{color:#d9b288}.demo-strip a{text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,245,238,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav-inner{height:87px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:34px;height:40px;display:grid;place-items:center;color:var(--rust)}.brand-mark svg{width:32px;height:38px}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-copy b{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.045em;line-height:1}.brand-copy small{text-transform:uppercase;font-weight:700;letter-spacing:.19em;font-size:9px;color:var(--rust)}.nav-links{display:flex;align-items:center;gap:31px}.nav-links>a:not(.nav-book){font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.nav-links>a:not(.nav-book):hover,.nav-links>a.active{color:var(--rust)}.nav-book,.button{background:var(--rust);color:white;border:1px solid var(--rust);padding:15px 23px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:background .2s,transform .2s}.nav-book:hover,.button:hover{background:var(--rust-dark);transform:translateY(-1px)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:white}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.mobile-toggle{display:none;border:0;background:none;font-size:24px;color:var(--ink)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;font-weight:700;color:var(--rust);margin:0 0 23px}.eyebrow-light{color:#f0bc96}.hero{min-height:700px;position:relative;display:flex;align-items:center;color:#fff;isolation:isolate;background:#334439}.hero:before,.image-pane:before,.gallery-image:before,.visual-card:before,.mini-photo:before{content:"";position:absolute;inset:0;background:var(--image) center/cover no-repeat;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,30,22,.83),rgba(18,30,22,.44) 58%,rgba(18,30,22,.13));z-index:-1}.hero-content{width:100%;padding-top:75px;padding-bottom:95px}.hero h1{font:500 clamp(60px,7vw,116px)/1.01 var(--serif);letter-spacing:-.055em;max-width:780px;margin:0 0 28px}.hero h1 em{font-weight:400;color:#e6c29e}.hero p.subhead{font-size:17px;line-height:1.8;max-width:530px;margin:0 0 38px;color:#f0e9dd}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.hero-float{position:absolute;bottom:0;right:0;background:var(--rust);color:#fff;padding:26px 34px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:14px;align-items:center}.hero-float span{font-size:24px;line-height:1}.section{padding:110px 0}.section-heading{text-align:center;max-width:750px;margin:0 auto 60px}.section-heading h2,.text-pane h2,.inner-hero h1,.cta-band h2,.booking-intro h2{font:500 clamp(39px,4.5vw,66px)/1.12 var(--serif);letter-spacing:-.045em;margin:0 0 20px}.section-heading p,.text-pane p,.section-intro{font-size:16px;line-height:1.85;color:var(--muted)}.section-heading .eyebrow{margin-bottom:17px}.intro-split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.image-pane{position:relative;min-height:520px;background:#475344;isolation:isolate}.image-pane:before{z-index:-1}.text-pane{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px min(10vw,130px);background:var(--sand)}.text-pane h2{max-width:600px}.text-pane p{max-width:510px;margin:0 0 22px}.underline-link{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;border-bottom:1px solid var(--rust);padding-bottom:8px;color:var(--rust);margin-top:15px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pillar{padding:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillar .number{font-family:var(--serif);font-size:32px;color:var(--rust)}.pillar h3{font:500 26px var(--serif);margin:20px 0 12px}.pillar p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.features{background:#24392e;color:white}.features .section-heading p{color:#c4d0c6}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.visual-card{position:relative;min-height:370px;display:flex;align-items:flex-end;isolation:isolate;background:#34453a;overflow:hidden}.visual-card:before{transition:transform .7s}.visual-card:hover:before{transform:scale(1.06)}.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(0,0,0,.77));z-index:-1}.visual-card div{padding:30px}.visual-card h3{font:500 29px var(--serif);margin:0 0 8px}.visual-card p{font-size:13px;line-height:1.65;color:#eee;margin:0}.note-band{background:#e8daca;padding:32px 0;text-align:center;color:var(--green)}.note-band p{font:400 26px var(--serif);margin:0}.cta-band{background:var(--rust);color:#fff;padding:85px 0;text-align:center}.cta-band h2{max-width:760px;margin:0 auto 28px}.cta-band .eyebrow{color:#ffe2cf}.footer{background:#16231b;color:#fff;padding:77px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:65px}.footer .brand-copy small{color:#d2a98d}.footer p,.footer a,.footer address{color:#c4cbc4;line-height:1.9;font-size:13px;font-style:normal}.footer h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px}.footer-links{display:flex;flex-direction:column;gap:5px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:25px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#a4b4a7}.footer-bottom a{text-decoration:underline}.inner-hero{background:#e9e0d3;padding:88px 0 82px}.inner-hero h1{font-size:clamp(50px,6vw,90px)}.inner-hero .section-intro{max-width:700px;margin:0}.inner-hero .eyebrow{margin-bottom:16px}.menu-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:45px}.filter{background:none;border:1px solid #c4bdb2;color:var(--ink);padding:12px 18px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.filter.active,.filter:hover{color:white;border-color:var(--green);background:var(--green)}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 44px}.menu-item{padding:25px 0;border-bottom:1px solid var(--line)}.menu-item-head{display:flex;align-items:baseline;gap:10px;justify-content:space-between}.menu-item h3{font:500 25px var(--serif);margin:0}.menu-item .price{font-size:17px;color:var(--rust);font-weight:700;white-space:nowrap}.menu-item p{font-size:13px;line-height:1.8;color:var(--muted);max-width:460px;margin:10px 0 0}.menu-note{max-width:850px;margin:60px auto 0;padding:22px;border:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px}.gallery-image{position:relative;border:0;isolation:isolate;background:#5b6656;overflow:hidden;cursor:zoom-in}.gallery-image:before{transition:transform .65s;z-index:-1}.gallery-image:hover:before{transform:scale(1.07)}.gallery-image:after{content:"↗";position:absolute;right:18px;bottom:15px;color:#fff;font-size:25px;text-shadow:0 1px 8px #000}.gallery-image.wide{grid-column:span 2}.gallery-image.tall{grid-row:span 2}.gallery-image .sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.gallery-dialog{border:0;background:#1e2620;padding:18px;max-width:min(92vw,1120px);width:100%;color:white}.gallery-dialog::backdrop{background:rgba(0,0,0,.83)}.gallery-dialog img{width:100%;max-height:76vh;object-fit:contain}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 4px 12px;font-size:13px}.dialog-close{border:1px solid #7e897e;color:white;background:transparent;padding:8px 13px}.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}.booking-intro p:not(.eyebrow){color:var(--muted);line-height:1.8}.contact-info{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.contact-info h3{font:500 23px var(--serif);margin:18px 0 5px}.contact-info p{margin:0 0 15px}.form-card{background:#fff;border:1px solid var(--line);padding:40px;box-shadow:0 16px 40px rgba(28,27,21,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.field input,.field textarea,.field select{padding:14px 13px;border:1px solid #d5d2c9;border-radius:0;background:#fff;color:var(--ink);width:100%;font-size:14px}.field textarea{resize:vertical;min-height:120px}.form-notice{background:#f3eee6;border-left:3px solid var(--rust);padding:14px 16px;font-size:12px;line-height:1.7;color:#66584e}.form-status{display:none;margin-top:18px;background:#e6f0e5;padding:16px;color:#244b2f;font-size:14px;line-height:1.6}.form-status.visible{display:block}.form-footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px}.form-footer small{font-size:11px;color:var(--muted);line-height:1.6}.location-card{background:var(--sand);padding:42px;margin-top:75px;text-align:center}.location-card p{color:var(--muted)}.location-card h2{font:500 37px var(--serif);margin:0 0 13px}.location-card small{display:block;margin-top:12px;font-size:12px;color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1080px){.nav-links{gap:16px}.nav-links>a:not(.nav-book){font-size:11px}.text-pane{padding:65px 55px}.features-grid{gap:14px}.footer-grid{gap:32px}}@media(max-width:800px){.container{padding:0 22px}.nav-inner{height:73px}.mobile-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 18px 30px #0001;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links>a{padding:15px;border-bottom:1px solid var(--line)}.nav-links .nav-book{text-align:center;justify-content:center;margin-top:15px}.hero{min-height:600px}.hero h1{font-size:clamp(57px,11vw,85px)}.hero-float{padding:15px 22px}.intro-split,.booking-layout{grid-template-columns:1fr}.image-pane{min-height:400px}.text-pane{padding:65px 32px}.pillars,.features-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.booking-layout{gap:45px}}@media(max-width:560px){.demo-strip{font-size:10px;line-height:1.5}.brand-copy b{font-size:23px}.hero{min-height:590px}.hero-content{padding-top:50px;padding-bottom:100px}.hero h1{font-size:55px}.hero p.subhead{font-size:15px}.hero-float{font-size:10px;left:0;right:auto}.section{padding:72px 0}.section-heading{margin-bottom:38px}.section-heading h2,.text-pane h2,.inner-hero h1,.cta-band h2{font-size:43px}.pillars,.features-grid,.menu-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.pillar{padding:23px 5px}.visual-card{min-height:330px}.footer-grid{gap:40px}.inner-hero{padding:72px 0 65px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-image.wide{grid-column:auto}.gallery-image.tall{grid-row:auto}.form-card{padding:25px 21px}.form-footer .button{width:100%}.footer-bottom{flex-direction:column}.location-card{padding:30px 20px}}
