@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#252b25;--muted:#6b7169;--cream:#f7f5ef;--forest:#263e31;--gold:#caa76c;--line:#e6e4dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button{cursor:pointer}.demo-banner{background:#d9b67a;color:#2d291e;text-align:center;padding:5px 12px;font-size:10px;letter-spacing:1.5px;font-weight:700}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:17px max(5vw,24px);background:#fff;box-shadow:0 2px 15px #0000000b}.brand{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.2;letter-spacing:2px;font-weight:500;white-space:nowrap}.brand strong{font-weight:700}.brand small{display:block;letter-spacing:3px;font-size:8px;margin-top:6px;color:var(--muted)}.brand-icon{font-size:35px;color:#b59b66}.header nav{display:flex;align-items:center;gap:26px}.header nav a{font-size:12px;font-weight:600;transition:color .2s}.header nav a:hover{color:#a7874f}.nav-cta{background:var(--forest);color:#fff!important;padding:11px 19px}.menu-toggle{display:none;border:0;background:transparent;font-size:26px}.hero{position:relative;min-height:670px;display:flex;align-items:center;color:#fff;background:url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2000&q=85') center 52%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1713dc 0%,#0c17139a 48%,#0c17131c 100%)}.hero-inner{position:relative;max-width:850px;margin-left:max(9vw,25px);padding:80px 20px 100px 0}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:3px;color:#987b4c;margin-bottom:21px}.eyebrow.light{color:#e2c68e}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.17}h1{font-size:clamp(46px,5.8vw,86px);letter-spacing:-1.5px;margin-bottom:22px}h1 em,h2 em{font-weight:400;color:#c9a970}h2{font-size:clamp(34px,3.7vw,55px);letter-spacing:-.6px;margin-bottom:25px}.hero-inner p{max-width:480px;font-size:16px;color:#eee9df;margin-bottom:32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:14px 24px;font-size:12px;font-weight:700;letter-spacing:.4px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--gold);color:#1f281f}.btn.outline{border:1px solid #ffffff91;color:#fff}.btn.dark{background:var(--forest);color:white;margin-top:30px}.hero-bottom{position:absolute;bottom:25px;left:9vw;display:flex;gap:20px;letter-spacing:3px;font-size:10px;color:#e6dccd}.section{padding:110px max(9vw,25px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro-copy{max-width:480px}.intro-copy p,.section-heading p,.room-body p,.events-copy p,.contact p{color:var(--muted)}.intro-image{position:relative}.intro-image img{height:440px}.image-note{position:absolute;bottom:-20px;left:-20px;background:var(--forest);color:#fff;padding:17px 25px;font-size:12px}.text-link{display:inline-block;color:var(--forest);font-size:12px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:7px;margin-top:12px}.features{background:var(--forest);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:44px max(9vw,25px);gap:45px}.features>div{border-left:1px solid #ffffff3a;padding-left:25px}.features span{font-size:12px;color:var(--gold)}.features h3{font:26px 'Playfair Display',Georgia,serif;margin:10px 0 5px}.features p{font-size:12px;color:#c7d1c9;margin:0}.section-heading{text-align:center;max-width:720px;margin:0 auto 55px}.section-heading p{margin:0}.menu-section{background:var(--cream)}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.menu-photo{height:520px}.menu-list h3{font:30px 'Playfair Display',Georgia,serif;margin-bottom:25px}.dish{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #dcd9d0}.dish b{display:block;font-weight:600;font-size:14px}.dish small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.dish strong{white-space:nowrap;color:#8b7047;font-size:14px}.rooms{background:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{border:1px solid var(--line);background:#fff}.room-card img{height:240px}.room-body{padding:24px}.room-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.room-top h3{font:23px 'Playfair Display',Georgia,serif;margin:0}.room-top span{font-size:11px;color:#997849;white-space:nowrap}.room-body p{font-size:13px;margin:14px 0 20px}.room-body a{font-weight:700;font-size:12px;color:var(--forest)}.events{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--forest);color:#fff}.events-image{background:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1100&q=85') center/cover}.events-copy{padding:85px 12%;align-self:center}.events-copy p{color:#d1d8d0}.event-tags{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 35px}.event-tags span{border:1px solid #ffffff50;padding:7px 12px;font-size:11px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:180px 180px;gap:12px}.gallery-grid img{height:100%}.gallery-grid img:first-child{grid-row:span 2}.gallery-grid img:last-child{grid-column:span 2}.booking{background:var(--cream)}.booking-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:35px;align-items:start}.calendar-panel,.booking-form{background:#fff;padding:32px;box-shadow:0 8px 40px #22222208}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.calendar-head h3{font:25px 'Playfair Display',Georgia,serif;margin:0;text-transform:capitalize}.calendar-head button{background:#f1efe8;border:0;width:36px;height:36px}.calendar-head button:disabled{opacity:.35;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-weekdays{font-size:11px;color:var(--muted);margin-bottom:12px}.calendar-days button,.calendar-days .empty{aspect-ratio:1;display:grid;place-items:center;border:0;background:#f4f5f0;color:var(--forest);font-size:12px}.calendar-days button:hover:not(:disabled){outline:2px solid var(--gold)}.calendar-days button:disabled{cursor:not-allowed;color:#bbb;background:#fafafa}.calendar-days button.occupied{background:#f4e1dc;color:#9b6b5b}.calendar-days button.in-range{background:#dfe8dc}.calendar-days button.selected{background:var(--forest);color:#fff}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;margin-right:5px}.dot.available{background:#e4ebe1}.dot.occupied{background:#f4e1dc}.dot.selected{background:var(--forest)}.calendar-hint{font-size:12px;color:var(--muted);margin:20px 0 0}.booking-form h3{font:28px 'Playfair Display',Georgia,serif;margin-bottom:25px}.booking-form label{display:block;font-size:11px;font-weight:700;margin-bottom:15px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:12px 11px;border:1px solid #dddcd5;background:#fff;margin-top:7px;min-width:0;border-radius:0;color:var(--ink);font-size:13px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form .checkbox{display:flex;gap:10px;align-items:start;color:var(--muted);font-weight:400;line-height:1.5}.checkbox input{width:auto;margin:3px 0 0}.full{width:100%}.booking-result{margin-top:20px;padding:16px;background:#e9f1e7;border-left:3px solid var(--forest);font-size:13px;white-space:pre-line}.booking-result.error{background:#fce9e6;border-color:#b34b39}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.contact-list{margin:25px 0}.contact-list p{font-size:13px;margin-bottom:15px}.contact-list b{color:var(--ink)}.map-wrap{position:relative;height:390px;background:#eee}.map-wrap iframe{border:0;width:100%;height:100%}.map-note{position:absolute;bottom:0;left:0;right:0;background:#fffef1ed;text-align:center;font-size:11px;padding:8px}footer{background:#1b2b22;color:#fff;padding:45px max(9vw,25px) 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:35px}.footer-top p{color:#c8d0c8;font-size:13px;margin:0}.footer-top a{font-size:12px}.footer-bottom{border-top:1px solid #ffffff2b;padding-top:20px;display:flex;justify-content:space-between;gap:10px;color:#9ba99d;font-size:11px}
@media(max-width:1050px){.header nav{gap:13px}.header nav a{font-size:11px}.room-top{display:block}.room-top span{display:block;margin-top:6px}.section{padding:75px 5vw}.features{padding:35px 5vw}.events-copy{padding:55px 8%}}
@media(max-width:760px){.header{padding:13px 20px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:15px 22px 25px;box-shadow:0 15px 20px #00000015;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:12px;font-size:13px}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:590px}.hero-inner{margin-left:6vw;padding:65px 10px 85px 0}.hero-bottom{left:6vw;gap:10px;font-size:9px;letter-spacing:1px}.intro,.menu-layout,.booking-grid,.contact,.events{grid-template-columns:1fr}.intro{gap:35px}.intro-image img{height:330px}.features{grid-template-columns:1fr;gap:22px}.cards{grid-template-columns:1fr}.room-card img{height:260px}.room-top{display:flex}.events-image{min-height:290px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.gallery-grid img:first-child{grid-row:span 2}.gallery-grid img:last-child{grid-column:span 2}.footer-top{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column}.map-wrap{height:320px}}
@media(max-width:450px){.brand{font-size:11px;letter-spacing:1px}.brand-icon{font-size:29px}.brand small{font-size:7px}.section{padding:65px 20px}.hero-inner{margin-left:20px}.hero-inner p{font-size:14px}.calendar-panel,.booking-form{padding:20px}.calendar-days{gap:3px}.calendar-days button{font-size:11px}.form-row{grid-template-columns:1fr;gap:0}.room-top{display:block}.gallery-grid{grid-template-rows:130px 130px 130px}.menu-photo{height:300px}}
