@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{color:#292b25;font-synthesis:none;text-rendering:optimizelegibility;--green:#36422f;--green-light:#596746;--red:#8e2924;--cream:#f5f2ea;--ink:#292b25;--muted:#6d7069;--serif:"Playfair Display", Georgia, serif;background:#fff;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;line-height:1.65}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topline{color:#f8f6f1;background:var(--green);letter-spacing:.025em;font-size:.76rem}.topline-inner,.nav-inner,.footer-main,.footer-bottom{width:min(1200px,100% - 48px);margin:0 auto}.topline-inner{justify-content:space-between;align-items:center;gap:20px;min-height:35px;display:flex}.topline-links{gap:27px;display:flex}.topline a:hover,.footer-links a:hover,.footer-bottom a:hover{color:#d7bc83}.nav-wrap{z-index:5;background:#fff;position:relative}.nav-inner{justify-content:space-between;align-items:center;gap:28px;min-height:91px;display:flex}.brand{flex:none;align-items:center;gap:10px;display:inline-flex}.brand>img{object-fit:contain;width:52px;height:52px}.brand-copy{color:var(--green);line-height:1.05;display:grid}.brand-copy strong{font-family:var(--serif);letter-spacing:.16em;font-size:1.5rem}.brand-copy>span{letter-spacing:.13em;margin-top:5px;font-size:.55rem;font-weight:700}.main-nav{justify-content:flex-end;align-items:center;gap:clamp(12px,1.65vw,25px);font-size:.8rem;font-weight:600;display:flex}.main-nav>a:not(.nav-book){padding:8px 0;transition:color .16s}.main-nav>a:not(.nav-book):hover{color:var(--red)}.nav-book{color:#fff;background:var(--red);letter-spacing:.08em;text-transform:uppercase;padding:12px 19px}.menu-toggle{display:none}.home-hero,.page-hero{color:#fff;background-color:#3c4436;background-position:50%;background-size:cover;align-items:center;display:flex;position:relative;overflow:hidden}.home-hero{min-height:clamp(550px,100vh - 126px,760px)}.hero-shade{background:linear-gradient(90deg,#121811b0 0%,#12181166 53%,#1218111a 100%);position:absolute;inset:0}.home-hero-content,.page-hero-copy{z-index:1;width:min(1200px,100% - 48px);margin:0 auto;position:relative}.home-hero-content{max-width:1200px;padding:86px 0 98px}.hero-kicker,.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.69rem;font-weight:700;line-height:1.5;display:inline-block}.hero-kicker{color:#e4d5b6}.home-hero h1,.page-hero h1,.home-contact h2,.not-found h1{font-family:var(--serif);font-weight:500}.home-hero h1{letter-spacing:-.035em;max-width:720px;margin:19px 0 17px;font-size:clamp(3rem,6.5vw,5.85rem);line-height:1.06}.home-hero-content>p{color:#ffffffe0;max-width:590px;margin:0;font-size:clamp(1rem,1.3vw,1.15rem)}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:30px;display:flex}.button{cursor:pointer;letter-spacing:.09em;text-align:center;text-transform:uppercase;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;min-height:49px;padding:12px 22px;font-size:.75rem;font-weight:700;line-height:1.3;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex}.button-light{color:var(--green);background:#fff}.button-light:hover{color:#fff;background:var(--red)}.button-outline{color:#fff;background:0 0;border-color:#ffffffbf}.button-outline:hover{color:var(--green);background:#fff}.button-dark{color:#fff;background:var(--green)}.button-dark:hover{background:var(--red)}.scroll-cue{color:#ffffffd1;letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:30px;right:max(24px,50vw - 600px)}.booking-section{z-index:2;background:#fff;width:min(1140px,100% - 48px);margin:-35px auto 0;padding:24px 28px 13px;position:relative;box-shadow:0 12px 45px #22231c1f}.booking-form{grid-template-columns:1fr 1fr .85fr auto;align-items:end;gap:16px;display:grid}.booking-form label{color:var(--green);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:.68rem;font-weight:700;display:grid}.booking-form input,.booking-form select{width:100%;min-height:44px;color:var(--ink);letter-spacing:normal;text-transform:none;background:#fff;border:0;border-bottom:1px solid #d5d4ce;border-radius:0;padding:8px 9px;font-size:.88rem}.booking-form .button{min-width:190px}.booking-note{min-height:1.25em;color:var(--muted);text-align:right;margin:10px 0 0;font-size:.73rem}.page-section{width:min(1200px,100% - 48px);margin:0 auto;padding:clamp(64px,8vw,112px) 0}.welcome-section{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,7vw,95px);display:grid}.welcome-image{padding:0 0 25px 24px;position:relative}.welcome-image:before{content:"";border:1px solid #c8c0ab;position:absolute;inset:24px 24px 0 0}.welcome-image img{aspect-ratio:1.18;object-fit:cover;width:100%;position:relative}.image-caption{color:#fff;background:var(--red);font-family:var(--serif);padding:12px 18px;font-size:.92rem;font-style:italic;position:absolute;bottom:0;right:-14px}.eyebrow{color:var(--red)}.welcome-copy h2,.section-heading h2,.event-copy h2,.discover-copy h2,.contact-details h2{color:var(--green);font-family:var(--serif);letter-spacing:-.025em;margin:12px 0 15px;font-size:clamp(2.15rem,3.4vw,3.4rem);font-weight:500;line-height:1.17}.welcome-copy p,.discover-copy p,.event-copy p,.section-heading p{color:var(--muted)}.welcome-copy p{margin:0 0 15px}.text-link{color:var(--red);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin-top:14px;font-size:.77rem;font-weight:700;display:inline-flex}.text-link span{font-size:1.2rem;transition:transform .16s}.text-link:hover span{transform:translate(4px)}.rooms-section{background:var(--cream);max-width:none;padding-left:max(24px,50vw - 600px);padding-right:max(24px,50vw - 600px)}.section-heading{max-width:680px;margin-bottom:43px}.section-heading.is-centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{margin-bottom:10px}.section-heading p{max-width:580px;margin:0 auto}.heading-rule{background:var(--red);width:48px;height:2px;margin-top:22px;display:block}.is-centered .heading-rule{margin-left:auto;margin-right:auto}.room-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}.room-card{background:#fff}.room-image{background:#ddd;display:block;overflow:hidden}.room-image img{aspect-ratio:.96;object-fit:cover;width:100%;transition:transform .5s}.room-card:hover .room-image img{transform:scale(1.035)}.room-card-body{padding:23px 24px 26px}.room-type{color:var(--red);letter-spacing:.15em;font-size:.63rem;font-weight:700}.room-card h3{color:var(--green);font-family:var(--serif);margin:8px 0;font-size:1.5rem;font-weight:500}.room-card p{min-height:3.3em;color:var(--muted);margin:0;font-size:.9rem}.section-action{text-align:center;margin-top:36px}.event-section{color:#fff;background:var(--green);grid-template-columns:1.12fr .88fr;min-height:470px;display:grid}.event-image{min-height:420px;overflow:hidden}.event-image img{width:100%;height:100%;min-height:inherit;object-fit:cover}.event-copy{flex-direction:column;justify-content:center;align-items:flex-start;max-width:620px;padding:65px clamp(35px,6vw,92px);display:flex}.event-copy .eyebrow,.home-contact .eyebrow{color:#ddc99e}.event-copy h2{color:#fff}.event-copy p{color:#ffffffc7;margin:0 0 8px}.discover-section{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(40px,8vw,110px);display:grid}.discover-copy{max-width:490px}.discover-image{display:block;position:relative}.discover-image img{aspect-ratio:1.32;object-fit:cover;width:100%}.discover-image span{color:#fff;background:var(--green);letter-spacing:.08em;text-transform:uppercase;padding:14px 20px;font-size:.75rem;position:absolute;bottom:0;right:0}.home-gallery{background:#fbfaf7;max-width:none;padding-left:max(24px,50vw - 600px);padding-right:max(24px,50vw - 600px)}.gallery-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.gallery-strip a{overflow:hidden}.gallery-strip img{aspect-ratio:1.26;object-fit:cover;width:100%;transition:transform .45s}.gallery-strip a:hover img{transform:scale(1.04)}.home-contact{color:#fff;background:var(--green);text-align:center;padding:82px 24px 90px}.home-contact h2{margin:9px 0;font-size:clamp(2.5rem,4vw,3.8rem)}.home-contact p{color:#ffffffc7;margin:0 auto}.home-contact .hero-actions{justify-content:center;margin-top:25px}.page-hero{background-position:50% 52%;min-height:360px}.page-hero .hero-shade{background:linear-gradient(90deg,#141813ad,#14181338)}.page-hero-copy{padding:78px 0}.page-hero h1{letter-spacing:-.03em;margin:14px 0 15px;font-size:clamp(2.8rem,5.5vw,4.7rem);line-height:1.12}.breadcrumbs{color:#fffc;align-items:center;gap:10px;font-size:.76rem;display:flex}.breadcrumbs a{color:#f1d8ae}.cms-content>div{max-width:1120px;margin:0 auto}.cms-content h1,.cms-content h2,.cms-content h3,.cms-content h4{color:var(--green);font-family:var(--serif);font-weight:500;line-height:1.2}.cms-content h1{font-size:clamp(2rem,3vw,3rem)}.cms-content h2{margin-top:2.2em;font-size:clamp(1.8rem,2.5vw,2.55rem)}.cms-content h3{margin-top:1.8em;font-size:1.6rem}.cms-content p,.cms-content li{color:#646860;font-size:.98rem}.cms-content img{object-fit:cover;max-width:100%;height:auto}.cms-content figure{margin:24px 0}.cms-content a{color:var(--red)}.cms-content a:hover{text-decoration:underline}.cms-content ul,.cms-content ol{padding-left:1.3em}.cms-content table{border-collapse:collapse;width:100%}.cms-content td,.cms-content th{border:1px solid #e4e0d7;padding:10px}.cms-gallery img{margin:5px;box-shadow:0 4px 15px #262a201a}.cms-booking-cta{background:var(--cream);text-align:center;margin-top:70px;padding:42px}.cms-booking-cta h2{margin-top:0}.cms-booking-cta .button{color:#fff}.contact-content{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(40px,8vw,105px);display:grid}.contact-photo img{object-fit:cover;width:100%;max-height:650px}.contact-details h2{margin-bottom:12px}.contact-details>p{color:var(--muted);margin:0 0 23px}.contact-line{border-top:1px solid #e5e2dc;gap:3px;padding:13px 0;display:grid}.contact-line span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.contact-line strong{color:var(--green);overflow-wrap:anywhere;font-size:.98rem;font-weight:600}.contact-details>.button{margin-top:20px}.not-found{text-align:center;min-height:54vh;padding-top:110px}.not-found h1{color:var(--green);margin:14px 0;font-size:clamp(2.5rem,5vw,4rem)}.not-found p{color:var(--muted);margin-bottom:24px}.site-footer{color:#f5f2e9;background:#252b22}.footer-main{grid-template-columns:1.4fr .8fr 1fr;gap:70px;padding-top:65px;padding-bottom:55px;display:grid}.site-footer .brand-copy,.site-footer .brand-copy strong{color:#fff}.footer-about p{color:#ffffffa6;max-width:340px;margin:18px 0 0;font-size:.87rem}.footer-main h2{color:#dfd4bb;letter-spacing:.15em;text-transform:uppercase;margin:3px 0 14px;font-size:.72rem}.footer-links{color:#ffffffb8;justify-items:start;gap:8px;font-size:.83rem;display:grid}.footer-bottom{color:#ffffff8c;border-top:1px solid #ffffff21;justify-content:space-between;align-items:center;gap:20px;min-height:58px;font-size:.72rem;display:flex}@media (width<=1100px){.main-nav{gap:13px;font-size:.73rem}.brand>img{width:45px;height:45px}.brand-copy strong{font-size:1.28rem}.brand-copy>span{font-size:.48rem}}@media (width<=900px){.nav-inner{min-height:78px}.menu-toggle{background:#fff;border:1px solid #dddcd5;align-content:center;justify-items:center;gap:5px;width:44px;height:42px;display:grid}.menu-toggle span{background:var(--green);width:20px;height:2px;display:block}.main-nav{background:#fff;align-items:stretch;padding:12px 24px 22px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 15px 20px #1414141a}.main-nav.is-open{display:grid}.main-nav>a:not(.nav-book){border-bottom:1px solid #eeece7;padding:8px 0;font-size:.86rem}.nav-book{justify-self:start;margin-top:6px}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form .button{width:100%}.welcome-section,.discover-section,.contact-content{gap:48px}.footer-main{gap:36px}}@media (width<=650px){.topline-inner,.nav-inner,.footer-main,.footer-bottom,.home-hero-content,.page-hero-copy,.page-section{width:min(100% - 36px,540px)}.topline-inner{min-height:33px}.topline-links{gap:12px}.topline-links a:last-child{display:none}.nav-inner{min-height:72px}.brand>img{width:42px;height:42px}.brand-copy strong{font-size:1.18rem}.brand-copy>span{font-size:.44rem}.home-hero{background-position:58%;min-height:610px}.home-hero-content{padding:72px 0 90px}.home-hero h1{max-width:500px;font-size:clamp(2.8rem,13vw,4.3rem)}.home-hero-content>p{max-width:420px;font-size:.96rem}.scroll-cue{bottom:19px;right:18px}.booking-section{width:calc(100% - 28px);margin-top:-19px;padding:20px 17px 9px}.booking-form{grid-template-columns:1fr 1fr;gap:12px 10px}.booking-form .button{grid-column:1/-1}.booking-note{text-align:left}.welcome-section,.discover-section,.contact-content{grid-template-columns:1fr;gap:36px}.welcome-image{max-width:500px}.welcome-copy h2,.section-heading h2,.event-copy h2,.discover-copy h2,.contact-details h2{font-size:clamp(2rem,9vw,2.8rem)}.rooms-section,.home-gallery{padding:65px 18px}.room-cards{grid-template-columns:1fr;gap:18px}.room-card{grid-template-columns:minmax(120px,.8fr) 1.2fr;align-items:stretch;display:grid}.room-image img{aspect-ratio:auto;height:100%;min-height:225px}.room-card-body{padding:18px 16px}.room-card h3{font-size:1.28rem}.room-card p{min-height:0;font-size:.82rem}.room-card .text-link{margin-top:10px;font-size:.64rem}.event-section{grid-template-columns:1fr}.event-image{min-height:290px;max-height:360px}.event-copy{padding:45px 24px 54px}.gallery-strip{grid-template-columns:1fr 1fr;gap:9px}.gallery-strip a:last-child{display:none}.page-hero{min-height:290px}.page-hero-copy{padding:64px 0}.page-hero h1{font-size:clamp(2.6rem,12vw,3.8rem)}.cms-content h1{font-size:2rem}.cms-content h2{font-size:1.8rem}.cms-content p,.cms-content li{font-size:.92rem}.cms-content figure,.cms-content img{max-width:100%}.cms-content table{display:block;overflow-x:auto}.contact-photo img{max-height:390px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px;padding-top:50px;padding-bottom:38px}.footer-about{grid-column:1/-1}.footer-bottom{min-height:65px;font-size:.66rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
