:root{--color-green:#1a3c34;--color-green-light:#234d42;--color-green-dark:#102620;--color-gold:#c9a96e;--color-gold-light:#dbbf8c;--color-gold-dark:#a8864e;--color-ivory:#faf8f4;--color-ivory-dark:#f0ece4;--color-black:#1c1c1e;--color-black-mid:#2c2c2e;--color-muted:#6b6b6b;--color-border:#e4ddd3;--color-white:#fff;--bg:var(--color-ivory);--bg-dark:var(--color-green);--text:var(--color-black);--text-muted:var(--color-muted);--text-inverse:var(--color-ivory);--accent:var(--color-gold);--border:var(--color-border);--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000000f;--shadow-md:0 4px 16px 0 #0000001a;--shadow-lg:0 12px 40px 0 #00000026;--shadow-xl:0 24px 60px 0 #0003;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration-sm:.15s;--duration-md:.25s;--duration-lg:.4s;--max-width:1280px;--nav-height:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul,ol{list-style:none}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;font-weight:500;line-height:1.15}h1{font-size:clamp(var(--text-4xl), 5vw, var(--text-7xl))}h2{font-size:clamp(var(--text-3xl), 3.5vw, var(--text-5xl))}h3{font-size:clamp(var(--text-2xl), 2.5vw, var(--text-4xl))}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{color:var(--text-muted);line-height:1.75}.eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);font-weight:600}.container{width:100%;max-width:var(--max-width);padding-inline:var(--space-6);margin-inline:auto}@media (min-width:768px){.container{padding-inline:var(--space-10)}}@media (min-width:1280px){.container{padding-inline:var(--space-16)}}.section{padding-block:var(--space-20)}@media (min-width:768px){.section{padding-block:var(--space-32)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:.875rem var(--space-8);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background-color var(--duration-md) var(--ease), color var(--duration-md) var(--ease), border-color var(--duration-md) var(--ease), transform var(--duration-sm) var(--ease), box-shadow var(--duration-md) var(--ease);white-space:nowrap;cursor:pointer;border:2px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-gold);color:var(--color-green-dark);border-color:var(--color-gold)}.btn-primary:hover{background:var(--color-gold-dark);border-color:var(--color-gold-dark);box-shadow:0 4px 20px #c9a96e66}.btn-secondary{background:var(--color-green);color:var(--color-ivory);border-color:var(--color-green)}.btn-secondary:hover{background:var(--color-green-light);border-color:var(--color-green-light)}.btn-outline-light{color:var(--color-ivory);background:0 0;border-color:#faf8f480}.btn-outline-light:hover{border-color:var(--color-ivory);background:#faf8f41a}.btn-outline-dark{color:var(--color-green);border-color:var(--color-green);background:0 0}.btn-outline-dark:hover{background:var(--color-green);color:var(--color-ivory)}.btn-sm{padding:.625rem var(--space-5);font-size:var(--text-xs)}.btn-lg{padding:1rem var(--space-10);font-size:var(--text-base)}.card{background:var(--color-white);border:1px solid var(--border);border-radius:var(--radius-xl);transition:transform var(--duration-md) var(--ease), box-shadow var(--duration-md) var(--ease);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-body{padding:var(--space-6)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.field-input{width:100%;padding:.875rem var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--color-white);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-sm) var(--ease), box-shadow var(--duration-sm) var(--ease);-webkit-appearance:none;outline:none}.field-input::placeholder{color:var(--text-muted);opacity:.6}.field-input:focus{border-color:var(--color-green);box-shadow:0 0 0 3px #1a3c341f}.field-input:focus-visible{border-color:var(--color-gold);box-shadow:0 0 0 3px #c9a96e40}.field-input.error{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1f}.field-error{font-size:var(--text-xs);color:#c0392b;align-items:center;gap:var(--space-1);display:flex}.gold-divider{background:var(--color-gold);width:60px;height:2px;margin-block:var(--space-6);display:block}.gold-divider-center{margin-inline:auto}.section-header{max-width:640px}.section-header.center{text-align:center;margin-inline:auto}.section-header .eyebrow{margin-bottom:var(--space-3)}.section-header h2{margin-bottom:var(--space-4)}.section-header p{font-size:var(--text-lg)}.img-overlay{position:relative;overflow:hidden}.img-overlay:after{content:"";pointer-events:none;background:linear-gradient(#0000 50%,#1a3c34b3 100%);position:absolute;inset:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp var(--duration-lg) var(--ease-out) both}.animate-fade-in{animation:fadeIn var(--duration-lg) var(--ease-out) both}.animate-scale-in{animation:scaleIn var(--duration-md) var(--ease-out) both}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.3rem .75rem;font-weight:600;display:inline-flex}.badge-gold{color:var(--color-gold-dark);background:#c9a96e26;border:1px solid #c9a96e4d}.badge-green{color:var(--color-green);background:#1a3c3414;border:1px solid #1a3c3426}.nav-height{height:var(--nav-height)}.prose h2,.prose h3{margin-top:var(--space-8);margin-bottom:var(--space-4)}.prose p{margin-bottom:var(--space-5);color:var(--text-muted)}.prose ul{padding-left:var(--space-6);list-style:outside}.prose li{margin-bottom:var(--space-2);color:var(--text-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-gold{color:var(--color-gold)}.text-green{color:var(--color-green)}.text-ivory{color:var(--color-ivory)}.text-muted{color:var(--text-muted)}.bg-green{background:var(--color-green)}.bg-gold{background:var(--color-gold)}.bg-ivory{background:var(--color-ivory)}.bg-dark{background:var(--color-ivory-dark)}.grid-2{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-gap-4{align-items:center;gap:var(--space-4);display:flex}html,body{overflow-x:hidden}*{min-width:0}@media (max-width:767px){:root{--nav-height:68px;--space-20:3rem;--space-32:4rem}.section{padding-block:var(--space-12)}.container{padding-inline:var(--space-4)}h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.6rem,6vw,2.4rem)}h3{font-size:clamp(1.2rem,5vw,1.8rem)}}@media (max-width:480px){.btn-full-mobile{width:100%}}.btn,button,a[class*=btn]{min-height:44px}input,select,textarea{min-height:48px;font-size:16px}@media (max-width:640px){#date-search-form{padding:var(--space-4)!important;grid-template-columns:1fr!important}#date-search-form .field label[style*="visibility: hidden"]{display:none}#date-search-form>div:last-child{margin-top:0}}@media (max-width:767px){#hero{align-items:flex-start;min-height:100svh}#hero .container{padding-top:calc(var(--nav-height) + var(--space-8))!important;padding-bottom:var(--space-16)!important}}.home-gallery-grid{gap:var(--space-4);border-radius:var(--radius-xl);grid-template-rows:240px 240px;grid-template-columns:2fr 1fr 1fr;display:grid;overflow:hidden}@media (max-width:767px){.home-gallery-grid{grid-template-rows:160px 160px!important;grid-template-columns:1fr 1fr!important}.home-gallery-grid>div:first-child{grid-column:span 2;grid-row:span 1!important}article>div[style*=order],article>div[style*="order: 0"],article>div[style*="order: 1"]{order:0!important}article>div>div[style*="height: '380px'"],article>div>div[style*="height: '400px'"],article>div>div[style*="height: '460px'"],article>div>div[style*="height: '480px'"]{height:240px!important}section[style*="height: '480px'"],section[style*="height: '500px'"],section[style*="height: '520px'"]{height:320px!important}}@media (max-width:480px){.booking-steps{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto;gap:var(--space-4)!important}.booking-steps::-webkit-scrollbar{display:none}}.contact-name-email-grid{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.contact-name-email-grid{grid-template-columns:1fr!important}}.confirmation-details-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (max-width:480px){.confirmation-details-grid{grid-template-columns:1fr!important}}@media (max-width:640px){.gallery-grid figure[style*=span\ 2]{aspect-ratio:4/3!important;grid-column:span 1!important}.footer-col-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:400px){.footer-col-grid{grid-template-columns:1fr!important}}@media (hover:none){.card:hover{box-shadow:var(--shadow-sm);transform:none}.dining-feature-card:hover{box-shadow:none;transform:none}}@media (max-width:480px){div[style*="padding: 'var(--space-10)'"]{padding:var(--space-6)!important}div[style*="padding: 'var(--space-8)'"]{padding:var(--space-5)!important}div[style*="display: 'flex'"]>.btn+.btn{width:100%}}@media (max-width:400px){.room-price-row{flex-direction:column!important;align-items:flex-start!important}.room-price-row .btn{width:100%}}input[type=date]{appearance:none}input[type=date]::-webkit-date-and-time-value{text-align:left}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (max-width:767px){div[style*="height: '460px'"],div[style*="height: '480px'"]{height:260px!important}div[style*="height: '480px'"]{height:220px!important}div[style*="height: '220px'"]{height:180px!important}}@media (max-width:480px){div[style*="flexWrap: 'wrap'"]{flex-direction:column;align-items:stretch}div[style*="flexWrap: 'wrap'"] .btn{text-align:center;width:100%}}@media (max-width:900px){article[style*=grid-template-columns],article[class*=grid-template-columns]{grid-template-columns:1fr!important}}@media (max-width:767px){.animate-fade-in-up{opacity:1;animation:none;transform:none}}
