/*
Theme Name: Freedom & Relax — Boutique 2026
Theme URI: https://hotelfreedomrelax.ro/
Author: Freedom & Relax
Description: Tema WordPress editorială premium pentru hotel și restaurant: solicitări directe, Google Maps, WhatsApp, galerii și integrare opțională Vik Booking/Smoobu.
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: freedom-relax
License: Proprietary
*/
:root{--ivory:#f5f2e9;--ink:#263f36;--gold:#a38b5a;--sand:#e7e1d3;--bronze:#817047;--muted:#777c70;--line:#263f3629;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--script:'Allura','Cormorant Garamond',cursive;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font:13px/1.8 var(--sans);overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;object-fit:cover}figure,h1,h2,h3,p{margin:0}::selection{background:#cbbd9c;color:#263f36}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding:120px 0}.eyebrow{display:block;font:600 9px/1.7 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}.eyebrow.light{color:#e0d5bc}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;z-index:700;left:20px;top:-100px;background:var(--ivory);padding:12px}.skip:focus{top:10px}.scroll-progress{position:fixed;top:0;left:0;z-index:100;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;border:1px solid var(--ink);background:var(--ink);padding:0 25px;color:var(--ivory);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:600;transition:background .4s,color .4s,border-color .4s}.button>span{font-size:23px;font-weight:400;line-height:1;transition:transform .5s var(--ease)}.button:hover{background:var(--bronze);border-color:var(--bronze)}.button:hover>span{transform:translate(3px,-3px)}.light-button{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:10px 0}.text-link span{font-size:21px;transition:transform .4s}.text-link:hover span{transform:translate(3px,-3px)}
.header{position:fixed;inset:0 0 auto;z-index:40;height:106px;background:#f5f2e9f5;transition:height .4s,box-shadow .4s,background .4s}.header.scrolled{height:82px;background:#f5f2e9f2;box-shadow:0 1px 0 var(--line);backdrop-filter:blur(15px)}.header-inner{width:calc(100% - 80px);max-width:1500px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:15px}.brand img{height:62px;width:62px;object-fit:contain;transition:width .4s,height .4s}.brand>span{font:500 15px var(--serif);letter-spacing:.1em}.brand i{font-weight:400;letter-spacing:0}.brand small{display:block;font:500 6px var(--sans);letter-spacing:.17em;margin-top:8px}.scrolled .brand img{height:52px;width:52px}.main-nav{display:flex;gap:30px;margin-left:auto;margin-right:20px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.main-nav a{position:relative;padding:10px 0}.main-nav a:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.main-nav a:hover:after,.main-nav a[aria-current]:after{transform:scaleX(1);transform-origin:left}.book-button{display:flex;align-items:center;gap:25px;padding:0 20px;min-height:46px;background:transparent;border:1px solid var(--line);text-transform:uppercase;font-size:8px;letter-spacing:.1em;transition:background .3s,color .3s}.book-button span{font-size:20px}.book-button:hover{background:var(--ink);color:var(--ivory)}.menu-toggle{display:none}
.hero{padding:125px 0 0;position:relative;max-width:1700px;margin:auto}.hero-topline{display:flex;justify-content:space-between;width:calc(100% - 112px);margin:auto;font-size:8px;letter-spacing:.18em;border-top:1px solid var(--line);padding-top:15px}.hero-layout{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;margin:25px 56px 0;min-height:650px}.hero-copy{position:relative;z-index:3;padding:20px 0 85px;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero h1{font:400 clamp(80px,7.9vw,128px)/.93 var(--serif);letter-spacing:-.055em;margin:28px 0 30px;width:130%;white-space:nowrap}.hero h1 em{font:400 1.16em/.92 var(--script);letter-spacing:-.02em;display:block;margin-left:12%;margin-top:5px;white-space:nowrap;color:#7e7958}.hero-description{font-size:12px;line-height:1.95;margin-top:30px;color:#72786b;max-width:300px}.hero-discover{margin-top:22px}.hero-art{position:relative;height:640px;margin:0 0 30px 6%;isolation:isolate}.hero-image{position:absolute;inset:0 0 40px 0;overflow:hidden;clip-path:inset(0 round 43% 43% 0 0)}.hero-image img{height:118%;margin-top:-7%;object-position:54% center;will-change:transform}.hero-art:before{content:'';position:absolute;inset:-14px 15px 25px -15px;border:1px solid #b9a777;z-index:-1;border-radius:43% 43% 0 0}.hero-mini{position:absolute;left:-95px;bottom:-5px;width:195px;background:var(--ivory);padding:9px;box-shadow:0 7px 30px #263f3612;transform:rotate(-7deg);z-index:2}.hero-mini img{height:205px}.hero-mini>span{display:block;font:italic 18px var(--serif);text-align:center;padding:7px 0 1px}.round-reserve{position:absolute;right:-18px;bottom:22px;width:136px;height:136px;border:0;border-radius:50%;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 7px var(--ivory);transition:transform .5s var(--ease),background .5s}.round-reserve:before{content:'';position:absolute;inset:9px;border:1px solid #f5f2e940;border-radius:50%}.round-reserve>span{font:italic 22px/1.05 var(--serif)}.round-reserve b{font-size:24px;font-weight:400;margin-top:3px}.round-reserve:hover{background:var(--bronze);transform:rotate(-9deg)}.hero-side{position:absolute;right:-28px;top:40px;font-size:7px;letter-spacing:.2em;writing-mode:vertical-rl}.hero-bottom{display:flex;justify-content:space-between;gap:20px;margin:0 56px;padding:24px 0 27px;font-size:8px;letter-spacing:.1em}.hero-bottom>span:first-child{color:var(--bronze)}.hero-bottom a{border-bottom:1px solid var(--line)}
.booking-strip{position:relative;display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr 1.1fr;min-height:112px;border-block:1px solid var(--line);background:#eae5d8;width:100%;max-width:none;padding:0 max(56px,calc((100vw - 1240px)/2));margin:0}.booking-intro{padding:20px 20px 20px 0;align-self:center}.booking-intro>.eyebrow{font-size:7px}.booking-intro>span:last-child{font:400 26px var(--serif);display:block;margin-top:5px}.date-trigger{position:relative;align-self:center;min-height:58px;padding:4px 22px;text-align:left;border:0;border-left:1px solid var(--line);background:none}.date-trigger>span:first-child,.guest-field>span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--bronze);margin-bottom:6px}.date-trigger strong{font:400 24px var(--serif)}.date-icon{position:absolute;right:18px;top:19px;font-size:22px}.guest-field{border-left:1px solid var(--line);padding:4px 20px;align-self:center}.guest-field select{border:0;background:none;width:100%;font:400 23px var(--serif);color:var(--ink)}.availability{margin:20px 0;border:0;background:var(--ink);color:var(--ivory);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;transition:background .3s}.availability>span:first-child{font-size:8px;letter-spacing:.12em;line-height:1.8;text-transform:uppercase}.availability>span:last-child{font-size:27px}.availability:hover{background:var(--bronze)}
.intro{background:#fcfaf5;padding-top:125px;padding-bottom:120px}.intro-heading{text-align:center;position:relative;z-index:2}.intro-heading h2{font:400 clamp(46px,4.8vw,72px)/1.03 var(--serif);letter-spacing:-.03em;margin:25px 0}.intro-heading h2 em{font-weight:400;color:#7b7c60}.intro-heading p{font-size:12px;color:#777c70;line-height:1.9}.editorial-collage{display:grid;grid-template-columns:1fr .75fr 1fr;gap:55px;align-items:center;margin-top:65px}.editorial-collage figure{position:relative}.editorial-collage figure img{height:425px}.editorial-collage figcaption{font:italic 20px var(--serif);padding-top:15px;color:var(--bronze)}.collage-left{margin-top:80px}.collage-left img{border-radius:160px 160px 0 0}.collage-right{margin-bottom:80px}.collage-right img{border-radius:0 0 150px 150px}.collage-center{position:relative;text-align:center;align-self:center}.giant-amp{position:absolute;left:50%;top:50%;transform:translate(-50%,-65%);font:italic 310px var(--serif);color:#e5e2d78c;pointer-events:none}.collage-note{position:relative;font:400 35px/1.1 var(--serif)}.collage-note em{font-family:var(--script);font-size:44px;color:#817047}.fine-line{position:relative;display:block;height:52px;width:1px;background:#bba87b;margin:23px auto}.small-copy{position:relative;font-size:11px;line-height:1.9;color:var(--muted)}
.stay{background:#eae5d8;padding:90px 0 110px}.chapter-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.chapter-head>span:last-child{font-size:8px;letter-spacing:.12em}.room-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:38px 0 55px}.room-heading h2{font:400 clamp(50px,5.3vw,80px)/.97 var(--serif);letter-spacing:-.03em}.room-heading h2 em{font-weight:400;color:#7a775a}.room-heading>p{font-size:12px;line-height:1.9;text-align:right;color:#777c70;padding-bottom:6px}.stay-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:85px;align-items:center}.room-main{position:relative}.room-main img{height:540px;object-position:50% 66%}.room-main figcaption{display:flex;justify-content:space-between;padding:14px 0;font-size:8px;letter-spacing:.08em;border-bottom:1px solid var(--line)}.room-thumbnails{display:flex;gap:12px;margin-top:18px}.room-thumbnails button{background:none;border:1px solid transparent;padding:4px;opacity:.65;transition:opacity .3s,border-color .3s}.room-thumbnails button[aria-pressed=true]{opacity:1;border-color:var(--gold)}.room-thumbnails button:hover{opacity:1}.room-thumbnails img{width:70px;height:64px}.handwritten{font:55px/1 var(--script);color:#7a775a;display:block}.room-switch{display:flex;gap:24px;margin:35px 0 0;border-bottom:1px solid var(--line)}.room-switch button{border:0;background:none;text-transform:uppercase;font-size:8px;letter-spacing:.1em;padding:0 0 13px;position:relative;color:#808473}.room-switch button.active{color:var(--ink)}.room-switch button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold)}.room-detail{min-height:157px;padding:25px 0}.room-detail h3{font:400 38px/1.1 var(--serif);margin-bottom:14px}.room-detail p{font-size:12px;color:#737969;line-height:1.9}.amenity-lines{border-top:1px solid var(--line);margin:0 0 30px}.amenity-lines span{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:10px;color:#777c70}.amenity-lines b{font-weight:500;color:var(--ink)}.stay-copy .button{width:100%}
.dining{background:#f5f2e9;padding-bottom:115px}.dining-title{position:relative;margin:50px 0 60px}.dining-title h2{font:400 clamp(60px,6.5vw,99px)/1 var(--serif);letter-spacing:-.04em;position:relative;z-index:2}.dining-title h2 em{font-family:var(--script);font-size:1.14em;font-weight:400;letter-spacing:0}.dining-title>.handwritten{position:absolute;right:0;top:-15px;font-size:28px;transform:rotate(-8deg);color:var(--bronze)}.dining-stage{position:relative;padding-right:100px;padding-bottom:85px}.dining-photo{height:590px;overflow:hidden}.dining-photo img{height:125%;margin-top:-8%;will-change:transform}.dining-caption{position:absolute;inset:auto 100px 85px 0;background:linear-gradient(transparent,#263f368c);display:flex;justify-content:space-between;align-items:end;gap:25px;padding:45px 30px 23px;color:var(--ivory);font-size:8px;letter-spacing:.14em;line-height:1.8}.dining-detail{position:absolute;right:-15px;bottom:0;width:250px;transform:rotate(7deg);border:10px solid var(--ivory);box-shadow:0 10px 35px #263f3615}.dining-detail img{height:315px}.dining-bottom{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:55px;align-items:start;margin-top:12px}.dining-bottom>p{font-size:12px;line-height:1.9;color:#747969;max-width:370px}.hours{border-left:1px solid var(--line);padding-left:35px}.hours span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.hours strong{display:block;font:400 28px var(--serif);white-space:nowrap}.dining-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.dining-actions .button{width:100%}.dining-actions .text-link{font-size:8px}
.events{position:relative;isolation:isolate;min-height:740px;background:#263f36;color:#f5f2e9;overflow:hidden;display:flex;align-items:center}.event-backdrop,.event-tint{position:absolute;inset:0;z-index:-2;overflow:hidden}.event-backdrop img{height:125%;margin-top:-8%;object-position:50% 60%;will-change:transform}.event-tint{z-index:-1;background:linear-gradient(90deg,#172b239e,#172b232a),linear-gradient(0deg,#172b23bb,transparent 80%)}.event-content{padding-top:95px;padding-bottom:95px}.event-content h2{font:400 clamp(65px,7.5vw,112px)/.94 var(--serif);letter-spacing:-.04em;margin:35px 0 45px}.event-content h2 em{font:400 1.16em/1 var(--script);letter-spacing:0;color:#e5d9bd}.event-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.event-bottom p{font-size:12px;line-height:1.9;color:#f0ece0}.event-types{display:flex;gap:30px;margin-top:55px;padding-top:22px;border-top:1px solid #ffffff4a;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.event-types span+span:before{content:'·';margin-right:30px;color:#d4bd8a}
.gallery{background:#fcfaf5;overflow:hidden;padding-bottom:80px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:55px}.gallery-heading h2{font:400 clamp(48px,5vw,74px)/1.05 var(--serif);letter-spacing:-.03em;margin-top:25px}.gallery-heading h2 em{font-weight:400;color:#7d7d5f}.gallery-arrows{display:flex;gap:10px}.gallery-arrows button{width:47px;height:47px;display:grid;place-items:center;background:none;border:1px solid var(--line);font-size:23px;border-radius:50%;transition:background .3s,color .3s}.gallery-arrows button:hover{background:var(--ink);color:var(--ivory)}.gallery-track{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(56px,calc((100vw - 1240px)/2)) 30px;scrollbar-width:thin;scrollbar-color:#cabfa7 #fcfaf5}.gallery-item{position:relative;flex:0 0 31%;min-width:0;border:0;padding:0;background:none;text-align:left;scroll-snap-align:center}.gallery-item:nth-child(3n+2){padding-top:65px;flex-basis:23%}.gallery-item:nth-child(3n){padding-top:25px;flex-basis:35%}.gallery-item img{height:390px;transition:filter .6s,transform 1s var(--ease)}.gallery-item:nth-child(3n+2) img{height:350px}.gallery-item:nth-child(3n) img{height:420px}.gallery-item:hover img{filter:brightness(1.06);transform:translateY(-6px)}.gallery-item>span{display:flex;align-items:center;gap:14px;font:italic 21px var(--serif);padding-top:18px}.gallery-item small{font:8px var(--sans);color:var(--bronze);letter-spacing:.1em}.gallery-item b{font:18px var(--sans);margin-left:auto}.gallery-foot{display:flex;justify-content:space-between;gap:25px;margin-top:25px}.gallery-foot>span:first-child{font:italic 19px var(--serif);color:var(--bronze)}.gallery-foot>span:last-child{font-size:7px;letter-spacing:.14em}
.contact{background:#e9e5d9;padding:95px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:13%;align-items:center}.contact-photo{position:relative;padding:15px}.contact-photo:before{content:'';position:absolute;inset:0;border:1px solid #b6a37b;border-radius:50% 50% 0 0}.contact-photo img{height:480px;border-radius:50% 50% 0 0}.contact-copy h2{font:400 clamp(64px,6.4vw,96px)/.94 var(--serif);letter-spacing:-.035em;margin:30px 0}.contact-copy h2 em{font:400 1.2em var(--script);letter-spacing:0;color:#78765a}.contact-copy>p{font-size:12px;color:#747969}.contact-copy .text-link{font-size:8px;gap:22px;margin-top:5px}.contact-details{margin:25px 0 30px}.contact-details a{display:block}.phone{font:400 39px/1.2 var(--serif);letter-spacing:-.02em}.email{font-size:11px;color:#7d765c;margin-top:8px}.footer{background:#f5f2e9;padding:60px 0 25px}.footer-top{display:grid;grid-template-columns:.7fr 1.3fr .7fr;align-items:center;gap:30px;padding-bottom:45px}.footer-logo{height:78px;width:78px;object-fit:contain}.footer-top p{font:400 38px/1.05 var(--serif)}.footer-top p em{font:42px var(--script);color:#7d7d5f}.footer-top>div{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:25px;font-size:8px;color:#777c70}.floating-book{position:fixed;bottom:24px;right:25px;z-index:35;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s,transform .4s}.floating-book.visible{opacity:1;transform:none;pointer-events:auto}.floating-book button{display:flex;align-items:center;gap:35px;background:var(--ink);color:var(--ivory);border:1px solid #fff4;padding:15px 22px;box-shadow:0 5px 25px #263f3620;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.floating-book span{font-size:22px}
.brand-intro{position:fixed;inset:0;background:#f5f2e9;z-index:500;display:grid;place-items:center;pointer-events:none;animation:intro-exit .8s 1.25s var(--ease) forwards}.brand-intro-mark{width:150px;height:150px;position:relative;animation:logo-reveal 1.2s var(--ease) both}.brand-intro img{height:100%;object-fit:contain;filter:drop-shadow(0 6px 20px #81704720)}.brand-intro-mark:after{content:'';position:absolute;inset:-20px;border:1px solid #a38b5a2b;border-top-color:#a38b5a;border-radius:50%;animation:logo-orbit 1.6s ease-in-out both}@keyframes intro-exit{to{opacity:0;visibility:hidden;transform:translateY(-3%)}}@keyframes logo-reveal{from{opacity:0;transform:scale(.8);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes logo-orbit{from{transform:rotate(-160deg);opacity:0}to{transform:rotate(70deg);opacity:1}}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}[data-drift]{translate:0 var(--drift,0px)}
@media(min-width:1500px){.hero-layout{margin-inline:max(56px,calc((100% - 1440px)/2))}.hero-copy{padding-left:35px}.hero-art{height:700px}}
@media(max-width:1150px){.brand>span{display:none}.hero-layout{min-height:570px}.hero-art{height:550px}.hero h1{font-size:94px}.hero-mini{width:165px;left:-55px}.hero-mini img{height:165px}.round-reserve{width:115px;height:115px;right:-12px}.round-reserve>span{font-size:20px}.booking-intro{display:none}.booking-strip{grid-template-columns:1fr 1fr .8fr 1.2fr}.editorial-collage{gap:35px}.editorial-collage figure img{height:355px}.collage-note{font-size:31px}.collage-note em{font-size:38px}.stay-grid{gap:50px;grid-template-columns:1.2fr .8fr}.room-main img{height:510px}.dining-stage{padding-right:65px}.dining-caption{right:65px}.dining-photo{height:500px}.dining-detail{width:220px}.dining-detail img{height:275px}.dining-bottom{gap:30px;grid-template-columns:1.1fr .8fr 1fr}.hours{padding-left:22px}.hours strong{font-size:25px}.contact-grid{gap:9%}.gallery-item{flex-basis:40%}.gallery-item:nth-child(3n+2){flex-basis:32%}.gallery-item:nth-child(3n){flex-basis:43%}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.header-inner{width:calc(100% - 50px)}.header{height:90px}.main-nav{gap:19px;margin-right:0;font-size:8px}.hero{padding-top:108px}.hero-topline{width:calc(100% - 64px)}.hero-layout{margin-inline:32px;min-height:510px}.hero-art{height:490px}.hero-copy{padding-bottom:65px}.hero h1{font-size:79px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.12em}.hero-description{font-size:11px}.hero-bottom{margin-inline:32px}.hero-mini{width:140px;left:-40px}.hero-mini img{height:145px}.hero-mini>span{font-size:15px}.round-reserve{width:105px;height:105px;bottom:20px}.hero-side{right:-22px;font-size:6px}.booking-strip{padding-inline:32px}.date-trigger{padding-inline:15px}.date-trigger strong{font-size:23px}.guest-field{padding-inline:15px}.availability{padding-inline:18px}.intro{padding-block:95px}.editorial-collage{gap:25px;grid-template-columns:1fr .8fr 1fr}.editorial-collage figure img{height:310px}.collage-left{margin-top:40px}.collage-right{margin-bottom:40px}.collage-note{font-size:27px}.collage-note em{font-size:33px}.giant-amp{font-size:250px}.small-copy{font-size:10px}.stay-grid{gap:35px}.handwritten{font-size:46px}.room-switch{gap:16px}.room-switch button{font-size:7px}.room-detail h3{font-size:33px}.room-main img{height:465px}.room-thumbnails img{width:59px;height:55px}.room-thumbnails{gap:8px}.room-heading>p{font-size:11px}.dining-title>.handwritten{top:-25px}.dining-title h2{font-size:68px}.dining-photo{height:450px}.dining-detail{width:190px}.dining-detail img{height:240px}.dining-bottom{grid-template-columns:1.1fr 1fr;gap:30px}.dining-actions{grid-column:2;grid-row:1 / span 2;align-self:center}.hours{grid-column:1;display:flex;gap:20px;align-items:center;border:0;padding:0}.hours span{margin:0}.events{min-height:670px}.event-content h2{font-size:84px}.event-bottom{align-items:flex-start;gap:25px}.event-bottom p{font-size:11px}.event-bottom .button{font-size:8px;gap:20px;padding-inline:18px}.contact-photo img{height:420px}.contact-copy h2{font-size:72px}.phone{font-size:34px}.email{font-size:10px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.section{padding:75px 0}.header{height:78px}.header.scrolled{height:70px}.header-inner{width:calc(100% - 32px);gap:15px}.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.brand img{height:53px;width:53px}.scrolled .brand img{height:48px;width:48px}.book-button{font-size:7px;padding:0 10px;gap:12px;min-height:38px;letter-spacing:.05em}.book-button span{font-size:17px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;width:32px;min-height:40px;padding:3px;background:none;border:0}.menu-toggle>span:not(.sr-only){height:1px;width:24px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.main-nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;gap:7px;background:var(--ivory);padding:25px 30px;border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{font:400 31px var(--serif);text-transform:none;letter-spacing:0;align-self:flex-start}.hero{padding-top:93px}.hero-topline{width:calc(100% - 40px);font-size:6px;padding-top:11px}.hero-layout{display:flex;flex-direction:column;margin:27px 20px 0;min-height:0;align-items:stretch}.hero-copy{padding:0;z-index:3}.hero-copy .eyebrow{font-size:6px;letter-spacing:.12em}.hero h1{font-size:clamp(62px,15.5vw,93px);line-height:.9;margin:20px 0 0;width:100%;letter-spacing:-.05em}.hero h1 em{font-size:1.13em;margin-left:17%;margin-top:9px}.hero-description{font-size:10px;line-height:1.8;margin-top:25px;max-width:185px}.hero-discover{font-size:7px;gap:20px;margin-top:12px;padding-block:8px}.hero-art{height:380px;margin:35px 12px 0 45px}.hero-image{bottom:35px;clip-path:inset(0 round 43% 43% 0 0)}.hero-art:before{inset:-10px 10px 25px -10px}.hero-mini{left:-50px;bottom:2px;width:127px;padding:6px;transform:rotate(-7deg)}.hero-mini img{height:125px}.hero-mini>span{font-size:14px;padding-top:6px}.round-reserve{right:-15px;bottom:20px;width:98px;height:98px;box-shadow:0 0 0 5px var(--ivory)}.round-reserve>span{font-size:18px}.round-reserve b{font-size:21px}.hero-side{font-size:5px;right:-19px;top:35px;letter-spacing:.12em}.hero-bottom{margin:10px 20px 0;padding:20px 0;font-size:6px;gap:10px}.hero-bottom>span:nth-child(2){display:none}.booking-strip{width:100%;padding:8px 20px 14px;grid-template-columns:1fr 1fr;min-height:0}.date-trigger{padding:15px 8px;min-height:80px;border-left:0;border-bottom:1px solid var(--line)}.date-trigger:nth-of-type(2){border-left:1px solid var(--line);padding-left:20px}.date-trigger strong{font-size:24px}.date-icon{right:12px;top:29px}.guest-field{border-left:0;padding:15px 8px;min-height:75px}.guest-field select{font-size:23px}.availability{min-height:66px;margin:12px 0 0;padding:14px 16px}.availability>span:first-child{font-size:7px}.intro-heading h2{font-size:39px;line-height:1.08;margin:22px 0}.intro-heading p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:.14em}.editorial-collage{grid-template-columns:1fr 1fr;gap:22px;margin-top:40px;align-items:start}.collage-left{margin:0}.collage-right{margin:50px 0 0}.editorial-collage figure img{height:280px}.editorial-collage figcaption{font-size:17px;padding-top:12px}.collage-center{grid-row:2;grid-column:1/-1;padding:35px 40px 0}.giant-amp{font-size:240px;transform:translate(-50%,-57%)}.collage-note{font-size:30px}.collage-note em{font-size:41px}.fine-line{height:35px;margin-block:20px}.small-copy{font-size:11px;max-width:280px;margin:auto}.chapter-head{padding-bottom:15px}.chapter-head>span:last-child{font-size:6px}.room-heading{display:block;margin:30px 0 35px}.room-heading h2{font-size:46px;line-height:1.02}.room-heading>p{display:none}.stay-grid{grid-template-columns:1fr;gap:35px}.room-main img{height:390px}.room-main figcaption{font-size:7px}.room-thumbnails{gap:12px}.room-thumbnails img{width:64px;height:60px}.handwritten{font-size:49px}.room-switch{margin-top:25px;gap:27px}.room-switch button{font-size:8px}.room-detail{min-height:130px;padding:23px 0}.room-detail h3{font-size:35px}.room-detail p{font-size:12px}.amenity-lines{margin-bottom:25px}.stay-copy .button{width:auto;min-width:230px}.dining-title{margin:42px 0 30px}.dining-title h2{font-size:49px;line-height:.96}.dining-title h2 em{display:block;margin-left:12%;font-size:1.4em;margin-top:4px}.dining-title>.handwritten{font-size:23px;top:-22px;right:0}.dining-stage{padding:0 22px 75px 0}.dining-photo{height:395px}.dining-photo img{object-position:47% center}.dining-caption{inset:auto 22px 75px 0;padding:35px 20px 18px;font-size:6px}.dining-caption>span:last-child{display:none}.dining-detail{right:-5px;width:143px;border-width:6px;bottom:0}.dining-detail img{height:180px}.dining-bottom{grid-template-columns:1fr;gap:25px;margin-top:25px}.dining-bottom>p{font-size:12px}.dining-actions{grid-column:auto;grid-row:auto;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:17px}.dining-actions .button{width:auto;gap:25px;font-size:8px;padding-inline:18px}.dining-actions .text-link{font-size:7px;gap:14px}.hours{grid-column:auto;justify-content:space-between;border-block:1px solid var(--line);padding:16px 0}.hours strong{font-size:25px}.hours span{font-size:8px}.events{min-height:620px}.event-content{padding-block:80px}.event-content h2{font-size:clamp(49px,11.7vw,67px);line-height:1;margin:30px 0}.event-content h2 em{font-size:1.18em}.event-bottom{flex-direction:column;gap:27px}.event-bottom p{font-size:11px}.event-bottom .button{font-size:8px;gap:25px}.event-types{font-size:7px;gap:15px;letter-spacing:.06em;margin-top:40px}.event-types span+span:before{margin-right:15px}.gallery-heading{gap:15px;align-items:flex-end;margin-bottom:35px}.gallery-heading h2{font-size:39px;margin-top:20px}.gallery-heading h2 em{font-size:.95em}.gallery-heading .eyebrow{font-size:6px;letter-spacing:.1em}.gallery-arrows{gap:6px}.gallery-arrows button{width:32px;height:32px;font-size:18px}.gallery-track{padding-inline:20px;gap:20px}.gallery-item,.gallery-item:nth-child(3n){flex-basis:80%;padding-top:0}.gallery-item:nth-child(3n+2){flex-basis:70%;padding-top:40px}.gallery-item img,.gallery-item:nth-child(3n) img{height:350px}.gallery-item:nth-child(3n+2) img{height:310px}.gallery-item>span{font-size:18px;gap:10px}.gallery-item small{font-size:7px}.gallery-foot{display:block;margin-top:20px}.gallery-foot>span{display:block}.gallery-foot>span:first-child{font-size:18px}.gallery-foot>span:last-child{font-size:6px;margin-top:12px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-photo{width:85%;margin:auto;padding:10px}.contact-photo img{height:370px}.contact-copy h2{font-size:65px;margin:22px 0}.phone{font-size:38px}.email{font-size:11px}.footer{padding-top:45px}.footer-top{grid-template-columns:65px 1fr;gap:25px;padding-bottom:30px}.footer-logo{width:65px;height:65px}.footer-top p{font-size:30px}.footer-top p em{font-size:36px}.footer-top>div{grid-column:1/-1;flex-direction:row;gap:25px;align-items:center;font-size:7px}.footer-bottom{flex-wrap:wrap;gap:14px;font-size:7px;padding-bottom:65px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}.floating-book{left:15px;right:15px;bottom:15px}.floating-book button{width:100%;justify-content:space-between;padding:14px 20px;font-size:8px}.brand-intro-mark{width:125px;height:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.brand-intro{display:none}.hero-image img,.dining-photo img,.event-backdrop img{transform:none!important}[data-drift]{translate:none!important}.js-motion .reveal{opacity:1;transform:none}}

dialog{border:0;padding:0;color:var(--ink);background:var(--ivory);max-height:92dvh;overscroll-behavior:contain}dialog::backdrop{background:#12100e88;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-enter .5s var(--ease)}.close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:none;color:inherit;font:28px/1 var(--serif);flex-shrink:0;transition:background .3s}.close:hover{background:var(--sand)}.dialog-head{display:flex;justify-content:space-between;gap:25px;align-items:center}.dialog-head h2{font:400 43px/1.1 var(--serif);margin-top:9px}.calendar-dialog{width:min(780px,calc(100% - 30px));padding:35px 40px}.calendar-summary{display:flex;align-items:center;gap:20px;margin:27px 0 22px}.calendar-summary button{flex:1;text-align:left;border:1px solid var(--line);padding:12px 18px;background:transparent;color:var(--ink)}.calendar-summary button.selected{border-color:var(--bronze);background:#d7c6af44}.calendar-summary button>span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.15em;color:var(--bronze)}.calendar-summary strong{display:block;font:400 25px/1.3 var(--serif);margin-top:4px}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.calendar-controls>span{font-size:10px;color:var(--bronze)}.calendar-controls>button{background:none;border:1px solid var(--line);width:35px;height:35px;font-size:20px;color:var(--bronze)}.months{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:10px}.month h3{text-align:center;font:400 24px var(--serif);margin:12px 0 15px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekday{font-size:8px;text-align:center;color:var(--bronze);padding:4px 0 9px}.day{border:0;background:none;aspect-ratio:1;min-height:33px;padding:0;font-size:11px;color:var(--ink);transition:background .15s}.day:hover{background:var(--sand)}.day.today{box-shadow:inset 0 -1px var(--bronze)}.day.in-range{background:#d7c6af88}.day.endpoint{background:var(--bronze);color:var(--ivory)}.day:disabled{opacity:.25}.calendar-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.calendar-foot p{font:italic 20px var(--serif);color:var(--bronze)}.calendar-foot .button{min-height:46px;font-size:8px;padding:0 18px;gap:20px}.calendar-note{font-size:9px;color:var(--muted);margin-top:16px}.reserve-dialog{width:min(960px,calc(100% - 30px));overflow:auto}.reserve-dialog[open]{display:grid;grid-template-columns:.7fr 1.3fr}.reservation-picture{position:relative;background:var(--bronze);color:var(--ivory);min-height:620px;overflow:hidden}.reservation-picture>img{height:100%;position:absolute;inset:0;filter:brightness(.7) saturate(.8)}.reservation-picture>div{position:absolute;left:30px;right:20px;bottom:35px}.reservation-picture p{font:400 56px/.93 var(--serif);margin-top:22px;letter-spacing:-.025em}.reservation-panel{padding:50px 40px 35px;position:relative}.reservation-panel>.close{position:absolute;right:15px;top:15px;width:30px;height:30px;font-size:23px}.reservation-panel h2{font:400 41px/1.07 var(--serif);letter-spacing:-.02em;margin:17px 0 27px}.reserve-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:26px}.reserve-tabs button{position:relative;background:none;border:0;color:var(--muted);text-transform:uppercase;font-size:8px;letter-spacing:.12em;padding:0 0 13px}.reserve-tabs button[aria-pressed=true]{color:var(--ink)}.reserve-tabs button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--bronze)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block}.field>span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--bronze);margin-bottom:5px}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:36px;padding:6px 0;font-size:12px;color:var(--ink);color-scheme:light}.field textarea{resize:vertical;min-height:45px}.field.full{grid-column:1/-1}.submit-reservation{width:100%;margin-top:25px;font-size:8px}.form-note{font-size:9px;line-height:1.7;color:var(--muted);margin-top:13px}.reserve-phone{display:block;font-size:10px;color:var(--bronze);margin-top:20px}.photo-dialog{background:var(--ink);color:var(--ivory);width:100%;max-width:none;height:100dvh;max-height:none;padding:28px 40px}.photo-dialog[open]{display:flex;flex-direction:column}.photo-top{display:flex;align-items:center;justify-content:space-between}.photo-top>span{font:italic 27px var(--serif)}.photo-top .close{border-color:#f4ebdd40}.photo-top .close:hover{background:var(--bronze)}.photo-stage{flex:1;min-height:0;display:grid;grid-template-columns:50px 1fr 50px;gap:25px;align-items:center;padding:20px 0}.photo-stage>button{height:45px;width:45px;border-radius:50%;border:1px solid #f4ebdd50;background:none;color:inherit;font-size:25px}.photo-stage figure{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center}.photo-stage img{object-fit:contain;height:calc(100% - 45px);width:100%}.photo-stage figcaption{font:italic 21px var(--serif);padding-top:15px}.photo-count{text-align:center;font-size:9px;letter-spacing:.15em;color:var(--sand)}.manager-dialog{width:min(600px,calc(100% - 30px));padding:35px}.manager-dialog h2{font-size:32px;margin:0}.manager-dialog p{font-size:12px;color:var(--muted);margin:25px 0}.connection-row{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:18px 0;font-size:11px}.connection-row strong{color:var(--bronze)}
@keyframes dialog-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.photo-dialog .close{color:var(--ivory)}.day.endpoint{color:var(--ivory)}.calendar-summary strong{font-weight:400}.reserve-tabs button{font-weight:500}.form-note,.calendar-note{font-size:10px}.reservation-picture p em{font-family:var(--script)}
@media(max-width:650px){.calendar-dialog{padding:27px 22px;width:calc(100% - 22px)}.dialog-head h2{font-size:35px}.dialog-head .eyebrow{font-size:7px}.calendar-summary{gap:12px;margin-block:24px 18px}.calendar-summary button{padding:11px}.calendar-summary strong{font-size:22px}.months{grid-template-columns:1fr;gap:18px}.month:nth-child(2){display:none}.month h3{font-size:26px}.day{min-height:40px;font-size:12px}.calendar-foot{align-items:stretch;flex-direction:column;gap:13px;margin-top:20px;padding-top:17px}.calendar-foot p{font-size:18px}.calendar-foot .button{width:100%}.calendar-note{font-size:9px}.reserve-dialog[open]{display:block;width:calc(100% - 22px)}.reservation-picture{display:none}.reservation-panel{padding:43px 25px 27px}.reservation-panel h2{font-size:36px}.form-grid{gap:18px 15px}.field input,.field select,.field textarea{font-size:16px}.reserve-tabs{gap:25px}.reserve-tabs button{font-size:8px}.photo-dialog{padding:20px 15px}.photo-top>span{font-size:23px}.photo-stage{grid-template-columns:30px 1fr 30px;gap:8px}.photo-stage>button{width:30px;height:30px;font-size:18px}.photo-stage figcaption{font-size:17px;text-align:center}.manager-dialog{padding:28px 23px}.manager-dialog h2{font-size:30px}.connection-row{font-size:10px;gap:15px}}
/* Readability and editorial refinement */
:root{--muted:#596354;--bronze:#73603b}.wrap{width:min(1240px,calc(100% - 96px))}body{font-size:16px;line-height:1.7}.section{padding-block:104px}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em}.button,.text-link{font-size:12px;line-height:1.5;letter-spacing:.07em}.button{min-height:56px;gap:24px;padding-inline:24px}.text-link{gap:22px}.header-inner{gap:24px}.main-nav{font-size:12px;gap:26px;letter-spacing:.07em;margin-right:12px}.brand>span{font-size:18px}.brand small{font-size:10px;letter-spacing:.07em;line-height:1.5;margin-top:5px}.book-button{font-size:12px;min-height:46px;gap:18px;letter-spacing:.04em}.book-button .book-label,.book-button .book-long{font:inherit}.book-button>span[aria-hidden]{font-size:22px}.hero-topline{font-size:11px;letter-spacing:.12em}.hero-copy{padding-bottom:80px}.hero-copy .eyebrow{font-size:11px;letter-spacing:.09em;max-width:360px}.hero h1{font-size:clamp(74px,7vw,112px);line-height:1;letter-spacing:-.045em;margin:25px 0 26px}.hero h1 em{font-size:1.05em;margin-left:5%;margin-top:4px;line-height:1.08}.hero-description{font-size:16px;line-height:1.75;max-width:365px;margin-top:20px;color:#586251}.hero-discover{margin-top:20px;font-size:12px}.hero-mini>span{font-size:20px;line-height:1.2;padding-block:10px 4px}.hero-side{font-size:11px;letter-spacing:.1em;right:-28px}.hero-bottom{font-size:11px;line-height:1.6;letter-spacing:.04em;align-items:center}.hero-bottom a{min-height:36px;display:flex;align-items:center}.round-reserve>span{font-size:24px}.booking-strip{padding-inline:max(48px,calc((100vw - 1240px)/2));grid-template-columns:1fr 1fr 1fr .85fr 1.3fr;min-height:120px}.booking-intro>.eyebrow{font-size:11px;letter-spacing:.07em}.booking-intro>span:last-child{font-size:27px}.date-trigger{padding-inline:20px;min-height:66px}.date-trigger>span:first-child,.guest-field>span{font-size:12px;letter-spacing:.06em;margin-bottom:9px}.date-trigger strong,.guest-field select{font-size:25px}.date-icon{right:14px;top:24px}.availability{padding:18px 22px;margin:20px 0;gap:15px;min-width:0}.availability>span:first-child{font-size:12px;line-height:1.65;letter-spacing:.05em}.availability>span:last-child{font-size:24px}.intro{padding-block:104px}.intro-heading h2{font-size:clamp(44px,4.4vw,66px);line-height:1.08;margin:24px 0}.intro-heading>p{font-size:16px;line-height:1.75;color:#596354;max-width:630px;margin-inline:auto}.editorial-collage{gap:44px;margin-top:58px;grid-template-columns:1fr .88fr 1fr}.small-copy{font-size:15px;line-height:1.75;color:#596354}.collage-note{font-size:36px;line-height:1.15}.collage-note em{font-size:47px}.editorial-collage figcaption{font-size:21px;line-height:1.35}.chapter-head>span:last-child{font-size:11px;letter-spacing:.07em}.chapter-head{align-items:center;min-height:40px}.room-heading{align-items:center;margin:36px 0 46px;gap:35px}.room-heading h2{font-size:clamp(48px,4.8vw,72px);line-height:1.05}.room-heading>p{font-size:16px;line-height:1.7;max-width:235px;text-align:left;color:#596354;padding:0}.stay-grid{grid-template-columns:1.23fr .77fr;gap:clamp(42px,5.5vw,76px)}.handwritten{font-size:53px}.room-switch{gap:24px;margin-top:26px}.room-switch button{font-size:12px;line-height:1.5;letter-spacing:.04em;min-height:44px;color:#606854;padding-bottom:14px}.room-detail{min-height:0;padding:25px 0}.room-detail h3{font-size:38px;line-height:1.15;margin-bottom:12px}.room-detail p{font-size:16px;line-height:1.7;color:#596354}.amenity-lines span{font-size:14px;line-height:1.5;padding:14px 0;color:#596354}.amenity-lines{margin-bottom:28px}.room-main figcaption{font-size:12px;line-height:1.6;letter-spacing:.02em;gap:16px;align-items:center}.room-main figcaption>span:last-child{white-space:nowrap}.room-thumbnails{gap:12px}.room-thumbnails button{min-width:64px;min-height:64px}.dining-title{margin:48px 0 50px}.dining-title h2{font-size:clamp(58px,5.9vw,88px);line-height:1.1}.dining-title>.handwritten{font-size:27px;top:-21px}.dining-caption{font-size:12px;line-height:1.6;letter-spacing:.06em;padding-inline:30px;align-items:center}.dining-caption>span:last-child{white-space:nowrap}.dining-bottom{grid-template-columns:1.15fr .75fr 1fr;gap:40px;align-items:start;margin-top:24px}.dining-bottom>p{font-size:16px;line-height:1.75;color:#596354;max-width:none}.hours{padding-left:25px}.hours span{font-size:12px;line-height:1.5;letter-spacing:.05em;margin-bottom:9px}.hours strong{font-size:29px;line-height:1.2}.dining-actions{gap:14px;align-items:stretch}.dining-actions .button{font-size:12px;padding-inline:20px;gap:16px}.dining-actions .text-link{font-size:12px;align-self:flex-start}.event-content h2{font-size:clamp(62px,6.2vw,94px);line-height:1.03;margin:30px 0 38px}.event-content h2 em{font-size:1.06em;line-height:1.12}.event-bottom{align-items:center;gap:55px}.event-bottom p{font-size:16px;line-height:1.75;max-width:555px}.event-bottom .button{flex-shrink:0;font-size:12px}.event-types{font-size:12px;line-height:1.6;letter-spacing:.08em;margin-top:44px}.gallery-heading h2{font-size:clamp(45px,4.5vw,68px);line-height:1.08;margin-top:22px}.gallery-heading{align-items:end}.gallery-arrows button{width:48px;height:48px;flex-shrink:0}.gallery-item>span{font-size:22px;line-height:1.35;align-items:baseline;gap:12px}.gallery-item small{font-size:12px}.gallery-item b{flex-shrink:0}.gallery-foot{align-items:center}.gallery-foot>span:first-child{font-size:21px;line-height:1.4}.gallery-foot>span:last-child{font-size:11px;letter-spacing:.06em;line-height:1.6}.contact-copy h2{font-size:clamp(62px,5.8vw,87px);line-height:1.05;margin:24px 0}.contact-copy h2 em{font-size:1.13em;line-height:1.05}.contact-copy>p{font-size:16px;line-height:1.7;color:#596354}.contact-copy .text-link{font-size:12px;margin-top:10px}.contact-details{margin:28px 0 30px}.email{font-size:15px;line-height:1.6;color:#625e4a;overflow-wrap:anywhere}.phone{font-size:40px;line-height:1.25}.footer-top>div{font-size:12px;letter-spacing:.05em;gap:8px}.footer-top>div a{min-height:36px;display:flex;align-items:center}.footer-bottom{font-size:12px;line-height:1.6;letter-spacing:0;align-items:center;flex-wrap:wrap;color:#596354}.footer-bottom a{min-height:38px;display:flex;align-items:center}.floating-book button{font-size:12px;letter-spacing:.05em;min-height:50px}.footer-top p em{font-size:39px}
/* Forms and date picker use the same readable type scale. */
.dialog-head h2{font-size:37px;line-height:1.15}.calendar-summary button>span{font-size:12px;letter-spacing:.06em}.calendar-summary strong{font-size:26px}.calendar-controls>span{font-size:13px;line-height:1.5}.calendar-controls>button{width:42px;height:42px}.weekday{font-size:12px}.day{font-size:14px;min-height:40px}.calendar-foot .button{font-size:11px;min-height:48px}.calendar-foot p{font-size:22px}.calendar-note,.form-note{font-size:13px;line-height:1.6;color:#596354}.reservation-panel h2{font-size:38px;line-height:1.1}.reserve-tabs button{font-size:12px;letter-spacing:.04em;min-height:44px}.reserve-tabs{gap:24px;margin-bottom:24px}.field>span{font-size:12px;line-height:1.45;letter-spacing:.035em;margin-bottom:8px}.field input,.field select,.field textarea{font-size:16px;min-height:44px}.form-grid{gap:22px 20px}.submit-reservation{font-size:12px;min-height:54px}.reserve-phone{font-size:14px;line-height:1.6;margin-top:18px}.close{min-width:44px;min-height:44px}.reservation-panel>.close{width:40px;height:40px;min-height:40px;min-width:40px}.photo-stage figcaption{font-size:22px;line-height:1.35}.photo-count{font-size:12px;letter-spacing:.08em}.photo-stage img{height:calc(100% - 62px)}.photo-stage>button{width:46px;height:46px}
@media(max-width:1150px){.booking-strip{grid-template-columns:1fr 1fr .85fr 1.3fr}.main-nav{gap:20px;font-size:11px}.book-button{font-size:11px}.stay-grid{gap:42px}.dining-bottom{gap:28px;grid-template-columns:1.1fr .8fr 1fr}.dining-actions .button{font-size:11px;padding-inline:18px}.hours{padding-left:20px}.hours strong{font-size:26px}.hero h1{font-size:87px}.hero h1 em{font-size:1.02em}.hero-description{max-width:310px}.editorial-collage{gap:32px}.room-switch{gap:17px}.room-switch button{font-size:11px}.event-bottom{gap:35px}}
@media(max-width:900px){.header-inner{width:calc(100% - 40px)}.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.brand>span{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;width:42px;min-height:44px;padding:6px;background:none;border:0}.menu-toggle>span:not(.sr-only){height:1px;width:25px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.main-nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;gap:7px;margin:0;background:var(--ivory);padding:24px 30px;border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{font:400 32px var(--serif);text-transform:none;letter-spacing:0;align-self:flex-start;padding-block:8px}.wrap{width:calc(100% - 56px)}.hero h1{font-size:74px}.hero-copy .eyebrow{font-size:10px;max-width:260px}.hero-description{font-size:15px;max-width:285px}.hero-discover{font-size:11px}.hero-side{font-size:10px}.hero-bottom{font-size:10px}.booking-strip{padding-inline:28px}.availability>span:first-child{font-size:11px}.editorial-collage{gap:23px;grid-template-columns:1fr 1fr 1fr}.small-copy{font-size:14px}.room-heading>p{font-size:15px;max-width:190px}.stay-grid{grid-template-columns:1.12fr .88fr;gap:30px}.room-switch{gap:14px}.room-switch button{font-size:10px}.room-detail p{font-size:15px}.room-detail h3{font-size:33px}.amenity-lines span{font-size:13px}.stay-copy .button{font-size:11px;padding-inline:16px;gap:16px}.room-main figcaption{font-size:11px}.dining-bottom{grid-template-columns:1.2fr 1fr;gap:28px}.dining-actions{grid-column:2;grid-row:1 / span 2;align-self:start}.dining-bottom>p{font-size:15px}.hours{grid-column:1;padding:0;border:0;display:block}.hours span{margin-bottom:8px}.event-bottom{align-items:start;flex-direction:column;gap:25px}.event-bottom p{font-size:15px;max-width:580px}.event-types{font-size:11px}.gallery-heading h2{font-size:52px}.contact-copy>p{font-size:15px}.email{font-size:14px}.contact-copy .text-link{font-size:11px}.footer-top{grid-template-columns:.5fr 1.2fr .8fr}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.section{padding-block:68px}.header-inner{width:calc(100% - 28px)}.book-button{font-size:11px;min-height:42px;padding-inline:12px;gap:12px}.book-long{display:none}.hero-topline{font-size:10px;letter-spacing:.06em}.hero-layout{margin-top:25px}.hero-copy .eyebrow{font-size:11px;letter-spacing:.055em;max-width:100%;line-height:1.6}.hero h1{font-size:clamp(50px,13.4vw,76px);line-height:1.05;margin-top:19px;white-space:normal}.hero h1 em{font-size:1.14em;line-height:1.1;margin-left:5%;margin-top:0;white-space:nowrap}.hero-description{font-size:15px;line-height:1.7;max-width:100%;margin-top:18px}.hero-discover{font-size:12px;margin-top:14px;min-height:44px;letter-spacing:.05em}.hero-art{margin-top:32px}.hero-mini>span{font-size:17px;line-height:1.2;padding-block:8px 2px}.hero-side{font-size:9px;letter-spacing:.06em;right:-19px}.round-reserve>span{font-size:19px}.hero-bottom{font-size:10px;letter-spacing:0;padding-block:18px;gap:16px;align-items:center}.booking-strip{padding:8px 20px 15px;grid-template-columns:1fr 1fr}.date-trigger{min-height:92px;padding:15px 8px}.date-trigger:nth-of-type(2){padding-left:17px}.date-trigger>span:first-child,.guest-field>span{font-size:12px;letter-spacing:.045em;margin-bottom:8px}.date-trigger strong,.guest-field select{font-size:24px}.date-icon{right:10px;top:34px}.guest-field{padding:16px 8px;min-height:85px}.availability{margin:12px 0 0;min-height:74px;padding:12px 14px;gap:10px}.availability>span:first-child{font-size:11px;letter-spacing:.025em}.availability>span:last-child{font-size:23px}.eyebrow{font-size:11px;letter-spacing:.075em}.intro-heading h2{font-size:clamp(37px,9.7vw,45px);line-height:1.1;margin:19px 0}.intro-heading>p{font-size:15px;line-height:1.75;max-width:100%}.editorial-collage{grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.editorial-collage figcaption{font-size:19px;line-height:1.3;padding-top:14px}.collage-center{padding:22px 15px 0;grid-row:2;grid-column:1/-1}.small-copy{font-size:15px;line-height:1.7;max-width:340px}.collage-note{font-size:33px}.collage-note em{font-size:43px}.fine-line{height:29px;margin-block:18px}.chapter-head{align-items:center;gap:16px;padding-bottom:14px}.chapter-head>span:last-child{font-size:10px;line-height:1.5;letter-spacing:.04em;max-width:145px;text-align:right}.room-heading{margin:28px 0 31px}.room-heading h2{font-size:44px;line-height:1.08}.room-heading>p{display:block;text-align:left;font-size:15px;max-width:none;margin-top:15px}.stay-grid{grid-template-columns:1fr;gap:32px}.room-main figcaption{font-size:11px;line-height:1.5;gap:12px}.room-thumbnails{gap:10px}.room-thumbnails button{min-width:0;flex:1;max-width:82px}.room-thumbnails img{width:100%;height:60px}.handwritten{font-size:48px}.room-switch{gap:28px;margin-top:17px}.room-switch button{font-size:12px;min-height:46px;letter-spacing:.025em}.room-detail{padding:23px 0;min-height:0}.room-detail h3{font-size:34px}.room-detail p{font-size:15px;line-height:1.7}.amenity-lines span{font-size:14px;padding:13px 0}.stay-copy .button{font-size:12px;min-height:54px;padding-inline:22px;min-width:0;width:100%}.dining-title{margin:34px 0 30px}.dining-title h2{font-size:51px;line-height:1.06}.dining-title h2 em{font-size:1.23em;line-height:1.08;margin-left:13%;margin-top:0}.dining-title>.handwritten{display:none}.dining-caption{font-size:11px;line-height:1.5;letter-spacing:.04em;padding:30px 18px 18px;inset:auto 22px 75px 0}.dining-caption>span:last-child{display:none}.dining-bottom{grid-template-columns:1fr;gap:23px;margin-top:23px}.dining-bottom>p{font-size:15px;line-height:1.75}.hours{grid-column:auto;display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-block:1px solid var(--line);gap:20px}.hours span{font-size:12px;margin:0;letter-spacing:.03em}.hours strong{font-size:27px}.dining-actions{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;gap:12px}.dining-actions .button{font-size:12px;width:100%;min-height:54px;padding-inline:22px}.dining-actions .text-link{font-size:12px;min-height:44px;gap:25px;align-self:flex-start}.event-content{padding-block:70px}.event-content h2{font-size:clamp(44px,10.9vw,64px);line-height:1.08;margin:24px 0 26px}.event-content h2 em{font-size:1.01em;line-height:1.1}.event-bottom{gap:26px}.event-bottom p{font-size:15px;line-height:1.75}.event-bottom .button{font-size:12px;min-height:54px;padding-inline:22px}.event-types{font-size:11px;letter-spacing:.025em;gap:14px;flex-wrap:wrap;row-gap:10px;margin-top:34px}.event-types span+span:before{margin-right:14px}.gallery-heading{align-items:end;gap:15px;margin-bottom:32px}.gallery-heading h2{font-size:37px;line-height:1.08;margin-top:19px}.gallery-heading h2 em{font-size:1em}.gallery-heading .eyebrow{font-size:11px;letter-spacing:.075em}.gallery-arrows{flex-direction:column;gap:8px;flex-shrink:0}.gallery-arrows button{width:44px;height:44px;font-size:21px}.gallery-item>span{font-size:21px;line-height:1.35;gap:10px}.gallery-item small{font-size:11px}.gallery-foot{display:block;margin-top:21px}.gallery-foot>span:first-child{font-size:20px}.gallery-foot>span:last-child{font-size:11px;line-height:1.6;letter-spacing:.035em;margin-top:12px}.contact-grid{gap:35px}.contact-copy h2{font-size:60px;line-height:1.05;margin:21px 0}.contact-copy>p{font-size:15px}.contact-copy .text-link{font-size:12px;min-height:44px;margin-top:7px}.phone{font-size:37px}.email{font-size:14px}.contact-copy>.button{font-size:12px;min-height:54px}.footer-top{grid-template-columns:65px 1fr;gap:23px}.footer-top p{font-size:28px;line-height:1.1}.footer-top p em{font-size:31px}.footer-top>div{font-size:12px;gap:22px;flex-wrap:wrap;letter-spacing:.025em}.footer-bottom{font-size:11px;gap:12px}.floating-book button{font-size:12px;letter-spacing:.035em}.calendar-dialog{padding:25px 20px}.dialog-head h2{font-size:31px;line-height:1.1}.dialog-head .eyebrow{font-size:10px}.calendar-summary button>span{font-size:11px}.calendar-summary strong{font-size:23px}.calendar-controls{gap:12px}.calendar-controls>span{font-size:12px;text-align:center}.weekday{font-size:12px}.day{font-size:14px;min-height:40px}.calendar-foot .button{font-size:12px;min-height:50px}.calendar-foot p{font-size:21px}.calendar-note{font-size:12px}.reservation-panel{padding:55px 23px 28px}.reservation-panel h2{font-size:34px;margin:16px 0 24px}.reserve-tabs{gap:24px}.reserve-tabs button{font-size:12px;min-height:44px}.field>span{font-size:12px;line-height:1.5;letter-spacing:0;margin-bottom:7px}.form-grid{gap:20px 16px}.field input,.field select,.field textarea{font-size:16px;min-height:44px}.submit-reservation{font-size:12px;min-height:54px}.form-note{font-size:13px;line-height:1.65}.reserve-phone{font-size:14px;line-height:1.6}.photo-stage{grid-template-columns:44px 1fr 44px;gap:5px}.photo-stage>button{width:44px;height:44px;font-size:21px}.photo-stage figcaption{font-size:19px;line-height:1.3}.photo-stage img{height:calc(100% - 80px)}.photo-count{font-size:12px}}

/* Booking strip — screenshot-matched editorial alignment. */
.booking-strip {
  width: 100%;
  max-width: none;
  grid-template-columns: 1.1fr 1fr 1fr .8fr 1.1fr;
  align-items: center;
  min-height: 152px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: max(28px, calc((100vw - 1502px) / 2));
  padding-right: max(28px, calc((100vw - 1450px) / 2));
}
.booking-strip .booking-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  min-width: 0;
  padding: 0 26px 0 0;
}
.booking-strip .booking-intro > .eyebrow {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.5;
  margin: 0 0 7px;
}
.booking-strip .booking-intro > span:last-child {
  display: block;
  font: 400 30px/1.12 var(--serif);
  margin: 0;
  white-space: nowrap;
}
.booking-strip .date-trigger,
.booking-strip .guest-field {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  position: relative;
  min-width: 0;
  width: 100%;
  height: 70px;
  min-height: 70px;
  text-align: left;
  border-left: 1px solid var(--line);
  border-bottom: 0;
  padding: 3px 47px 3px 27px;
}
.booking-strip .date-trigger > span:first-child,
.booking-strip .guest-field > span {
  display: block;
  margin-bottom: 7px;
  font: 500 10px/1.5 var(--sans);
  letter-spacing: .085em;
  text-transform: uppercase;
  color: var(--bronze);
}
.booking-strip .date-trigger strong {
  display: block;
  font: 400 28px/1.15 var(--serif);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-strip .date-trigger .date-icon {
  position: absolute;
  top: auto;
  bottom: 18px;
  right: 21px;
  font: 400 24px/1 var(--serif);
}
.booking-strip .guest-field {
  padding: 3px 22px 3px 24px;
}
.booking-strip .guest-field select {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: 400 27px/1.15 var(--serif);
  color: var(--ink);
}
.booking-strip .availability {
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  height: 103px;
  min-height: 103px;
  margin: 0;
  padding: 20px 29px;
  gap: 24px;
}
.booking-strip .availability > span:first-child {
  font: 500 10px/1.75 var(--sans);
  letter-spacing: .055em;
  text-transform: uppercase;
}
.booking-strip .availability > span:last-child {
  flex-shrink: 0;
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  font-size: 0;
}
.booking-strip .availability > span:last-child::before {
  content: "";
  position: absolute;
  left: 10px;
  bottom: 6px;
  width: 40px;
  height: 2px;
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: left center;
}
.booking-strip .availability > span:last-child::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}
@media (max-width: 1199px) {
  .booking-strip {
    grid-template-columns: 1fr 1fr .8fr 1.1fr;
    padding-inline: clamp(24px, 4vw, 48px);
  }
  .booking-strip .booking-intro { display: none; }
  .booking-strip .date-trigger:first-of-type { border-left: 0; padding-left: 0; }
  .booking-strip .date-trigger { padding-right: 39px; }
  .booking-strip .guest-field { padding-left: 22px; }
  .booking-strip .availability { padding-inline: 22px; }
}
@media (max-width: 900px) {
  .booking-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    min-height: 0;
    padding: 19px 30px 24px;
  }
  .booking-strip .date-trigger {
    min-height: 90px;
    height: 90px;
    padding-block: 9px 17px;
    border-bottom: 1px solid var(--line);
  }
  .booking-strip .date-trigger:nth-of-type(2) { padding-left: 28px; border-left: 1px solid var(--line); }
  .booking-strip .date-trigger .date-icon { bottom: 23px; }
  .booking-strip .guest-field {
    height: 95px;
    min-height: 95px;
    padding: 12px 22px 8px 0;
    border: 0;
  }
  .booking-strip .availability {
    height: 85px;
    min-height: 85px;
    padding: 16px 23px;
  }
}
@media (max-width: 650px) {
  .booking-strip { padding: 15px 20px 20px; }
  .booking-strip .date-trigger { padding-left: 0; padding-right: 32px; height: 85px; min-height: 85px; }
  .booking-strip .date-trigger:nth-of-type(2) { padding-left: 18px; }
  .booking-strip .date-trigger > span:first-child,
  .booking-strip .guest-field > span { font-size: 10px; letter-spacing: .06em; margin-bottom: 8px; }
  .booking-strip .date-trigger strong { font-size: clamp(22px, 5.5vw, 28px); }
  .booking-strip .date-trigger .date-icon { right: 8px; bottom: 23px; font-size: 18px; }
  .booking-strip .guest-field { min-height: 76px; height: 76px; padding: 8px 12px 8px 0; }
  .booking-strip .guest-field select { font-size: 24px; }
  .booking-strip .availability { min-height: 76px; height: 76px; padding: 14px 16px; gap: 10px; }
  .booking-strip .availability > span:first-child { font-size: 10px; line-height: 1.65; }
}
@media (max-width: 365px) {
  .booking-strip { padding-inline: 14px; }
  .booking-strip .date-trigger:nth-of-type(2) { padding-left: 13px; }
  .booking-strip .date-trigger strong { font-size: 21px; }
  .booking-strip .date-trigger .date-icon { right: 4px; font-size: 16px; }
  .booking-strip .availability { padding-inline: 11px; }
  .booking-strip .availability > span:first-child { font-size: 9px; }
}


/* Decorative movement only: all content, layout, colors and booking behavior stay intact. */
@keyframes fr-soft-arrival{
  from{opacity:0;transform:translate3d(0,23px,0);filter:blur(2px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes fr-image-arrival{
  from{opacity:.65;transform:translate3d(0,28px,0) scale(.985)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes fr-polaroid-float{
  0%,100%{transform:rotate(-7deg) translate3d(0,0,0)}
  50%{transform:rotate(-5.5deg) translate3d(0,-6px,0)}
}
@keyframes fr-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes fr-glint{0%{transform:translateX(-160%) skewX(-24deg)}100%{transform:translateX(260%) skewX(-24deg)}}
@keyframes fr-floating-light{
  0%,100%{transform:translate3d(0,0,0) scale(.8);opacity:.18}
  45%{opacity:.57}
  60%{transform:translate3d(11px,-26px,0) scale(1.2);opacity:.35}
}
@keyframes fr-line-travel{
  from{transform:scaleX(0);opacity:.2}
  to{transform:scaleX(1);opacity:.75}
}
@keyframes fr-quiet-pulse{
  0%,100%{box-shadow:0 5px 25px #263f3620}
  50%{box-shadow:0 6px 28px #263f3640,0 0 0 3px #a38b5a24}
}
@keyframes fr-cue{0%,100%{opacity:.25;transform:scaleY(.55)}50%{opacity:.75;transform:scaleY(1)}}
@keyframes fr-amp-breathe{0%,100%{opacity:.8}50%{opacity:1}}
@keyframes fr-tint-wander{from{background-position:0% 48%,50% 0%}to{background-position:100% 55%,50% 100%}}

@media(prefers-reduced-motion:no-preference){
  /* A quiet, staggered first impression, after the existing logo intro. */
  body.fr-animated .hero-copy>.eyebrow,
  body.fr-animated .hero-copy>h1,
  body.fr-animated .hero-copy>.hero-description,
  body.fr-animated .hero-copy>.hero-discover,
  body.fr-animated .hero-bottom>*{
    animation:fr-soft-arrival 1.05s cubic-bezier(.19,1,.22,1) both;
    animation-delay:calc(var(--fr-delay,0s) + var(--fr-splash-delay,0s));
  }
  body.fr-animated .hero-copy>.eyebrow{--fr-delay:.03s}
  body.fr-animated .hero-copy>h1{--fr-delay:.17s}
  body.fr-animated .hero-copy>.hero-description{--fr-delay:.37s}
  body.fr-animated .hero-copy>.hero-discover{--fr-delay:.49s}
  body.fr-animated .hero-bottom>*:nth-child(1){--fr-delay:.54s}
  body.fr-animated .hero-bottom>*:nth-child(2){--fr-delay:.62s}
  body.fr-animated .hero-bottom>*:nth-child(3){--fr-delay:.70s}
  body.fr-animated .hero-art{
    animation:fr-image-arrival 1.4s cubic-bezier(.19,1,.22,1) both;
    animation-delay:calc(.12s + var(--fr-splash-delay,0s));
  }
  body.fr-intro-active{--fr-splash-delay:1.35s}
  /* Existing `.reveal` and parallax effects remain untouched. */
  body.fr-animated .fr-appear:not(.fr-in-view){opacity:0;transform:translate3d(0,23px,0)}
  body.fr-animated .fr-appear{
    transition:opacity .95s cubic-bezier(.19,1,.22,1),transform .95s cubic-bezier(.19,1,.22,1);
    transition-delay:var(--fr-stagger,0ms);
  }
  body.fr-animated .fr-appear.fr-in-view{opacity:1;transform:translate3d(0,0,0)}
  .hero-mini{animation:fr-polaroid-float 8.5s ease-in-out infinite;animation-delay:2.7s;will-change:transform}
  .round-reserve{isolation:isolate}
  .round-reserve::after{
    content:"";position:absolute;inset:-10px;pointer-events:none;border-radius:50%;
    border:1px solid transparent;border-top-color:#a38b5aaf;border-right-color:#a38b5a33;
    animation:fr-orbit 16s linear infinite;
  }
  .fr-ambient{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
  .fr-ambient span{position:absolute;width:4px;height:4px;border-radius:50%;background:#c5af75;
    box-shadow:0 0 15px 3px #d8c78c60;animation:fr-floating-light var(--fr-duration,9s) ease-in-out infinite;
    animation-delay:var(--fr-lag,0s)}
  .fr-ambient span:nth-child(1){top:13%;right:11%;--fr-duration:9s;--fr-lag:-2s}
  .fr-ambient span:nth-child(2){top:44%;right:5%;width:3px;height:3px;--fr-duration:12s;--fr-lag:-6s}
  .fr-ambient span:nth-child(3){bottom:20%;right:24%;width:3px;height:3px;--fr-duration:10s;--fr-lag:-3s}
  .fr-ambient span:nth-child(4){top:27%;left:13%;width:2px;height:2px;--fr-duration:14s;--fr-lag:-8s}
  .hero-side::after{content:"";display:block;width:1px;height:47px;margin:18px auto 0;background:var(--gold);
    transform-origin:top;animation:fr-cue 3.6s ease-in-out infinite}
  .chapter-head{position:relative}
  .chapter-head::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:88px;background:var(--gold);
    transform:scaleX(0);transform-origin:left;opacity:0}
  .chapter-head.visible::after{animation:fr-line-travel 1.6s cubic-bezier(.19,1,.22,1) .3s forwards}
  .giant-amp{animation:fr-amp-breathe 9s ease-in-out infinite}
  .event-tint{background-size:125% 115%,100% 125%;animation:fr-tint-wander 21s ease-in-out infinite alternate}
  /* Soft light sweeps on interaction, rather than new banners or widgets. */
  .button,.availability,.book-button,.floating-book button{position:relative;overflow:hidden;isolation:isolate}
  .button::after,.availability::after,.book-button::after,.floating-book button::after{
    content:"";position:absolute;inset:-70% auto -70% -50%;width:43%;background:linear-gradient(90deg,transparent,#ffffff31,transparent);
    transform:translateX(-160%) skewX(-24deg);pointer-events:none;z-index:0
  }
  .button:hover::after,.availability:hover::after,.book-button:hover::after,.floating-book button:hover::after{
    animation:fr-glint .9s ease-out 1 forwards
  }
  .button>*,.availability>*,.book-button>*,.floating-book button>*{position:relative;z-index:1}
  .editorial-collage figure img,.contact-photo img{transition:filter .85s ease,transform 1.15s cubic-bezier(.19,1,.22,1)}
  .editorial-collage figure:hover img,.contact-photo:hover img{filter:brightness(1.045);transform:scale(1.017)}
  .gallery-item b{transition:transform .5s cubic-bezier(.19,1,.22,1)}
  .gallery-item:hover b{transform:translate(4px,-3px)}
  .floating-book.visible button{animation:fr-quiet-pulse 6s ease-in-out infinite}
}
@media(max-width:650px){.fr-ambient span:nth-child(2),.fr-ambient span:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){
  .fr-ambient{display:none!important}
  body.fr-animated .fr-appear{opacity:1!important;transform:none!important;transition:none!important}
  .round-reserve::after,.hero-side::after,.chapter-head::after{animation:none!important}
}


/* Additive design refinements; existing site styling is preserved. */
.fr-location{background:#fcfaf5;position:relative;overflow:hidden;padding-block:100px 115px}
.fr-location-chapter{margin-bottom:38px}.fr-location-chapter>span:last-child{font-size:11px;letter-spacing:.1em}
.fr-location-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}
.fr-location-heading h2{font:400 clamp(50px,5.5vw,85px)/1 var(--serif);letter-spacing:-.03em;margin-top:18px}
.fr-location-heading h2 em{font-weight:400;color:#7a775a}
.fr-location-heading>p{max-width:330px;color:var(--muted);font-size:15px;line-height:1.8}
.fr-location-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:stretch;gap:0;min-height:485px;border:1px solid var(--line)}
.fr-map-panel{position:relative;min-height:485px;overflow:hidden;background:#e9e5d9}
.fr-map-panel iframe{display:block;width:100%;height:100%;min-height:485px;border:0;visibility:hidden}
.fr-map-panel iframe.fr-map-active{visibility:visible}
.fr-map-consent{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:25px;background:radial-gradient(circle at 50% 60%,#f5f2e9 0%,#e9e5d9 78%)}
.fr-map-consent[hidden]{display:none!important}.fr-map-marker{font:400 70px/1 var(--serif);color:var(--gold);animation:fr-map-float 4.8s ease-in-out infinite}
.fr-map-consent strong{font:400 40px/1.1 var(--serif);margin:6px 0 0}.fr-map-consent p{font-size:14px;color:var(--muted)}
.fr-map-consent .button{margin-top:22px}.fr-map-consent small{max-width:335px;font-size:11px;line-height:1.6;color:var(--muted);margin-top:13px}
.fr-location-info{background:#eae5d8;padding:clamp(26px,4vw,58px);display:flex;flex-direction:column;justify-content:center}
.fr-location-info h3{font:400 clamp(33px,3vw,47px)/1.04 var(--serif);margin:20px 0 35px}.fr-location-info h3 em{font-weight:400;color:#7a775a}
.fr-address-line{border-top:1px solid var(--line);padding:15px 0;display:flex;flex-direction:column;gap:6px}
.fr-address-line span{font:600 10px/1.6 var(--sans);letter-spacing:.12em;color:var(--bronze);text-transform:uppercase}
.fr-address-line strong,.fr-address-line a{font:400 15px/1.7 var(--sans);overflow-wrap:anywhere}
.fr-directions{margin-top:23px;max-width:100%;gap:15px}.fr-location-signature{font:400 32px/1.2 var(--script);color:var(--bronze);margin-top:20px;text-align:right}
.fr-consent{display:flex;gap:12px;align-items:flex-start;margin-top:5px}.field.fr-consent>span{font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none;color:var(--muted);margin:0}
.fr-consent input[type="checkbox"]{width:19px;height:19px;min-height:19px;flex:0 0 19px;margin:2px 0;accent-color:var(--ink)}
.fr-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{font-size:13px;line-height:1.65;margin-top:14px;overflow-wrap:anywhere}.form-status:empty{display:none}
.form-status[data-state="success"]{color:#286149}.form-status[data-state="error"]{color:#854c36}
.fr-mail-fallback{display:block;text-decoration:underline;font-weight:600;color:var(--ink);margin-top:7px}
@keyframes fr-map-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1000px){.fr-location-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.fr-location-info{padding:32px}.fr-location-heading>p{max-width:270px}}
@media(min-width:651px) and (max-width:900px){.dining-detail{right:0}}
@media(max-width:760px){.fr-location{padding-block:74px}.fr-location-heading{align-items:start;flex-direction:column;gap:16px}.fr-location-heading h2{font-size:clamp(43px,8.6vw,65px)}.fr-location-heading>p{max-width:590px}.fr-location-grid{grid-template-columns:1fr}.fr-map-panel{min-height:375px;order:2}.fr-map-panel iframe{min-height:375px}.fr-location-info{order:1;padding:34px 30px}.fr-location-info h3{font-size:40px;margin-bottom:24px}.fr-location-signature{display:none}.fr-address-line{gap:4px;padding:12px 0}}
@media(max-width:650px){.hero-layout,.hero-copy,.hero-art,.dining-stage,.booking-strip,.footer{min-width:0}.hero{max-width:100%}.hero h1{overflow-wrap:normal}.reserve-dialog{max-width:calc(100vw - 20px)}.calendar-dialog{max-width:calc(100vw - 20px)}.photo-dialog{max-width:100vw}.fr-location{padding-block:65px}.fr-location-chapter{margin-bottom:24px}.fr-location-chapter>span:last-child{font-size:9px}.fr-location-heading{margin-bottom:30px}.fr-location-heading>p{font-size:14px}.fr-map-panel,.fr-map-panel iframe{min-height:310px}.fr-map-consent strong{font-size:34px}.fr-map-consent .button{margin-top:11px}.fr-map-marker{font-size:50px}.fr-location-info{padding:28px 22px}.fr-location-info h3{font-size:36px}.fr-address-line strong,.fr-address-line a{font-size:14px}.fr-directions{min-height:50px;font-size:11px;width:100%}.field input,.field select,.field textarea{min-width:0}}
@media(max-width:390px){.hero{overflow-x:clip}.stay-grid{grid-template-columns:minmax(0,1fr)}.stay-visual,.stay-copy,.room-main{min-width:0;max-width:100%}.room-thumbnails{max-width:100%;gap:6px;overflow-x:auto}.room-thumbnails button{flex:0 0 auto;min-width:0;min-height:0}.room-thumbnails img{width:52px;height:52px}.header-inner{width:calc(100% - 20px)}.hero h1{font-size:clamp(48px,12.6vw,62px)}.hero-mini{left:-28px}.hero-art{margin-left:28px}.book-button{font-size:10px}.footer-top p{font-size:26px}.fr-location-heading h2{font-size:42px}}
@media(hover:none){.gallery-item:hover img{transform:none}.fr-map-consent .button{min-height:52px}}
@media(prefers-reduced-motion:reduce){.fr-map-marker{animation:none}}


/* Freedom & Relax / Boutique Editorial 2026 — visual redesign preview */
:root{--ivory:#f5f2e9;--ink:#263f36;--gold:#bba170;--bronze:#8d7854;--sand:#e7e1d3;--muted:#606b61;--fr-forest:#1b3028;--fr-forest-light:#304b3e;--fr-cream:#f9f7f1;--fr-line:rgba(179,154,106,.32);--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:92px}body{background:var(--fr-cream);font-size:15px}a,button{-webkit-tap-highlight-color:transparent}section{scroll-margin-top:90px}.wrap{width:min(1280px,calc(100% - 110px))}.section{padding-block:140px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em}.button{border-radius:3px;position:relative;isolation:isolate;overflow:hidden;min-height:58px;font-size:11px;letter-spacing:.13em;box-shadow:0 10px 30px #101e170d}.button:after,.availability:after{content:'';position:absolute;top:0;left:-120%;width:55%;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff2c,transparent);transform:skewX(-26deg);transition:left .85s var(--ease)}.button:hover:after,.availability:hover:after{left:150%}.button:hover{background:#435f4e;border-color:#435f4e}.text-link{font-size:11px;letter-spacing:.12em;gap:17px;border-bottom-color:var(--gold)}
/* Polished architectural navigation */
.header{height:94px;background:rgba(248,246,239,.96);box-shadow:0 1px 0 rgba(50,57,43,.11);z-index:80;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header.scrolled{height:76px;background:#f8f6efeb;box-shadow:0 10px 35px #17271c12}.header:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent 5%,#b99a62 35%,#667d6a 75%,transparent 96%)}.header-inner{max-width:1450px;width:calc(100% - 90px)}.brand img{height:66px;width:66px}.brand>span{font-size:17px;letter-spacing:.12em}.brand small{font-size:9px}.main-nav{gap:34px;font-size:10px;font-weight:700;letter-spacing:.13em}.main-nav a{transition:color .3s}.main-nav a:hover{color:var(--bronze)}.book-button{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);font-size:10px;font-weight:700;min-height:47px;padding:0 19px;letter-spacing:.12em}.book-button:hover{background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}
/* Immersive photographic hero */
.hero{padding:94px 0 0;margin:0 auto;max-width:none;min-height:875px;position:relative;background:var(--fr-forest);color:var(--ivory);overflow:hidden}.hero-topline{position:absolute;z-index:7;top:134px;left:max(55px,calc((100vw - 1300px)/2));width:calc(100% - max(110px,calc(100vw - 1300px)));margin:0;padding-top:17px;border-top:1px solid #f9f7f17a;color:#e7e1d3;font-size:10px;letter-spacing:.2em}.hero-layout{height:780px;min-height:0;margin:0;position:relative;display:block}.hero-art{position:absolute;inset:0;height:100%;margin:0;z-index:0;isolation:isolate;animation:none}.hero-image{inset:0;clip-path:none;border:0;overflow:hidden}.hero-image img{width:100%;height:100%;margin:0;object-fit:cover;object-position:center 47%;filter:brightness(.72) saturate(.82);transform:scale(1.035);transition:transform 1.5s ease}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,37,29,.96) 0%,rgba(23,43,34,.88) 29%,rgba(26,44,33,.39) 67%,rgba(20,37,29,.16) 100%),linear-gradient(0deg,#14271edc,transparent 36%);pointer-events:none}.hero-art:before{content:none}.hero-copy{position:absolute;z-index:4;left:max(7vw,calc((100vw - 1235px)/2));top:135px;width:min(850px,77vw);padding:0;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero-copy .eyebrow{display:flex;align-items:center;gap:16px;color:#e6cc98;font-size:11px;letter-spacing:.24em;max-width:none}.hero-copy .eyebrow:before{content:'';height:1px;width:44px;background:#e3c98c}.hero h1{font-family:var(--serif);font-size:clamp(93px,8.6vw,141px);font-weight:400;letter-spacing:-.065em;line-height:.85;color:var(--ivory);width:auto;margin:34px 0 30px;white-space:normal;text-wrap:balance;text-shadow:0 8px 30px #0c221a2e}.hero h1 em{font-family:var(--script);font-size:1.2em;font-weight:400;letter-spacing:-.028em;line-height:.9;margin:1px 0 0 7%;display:block;color:#eed6a3;white-space:nowrap}.hero-description{font-size:16px;line-height:1.8;max-width:390px;color:#f0eee3;opacity:.91;margin-top:29px;text-wrap:pretty}.hero-discover{color:#fff;margin-top:24px;border-bottom:1px solid #f6e7c174;font-weight:700}.hero-bottom{position:absolute;bottom:65px;left:max(55px,calc((100vw - 1300px)/2));right:max(55px,calc((100vw - 1300px)/2));z-index:6;margin:0;padding-top:18px;padding-bottom:0;border-top:1px solid #f2ecd45e;color:#f0ede3;font-size:10px;letter-spacing:.12em}.hero-bottom>span:first-child{color:#e8ca90}.hero-bottom a{color:#fff;border-color:#e2c68f7a}.hero-mini{left:auto;right:9%;bottom:15%;width:160px;background:#f5f0e7;padding:8px;box-shadow:0 25px 90px #0b1d1580;transform:rotate(6deg);border-radius:3px}.hero-mini img{height:155px}.hero-mini>span{font-size:18px;line-height:1.1;padding:10px 3px 3px;color:var(--ink)}.hero-side{right:42px;top:42%;font-size:9px;letter-spacing:.18em;color:#f5ead3}.round-reserve{bottom:26%;right:7%;width:137px;height:137px;z-index:4;background:#e8d1a0;color:#21372f;box-shadow:0 0 0 8px #f6f3e522,0 25px 55px #112c2170}.round-reserve:before{border-color:#183a345c}.round-reserve>span{font-size:23px}.round-reserve:hover{background:#fff6dc;color:var(--ink);transform:rotate(-8deg) scale(1.035)}.fr-hero-index{display:inline-flex;gap:10px;align-items:baseline;font:500 12px var(--sans);letter-spacing:.12em;color:#e3c993;margin-bottom:16px}.fr-hero-index i{font:400 11px var(--sans);opacity:.6}.fr-hero-seal{position:absolute;right:19%;top:18%;z-index:3;display:grid;place-items:center;width:102px;height:102px;border-radius:50%;border:1px solid #f2e3c172;background:#25463830;color:#f5eedf;backdrop-filter:blur(5px);font:500 10px/1.4 var(--sans);letter-spacing:.16em;text-align:center;transform:rotate(13deg)}.fr-hero-seal:before{content:'';position:absolute;inset:8px;border:1px solid #f2e3c159;border-radius:50%}
/* The direct booking console floats above the content */
.booking-strip{width:min(1270px,calc(100% - 90px));max-width:1270px;margin:-34px auto 0;position:relative;z-index:20;padding:0 15px 0 30px;background:#f9f7f1;border:1px solid #e3ddcc;min-height:112px;grid-template-columns:1.1fr 1fr 1fr .8fr 1.12fr;box-shadow:0 22px 60px #122d1b28;border-radius:8px;overflow:hidden}.booking-intro{padding:15px 10px 15px 0}.booking-intro>.eyebrow{font-size:9px;letter-spacing:.11em;color:var(--bronze)}.booking-intro>span:last-child{font-size:25px;letter-spacing:-.02em}.date-trigger,.guest-field{min-height:66px;padding-inline:18px}.date-trigger strong,.guest-field select{font-size:24px}.date-trigger>span:first-child,.guest-field>span{font-size:9px;letter-spacing:.16em;font-weight:700}.date-trigger:hover{background:#eee9db}.date-icon{font-size:18px;right:11px}.availability{position:relative;isolation:isolate;background:var(--fr-forest);min-height:73px;margin:18px 0 18px 9px;border-radius:3px;overflow:hidden;box-shadow:0 8px 20px #13291a29}.availability>span:first-child{font-size:10px;letter-spacing:.11em;font-weight:700}.availability:hover{background:#57745b}.fr-marquee{height:106px;background:var(--fr-cream);display:flex;align-items:center;justify-content:center;gap:26px;overflow:hidden;color:#8b7a55;font:500 10px var(--sans);letter-spacing:.27em;text-transform:uppercase}.fr-marquee span{white-space:nowrap}.fr-marquee b{font-family:var(--serif);font-weight:400;font-size:31px;color:#b1a17f}
/* Story becomes a collected editorial spread */
.intro{background:#f9f7f1;padding:103px 0 155px}.intro-heading{max-width:920px;margin:auto}.intro-heading h2{font-size:clamp(58px,5.7vw,86px);line-height:1.01;letter-spacing:-.045em;margin:20px 0}.intro-heading h2 em{color:#8e8064}.intro-heading>p{font-size:16px;max-width:630px;color:#5c695f}.editorial-collage{margin-top:85px;grid-template-columns:1fr .95fr 1fr;gap:34px;align-items:center}.editorial-collage figure img{height:440px;box-shadow:0 25px 65px #1a2e1b12;transition:transform 1.1s var(--ease),filter .7s}.editorial-collage figure:hover img{transform:scale(1.025);filter:saturate(1.08)}.collage-left{margin-top:80px}.collage-left img{border-radius:230px 230px 8px 8px}.collage-right{margin-bottom:90px}.collage-right img{border-radius:7px 7px 230px 230px}.editorial-collage figcaption{font:italic 20px var(--serif);color:#6a735d;margin-top:9px}.collage-center{background:#294439;color:#fbf8ee;padding:86px 30px 70px;border-radius:180px 180px 10px 10px;box-shadow:0 30px 75px #1b342326;min-height:405px;overflow:hidden}.giant-amp{font-size:340px;z-index:0;color:#cfbb8815}.collage-note{font-size:clamp(30px,3.3vw,46px);line-height:1.1;position:relative;z-index:1}.collage-note em{font-size:1.4em;color:#dbc494}.fine-line{background:#d9c7a2;height:70px;margin-block:22px}.small-copy{font-size:13px;color:#e8e7df;max-width:270px;margin:auto}
/* Rooms: restrained luxury with dramatic image and framed copy */
.stay{background:#e9e8df;padding:120px 0 140px}.chapter-head{border-bottom:1px solid #75807551;padding-bottom:18px}.chapter-head>span:last-child{font-size:10px;color:#6b766b;letter-spacing:.15em}.room-heading{margin:52px 0 54px}.room-heading h2{font-size:clamp(67px,6.1vw,96px);letter-spacing:-.052em;line-height:.96}.room-heading h2 em{color:#828875}.room-heading>p{font-size:15px;max-width:215px;color:#59675c}.stay-grid{grid-template-columns:1.25fr .75fr;gap:clamp(45px,6vw,94px);align-items:center}.stay-visual{min-width:0}.room-main{position:relative}.room-main img{height:590px;border-radius:6px 6px 70px 6px;box-shadow:0 25px 55px #1b271a1c}.room-main figcaption{border:0;padding:19px 1px 9px;font-size:11px;letter-spacing:.06em}.room-thumbnails{margin-top:12px}.room-thumbnails button{border-radius:4px;overflow:hidden;padding:3px;opacity:.8}.room-thumbnails img{border-radius:2px;width:74px;height:68px}.room-thumbnails button[aria-pressed=true]{border-color:#927c4c;opacity:1}.stay-copy{background:#f5f3eb;padding:48px 44px 43px;border:1px solid #d5cdbb;box-shadow:0 25px 65px #15281b16;border-radius:6px;position:relative}.stay-copy:before{content:'F / R';position:absolute;right:27px;top:20px;font:italic 24px var(--serif);color:#b49c6c78}.stay-copy>.handwritten{font-size:55px}.room-switch{margin-top:27px;border-color:#d3cebf}.room-switch button{font-size:10px;letter-spacing:.08em}.room-detail h3{font-size:39px}.room-detail p{font-size:14px;color:#56675b}.amenity-lines span{font-size:12px;padding:13px 0}.stay-copy .button{width:100%}
/* Dining uses cinematic art direction */
.dining{background:#faf8f2;padding:130px 0 155px}.dining-title{margin:51px 0 49px}.dining-title h2{font-size:clamp(75px,7.4vw,118px);line-height:.92;letter-spacing:-.055em}.dining-title h2 em{color:#8a7458}.dining-title>.handwritten{font-size:32px;right:14px;top:15px}.dining-stage{padding-right:112px;padding-bottom:98px}.dining-photo{height:635px;border-radius:8px 8px 95px 8px;box-shadow:0 26px 70px #182b191f}.dining-photo img{margin-top:-8%;height:125%}.dining-caption{border-radius:0 0 0 8px;inset:auto 112px 98px 0;padding:60px 32px 26px}.dining-detail{width:260px;right:-1px;bottom:0;transform:rotate(5deg);border:9px solid #faf8f2;border-radius:4px;box-shadow:0 20px 45px #1e372e3b}.dining-detail img{height:335px}.dining-bottom{grid-template-columns:1.3fr .85fr 1fr;gap:60px;align-items:center;margin-top:22px}.dining-bottom>p{font-size:16px}.hours span{font-size:10px}.hours strong{font-size:31px}.dining-actions .button{font-size:10px}.dining-actions .text-link{font-size:10px}
/* Celebrations */
.events{min-height:790px;background:#20372c}.event-backdrop img{filter:saturate(.82) brightness(.75)}.event-tint{background:linear-gradient(90deg,#11291fcc 0%,#12291d9c 43%,#12261d23 100%),linear-gradient(0deg,#11271edb,transparent 65%)}.event-content{padding-block:130px}.event-content h2{font-size:clamp(77px,8.2vw,130px);line-height:.95;letter-spacing:-.05em;margin:43px 0 48px;max-width:1000px}.event-content h2 em{color:#ebd5a5}.event-bottom p{font-size:16px;max-width:480px}.event-types{width:max-content;max-width:100%;margin-top:65px;border:0;padding:0;gap:9px;flex-wrap:wrap}.event-types span{border:1px solid #f6ecd769;border-radius:30px;padding:10px 19px;color:#f9f1dd;font-size:9px;letter-spacing:.13em;backdrop-filter:blur(3px)}.event-types span+span:before{display:none}
/* Tactile gallery */
.gallery{background:#e9e8df;padding-block:130px 95px}.gallery-heading h2{font-size:clamp(59px,6vw,90px);line-height:.99}.gallery-arrows button{width:55px;height:55px;background:#f4f1e8;border-color:#9c9c8860}.gallery-track{gap:24px;padding-inline:max(55px,calc((100vw - 1280px)/2))}.gallery-item,.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n){flex:0 0 30%;padding-top:0}.gallery-item:nth-child(3n+2){padding-top:58px}.gallery-item:nth-child(3n){padding-top:28px}.gallery-item img,.gallery-item:nth-child(3n+2) img,.gallery-item:nth-child(3n) img{height:400px;border-radius:7px;box-shadow:0 19px 40px #1d35221f}.gallery-item:nth-child(3n+2) img{height:350px}.gallery-item:hover img{filter:brightness(1.04) saturate(1.1);transform:translateY(-10px)}.gallery-item>span{font-size:22px;color:#344e3e}.gallery-item small{color:#8c7551}.gallery-foot{margin-top:45px}.gallery-foot>span:first-child{font:italic 24px var(--serif)}
/* Deep green contact and hotel address */
.contact{background:#213a30;color:#f9f7f0;padding:135px 0;position:relative;overflow:hidden}.contact:before{content:'&';position:absolute;right:-5%;top:-30%;font:italic 900px/.9 var(--serif);color:#f5ead409;pointer-events:none}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:11%;position:relative}.contact-photo{padding:12px}.contact-photo:before{border-color:#b5a177}.contact-photo img{height:560px;box-shadow:0 30px 60px #0b1d1644}.contact-copy .eyebrow{color:#dfc597}.contact-copy h2{font-size:clamp(76px,7.2vw,115px);line-height:.92;color:#faf8ef;margin:38px 0 35px}.contact-copy h2 em{color:#e0cda3}.contact-copy>p{color:#ebeadd;font-size:15px}.contact-copy .text-link{color:#f6e8c8;border-color:#c9ad7d}.phone{font-size:clamp(37px,4vw,57px);color:#f5f0e5}.email{color:#dfd3b7;font-size:16px}.contact-copy .button{background:#efe4cd;border-color:#efe4cd;color:#22392e;margin-top:4px}.contact-copy .button:hover{background:#d7c39c;border-color:#d7c39c}
.fr-location{background:#f9f7f1;padding-block:124px 155px}.fr-location-heading{margin-bottom:57px}.fr-location-heading h2{font-size:clamp(66px,7.1vw,102px);line-height:.98}.fr-location-grid{border:0;gap:13px;min-height:530px}.fr-map-panel{border-radius:8px;box-shadow:0 18px 55px #1730221c;min-height:530px}.fr-map-panel iframe{min-height:530px}.fr-map-consent{background:radial-gradient(circle at 50% 45%,#f7f4ed,#e4ddcc);gap:12px}.fr-map-consent strong{font-size:47px}.fr-location-info{border-radius:8px;background:#284237;color:#fff8e9;padding:55px}.fr-location-info .eyebrow{color:#d9bd8c}.fr-location-info h3{font-size:clamp(39px,4vw,59px)}.fr-location-info h3 em{color:#e2cba0}.fr-address-line{border-color:#e6dcc23b}.fr-address-line span{color:#d7bf8e}.fr-address-line strong,.fr-address-line a{color:#fff8e9}.fr-location-info .fr-directions{color:#fff6e6;border-color:#bbad87}.fr-location-signature{color:#d2b885}
/* Finale */
.footer{background:#172b23;color:#fbf7ec;padding:90px 0 35px}.footer-top{grid-template-columns:.65fr 1.7fr .7fr;padding-bottom:68px;gap:40px}.footer-logo{height:90px;width:90px;filter:drop-shadow(0 3px 10px #ffffff14)}.footer-top p{font-size:clamp(40px,4.3vw,69px);letter-spacing:-.035em;line-height:.94}.footer-top p em{font-size:1.15em;color:#d6bd8c}.footer-top>div{font-size:10px;letter-spacing:.13em;gap:12px}.footer-bottom{border-color:#f8f2dd29;color:#e8e0d0a8;font-size:11px}.floating-book button{background:#bba070;color:#20352b;border:0;box-shadow:0 14px 40px #16251d3b;border-radius:4px;font-weight:700;font-size:10px;letter-spacing:.11em}
/* Smooth entrance / motion (the existing reduced-motion preference is respected) */
@keyframes fr-hero-kenburns{0%{scale:1}50%{scale:1.035}100%{scale:1}}
@keyframes fr-rail{from{transform:translateX(-15px);opacity:.3}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:no-preference){.hero-image img{animation:fr-hero-kenburns 22s ease-in-out infinite}.fr-hero-seal{animation:fr-rail 1.3s var(--ease) both}.fr-marquee b{animation:fr-hero-kenburns 5s ease-in-out infinite}.gallery-arrows button,.main-nav a,.date-trigger{transition:background .3s,color .3s,transform .4s var(--ease)}.gallery-arrows button:hover{transform:translateY(-3px)}}
/* Tablet / small laptop */
@media(max-width:1199px){.header-inner{width:calc(100% - 48px)}.main-nav{gap:18px;font-size:9px}.hero{min-height:760px}.hero-layout{height:670px}.hero-copy{top:143px;left:7%}.hero h1{font-size:clamp(82px,9vw,120px)}.hero-mini{right:8%;bottom:12%;width:140px}.hero-mini img{height:140px}.round-reserve{right:7%;bottom:42%;width:120px;height:120px}.hero-topline{left:6%;width:88%}.hero-bottom{left:6%;right:6%}.booking-strip{grid-template-columns:1fr 1fr .8fr 1.1fr;padding-left:16px}.booking-intro{display:none}.editorial-collage{gap:20px}.editorial-collage figure img{height:360px}.collage-center{min-height:0;padding:64px 23px 48px}.stay-grid{gap:28px}.stay-copy{padding:35px 27px}.room-main img{height:500px}.dining-bottom{gap:26px}.fr-location-info{padding:37px}.contact-grid{gap:7%}}
@media(max-width:900px){.header{height:82px}.header.scrolled{height:73px}.main-nav{background:#f8f6ee;padding:32px 36px}.main-nav a{font-size:32px}.book-button{min-height:42px;font-size:10px}.menu-toggle{display:flex;width:42px;min-height:42px}.hero{padding-top:82px;min-height:710px}.hero-layout{height:628px}.hero-topline{top:112px}.hero-copy{top:125px}.hero h1{font-size:clamp(75px,10vw,105px)}.hero-description{max-width:335px;font-size:14px}.hero-mini{right:8%;bottom:11%}.round-reserve{right:8%;bottom:43%}.booking-strip{width:calc(100% - 42px);margin-top:-24px}.booking-intro{display:none}.date-trigger{padding:10px 14px}.date-trigger strong{font-size:22px}.guest-field{padding-inline:13px}.guest-field select{font-size:22px}.availability{padding:12px 17px;margin:16px 0 16px 5px}.intro{padding:100px 0}.editorial-collage{grid-template-columns:1fr 1fr 1fr;gap:14px}.editorial-collage figure img{height:310px}.collage-center{border-radius:150px 150px 8px 8px;padding:59px 13px 33px}.collage-note{font-size:29px}.small-copy{font-size:11px}.stay-grid{grid-template-columns:1.05fr .95fr}.stay-copy{padding:30px 20px}.room-main img{height:440px}.room-heading h2{font-size:70px}.dining-photo{height:500px}.dining-stage{padding-right:75px}.dining-caption{right:75px}.dining-detail{width:180px}.dining-detail img{height:250px}.dining-bottom{grid-template-columns:1.1fr 1fr}.dining-actions{grid-column:2;grid-row:1/span 2}.hours{grid-column:1}.gallery-item,.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n){flex-basis:40%}.contact-grid{gap:6%}.contact-photo img{height:440px}.contact-copy h2{font-size:75px}.phone{font-size:37px}.fr-location-grid{grid-template-columns:1fr}.fr-map-panel,.fr-map-panel iframe{min-height:360px}.fr-map-panel{order:2}.fr-location-info{order:1}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.section{padding-block:77px}.header{height:74px}.header.scrolled{height:68px}.header-inner{width:calc(100% - 28px)}.brand img{height:53px;width:53px}.book-button{font-size:10px;gap:9px;padding-inline:10px}.main-nav{padding:27px 27px}.hero{padding-top:74px;min-height:675px}.hero-layout{height:602px;margin:0}.hero-image img{object-position:56% center}.hero-image:after{background:linear-gradient(90deg,#122b22ed 0%,#19362ac7 58%,#14251d5c 100%),linear-gradient(0deg,#10261dda,transparent 38%)}.hero-topline{top:101px;left:22px;width:calc(100% - 44px);font-size:8px;letter-spacing:.11em;padding-top:11px}.hero-copy{left:24px;right:18px;width:auto;top:144px;padding:0;z-index:5}.fr-hero-index{font-size:9px;margin-bottom:9px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.11em;gap:8px}.hero-copy .eyebrow:before{width:21px}.hero h1{font-size:clamp(54px,11.5vw,75px);line-height:.91;letter-spacing:-.055em;margin:21px 0 0;width:auto;white-space:normal}.hero h1 em{font-size:1.09em;line-height:1.08;margin:5px 0 0 0;white-space:normal}.hero-description{font-size:13px;line-height:1.7;max-width:300px;margin-top:21px}.hero-discover{font-size:10px;min-height:34px;margin-top:14px}.hero-mini{display:none}.hero-side,.fr-hero-seal{display:none}.round-reserve{right:25px;bottom:19%;width:102px;height:102px;box-shadow:0 0 0 5px #f6f3e524}.round-reserve>span{font-size:18px}.round-reserve b{font-size:20px}.hero-bottom{bottom:28px;left:22px;right:22px;padding-top:12px;font-size:8px;gap:12px}.hero-bottom>span:nth-child(2){display:none}.hero-bottom a{font-size:8px;min-height:29px}.booking-strip{width:calc(100% - 26px);margin:-16px auto 0;padding:9px 12px 13px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:0;border-radius:9px}.booking-strip .booking-intro{display:flex;grid-column:1/-1;padding:8px 4px 13px;border-bottom:1px solid #bcb5a251}.booking-intro>.eyebrow{font-size:9px}.booking-intro>span:last-child{font-size:24px;margin-top:1px}.booking-strip .date-trigger{min-width:0;min-height:74px;height:74px;padding:9px 24px 8px 6px;border-bottom:1px solid #bcb5a251;border-left:0}.booking-strip .date-trigger:nth-of-type(2){padding-left:15px;border-left:1px solid #bcb5a251}.booking-strip .date-trigger strong{font-size:20px;white-space:nowrap}.booking-strip .date-trigger>span:first-child,.booking-strip .guest-field>span{font-size:9px;letter-spacing:.06em;margin-bottom:5px}.booking-strip .date-trigger .date-icon{right:5px;top:24px;bottom:auto;font-size:16px}.booking-strip .guest-field{height:66px;min-height:66px;border:0;padding:10px 9px 5px 5px}.booking-strip .guest-field select{font-size:20px}.booking-strip .availability{height:61px;min-height:61px;margin:6px 0 0 0;padding:12px 14px;gap:7px;border-radius:4px}.booking-strip .availability>span:first-child{font-size:9px}.booking-strip .availability>span:last-child{font-size:23px}.fr-marquee{height:82px;gap:12px;font-size:8px;letter-spacing:.12em}.fr-marquee b{font-size:22px}.intro{padding:70px 0 95px}.intro-heading h2{font-size:clamp(45px,11.2vw,63px);line-height:1.03}.intro-heading>p{font-size:14px}.editorial-collage{grid-template-columns:1fr 1fr;gap:15px;margin-top:40px}.collage-left{margin:0}.collage-right{margin:37px 0 0}.editorial-collage figure img{height:275px}.editorial-collage figcaption{font-size:15px}.collage-center{grid-column:1/-1;grid-row:2;margin-top:12px;max-width:460px;width:100%;margin-inline:auto;padding:50px 38px 43px;min-height:0;border-radius:180px 180px 12px 12px}.collage-note{font-size:36px}.collage-note em{font-size:1.35em}.giant-amp{font-size:240px}.fine-line{height:34px}.small-copy{font-size:12px;max-width:300px}.stay{padding:82px 0 90px}.room-heading{margin:29px 0 31px}.room-heading h2{font-size:clamp(52px,12vw,68px)}.stay-grid{grid-template-columns:1fr;gap:22px}.room-main img{height:360px;border-radius:5px 5px 47px 5px}.room-thumbnails{gap:8px}.room-thumbnails img{width:59px;height:57px}.stay-copy{padding:35px 28px 31px}.stay-copy>.handwritten{font-size:49px}.room-switch{gap:17px;margin-top:20px}.room-switch button{font-size:10px}.room-detail h3{font-size:37px}.room-detail p{font-size:14px}.amenity-lines span{font-size:12px}.dining{padding:83px 0 90px}.dining-title{margin:35px 0 29px}.dining-title h2{font-size:clamp(56px,12.6vw,80px)}.dining-title h2 em{margin-left:12%;display:block;font-size:1.05em}.dining-title>.handwritten{font-size:23px;top:-28px;right:0}.dining-stage{padding-right:35px;padding-bottom:64px}.dining-photo{height:360px;border-radius:5px 5px 55px 5px}.dining-detail{right:-3px;width:129px;bottom:0;border-width:6px}.dining-detail img{height:166px}.dining-caption{right:35px;bottom:64px;font-size:8px;padding:25px 17px 16px}.dining-bottom{grid-template-columns:1fr;gap:20px;margin-top:29px}.dining-bottom>p{font-size:14px}.dining-actions{grid-column:auto;grid-row:auto;display:flex;flex-direction:row;gap:16px}.dining-actions .button{width:auto;font-size:10px}.dining-actions .text-link{font-size:10px}.hours{grid-column:auto;display:flex;align-items:center;justify-content:space-between;border-block:1px solid #c4bdab;padding:15px 0}.hours strong{font-size:26px}.events{min-height:680px}.event-content{padding-block:90px}.event-content h2{font-size:clamp(59px,12.4vw,83px);margin:35px 0}.event-bottom p{font-size:14px}.event-types{margin-top:40px;gap:7px}.event-types span{font-size:8px;padding:9px 12px}.gallery{padding:90px 0 68px}.gallery-heading h2{font-size:clamp(43px,10.8vw,65px)}.gallery-arrows button{width:37px;height:37px;font-size:18px}.gallery-track{gap:14px;padding-inline:18px}.gallery-item,.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n){flex-basis:80%;padding-top:0}.gallery-item:nth-child(3n+2){flex-basis:73%;padding-top:28px}.gallery-item img,.gallery-item:nth-child(3n) img{height:340px}.gallery-item:nth-child(3n+2) img{height:315px}.gallery-item>span{font-size:18px}.gallery-foot{margin-top:25px}.gallery-foot>span:first-child{font-size:20px}.contact{padding:85px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-photo{width:83%;margin:auto}.contact-photo img{height:360px}.contact-copy h2{font-size:clamp(65px,13vw,90px);margin:26px 0}.contact-copy>p{font-size:14px}.phone{font-size:38px}.email{font-size:14px}.fr-location{padding:80px 0 100px}.fr-location-heading{margin-bottom:32px}.fr-location-heading h2{font-size:clamp(51px,12vw,75px)}.fr-location-grid{gap:9px}.fr-map-panel,.fr-map-panel iframe{min-height:330px}.fr-location-info{padding:32px 24px}.fr-location-info h3{font-size:42px}.fr-map-consent strong{font-size:36px}.footer{padding:65px 0 28px}.footer-top{grid-template-columns:58px 1fr;gap:23px;padding-bottom:37px}.footer-logo{width:65px;height:65px}.footer-top p{font-size:clamp(33px,8vw,50px)}.footer-top p em{font-size:1.08em}.footer-top>div{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:9px}.footer-bottom{font-size:10px;gap:14px}.floating-book button{min-height:49px;font-size:10px}.calendar-dialog,.reserve-dialog{border-radius:7px}}
@media(max-width:380px){.hero h1{font-size:51px}.hero-copy{left:20px;right:15px}.hero-description{max-width:270px;font-size:12px}.round-reserve{right:20px;bottom:19%}.hero-bottom{left:20px;right:20px}.booking-strip{width:calc(100% - 18px);padding-inline:9px}.booking-strip .date-trigger strong{font-size:18px}.booking-strip .date-trigger:nth-of-type(2){padding-left:11px}.booking-strip .date-trigger .date-icon{right:1px}.room-thumbnails{overflow:auto}.stay-copy{padding-inline:20px}.contact-photo{width:90%}.phone{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-image img,.fr-marquee b,.fr-hero-seal{animation:none!important}.button:after,.availability:after{display:none}}



/* Additional hotel social and direct contact actions; no booking logic changes. */
.fr-contact-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}
.fr-contact-actions>.button{margin:0}
.fr-whatsapp-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 22px;border:1px solid var(--gold);border-radius:3px;color:var(--ink);background:rgba(255,255,255,.25);font:600 11px/1.45 var(--sans);letter-spacing:.08em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s;white-space:nowrap}
.fr-whatsapp-contact svg,.fr-whatsapp-float svg{flex-shrink:0;display:block}
.fr-whatsapp-contact>span:last-child{font:400 20px/1 var(--sans);margin-left:3px}
.fr-whatsapp-contact:hover{transform:translateY(-2px);background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.contact .fr-whatsapp-contact{background:rgba(244,237,222,.10);color:#f9f3e5;border-color:rgba(222,197,144,.75)}
.contact .fr-whatsapp-contact:hover{background:#f5f0df;color:#243e33;border-color:#f5f0df}
.fr-whatsapp-float{position:fixed;z-index:34;bottom:26px;left:26px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 20px;border:1px solid rgba(217,202,168,.50);border-radius:99px;color:#fff9ec;background:rgba(27,48,40,.97);box-shadow:0 10px 34px #101e1733;backdrop-filter:blur(12px);font:600 10px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s,box-shadow .35s}
.fr-whatsapp-float .fr-whatsapp-arrow{margin-left:3px;font-size:18px;font-weight:400;line-height:1}
.main-nav .fr-whatsapp-menu{display:none}
.fr-whatsapp-float:hover{transform:translateY(-3px);background:#405c4a;box-shadow:0 14px 40px #101e1744}
.fr-whatsapp-float:focus-visible,.fr-whatsapp-contact:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.fr-contact-actions{gap:12px}.fr-contact-actions>.button,.fr-whatsapp-contact{min-height:54px}.main-nav .fr-whatsapp-menu{display:block;color:var(--bronze)}}
@media(max-width:650px){.fr-contact-actions{display:grid;grid-template-columns:1fr;align-items:stretch;max-width:350px}.fr-contact-actions>.button,.fr-whatsapp-contact{width:100%;justify-content:space-between}.fr-whatsapp-float{left:15px;bottom:82px;min-height:48px;padding:0 15px;gap:9px;font-size:9px;letter-spacing:.075em;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}.fr-whatsapp-float.fr-whatsapp-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.fr-whatsapp-float svg{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.fr-whatsapp-float,.fr-whatsapp-contact{transition:none}}


/* Freedom & Relax — final restrained editorial refinements, October 2026 */
@media (min-width:901px) {
 .hero-topline>span,.fr-hero-index,.fr-hero-seal,.hero-bottom>span:first-child{display:none!important}
}
.hours{min-width:0}
.hours strong{font-family:var(--serif);font-weight:400;white-space:normal}
.hours .fr-hours-line{display:block;font-size:clamp(21px,2.1vw,27px);line-height:1.28;letter-spacing:-.018em;white-space:nowrap;margin:2px 0 8px;text-transform:none}
.fr-consent input{accent-color:var(--ink)}
.form-status:not(:empty){padding:12px 14px;margin-top:15px;border-left:2px solid var(--bronze);background:rgba(163,139,90,.07);color:var(--ink);font-size:13px;line-height:1.6}
.form-status[data-state="error"]{border-left-color:#a75a4f}
.form-status[data-state="success"]{border-left-color:#49715e}
.form-status[data-state="warning"]{border-left-color:#a38b5a}
.fr-mail-fallback{text-decoration:underline;text-underline-offset:3px}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media (hover:hover) and (pointer:fine){.main-nav a,.footer a{transition:opacity .25s ease}.footer a:hover{opacity:.72}}
@media (max-width:650px){.hours .fr-hours-line{font-size:24px;white-space:normal}.hours{display:block}.hours>span{display:block;margin-bottom:9px}}
@media (prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1!important;transform:none!important}.brand-intro{display:none!important}}

/* Native WordPress behavior; do not style PMS components beyond their container. */
body.admin-bar .header{top:32px}
@media(max-width:782px){body.admin-bar .header{top:46px}}
@media(max-width:600px){body.admin-bar .header{top:0}}
.fr-wp-content{padding:155px 0 90px;min-height:65vh;max-width:850px}
.fr-wp-content h1{font:400 clamp(44px,5vw,72px)/1.05 var(--serif);margin:0 0 28px}
.fr-wp-content h2{font:400 36px var(--serif);margin:25px 0 16px}
.fr-wp-content p{margin:0 0 20px}
.fr-wp-header{padding:20px 0;background:var(--ivory);border-bottom:1px solid var(--line)}
.fr-wp-header .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fr-wp-header .fr-wp-brand{font:400 26px var(--serif)}
.fr-wp-header nav{display:flex;flex-wrap:wrap;gap:22px;font-size:13px}
.fr-wp-footer{padding:35px 0;background:var(--ink);color:var(--ivory);font-size:13px}
.fr-pms-section{background:#fcfaf5;padding:85px 0;border-bottom:1px solid var(--line)}
.fr-pms-section h2{font:400 clamp(37px,5vw,64px)/1.1 var(--serif);margin:10px 0 25px}
.fr-pms-engine{max-width:1120px;margin:20px auto 0;min-height:90px}
.fr-pms-engine iframe{max-width:100%;border:0}
.fr-engine-date-note{padding:18px max(22px,calc((100vw - 1240px)/2));font-size:13px;background:#eae5d8;color:var(--muted);margin:0}
@media(max-width:650px){.fr-wp-header nav{gap:12px}.fr-wp-content{padding-top:90px}}


/* --- Freedom & Relax 2.1 premium refinement (mobile + reservation UI) --- */
.booking-strip{margin-top:14px;border:1px solid rgba(108,101,76,.15);border-radius:28px;background:linear-gradient(180deg,#eee9dd 0%,#e8e1d2 100%);box-shadow:0 26px 48px rgba(28,42,35,.09),inset 0 1px 0 rgba(255,255,255,.6);padding-top:14px;padding-bottom:14px;overflow:hidden}
.booking-strip .booking-intro>.booking-phone,.booking-phone{display:block;margin-top:10px;font:600 10px/1.6 var(--sans);letter-spacing:.08em;color:#5d654f;text-transform:uppercase}.booking-phone a{color:var(--ink);font-weight:700;border-bottom:1px solid rgba(38,63,54,.26)}
.booking-strip .date-trigger,.booking-strip .guest-field{background:linear-gradient(180deg,rgba(255,255,255,.46) 0%,rgba(255,255,255,.13) 100%);border:1px solid rgba(104,97,74,.13)!important;border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 12px 24px rgba(43,55,47,.05);margin:6px 8px;padding-left:24px;padding-right:42px}.booking-strip .guest-field select,.booking-strip .date-trigger strong{position:relative;z-index:1}.booking-strip .date-trigger:first-of-type{margin-left:0}.booking-strip .availability{border-radius:19px;background:linear-gradient(180deg,#244437 0%,#1e3a30 100%);border:1px solid rgba(28,54,44,.5);box-shadow:0 16px 30px rgba(20,36,30,.18),inset 0 1px 0 rgba(255,255,255,.08);position:relative;overflow:hidden}.booking-strip .availability:before,.button:before,.book-button:before,.fr-whatsapp-contact:before,.fr-whatsapp-float:before{content:"";position:absolute;inset:-30% auto auto -20%;width:42%;height:180%;background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 72%);transform:translateX(-180%) skewX(-24deg);pointer-events:none}.booking-strip .availability:hover:before,.button:hover:before,.book-button:hover:before,.fr-whatsapp-contact:hover:before,.fr-whatsapp-float:hover:before{animation:fr-glint 1s ease}
.button,.book-button,.fr-whatsapp-contact,.fr-whatsapp-float{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 15px 28px rgba(24,37,31,.12),inset 0 1px 0 rgba(255,255,255,.09)}
.button{background:linear-gradient(180deg,#264639 0%,#1f392f 100%);border-color:#20392f;transition:transform .32s var(--ease),box-shadow .35s var(--ease),background .35s,border-color .35s,color .35s}.button:hover{transform:translateY(-2px);background:linear-gradient(180deg,#325545 0%,#274438 100%);border-color:#274438;box-shadow:0 18px 34px rgba(24,37,31,.18),inset 0 1px 0 rgba(255,255,255,.1)}
.book-button{background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(234,229,216,.78) 100%);border-color:rgba(73,87,75,.18);box-shadow:0 12px 26px rgba(24,37,31,.08),inset 0 1px 0 rgba(255,255,255,.55)}.book-button:hover{background:linear-gradient(180deg,#264639 0%,#1f392f 100%);border-color:#20392f;transform:translateY(-2px)}
.fr-whatsapp-contact,.fr-whatsapp-float{background:linear-gradient(180deg,#2a473b 0%,#20382f 100%);border-color:rgba(222,197,144,.45)}.contact .fr-whatsapp-contact{color:#fff8eb;background:linear-gradient(180deg,#345648 0%,#254034 100%);border-color:rgba(222,197,144,.55)}.contact .fr-whatsapp-contact:hover{background:linear-gradient(180deg,#f5f0df 0%,#ece4cf 100%);color:#243e33;border-color:#eadfbf}
.round-reserve{background:radial-gradient(circle at 30% 24%,#345548 0%,#233d32 58%,#183027 100%);box-shadow:0 20px 38px rgba(17,32,26,.22),0 0 0 7px var(--ivory),inset 0 1px 0 rgba(255,255,255,.14)}.round-reserve:hover{background:radial-gradient(circle at 30% 24%,#466a58 0%,#2a473b 58%,#1b352b 100%)}
.reservation-panel{background:linear-gradient(180deg,#f6f2e7 0%,#f3eee0 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),-18px 0 40px rgba(37,45,38,.05)}.reserve-tabs button{padding:0 3px 11px;border-bottom-width:2px}.reserve-tabs button[aria-pressed=true]{box-shadow:0 10px 22px rgba(163,139,90,.12)}.submit-reservation{margin-top:8px}.reserve-phone{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;margin-top:14px;border-radius:14px;background:linear-gradient(180deg,#efe6cf 0%,#eadfbe 100%);border:1px solid rgba(163,139,90,.28);box-shadow:0 12px 22px rgba(73,65,43,.08),inset 0 1px 0 rgba(255,255,255,.65);font-weight:700;letter-spacing:.04em}.reserve-phone-note{margin-top:10px;font-size:12px;line-height:1.6;color:#6f7368}
.fr-contact-actions{justify-content:flex-start;align-items:center}.fr-contact-actions>.button,.fr-whatsapp-contact{min-width:220px;justify-content:center;gap:14px}
.button>span:last-child,.book-button>span:last-child,.round-reserve b,.fr-whatsapp-contact>span[aria-hidden=true],.fr-whatsapp-float .fr-whatsapp-arrow,.contact-copy>.text-link .fr-inline-arrow,.dining-actions .text-link .fr-inline-arrow,.hero-bottom .fr-inline-arrow,.footer-top .fr-inline-arrow{position:relative;display:inline-block;flex:0 0 1.16em;width:1.16em;height:1.16em;font-size:0;line-height:0;color:currentColor;vertical-align:middle}.button>span:last-child::before,.book-button>span:last-child::before,.round-reserve b::before,.fr-whatsapp-contact>span[aria-hidden=true]::before,.fr-whatsapp-float .fr-whatsapp-arrow::before,.contact-copy>.text-link .fr-inline-arrow::before,.dining-actions .text-link .fr-inline-arrow::before,.hero-bottom .fr-inline-arrow::before,.footer-top .fr-inline-arrow::before{content:"";position:absolute;left:.12em;bottom:.1em;width:.94em;height:.12em;background:currentColor;transform:rotate(-45deg);transform-origin:left center;border-radius:99px}.button>span:last-child::after,.book-button>span:last-child::after,.round-reserve b::after,.fr-whatsapp-contact>span[aria-hidden=true]::after,.fr-whatsapp-float .fr-whatsapp-arrow::after,.contact-copy>.text-link .fr-inline-arrow::after,.dining-actions .text-link .fr-inline-arrow::after,.hero-bottom .fr-inline-arrow::after,.footer-top .fr-inline-arrow::after{content:"";position:absolute;right:.06em;top:.12em;width:.34em;height:.34em;border-top:.12em solid currentColor;border-right:.12em solid currentColor;border-radius:.03em}.button:hover>span:last-child,.book-button:hover>span:last-child,.fr-whatsapp-contact:hover>span[aria-hidden=true],.fr-whatsapp-float:hover .fr-whatsapp-arrow{transform:translate(3px,-3px)}
.footer-top>div a{display:inline-flex;align-items:center;gap:8px}
@media(max-width:900px){.booking-strip{padding-inline:18px}.booking-strip .date-trigger:first-of-type{margin-left:6px}.fr-contact-actions{justify-content:center}.fr-contact-actions>.button,.fr-whatsapp-contact{min-width:min(100%,280px)}}
@media(max-width:650px){.booking-strip{margin-top:8px;border-radius:22px;padding:14px 12px 16px}.booking-strip .booking-intro{padding:8px 2px 15px}.booking-strip .booking-intro>.booking-phone{font-size:9px;letter-spacing:.09em}.booking-strip .date-trigger,.booking-strip .guest-field{margin:6px 4px;border-radius:16px;padding-left:14px;padding-right:30px}.booking-strip .date-trigger:nth-of-type(2){padding-left:16px}.booking-strip .availability{margin-top:7px;border-radius:16px}.fr-contact-actions{display:grid;grid-template-columns:1fr;max-width:360px;width:100%;margin:18px auto 0;justify-items:center}.fr-contact-actions>.button,.fr-whatsapp-contact{width:100%;min-width:0;justify-content:center;text-align:center}.fr-whatsapp-contact{gap:11px}.contact-copy{text-align:left}.fr-whatsapp-float{left:50%;transform:translate(-50%,10px);bottom:86px;min-width:292px;justify-content:center;border-radius:18px}.fr-whatsapp-float.fr-whatsapp-visible{transform:translate(-50%,0)}.fr-whatsapp-float:hover{transform:translate(-50%,-2px)}.contact .button,.contact .fr-whatsapp-contact{min-height:56px}.reserve-phone{width:100%;justify-content:center}.reserve-phone-note{text-align:center}.footer-top>div{row-gap:14px}}

/* minor consistency touch-ups */
.floating-book button{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,#264639 0%,#1f392f 100%);box-shadow:0 18px 34px rgba(24,37,31,.18),inset 0 1px 0 rgba(255,255,255,.1)}
.floating-book button:before{content:"";position:absolute;inset:-30% auto auto -20%;width:42%;height:180%;background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 72%);transform:translateX(-180%) skewX(-24deg);pointer-events:none}
.floating-book button:hover:before{animation:fr-glint 1s ease}
.floating-book span,.main-nav .fr-inline-arrow{position:relative;display:inline-block;flex:0 0 1.16em;width:1.16em;height:1.16em;font-size:0;line-height:0;color:currentColor;vertical-align:middle}
.floating-book span::before,.main-nav .fr-inline-arrow::before{content:"";position:absolute;left:.12em;bottom:.1em;width:.94em;height:.12em;background:currentColor;transform:rotate(-45deg);transform-origin:left center;border-radius:99px}
.floating-book span::after,.main-nav .fr-inline-arrow::after{content:"";position:absolute;right:.06em;top:.12em;width:.34em;height:.34em;border-top:.12em solid currentColor;border-right:.12em solid currentColor;border-radius:.03em}


/* Freedom & Relax v2.4 — accessible CTA contrast & symmetric mobile date fields.
   Light surfaces use forest ink; forest surfaces use ivory. Effects unchanged. */
:root { --fr-cta-ivory:#fffaf0; --fr-cta-ink:#1e322a; }
/* Ivory buttons / light-surface CTA */
.header .book-button,
.header .book-button:focus-visible {
  color:var(--fr-cta-ink);
  background:linear-gradient(180deg,#fffdf7 0%,#f0eade 100%);
  border-color:rgba(38,63,54,.25);
}
.header .book-button .book-label,
.header .book-button .book-long,
.header .book-button>span[aria-hidden] {color:inherit;}
.header .book-button:hover,
.header .book-button:active {color:var(--fr-cta-ivory);background:linear-gradient(180deg,#304d40,#1d372c);border-color:#1d372c;}
/* Dark-green CTA: white/ivory text in all states. */
.button:not(.light-button):not(.fr-contact-light),
.booking-strip .availability,
.floating-book button,
.fr-whatsapp-contact,
.fr-whatsapp-float,
.hero .round-reserve {
  color:var(--fr-cta-ivory);
}
.button:not(.light-button):not(.fr-contact-light):hover,
.button:not(.light-button):not(.fr-contact-light):focus-visible,
.booking-strip .availability:hover,
.booking-strip .availability:focus-visible,
.floating-book button:hover,
.floating-book button:focus-visible,
.fr-whatsapp-contact:hover,
.fr-whatsapp-contact:focus-visible,
.fr-whatsapp-float:hover,
.fr-whatsapp-float:focus-visible,
.hero .round-reserve:hover,
.hero .round-reserve:focus-visible {color:var(--fr-cta-ivory);}
/* Light buttons and their hover states retain dark text. */
.button.light-button,
.button.light-button:hover,
.button.light-button:focus-visible,
.contact .fr-contact-actions>.button,
.contact .fr-contact-actions>.button:hover,
.contact .fr-contact-actions>.button:focus-visible {
  color:var(--fr-cta-ink);
  background:linear-gradient(180deg,#fff8e7 0%,#eee0c4 100%);
  border-color:rgba(226,207,165,.9);
}
/* WhatsApp contact stays forest-green, including the dark contact section. */
.contact .fr-whatsapp-contact,
.contact .fr-whatsapp-contact:hover,
.contact .fr-whatsapp-contact:focus-visible {
  background:linear-gradient(180deg,#335447 0%,#244034 100%);
  color:var(--fr-cta-ivory);
  border-color:rgba(222,197,144,.55);
}
/* All CTA labels and decorative arrows inherit the foreground contrast. */
.book-button>span,
.button>span,
.floating-book button>span,
.availability>span,
.round-reserve>span,
.round-reserve>b,
.fr-whatsapp-contact>span,
.fr-whatsapp-float>span {color:inherit;}
/* Symmetric check-in and check-out cards (all widths, no clipping at panel edge). */
.booking-strip #arrivalTrigger,
.booking-strip #departureTrigger {
  box-sizing:border-box;
  min-width:0;
  width:calc(100% - 12px);
  margin:6px;
  border:1px solid rgba(104,97,74,.18);
  border-radius:18px;
  padding-left:clamp(12px,1.6vw,24px);
  padding-right:clamp(26px,2.4vw,42px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 12px 24px rgba(43,55,47,.05);
}
/* Reset previously asymmetric first/nth-of-type legacy overrides. */
.booking-strip #arrivalTrigger:first-of-type,
.booking-strip #departureTrigger:nth-of-type(2) {margin-left:6px;border-left:1px solid rgba(104,97,74,.18);}
.booking-strip .guest-field{min-width:0;width:calc(100% - 12px);margin:6px;}
.booking-strip .availability{min-width:0;max-width:100%;}
/* CSS icons prevent emoji-styled blue arrows on iOS. */
.fr-gallery-arrow{display:inline-block;position:relative;width:1.15em;height:1.15em;font-size:18px;flex-shrink:0;}
.fr-gallery-arrow:before{content:"";position:absolute;left:.1em;bottom:.12em;width:.96em;height:.1em;background:currentColor;transform:rotate(-45deg);transform-origin:left center;}
.fr-gallery-arrow:after{content:"";position:absolute;right:.04em;top:.11em;width:.35em;height:.35em;border-top:.1em solid currentColor;border-right:.1em solid currentColor;}
@media(max-width:650px){
  .booking-strip #arrivalTrigger,
  .booking-strip #departureTrigger {
    width:calc(100% - 8px);
    margin:6px 4px;
    border-radius:16px;
    padding:10px 27px 10px 12px;
    min-height:74px;
    height:74px;
  }
  .booking-strip #arrivalTrigger:first-of-type,
  .booking-strip #departureTrigger:nth-of-type(2) {margin-left:4px;}
  .booking-strip .guest-field {width:calc(100% - 8px);margin:6px 4px;padding-left:12px;padding-right:28px;}
  .booking-strip .date-trigger .date-icon{right:8px;}
  .booking-strip .availability{margin:6px 0 0;width:100%;}
}
@media(max-width:380px){
  .booking-strip #arrivalTrigger,
  .booking-strip #departureTrigger{padding-left:9px;padding-right:22px;}
  .booking-strip #arrivalTrigger strong,
  .booking-strip #departureTrigger strong{font-size:clamp(17px,5.1vw,21px);}
}

/* Preserve the editorial booking heading when the extra phone line follows it. */
.booking-strip .booking-intro>span:nth-child(2){display:block;font:400 30px/1.12 var(--serif);margin:0;white-space:normal;}
@media(max-width:650px){.booking-strip .booking-intro>span:nth-child(2){font-size:24px;line-height:1.12;}}
