@import url('./fonts.css');
:root{--paper:#f7f5ee;--paper-deep:#eee9dd;--white:#fffdf8;--ink:#292c27;--muted:#64695f;--gold:#9b7b3e;--gold-dark:#79602e;--line:#dad5c8;--forest:#24372f;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--radius:8px;--container:1360px;--shadow:0 18px 48px #222b2110}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.025em}h1{font-size:clamp(52px,5.9vw,90px)}h2{font-size:clamp(38px,4.1vw,62px)}h3{font-size:clamp(28px,2.5vw,39px)}p+p{margin-top:1.1em}ul{padding-left:1.2em}::selection{background:#dbc99c;color:#17231d}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.section{padding:100px 0}.section-small{padding:64px 0}.section-tint{background:var(--paper-deep)}.section-forest{background:var(--forest);color:var(--paper)}.eyebrow{display:block;font-size:11px;letter-spacing:.23em;font-weight:700;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.eyebrow::before{content:'';display:inline-block;vertical-align:middle;width:30px;height:1px;background:currentColor;margin-right:13px}.lead{font-size:18px;line-height:1.8;color:var(--muted)}.body-copy{color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:42px}.section-heading h2{max-width:730px}.section-heading .lead{max-width:440px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--gold);transition:gap .25s}.text-link:hover{gap:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:12px 25px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.015em;line-height:1.35;transition:background .25s,border-color .25s,transform .25s,color .25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:white;border-color:var(--gold)}.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark)}.btn-forest{background:var(--forest);color:white}.btn-outline{border-color:var(--line);background:transparent}.btn-outline:hover{border-color:var(--gold)}.btn-cream{background:var(--paper);color:var(--ink)}.btn-glass{color:#fff;border-color:#fff8;background:#fff1;backdrop-filter:blur(12px)}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;transform:translateY(-150%);background:var(--paper);padding:12px 20px}.skip-link:focus{transform:translateY(0)}
/* A light sheet of glass sits over the real photographs. */
.site-header{position:absolute;z-index:100;top:24px;left:28px;right:28px;min-height:94px;display:flex;align-items:center;gap:28px;padding:13px 25px;background:#fffdf1d6;border:1px solid #fff9;border-radius:11px;box-shadow:0 8px 30px #1420150b;backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);transition:background .3s,box-shadow .3s}.site-header.is-scrolled{position:fixed;top:12px;background:#f9f7eff2;box-shadow:0 8px 40px #14201518}.brand{flex:none;width:174px}.brand img{width:174px;height:76px;object-fit:contain}.primary-nav{display:flex;align-items:center;justify-content:center;gap:27px;margin-left:auto}.primary-nav a{font-size:13px;font-weight:600;white-space:nowrap;position:relative;padding:8px 0}.primary-nav a::after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}.primary-nav a:hover::after,.primary-nav a[aria-current=page]::after{transform:scaleX(1)}.header-end{display:flex;align-items:center;gap:16px}.header-end>.btn{padding:11px 18px;font-size:11px;min-height:46px;white-space:nowrap}.language-picker{position:relative;font-size:12px;font-weight:700}.language-picker summary{cursor:pointer;list-style:none;padding:12px 3px}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary::after{content:'⌄';margin-left:5px}.language-list{position:absolute;right:-15px;top:45px;min-width:145px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:8px}.language-list a{display:block;padding:8px 12px;border-radius:3px;white-space:nowrap}.language-list a:hover,.language-list [aria-current=true]{background:var(--paper-deep)}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:6px 0}.nav-mobile-extra{display:none}.page-interior .site-header{position:relative;top:auto;left:auto;right:auto;margin:18px 28px}.page-interior .site-header.is-scrolled{position:fixed;top:12px;left:28px;right:28px;margin:0}.page-interior:has(.site-header.is-scrolled) main{padding-top:132px}
/* Home */
.hero{position:relative;min-height:720px;height:89svh;max-height:950px;overflow:hidden;color:white;isolation:isolate}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.25s ease;z-index:-3}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 66%}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(16,26,18,.59),rgba(16,26,18,.2) 67%,rgba(16,26,18,.08)),linear-gradient(0deg,rgba(14,28,18,.26),transparent 50%)}.hero-content{padding-top:clamp(205px,26svh,280px);padding-bottom:160px}.hero .eyebrow{color:#f4e6c4;font-size:11px}.hero h1{max-width:920px;text-shadow:0 2px 22px #17221618}.hero h1 em{font-weight:400}.hero .lead{color:#fffdf0e6;max-width:560px;font-size:16px;margin-top:23px}.hero-actions{display:inline-flex;align-items:center;gap:28px;margin-top:32px;padding:12px;background:rgba(255,253,237,.12);border:1px solid #fff7;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-radius:6px}.hero-actions .text-link{margin-right:14px;border-color:#fff8;font-size:13px}.hero-actions .btn{min-height:51px;padding:12px 26px}.hero-caption{position:absolute;bottom:30px;left:48px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.85}.hero-control{position:absolute;right:48px;bottom:27px;display:flex;align-items:center;gap:12px}.hero-dots{display:flex;gap:10px}.hero-dots button{width:7px;height:7px;border-radius:50%;background:#ffffff50;border:1px solid #fff8;padding:0}.hero-dots button.is-active{background:#fff;box-shadow:0 0 0 4px #ffffff15}.hero-pause{background:transparent;color:#fff;border:1px solid #fff6;border-radius:50%;height:32px;width:32px;font-size:11px}.scroll-note{position:absolute;bottom:28px;left:50%;font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:12px;opacity:.8}.scroll-note::after{content:'';height:26px;width:1px;background:#fff8}.tour-ribbon{padding:29px 0;border-bottom:1px solid var(--line);background:var(--white)}.tour-ribbon-inner{display:grid;grid-template-columns:112px 1fr auto;align-items:center;gap:35px}.tour-logo{width:104px;height:64px;object-fit:contain;mix-blend-mode:multiply}.tour-ribbon-copy{border-left:1px solid var(--line);padding-left:32px}.tour-ribbon h2{font-size:31px;line-height:1.15}.tour-ribbon p{font-size:12px;color:var(--muted);margin-top:5px}.tour-ribbon .text-link{font-size:12px}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.home-intro .lead{max-width:560px}.intro-facts{display:flex;gap:40px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}.fact strong{display:block;font-family:var(--serif);font-size:35px;line-height:1.2;font-weight:500}.fact span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;align-items:center}.split.reverse{grid-template-columns:1fr 1.15fr}.split .copy{max-width:530px}.split h2+.lead{margin-top:26px}.photo-frame{position:relative;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.photo-frame:hover img{transform:scale(1.025)}.photo-frame.tall{aspect-ratio:5/6}.photo-frame.wide{aspect-ratio:4/3}.photo-frame.landscape{aspect-ratio:16/10}.photo-caption{font-size:10px;color:var(--muted);letter-spacing:.07em;margin-top:10px;display:flex;justify-content:space-between}.restaurant-section{padding-top:15px}.restaurant-section .split{grid-template-columns:1.25fr 1fr;align-items:center;gap:80px}.restaurant-section .photo-frame{aspect-ratio:4/3}.small-overline{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.room-preview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.room-preview-grid .room-image{aspect-ratio:16/11}.room-preview-grid .room-card:nth-child(2){padding-top:60px}.room-card .room-image{position:relative;overflow:hidden;background:var(--paper-deep)}.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.room-card:hover .room-image img{transform:scale(1.035)}.room-image .room-index{position:absolute;left:18px;top:17px;color:white;background:#1e2b2445;backdrop-filter:blur(8px);padding:4px 11px;font-size:10px;letter-spacing:.1em;border:1px solid #fff5}.room-info{padding:22px 0 5px;display:flex;justify-content:space-between;gap:20px;align-items:center}.room-info h3{font-size:33px}.room-info p{font-size:12px;color:var(--muted);margin-top:3px}.circle-link{width:43px;height:43px;flex:none;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s,border .3s}.circle-link:hover{border-color:var(--gold);background:#9b7b3e0b}.landscape-section{position:relative;color:white;isolation:isolate;min-height:530px;display:flex;align-items:center}.landscape-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.landscape-section::after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#10271fc9,#13251b1a)}.landscape-section .copy{max-width:560px;padding:90px 0}.landscape-section .eyebrow{color:#e9d8ad}.landscape-section .lead{color:#ffffffe0;margin-top:24px}.quick-stay{display:grid;grid-template-columns:1.15fr 1fr 1fr .7fr auto;gap:0;align-items:end;background:var(--white);border:1px solid var(--line);border-radius:7px;padding:28px;margin-top:35px}.quick-stay-intro{padding-right:24px}.quick-stay-intro h3{font-size:30px}.quick-stay-intro p{font-size:11px;color:var(--muted)}.quick-stay label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;display:block;padding:0 22px;border-left:1px solid var(--line)}.quick-stay input{border:0;background:transparent;width:100%;font-size:13px;padding:8px 0;color:var(--ink)}.quick-stay .btn{margin-left:18px}.closing{text-align:center}.closing .eyebrow::before{display:none}.closing h2{max-width:850px;margin-inline:auto}.closing .lead{max-width:610px;margin:23px auto 0}.closing .actions{justify-content:center}
/* Interior pages */
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;letter-spacing:.03em;color:var(--muted);padding:25px 0}.breadcrumb span+span::before{content:'/';margin-right:10px;color:#aaa}.breadcrumb a:hover{text-decoration:underline}.page-title{padding:34px 0 55px;max-width:870px}.page-title h1{font-size:clamp(48px,5.3vw,80px)}.page-title .lead{max-width:730px;margin-top:24px}.wide-image{width:100%;height:clamp(300px,42vw,620px);object-fit:cover}.photo-banner{position:relative;height:410px;overflow:hidden}.photo-banner img{width:100%;height:100%;object-fit:cover}.editorial-columns{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.editorial-columns .copy p{color:var(--muted)}.editorial-columns h3{margin-bottom:20px}.editorial-columns .copy+.copy{margin-top:35px}.article-stack{display:grid;gap:60px}.content-section{padding:75px 0;border-bottom:1px solid var(--line)}.content-section:last-child{border:0}.content-section h2{margin-bottom:24px}.text-measure{max-width:790px}.text-measure h2{font-size:38px;margin:42px 0 18px}.text-measure h3{font-size:30px;margin:30px 0 15px}.text-measure p,.text-measure li{color:var(--muted)}.text-measure a{border-bottom:1px solid var(--gold)}.feature-lines{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0}.feature-line{padding:26px 24px;border-right:1px solid var(--line)}.feature-line:first-child{padding-left:0}.feature-line:last-child{border:0}.feature-line strong{font-family:var(--serif);font-size:27px;font-weight:500;display:block}.feature-line span{font-size:12px;color:var(--muted)}.rooms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 32px}.rooms-grid .room-image{aspect-ratio:3/2}.rooms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:40px}.filter-buttons{display:flex;gap:9px;flex-wrap:wrap}.filter-btn{font-size:12px;padding:7px 14px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--muted)}.filter-btn:hover{border-color:var(--line)}.filter-btn.is-active,.filter-btn[aria-pressed=true]{color:var(--ink);border-color:var(--gold);background:#fff9}.filter-count{font-size:11px;color:var(--muted)}.room-detail-top{display:grid;grid-template-columns:1.45fr 1fr;gap:65px;align-items:center;padding:20px 0 75px}.room-detail-top .photo-frame{aspect-ratio:4/3}.room-detail-top h1{font-size:clamp(47px,5vw,73px)}.room-detail-top .lead{margin-top:22px;font-size:16px}.room-detail-meta{display:flex;gap:22px;flex-wrap:wrap;margin:25px 0;color:var(--muted);font-size:12px}.room-detail-meta span{display:flex;align-items:center;gap:8px}.room-note{font-size:12px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line);margin-top:28px}.room-detail-two{display:grid;grid-template-columns:1fr .7fr;gap:80px}.room-detail-two .info-aside{background:var(--white);padding:35px;border:1px solid var(--line)}.info-aside h3{margin-bottom:20px}.info-aside p{font-size:14px;color:var(--muted)}.info-aside .btn{width:100%;margin-top:25px}.menu-list{border-top:1px solid var(--line);margin-top:30px}.menu-line{padding:22px 0;display:flex;gap:26px;align-items:baseline;border-bottom:1px solid var(--line)}.menu-line span{font-size:11px;color:var(--gold)}.menu-line h3{font-size:30px}.menu-line p{font-size:12px;color:var(--muted);margin-top:5px}.territory-list{display:grid;gap:0}.territory-item{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:24px;align-items:center;padding:32px 0;border-top:1px solid var(--line)}.territory-item:last-child{border-bottom:1px solid var(--line)}.territory-item>span{font-family:var(--serif);font-size:30px;color:var(--gold)}.territory-item p{font-size:14px;color:var(--muted)}.tour-page-brand{display:flex;gap:27px;align-items:center;margin-bottom:35px}.tour-page-brand img{width:124px;mix-blend-mode:multiply}.tour-page-brand>span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:27px}.steps-list{counter-reset:step}.steps-list article{position:relative;padding:30px 0 30px 67px;border-top:1px solid var(--line)}.steps-list article::before{counter-increment:step;content:'0' counter(step);position:absolute;left:0;top:31px;font-family:var(--serif);font-size:30px;color:var(--gold)}.steps-list h3{font-size:30px;margin-bottom:12px}.steps-list p{color:var(--muted);font-size:14px}.faq{max-width:900px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{position:relative;font-family:var(--serif);font-size:28px;line-height:1.25;padding:24px 45px 24px 0;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:10px;top:24px;color:var(--gold);font-family:var(--sans);font-size:20px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 50px 26px 0;color:var(--muted);font-size:15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{break-inside:avoid}.gallery-item button{display:block;padding:0;border:0;width:100%;background:none;text-align:left;position:relative;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.gallery-item button:hover img{transform:scale(1.04)}.gallery-item figcaption{padding-top:10px;font-size:11px;color:var(--muted)}.gallery-item .zoom-icon{position:absolute;right:15px;bottom:15px;color:#fff;border:1px solid #fff8;background:#ffffff10;backdrop-filter:blur(8px);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}.is-filtered-out{display:none!important}.lightbox{width:min(1200px,95vw);max-width:95vw;max-height:94svh;padding:16px;background:#f9f7ef;border:0;border-radius:8px;box-shadow:0 30px 100px #0005}.lightbox::backdrop{background:#0b1514df;backdrop-filter:blur(6px)}.lightbox-image{max-height:76svh;width:100%;object-fit:contain}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 5px 2px}.lightbox-toolbar p{font-size:13px}.lightbox-controls{display:flex;gap:8px}.lightbox-controls button{border:1px solid var(--line);border-radius:50%;background:var(--white);width:39px;height:39px;display:grid;place-items:center}.lightbox-close{position:absolute;right:23px;top:23px;z-index:2;background:#fdfbf4ed;border:0;border-radius:50%;width:38px;height:38px;font-size:22px}
/* Enquiries use the existing booking API when it is available. */
.booking-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:45px;align-items:start}.booking-panel{min-width:0;background:var(--white);border:1px solid var(--line);padding:35px;border-radius:7px}.booking-steps{display:flex;justify-content:space-between;gap:15px;list-style:none;padding:0 0 25px;margin:0 0 30px;border-bottom:1px solid var(--line);font-size:11px}.booking-steps li{display:flex;gap:9px;align-items:center;color:var(--muted)}.booking-steps li span{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px}.booking-steps li.is-active{color:var(--gold)}.booking-steps li.is-active span{border-color:var(--gold);background:#9b7b3e0b}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600;display:block;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);background:#fffefa;border-radius:4px;padding:12px 14px;min-height:49px;color:var(--ink);font-size:14px}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:1px solid var(--gold)}.field small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.field-error,.error-message{color:#9c3329;font-size:12px}.form-note{color:var(--muted);font-size:12px;margin:22px 0 0}.form-note a{text-decoration:underline;text-underline-offset:4px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px}.form-status{font-size:13px;border-radius:4px;padding:0;white-space:pre-line}.form-status:not(:empty){padding:15px 17px;background:#f1ead8;border:1px solid #d7c59f;margin:0 0 25px}.form-status:empty{display:none}.form-status.is-error{background:#fbebe5;border-color:#e4b5a5}.form-status.is-success{background:#e9efe8;border-color:#b4c9b0}.booking-fallback{background:#f4f0e4;padding:20px;border:1px solid #e0d6bb;border-radius:5px;margin-top:25px}.booking-fallback p{font-size:12px;color:var(--muted)}.booking-fallback .actions{margin-top:18px;gap:12px}.booking-fallback .btn{font-size:12px}.booking-summary{min-width:0;position:sticky;top:140px;padding:32px;background:var(--paper-deep);border:1px solid var(--line);border-radius:7px}.booking-summary h2{font-size:34px}.booking-summary .eyebrow{font-size:10px;margin-bottom:10px}.summary-photo{aspect-ratio:16/8;width:100%;object-fit:cover;margin:22px 0}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;font-size:12px;border-bottom:1px solid #d8d1c1}.summary-row strong{font-size:13px;text-align:right}.summary-row.total{font-size:16px;padding-top:20px;border:0}.summary-row.total strong{font-family:var(--serif);font-size:32px;line-height:1.2}.booking-summary .fine{font-size:11px;line-height:1.7;color:var(--muted);margin-top:18px}.consent-label{display:flex;align-items:flex-start;gap:11px;margin-top:25px;font-size:12px;color:var(--muted)}.consent-label input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--gold)}.consent-label a{text-decoration:underline;text-underline-offset:3px}.booking-confirmation dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-confirmation dt{font-size:11px;color:var(--muted)}.booking-confirmation dd{margin:0;font-size:14px}.booking-confirmation h3{font-size:30px;margin-bottom:20px}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px}.contact-details{display:grid;gap:27px}.contact-details h3{font-size:30px;margin-bottom:5px}.contact-details p{font-size:14px;color:var(--muted)}.contact-details a:hover{text-decoration:underline}.contact-map{background:var(--paper-deep);border:1px solid var(--line);padding:35px;margin-top:35px;position:relative;overflow:hidden}.contact-map .map-illustration{position:absolute;inset:0;opacity:.12;pointer-events:none;background:repeating-linear-gradient(35deg,transparent,transparent 40px,var(--gold) 41px,transparent 43px)}.contact-map h3{font-size:30px;position:relative}.contact-map p{font-size:13px;position:relative;margin-top:10px}.contact-map .text-link{position:relative;margin-top:20px}.legal-date{font-size:11px;color:var(--muted);margin-top:22px}.notice{border-left:2px solid var(--gold);padding:16px 22px;background:#ede6d94f;margin:25px 0;font-size:13px;color:var(--muted)}
/* Footer */
.site-footer{background:#eeeade;border-top:1px solid var(--line);padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.15fr;gap:60px}.footer-brand img{width:180px;height:82px;object-fit:contain;margin-bottom:19px}.footer-brand p{font-size:12px;color:var(--muted);max-width:270px}.footer-group h3{font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:17px 0 23px}.footer-group a{display:block;font-size:12px;color:var(--muted);margin:9px 0}.footer-group a:hover{color:var(--gold)}.footer-tour{display:flex;align-items:center;gap:18px;margin-top:22px}.footer-tour img{width:83px;mix-blend-mode:multiply}.footer-tour span{font-size:10px;color:var(--muted);line-height:1.5}.footer-bottom{border-top:1px solid #d2ccbd;margin-top:47px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#77786d;font-size:9px}.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.footer-legal a:hover{text-decoration:underline}.mobile-contact{display:none}.back-top{position:fixed;bottom:28px;right:25px;z-index:20;border:1px solid var(--line);width:39px;height:39px;border-radius:50%;background:#fffdf4dc;backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s}.back-top.is-visible{opacity:1;pointer-events:auto}.no-script{padding:15px;text-align:center;font-size:12px;background:#eee4cc}.empty-state{padding:45px;text-align:center;color:var(--muted)}.reveal-ready{opacity:0;transform:translateY(18px)}.reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .7s,transform .7s}
.room-card .room-image{display:block}.request-draft{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.request-draft>label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.request-draft>textarea{width:100%;padding:15px;border:1px solid var(--line);background:#fffefa;border-radius:4px;resize:vertical;font-size:13px;line-height:1.7;color:var(--ink)}.request-draft .form-actions{justify-content:flex-start;flex-wrap:wrap}.footer-group>a>svg{display:none}
@media(min-width:1600px){.hero-content{padding-top:29svh}.site-header{gap:40px;padding-inline:40px}.primary-nav{gap:36px}}
@media(max-width:1200px){.site-header{gap:15px;padding-inline:19px}.brand,.brand img{width:143px}.primary-nav{gap:17px}.primary-nav a{font-size:11px}.header-end{gap:12px}.header-end>.btn{font-size:10px;padding:11px 12px}.container{width:calc(100% - 72px)}.split,.restaurant-section .split,.contact-grid,.home-intro{gap:50px}.footer-grid{gap:35px}.room-detail-top{gap:42px}.hero{height:85svh;min-height:670px}.quick-stay{padding:22px}.quick-stay-intro{display:none}.quick-stay{grid-template-columns:1fr 1fr .8fr auto}.quick-stay label:first-of-type{border:0;padding-left:0}.editorial-columns{gap:65px}}
@media(max-width:980px){.site-header{top:16px;left:18px;right:18px;min-height:80px;padding:8px 20px;gap:18px}.brand,.brand img{width:154px}.brand img{height:65px}.header-end{margin-left:auto;gap:20px}.header-end>.btn{font-size:11px;padding:12px 17px}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:calc(100% + 9px);left:0;right:0;max-height:calc(100svh - 125px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;background:#faf8f0fa;backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:9px;padding:20px 28px;box-shadow:var(--shadow)}.nav-open .primary-nav{display:flex}.primary-nav a{font-family:var(--serif);font-size:27px;padding:10px 0;white-space:normal}.nav-mobile-extra{display:block!important;border-top:1px solid var(--line);margin-top:8px;padding-top:14px!important}.primary-nav a::after{display:none}.page-interior .site-header{margin:16px 18px}.page-interior .site-header.is-scrolled{left:18px;right:18px}.page-interior:has(.site-header.is-scrolled) main{padding-top:112px}.hero-content{padding-top:225px}.hero h1{font-size:76px;max-width:750px}.tour-ribbon-inner{grid-template-columns:90px 1fr;gap:25px}.tour-logo{width:90px}.tour-ribbon .text-link{grid-column:2;justify-self:start;margin-top:-12px}.tour-ribbon-copy{padding-left:25px}.tour-ribbon h2{font-size:31px}.home-intro{gap:40px}.split,.split.reverse,.restaurant-section .split{gap:40px;grid-template-columns:1fr 1fr}.split h2{font-size:47px}.lead{font-size:16px}.section{padding:75px 0}.restaurant-section{padding-top:0}.room-detail-top{grid-template-columns:1.2fr 1fr;gap:35px}.room-detail-top .photo-frame{aspect-ratio:4/5}.room-detail-two{gap:40px}.booking-layout{grid-template-columns:1.4fr .85fr;gap:25px}.booking-panel,.booking-summary{padding:25px}.field-grid{gap:18px}.booking-steps{font-size:10px;gap:5px}.booking-steps li{gap:5px}.contact-grid{gap:45px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-group:last-child{grid-column:1/-1;display:flex;gap:50px;align-items:center}.footer-group:last-child h3{margin:0}.footer-tour{margin:0 0 0 auto}.territory-item{grid-template-columns:40px 1fr 1fr auto;gap:20px}.gallery-grid{gap:19px}}
@media(max-width:700px){body{font-size:15px}.container{width:calc(100% - 40px)}.section{padding:60px 0}.section-small{padding:43px 0}.site-header{top:12px;left:12px;right:12px;padding:5px 12px;min-height:70px;gap:5px;border-radius:8px}.site-header.is-scrolled{top:8px}.brand,.brand img{width:129px}.brand img{height:59px}.header-end{gap:12px}.header-end>.btn{display:none}.language-picker{font-size:11px}.nav-toggle{padding:10px 5px}.primary-nav{padding:20px}.page-interior .site-header{margin:12px}.page-interior .site-header.is-scrolled{left:12px;right:12px}.page-interior:has(.site-header.is-scrolled) main{padding-top:94px}.hero{height:83svh;min-height:650px;max-height:820px}.hero-content{padding-top:177px;padding-bottom:110px}.hero h1{font-size:clamp(49px,12vw,69px);line-height:1.03;max-width:100%}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero .lead{font-size:14px;max-width:310px;line-height:1.75;margin-top:22px}.hero-slide img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#132117b0,#16281c36),linear-gradient(0deg,#1727173d,transparent)}.hero-actions{gap:17px;padding:9px;margin-top:27px;max-width:100%;flex-wrap:wrap}.hero-actions .btn{font-size:11px;padding:12px 17px;min-height:47px;gap:11px}.hero-actions .text-link{font-size:11px;gap:8px;margin-right:7px}.hero-caption{left:20px;font-size:8px;max-width:210px;bottom:26px}.hero-control{right:20px;bottom:20px}.scroll-note{display:none}.tour-ribbon{padding:23px 0}.tour-ribbon-inner{grid-template-columns:68px 1fr;gap:18px}.tour-logo{width:68px;height:50px}.tour-ribbon-copy{padding-left:18px}.tour-ribbon h2{font-size:25px}.tour-ribbon p{font-size:10px;line-height:1.6}.tour-ribbon .text-link{font-size:10px;margin-top:-5px;gap:15px}.home-intro,.split,.split.reverse,.restaurant-section .split,.editorial-columns,.contact-grid,.room-detail-top,.room-detail-two{grid-template-columns:1fr;gap:32px}.home-intro h2,.split h2{font-size:43px}.home-intro .lead{font-size:15px}.intro-facts{gap:30px;margin-top:27px;padding-top:22px}.fact strong{font-size:31px}.fact span{font-size:9px}.restaurant-section{padding-top:0}.restaurant-section .photo-frame{aspect-ratio:4/3}.restaurant-section .copy{padding:5px 0 0}.eyebrow{font-size:9px;margin-bottom:17px}.section-heading{display:block;margin-bottom:28px}.section-heading .lead{margin-top:22px}.section-heading>.text-link{margin-top:22px}.section-heading h2{font-size:42px}.room-preview-grid{grid-template-columns:1fr;gap:28px}.room-preview-grid .room-card:nth-child(2){padding-top:0}.room-preview-grid .room-image{aspect-ratio:3/2}.room-info{padding-top:17px}.room-info h3{font-size:30px}.room-info p{font-size:11px}.landscape-section{min-height:490px}.landscape-section .copy{padding:66px 0;max-width:100%}.landscape-section h2{font-size:47px}.quick-stay{grid-template-columns:1fr 1fr;padding:20px;gap:22px}.quick-stay label{padding:0;border:0;font-size:9px}.quick-stay input{font-size:12px}.quick-stay .btn{margin:0;min-height:47px;padding:10px 14px;font-size:11px}.closing h2{font-size:43px}.closing .lead{font-size:15px}.closing .actions{gap:15px}.actions{gap:14px}.btn{font-size:12px;min-height:49px;padding:12px 19px}.breadcrumb{padding:20px 0;font-size:9px;gap:8px}.page-title{padding:20px 0 38px}.page-title h1{font-size:51px}.page-title .lead{font-size:15px;margin-top:20px}.wide-image{height:300px}.photo-banner{height:300px}.feature-lines{grid-template-columns:1fr}.feature-line{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.feature-line strong{font-size:27px}.feature-line span{font-size:12px}.feature-line:last-child{border:0}.content-section{padding:45px 0}.text-measure h2{font-size:33px}.rooms-grid{grid-template-columns:1fr;gap:30px}.rooms-toolbar{align-items:flex-start;flex-direction:column;gap:13px;padding:17px 0;margin-bottom:27px}.filter-buttons{gap:4px}.filter-btn{font-size:11px;padding:6px 9px}.filter-count{font-size:10px}.room-detail-top{padding:8px 0 48px;gap:28px}.room-detail-top .photo-frame{aspect-ratio:4/3}.room-detail-top h1{font-size:52px}.room-detail-top .lead{font-size:15px;margin-top:18px}.room-detail-meta{font-size:11px}.room-detail-two .info-aside{padding:26px}.room-note{font-size:11px}.territory-item{grid-template-columns:30px 1fr 35px;gap:17px;padding:24px 0}.territory-item h3{font-size:31px}.territory-item p{grid-column:2;grid-row:2;font-size:13px;margin-top:-10px}.territory-item .circle-link{grid-column:3;grid-row:1/3;width:35px;height:35px}.tour-page-brand{gap:20px}.tour-page-brand img{width:100px}.tour-page-brand>span{padding-left:20px;font-size:9px}.steps-list article{padding-left:52px}.steps-list h3{font-size:28px}.steps-list p{font-size:13px}.faq summary{font-size:25px;padding-top:20px;padding-bottom:20px}.faq details p{font-size:14px;padding-right:15px}.gallery-grid{grid-template-columns:1fr 1fr;gap:18px 13px}.gallery-item figcaption{font-size:10px}.gallery-item img{aspect-ratio:1}.gallery-item .zoom-icon{width:26px;height:26px;right:9px;bottom:9px}.gallery-item .zoom-icon .icon{width:15px;height:15px}.lightbox{padding:10px}.lightbox-toolbar{gap:12px;padding:10px 2px 2px}.lightbox-toolbar p{font-size:11px}.lightbox-controls button{width:34px;height:34px}.lightbox-close{top:16px;right:16px}.booking-layout{grid-template-columns:minmax(0,1fr);gap:25px}.booking-panel{padding:23px 19px}.booking-summary{position:static;padding:25px}.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:10px;gap:9px;line-height:1.45}.booking-steps li{flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.booking-steps li span{flex-shrink:0}.field-grid{gap:20px 13px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;padding:11px 10px}.field small{font-size:10px}.booking-fallback{padding:17px}.booking-fallback .actions{flex-direction:column;align-items:stretch}.form-actions .btn{padding:12px 15px;font-size:11px}.contact-map{padding:27px}.contact-details h3{font-size:29px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-brand img{width:155px;height:71px}.footer-brand p{max-width:310px}.footer-group h3{margin-top:0;margin-bottom:20px}.footer-group a{font-size:11px}.footer-group:last-child{grid-column:1/-1;display:block}.footer-group:last-child h3{margin-bottom:20px}.footer-tour{margin-top:22px}.footer-tour img{width:84px}.footer-tour span{font-size:11px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:13px;font-size:9px;margin-top:30px}.footer-legal{gap:17px}.site-footer{padding:45px 0 95px}.mobile-contact{display:flex;position:fixed;z-index:90;bottom:0;left:0;right:0;padding:11px 20px calc(11px + env(safe-area-inset-bottom));background:#fffdf5f2;border-top:1px solid #e6e0d1;backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:20px}.mobile-contact>a:first-child{font-size:12px;display:flex;align-items:center;gap:9px}.mobile-contact>.btn{min-height:42px;font-size:11px;padding:10px 18px}.back-top{bottom:90px;right:17px;width:35px;height:35px}.photo-caption{font-size:9px}.feature-lines{margin:25px 0}.intro-facts{flex-wrap:wrap}.booking-confirmation dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.photo-frame:hover img,.room-card:hover img,.gallery-item button:hover img,.btn:hover{transform:none}}
@media print{.site-header,.site-footer,.mobile-contact,.back-top,.hero-control,.actions,.filter-buttons,.booking-fallback,.form-actions{display:none!important}body{font:12pt Georgia,serif;color:#000;background:#fff}.container{width:100%}.section{padding:24px 0}.hero{height:auto;min-height:0;color:#000}.hero-content{padding:30px 0}.hero-slides,.hero-shade{display:none}.hero .lead,.hero .eyebrow{color:#333}.split,.booking-layout,.contact-grid{display:block}a{text-decoration:underline}.booking-summary{position:static}.photo-frame img{max-height:250px;object-fit:contain}.page-title{padding:15px 0}h1,h2{font-size:28pt}h3{font-size:20pt}}
