:root{--forest:#254a3a;--forest-dark:#193c2e;--cream:#f7f5ee;--paper:#fffcf5;--ink:#29372e;--muted:#6a7167;--line:#dcded1;--sage:#e9ecdf;--warm:#c7b59a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button,summary,input,select{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--forest);outline-offset:5px}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.4rem}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;color:var(--forest);line-height:1.1;margin:0}h1{font-size:clamp(3.2rem,6vw,6.7rem)}h2{font-size:clamp(2.3rem,3.6vw,4rem)}h3{font-size:2rem;letter-spacing:-.03em}address{font-style:normal}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:.68rem;font-weight:600;letter-spacing:.2em;color:var(--forest);margin-bottom:1.5rem}.lead{font-size:1.075rem;line-height:1.85;color:var(--muted)}.preserve-lines{white-space:pre-line}.button{background:var(--forest);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 24px;font-size:.8rem;line-height:1.4;border:1px solid var(--forest);border-radius:2px;transition:background .18s}.button:hover{background:var(--forest-dark)}.button-small{min-height:44px;padding:12px 18px;font-size:.73rem}.button span{font-size:1.2rem}.text-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--forest);padding:5px 0;font-size:.8rem;color:var(--forest)}.text-link:hover{border-bottom-color:var(--warm)}.text-link span{font-size:1.1rem}.skip-link{position:fixed;left:20px;top:-120px;z-index:200;background:var(--paper);padding:12px 20px}.skip-link:focus{top:12px}.site-header{width:min(1440px,calc(100% - 80px));margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:block;flex-shrink:0}.brand img{width:130px;height:65px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:.78rem}.desktop-nav a{padding:12px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-bottom-color:var(--forest)}.header-actions{display:flex;align-items:center;gap:24px}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.language-menu{position:relative;font-size:.7rem;letter-spacing:.06em}.language-menu summary{min-height:44px;display:flex;align-items:center;gap:8px}.language-options{position:absolute;z-index:30;right:0;top:45px;padding:12px 0;min-width:150px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px #183b2c0d}.language-options a{display:block;padding:8px 20px}.language-options a:hover,.language-options a[aria-current]{background:var(--sage)}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:64px;padding-top:44px;padding-bottom:44px}.hero-copy{padding-top:50px;padding-bottom:28px;display:flex;align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(3.5rem,5.6vw,6rem);margin-bottom:28px}.hero .lead{max-width:390px;font-size:.94rem}.hero-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:12px}.hero-signature{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#748472;margin-top:54px;letter-spacing:.02em}.hero-image{position:relative;min-height:550px}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;border-radius:200px 200px 2px 2px}.image-caption{position:absolute;right:18px;bottom:18px;color:#fff;font-size:.57rem;letter-spacing:.18em;background:#153a2d80;padding:5px 9px}.intro-section{padding-block:105px 110px;display:grid;grid-template-columns:.45fr 1.1fr 1fr;gap:56px;align-items:start}.intro-section>.eyebrow{padding-top:10px}.intro-section h2{font-size:clamp(2.3rem,3.2vw,3.6rem)}.intro-section>div p{color:var(--muted);font-size:.94rem}.rooms-section{background:var(--sage);padding-block:88px 95px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}.section-heading>.text-link{flex-shrink:0;margin-bottom:5px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px}.room-photo{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#d9dfd1}.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.room-photo:hover img{transform:scale(1.025)}.room-arrow{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;background:var(--cream);color:var(--forest);border-radius:50%;font-size:1.2rem}.room-card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:23px}.room-card-heading>span{font-size:.7rem;color:var(--muted);white-space:nowrap}.room-card p{font-size:.83rem;line-height:1.8;color:var(--muted);margin-bottom:0}.room-card .room-view{color:var(--forest);font-size:.67rem;margin:10px 0 12px}.place-section{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:100px;padding-block:110px 130px}.place-section>img{width:100%;aspect-ratio:4/3;object-fit:cover}.place-section h2{margin-bottom:28px}.place-section p:not(.eyebrow){color:var(--muted);font-size:.94rem}.site-footer{background:#e9ecdf;border-top:1px solid #d3d9ca;padding:58px max(56px,calc((100vw - 1320px)/2)) 22px}.footer-top{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:50px;padding-bottom:54px}.footer-logo{width:150px;height:75px;object-fit:contain;margin-left:-10px;margin-bottom:12px}.footer-top p{font-size:.78rem;color:var(--muted);max-width:240px}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:.78rem;padding-top:20px}.footer-contact{font-size:.86rem;padding-top:20px}.footer-contact a{display:inline-block;margin-bottom:22px}.footer-contact address{font-size:.78rem;color:var(--muted);max-width:280px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #cfd7c6;padding-top:20px;font-size:.6rem;letter-spacing:.12em;color:var(--muted)}.page-intro{padding-block:85px 60px}.page-intro h1{max-width:950px;font-size:clamp(3rem,5vw,5.4rem);margin-bottom:28px}.page-intro .lead{max-width:620px}.rooms-list{padding-bottom:90px}.rooms-list .room-grid{row-gap:60px}.stay-notes{border-top:1px solid var(--line);padding-block:70px 100px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.stay-notes h2{font-size:2.7rem}.stay-notes>div>p:not(.eyebrow){color:var(--muted);font-size:.92rem}.room-detail-header{padding-top:50px}.room-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-block:42px 40px}.room-title-row .eyebrow{margin-bottom:16px}.room-title-row h1{font-size:5.4rem}.room-title-row>p{font-size:.8rem;color:var(--muted);margin-bottom:8px}.fact-divider{padding:0 16px;color:var(--warm)}.room-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;max-height:570px}.room-gallery img{object-fit:cover;width:100%;height:100%;min-height:0}.gallery-main{aspect-ratio:4/3}.gallery-detail{aspect-ratio:3/4}.room-description{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;padding-block:70px 110px;align-items:start}.room-description .lead{max-width:660px}.room-description h2{font-size:2rem;margin-block:42px 24px}.room-tag{font-size:.72rem;background:var(--sage);padding:7px 12px}.amenities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:.84rem;color:var(--muted)}.amenities span{color:var(--forest);padding-right:7px}.room-stay-card{background:var(--sage);padding:35px}.room-stay-card dl{margin-bottom:26px}.room-stay-card dl>div,.contact-hours>div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #d3d9ca;padding:12px 0;font-size:.83rem}.room-stay-card dd,.contact-hours dd{margin:0}.room-stay-card>p:not(.eyebrow){font-size:.8rem;color:var(--muted)}.room-stay-card .button{width:100%}.about-editorial{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-bottom:90px}.about-editorial>img{width:100%;aspect-ratio:4/3;object-fit:cover}.about-editorial p:not(.lead){font-size:.94rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:100px;align-items:start}.contact-grid>img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:140px 140px 0 0}.contact-information>div{margin-bottom:38px}.contact-email{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,2.2rem);letter-spacing:-.03em;color:var(--forest)}.contact-email span{padding-left:14px}.contact-information address{font-size:1.05rem;max-width:350px}.contact-hours{max-width:350px}.parking-note{font-size:.84rem;color:var(--muted);max-width:390px;margin-top:30px}.booking-intro{padding-bottom:24px}.booking-content{padding-bottom:100px;min-height:380px}.booking-notice{border-left:2px solid var(--forest);padding:4px 0 4px 22px;max-width:750px;margin-bottom:40px}.booking-notice p{font-size:.87rem;color:var(--muted);margin-bottom:10px}
/* Booking widget inherits the marketing palette without loading a separate UI framework. */
.booking-content input,.booking-content select{border:1px solid #cbd3c2;background:var(--paper);color:var(--ink);border-radius:2px;min-height:46px;padding:10px 12px;max-width:100%}.booking-content label{font-size:.8rem}.booking-content button{border:1px solid var(--forest);background:var(--forest);color:var(--paper);border-radius:2px;min-height:46px;padding:11px 20px}.booking-content button:disabled{cursor:default;opacity:.6}#blazor-error-ui{display:none}
@media(min-width:1600px){.hero-image{min-height:580px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.site-header{width:calc(100% - 56px);gap:20px}.desktop-nav{gap:22px}.header-actions{gap:16px}.header-reserve{max-width:160px}.hero{gap:35px}.hero h1{font-size:4.5rem}.hero-image{min-height:530px}.hero-buttons{gap:20px}.hero-signature{margin-top:35px}.intro-section{gap:30px;grid-template-columns:.35fr 1fr 1fr}.place-section{gap:60px}.room-card-heading h3{font-size:1.8rem}.site-footer{padding-inline:36px}.room-description{gap:50px}.about-editorial{gap:50px}}
@media(max-width:850px){.desktop-nav{display:none}.site-header{min-height:94px}.brand img{width:120px;height:60px}.mobile-menu{display:block;font-size:.75rem}.mobile-menu summary{min-height:44px;display:flex;align-items:center;gap:12px}.mobile-menu nav{position:absolute;z-index:25;left:0;right:0;top:94px;background:var(--paper);border-bottom:1px solid var(--line);padding:22px 36px;box-shadow:0 12px 20px #193c2e0a}.mobile-menu nav a{display:block;padding:10px 0}.hero{gap:28px;padding-top:30px}.hero h1{font-size:3.8rem}.hero-copy{padding-top:28px}.hero-image{min-height:510px}.hero .lead{font-size:.86rem}.hero-buttons{align-items:start;flex-direction:column;gap:16px}.hero-signature{font-size:1.05rem}.intro-section{grid-template-columns:1fr 1fr;padding-block:70px}.intro-section>.eyebrow{grid-column:1/-1;margin-bottom:0}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.home-room-grid .room-card:last-child{display:none}.place-section{gap:35px;padding-block:80px}.place-section h2{font-size:2.8rem}.footer-top{grid-template-columns:1fr 1fr}.footer-links{display:none}.room-gallery{gap:14px}.room-description{grid-template-columns:1.2fr 1fr;gap:30px}.amenities{grid-template-columns:1fr}.room-stay-card{padding:24px}.stay-notes{gap:45px}.about-editorial{gap:35px}.contact-grid{gap:40px}}
@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 40px)}.site-header{width:calc(100% - 36px);min-height:88px;gap:14px}.brand img{width:112px;height:56px}.header-actions{gap:18px}.header-reserve{display:none}.mobile-menu nav{top:88px;padding-inline:22px}.hero{grid-template-columns:1fr;padding-top:32px;gap:28px;padding-bottom:18px}.hero-copy{padding:8px 0 0}.hero h1{font-size:3.8rem;margin-bottom:22px}.hero .eyebrow{margin-bottom:20px}.hero .lead{font-size:.95rem;max-width:100%;margin-bottom:20px}.hero-buttons{flex-direction:row;align-items:center;gap:22px;margin-top:0}.hero-buttons .button{padding-inline:17px;font-size:.73rem;min-height:49px}.hero-buttons .text-link{font-size:.72rem;gap:12px}.hero-signature{display:none}.hero-image{min-height:0;aspect-ratio:4/4.3}.hero-image>img{border-radius:130px 130px 2px 2px}.intro-section{grid-template-columns:1fr;gap:24px;padding-block:60px}.intro-section h2{font-size:2.7rem}.intro-section>div p{font-size:.91rem}.rooms-section{padding-block:55px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:2.6rem;max-width:330px}.section-heading>.text-link{margin-top:22px}.room-grid{grid-template-columns:1fr;row-gap:36px}.home-room-grid .room-card:last-child{display:block}.room-card-heading{margin-top:18px}.room-card-heading h3{font-size:2.1rem}.room-card p{font-size:.87rem}.room-card .room-view{font-size:.72rem}.place-section{grid-template-columns:1fr;gap:36px;padding-block:60px 70px}.place-section>img{aspect-ratio:4/3}.place-section h2{font-size:2.8rem}.place-section p:not(.eyebrow){font-size:.92rem}.site-footer{padding:38px 22px 20px}.footer-top{grid-template-columns:1fr;gap:14px;padding-bottom:34px}.footer-logo{width:135px;height:67px}.footer-top p{max-width:100%;margin-bottom:0}.footer-contact{padding-top:14px}.footer-contact a{margin-bottom:14px}.footer-contact address{max-width:100%}.page-intro{padding-block:50px 35px}.page-intro h1{font-size:3.25rem;margin-bottom:22px}.page-intro .lead{font-size:.96rem}.rooms-list{padding-bottom:60px}.rooms-list .room-grid{row-gap:42px}.stay-notes{padding-block:45px 55px;grid-template-columns:1fr;gap:22px}.stay-notes h2{font-size:2.4rem}.room-detail-header{padding-top:32px}.room-title-row{display:block;padding-block:30px 25px}.room-title-row h1{font-size:4.3rem}.room-title-row>p{margin-top:20px}.room-gallery{grid-template-columns:1fr;max-height:none;gap:12px}.room-gallery .gallery-main{aspect-ratio:4/3}.room-gallery .gallery-detail{aspect-ratio:16/9;max-height:230px}.room-description{grid-template-columns:1fr;gap:40px;padding-block:40px 65px}.room-description .lead{font-size:1rem}.room-description h2{margin-top:32px}.amenities{grid-template-columns:1fr 1fr;font-size:.76rem;gap:18px 12px}.room-stay-card{padding:28px}.about-editorial{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.about-editorial .lead{font-size:1rem}.contact-grid{grid-template-columns:1fr;gap:36px;padding-bottom:60px}.contact-grid>img{aspect-ratio:4/3;max-height:400px}.contact-email{font-size:1.9rem}.contact-information>div{margin-bottom:30px}.contact-hours{max-width:100%}.booking-content{padding-bottom:65px}.booking-notice{padding-left:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

h1[tabindex="-1"]:focus { outline: none; }
