@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,600&family=Manrope:wght@400;500;600;700&display=swap');
:root{--cream:#f8f3ea;--paper:#fffaf2;--ink:#281c17;--green:#3d503a;--green-deep:#283325;--rust:#aa5230;--rust-dark:#793d28;--gold:#efcf88;--line:#ddcfbe;--header:#211f18;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);overflow-x:hidden}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:.94;margin:.2em 0}h1{font-size:clamp(4rem,7.6vw,8.4rem)}h2{font-size:clamp(3.2rem,5.6vw,6.4rem)}h3{font-size:clamp(2rem,3vw,3.5rem)}.site-header{position:sticky;top:0;z-index:100;min-height:116px;padding:20px clamp(28px,3.4vw,68px);display:flex;align-items:center;gap:clamp(20px,3vw,58px);background:var(--header);color:#fff;border-bottom:1px solid #ffffff18}.brand{text-decoration:none;margin-right:auto;line-height:1}.brand em{display:block;font:italic 600 2.5rem var(--serif)}.brand small{display:block;margin-top:7px;letter-spacing:.34em;font-size:.7rem;text-align:center}.site-header nav{display:flex;align-items:center;gap:clamp(22px,3vw,58px)}.site-header nav a,.reserve{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.82rem;font-weight:700;white-space:nowrap;position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-12px;height:2px;background:currentColor;transition:right .25s}.site-header nav a:hover:after,.site-header nav a.active:after{right:0}.lang{position:relative}.lang summary{list-style:none;cursor:pointer;border:1px solid #ffffff80;border-radius:999px;min-width:86px;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:13px;font-weight:700}.lang summary::-webkit-details-marker{display:none}.lang summary i{width:9px;height:9px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-3px)}.lang[open] summary i{transform:rotate(225deg) translate(-2px,-2px)}.lang div{position:absolute;right:0;top:calc(100% + 12px);width:210px;padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px #0003}.lang div a{display:flex;gap:14px;padding:11px 13px;border-radius:11px;text-decoration:none}.lang div a:hover,.lang div a.active{background:#eadbc5}.lang div b{color:var(--rust);width:28px}.hamburger{display:none;background:transparent;color:#fff;border:1px solid #ffffff80;border-radius:50%;width:58px;height:58px;padding:16px}.hamburger span{display:block;height:2px;background:#fff;margin:5px 0;transition:.25s}.hero{position:relative;min-height:calc(100vh - 116px);color:#fff;overflow:hidden;display:flex;align-items:center}.hero>img,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(27,16,11,.78),rgba(27,16,11,.46) 55%,rgba(27,16,11,.25))}.hero-copy{position:relative;width:min(1100px,92vw);padding:7vh clamp(30px,4vw,74px)}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:#c76642;font-size:.78rem;font-weight:800}.hero .eyebrow,.green .eyebrow,.callout .eyebrow{color:#ffd18e}.plaque{width:296px;border:1px solid #c8b39eaa;border-radius:22px 22px 8px 8px;padding:12px 28px 10px;background:#4327198f;margin:20px 0 34px}.plaque strong{display:block;font:600 3.7rem/.95 var(--serif);letter-spacing:.04em}.plaque span{display:block;color:var(--gold);letter-spacing:.35em;font-size:.72rem;margin-top:8px;text-align:left}.hero h1{max-width:940px;margin:0 0 20px}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.4vw,1.35rem);max-width:770px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:17px 29px;background:var(--gold);color:var(--ink);font-weight:800;text-decoration:none;cursor:pointer;transition:transform .25s,box-shadow .25s;margin:18px 10px 0 0}.btn:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0003}.btn.ghost{background:#ffffff10;border:1px solid #ffffff80;color:#fff}.section{padding:clamp(70px,8vw,140px) max(4%,calc((100% - 1780px)/2))}.section>h2{max-width:1200px}.green{background:var(--green);color:#fff}.green+.section,.section+.green{border-radius:0}.lead{max-width:900px;font-size:1.2rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}.cards article{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:30px;padding:20px;overflow:hidden;position:relative}.cards article img{width:100%;height:310px;object-fit:cover;border-radius:22px}.cards article h3{font-size:2.3rem;margin-top:24px}.cards article p{color:#765b4b}.room-nav{display:flex;gap:12px;align-items:center;margin:38px 0 24px}.room-nav button{min-height:50px;padding:0 20px;border-radius:999px;border:1px solid #ffffff66;background:transparent;color:#fff;cursor:pointer}.room-nav button:hover{background:#ffffff12}.room-nav strong{font:600 1.55rem var(--serif)}.room-nav small{opacity:.8}.room-nav [data-room-all]{margin-left:auto}.room-stage{position:relative;overflow:hidden}.room-card{display:none;background:var(--paper);color:var(--ink);border-radius:38px;overflow:hidden;grid-template-columns:56% 44%;min-height:590px}.room-card.active{display:grid;animation:roomIn .42s ease both}@keyframes roomIn{from{opacity:.25;transform:translateX(28px)}to{opacity:1;transform:none}}.room-card.leaving-left{display:grid;animation:leaveLeft .3s ease both}.room-card.leaving-right{display:grid;animation:leaveRight .3s ease both}@keyframes leaveLeft{to{opacity:0;transform:translateX(-45px)}}@keyframes leaveRight{to{opacity:0;transform:translateX(45px)}}.room-photos{display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-template-rows:repeat(3,1fr);gap:9px;padding:14px;background:var(--green-deep)}.room-photos button{border:0;padding:0;background:none;cursor:pointer;overflow:hidden;border-radius:18px}.room-photos img{width:100%;height:100%;min-height:170px;object-fit:cover;transition:transform .35s}.room-photos button:hover img{transform:scale(1.035)}.room-photos button:first-child{grid-row:1/4}.room-photos button:first-child img{min-height:540px}.room-card>div:last-child{padding:clamp(42px,5vw,90px)}.room-card>div:last-child>span{letter-spacing:.22em;color:var(--rust);font-size:.72rem;font-weight:800}.room-card h3{font-size:clamp(4rem,5.5vw,6.5rem);border-bottom:1px solid var(--line);padding-bottom:26px}.room-card strong{display:inline-flex;background:var(--gold);padding:10px 15px;border-radius:999px;font-size:1.05rem;margin-top:14px}.room-card p{font-size:1.05rem}.room-card a{display:inline-block;color:var(--rust);font-weight:800;text-decoration:none;margin-top:15px}.room-picker{width:min(720px,92vw);max-height:60vh;border:0;border-radius:26px;padding:28px;background:var(--paper);box-shadow:0 30px 90px #0006}.room-picker::backdrop,.lightbox::backdrop{background:#111d;backdrop-filter:blur(7px)}.room-picker>.close{float:right;border:0;background:none;cursor:pointer}.room-picker>div{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:9px}.room-picker [data-pick]{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.room-picker [data-pick]:hover{background:var(--gold)}.terms{margin-top:54px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:clamp(35px,5vw,80px);border-radius:34px;background:linear-gradient(#3a231db8,#3a231db8),url('../../images/hero-jardin.jpg') center/cover;color:#fff}.terms>p{grid-column:1/-1;font-weight:600}.terms h3{font-size:2.5rem}.terms li{margin:8px 0}.gallery{columns:4 260px;column-gap:16px;margin-top:45px}.gallery button{break-inside:avoid;position:relative;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:24px;overflow:hidden;cursor:pointer;background:#ddd}.gallery img{width:100%;height:auto;min-height:230px;object-fit:cover;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.gallery span{position:absolute;bottom:0;left:0;right:0;padding:42px 18px 16px;background:linear-gradient(transparent,#000b);color:#fff;text-align:left;font-weight:700}.callout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:8vw;background:var(--rust);color:#fff;padding:clamp(75px,9vw,150px) max(4%,calc((100% - 1780px)/2))}.callout p{font-size:1.25rem}.contact>p{max-width:1000px}.contact-grid,.discover{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:stretch;margin-top:42px}.contact-grid iframe{width:100%;height:100%;min-height:680px;border:0;border-radius:34px}.contact form{background:#965b44;color:#fff;padding:clamp(28px,4vw,60px);border-radius:34px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact label{display:grid;gap:6px;font-weight:700}.contact form>label:nth-of-type(3),.contact label:has(textarea),.contact form>.btn{grid-column:1/-1}.contact input,.contact textarea{padding:13px 3px;border:0;border-bottom:1px solid #ffffff80;background:transparent;color:#fff;outline:none}.contact textarea{min-height:170px;border:1px solid #ffffff80;border-radius:18px;padding:15px}.dates{display:contents}.guide-hero{background:var(--rust);color:#fff}.guide-hero h1{font-size:clamp(4.5rem,8vw,9rem)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0}.facts article,.wifi{padding:34px;border:1px solid var(--line);border-radius:30px;background:var(--paper)}.facts article{display:flex;flex-direction:column;justify-content:center;min-height:210px}.facts strong,.wifi strong{display:block;font:600 2.8rem var(--serif)}.wifi{background:var(--green);color:#fff;max-width:680px}.wifi small{display:block;letter-spacing:.2em;color:var(--gold)}.services .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.discover img{height:min(760px,75vh);width:100%;object-fit:cover;border-radius:34px}.discover>div{display:grid;gap:13px}.discover a{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:25px;padding:22px 28px;text-decoration:none;transition:.25s;background:var(--paper)}.discover a strong{font:600 1.65rem var(--serif)}.discover a small{color:#7b5a48}.discover a:hover{transform:translateX(9px);border-color:var(--rust);box-shadow:0 12px 30px #7b3c1820}.site-footer{background:#171714;color:#fff;padding:70px max(4%,calc((100% - 1780px)/2));display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-brand strong{font:600 2rem var(--serif)}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{text-decoration:none}.footer-reviews small{display:block;color:#ce7450;letter-spacing:.2em;font-weight:800;margin-bottom:15px}.footer-google-rating,.tripadvisor{display:flex;align-items:center;gap:9px;border:1px solid #ffffff30;border-radius:22px;padding:18px 22px;text-decoration:none;margin-bottom:14px}.tripadvisor{align-items:flex-start;flex-direction:column}.tripadvisor strong{font:600 2rem var(--serif)}.stars{color:#f7ba36;letter-spacing:2px}.google-g{font:800 1.4rem Arial;color:#4285f4}.credit{text-align:center;padding:14px;background:#eee;font-size:.8rem}.credit img{display:inline-block;vertical-align:middle;width:25px;height:18px;object-fit:contain;margin:0 5px}.credit span{color:#999;font-weight:700}.floating-wa{position:fixed;right:28px;bottom:28px;z-index:120;background:var(--rust);color:#fff;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;text-decoration:none;box-shadow:0 12px 28px #0003}.floating-wa svg{width:34px}.floating-wa:before{content:attr(data-tooltip);position:absolute;right:75px;white-space:nowrap;background:#171714;color:#fff;padding:8px 12px;border-radius:9px;opacity:0;pointer-events:none;transform:translateX(8px);transition:.2s;font-size:.75rem}.floating-wa:hover:before{opacity:1;transform:none}.lightbox{width:96vw;height:92vh;background:#111;color:#fff;border:0;border-radius:18px;padding:18px}.lightbox img{width:100%;height:82%;object-fit:contain;transition:transform .28s,opacity .28s}.lightbox img.slide-left{opacity:.25;transform:translateX(-45px)}.lightbox img.slide-right{opacity:.25;transform:translateX(45px)}.lightbox button,.close{font-size:2rem}.lightbox>button{background:#fff2;color:#fff;border:0;border-radius:50%;width:48px;height:48px;cursor:pointer}.lightbox>.close{position:absolute;right:20px;top:20px;z-index:2}.lightbox [data-lb-prev]{position:absolute;left:20px;top:45%}.lightbox [data-lb-next]{position:absolute;right:20px;top:45%}.lightbox p{text-align:center}.js-warning{background:#ffefd1;color:#6a361f;padding:10px;text-align:center}
@media(max-width:980px){.site-header{min-height:88px;padding:14px 24px}.brand em{font-size:2rem}.site-header nav,.reserve{display:none}.hamburger{display:block;order:4}.lang{margin-left:auto;order:3}.hamburger{order:4}.site-header.open nav{display:flex;position:absolute;top:88px;left:0;right:0;background:var(--header);padding:26px;flex-direction:column;align-items:flex-start;gap:26px;box-shadow:0 18px 30px #0004}.site-header.open .hamburger span:first-child{transform:translateY(7px) rotate(45deg)}.site-header.open .hamburger span:nth-child(2){opacity:0}.site-header.open .hamburger span:last-child{transform:translateY(-7px) rotate(-45deg)}.hero{min-height:760px}.cards,.services .cards{grid-template-columns:1fr}.room-card.active{grid-template-columns:1fr}.room-card{min-height:0}.room-card>div:last-child{padding:36px 28px}.room-photos{grid-template-columns:minmax(0,1fr) 100px}.room-photos button:first-child img{min-height:460px}.terms,.contact-grid,.discover,.callout{grid-template-columns:1fr}.contact-grid iframe{min-height:450px}.contact form{grid-template-columns:1fr}.contact label:has(textarea),.contact form>.btn{grid-column:auto}.dates{display:grid;grid-template-columns:1fr 1fr;gap:15px}.facts{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1fr 1fr}.footer-reviews{grid-column:1/-1}}
@media(max-width:640px){html{scroll-padding-top:82px}.site-header{min-height:82px;padding:12px 18px}.site-header.open nav{top:82px}.brand em{font-size:1.75rem}.brand small{font-size:.58rem}.lang summary{min-width:68px;height:48px;padding:0 13px}.hamburger{width:50px;height:50px;padding:13px}.hero{min-height:680px}.hero-copy{padding:48px 24px}.plaque{width:245px;padding:9px 24px 8px;margin-bottom:28px}.plaque strong{font-size:3rem}.section{padding:70px 22px}.room-nav{display:grid;grid-template-columns:48px 1fr 48px;position:relative;padding-bottom:60px}.room-nav strong{text-align:center}.room-nav small{position:absolute;left:50%;top:35px;transform:translateX(-50%)}.room-nav [data-room-all]{position:absolute;bottom:0;left:0;right:0;margin:0}.room-photos{grid-template-columns:1fr 82px;padding:9px}.room-photos button:first-child img{min-height:360px}.room-photos img{min-height:114px}.room-card h3{font-size:3.5rem}.gallery{columns:2 130px;column-gap:10px}.gallery button{margin-bottom:10px;border-radius:16px}.facts{grid-template-columns:1fr 1fr}.facts article:last-child{grid-column:1/-1}.contact form{padding:26px 20px}.dates{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr;padding:55px 24px}.footer-reviews{grid-column:auto}.floating-wa{width:58px;height:58px;right:18px;bottom:18px}.floating-wa:before{display:none}.room-picker{max-height:60vh;padding:20px}.room-picker>div{grid-template-columns:1fr 1fr}.lightbox{width:100vw;height:100dvh;border-radius:0;margin:0;max-width:none;max-height:none}.lightbox img{height:88%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.spirit-panel{display:none;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;min-height:620px}.spirit-panel.active{display:grid;animation:roomIn .45s ease both}.spirit-pictures{position:relative;height:520px}.spirit-pictures img{position:absolute;object-fit:cover;border:14px solid #ffffff0c}.spirit-pictures img:first-child{right:0;top:0;width:68%;height:92%;border-radius:48% 48% 28px 28px}.spirit-pictures img:last-child{left:0;bottom:0;width:48%;height:54%;border-radius:28px}.spirit-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.spirit-tabs button{border:1px solid #ffffff44;border-radius:999px;padding:16px;background:transparent;color:#fff;cursor:pointer}.spirit-tabs button.active{background:var(--gold);color:var(--ink)}.direct{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 0 50%}.direct a,.location-note{border:1px solid #ffffff55;border-radius:24px;padding:20px;background:#965b44;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:center;min-height:110px}.location-note{margin-left:50%;margin-top:18px}.reviews{background:var(--paper)}.review-score{display:flex;align-items:center;gap:12px;margin:30px 0}.review-score small{margin-left:8px;color:#765b4b}.review-stage{min-height:260px;position:relative}.review-stage blockquote{display:none;margin:0;padding:40px;border:1px solid var(--line);border-radius:30px;background:#fff;font:1.35rem/1.55 var(--serif)}.review-stage blockquote.active{display:block;animation:roomIn .4s ease both}.review-stage cite{display:block;font:700 .9rem var(--sans);margin-top:18px}.review-controls{display:flex;gap:10px;align-items:center;margin-top:20px}.review-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.review-controls a{margin-left:auto;color:var(--rust);font-weight:700}.contact-cards{grid-template-columns:repeat(4,1fr)}.contact-cards article h3{font-size:1.8rem}.contact-cards article a{color:var(--rust);word-break:break-word}.emergency{margin-top:45px;background:var(--rust-dark);color:#fff;border-radius:34px;padding:38px;display:grid;grid-template-columns:1fr 2fr;gap:34px}.emergency>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.emergency a{display:flex;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #ffffff33;border-radius:15px;text-decoration:none}.services.green .cards article b{display:inline-block;background:var(--gold);border-radius:999px;padding:7px 11px;margin-top:18px;font-size:.78rem}.services.green .cards article h3{margin-top:14px}
@media(max-width:980px){.spirit-panel{grid-template-columns:1fr;min-height:0}.spirit-pictures{height:420px}.spirit-tabs{grid-template-columns:1fr 1fr}.direct,.location-note{margin-left:0}.contact-cards{grid-template-columns:1fr 1fr}.emergency{grid-template-columns:1fr}}
@media(max-width:640px){.spirit-pictures{height:330px}.spirit-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.spirit-tabs button{min-width:72%;scroll-snap-align:center}.direct{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.emergency>div:last-child{grid-template-columns:1fr}.review-score{flex-wrap:wrap}}
