:root{--forest:#123d36;--forest-2:#0d2f2a;--sage:#dfe8df;--cream:#f5f0e7;--sand:#e7d7bf;--gold:#c79952;--ink:#1c2926;--muted:#697773;--line:#d9ded9;--white:#fff;--shadow:0 18px 60px rgba(20,46,39,.12);--sans:Inter,"Segoe UI",Arial,sans-serif;--display:Georgia,"Times New Roman",serif;--radius:4px;--container:min(1240px,calc(100% - 40px));}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:#fbfaf7;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}body.drawer-open,body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.container{width:var(--container);margin-inline:auto}.media{display:block;overflow:hidden}.media img{display:block;width:100%;height:100%;object-fit:cover}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;color:#000;padding:12px 18px;z-index:9999}.skip-link:focus{top:16px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.demo-bar{min-height:34px;padding:6px max(20px,calc((100vw - 1240px)/2));background:var(--forest-2);color:#fff;display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.02em}.demo-bar span,.demo-pill{border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:2px 9px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.demo-bar p{margin:0;opacity:.72;flex:1}.demo-bar a{font-weight:600;color:#f1d7ac}.site-header{height:76px;background:rgba(251,250,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,50,44,.1);position:sticky;top:0;z-index:80}.nav-shell{height:100%;width:var(--container);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;font-family:var(--display);font-size:24px;color:var(--gold)}.brand strong{display:block;font-family:var(--display);font-weight:500;line-height:1.05;font-size:18px}.brand small{display:block;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:8px;margin-top:4px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1}.desktop-nav a{font-size:13px;font-weight:500;position:relative;white-space:nowrap}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .25s}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{right:0}.nav-actions{display:flex;align-items:center;gap:10px}.lang-switch{border:0;background:transparent;min-height:44px;padding:0 7px;font-size:12px}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.btn{border:1px solid transparent;min-height:46px;padding:11px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:600;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e0ae5f;outline-offset:3px}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#b88840}.btn-forest{background:var(--forest);color:#fff}.btn-cream{background:var(--cream);color:var(--forest)}.btn-outline{border-color:var(--forest);background:transparent;color:var(--forest)}.btn-outline:hover{background:var(--forest);color:#fff}.btn-ghost{border-color:var(--line);background:#fff}.btn-small{min-height:40px;padding:8px 13px;font-size:9px}.btn-block{width:100%}.text-link{border:0;background:transparent;padding:0 0 5px;display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;color:var(--forest);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;cursor:pointer}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.eyebrow{display:inline-block;color:#9a7040;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;margin-bottom:18px}.eyebrow.light{color:#f4d5a6}.section{padding:112px 0}.section-head{max-width:720px;margin-bottom:48px}.section-head h2,.intro-copy h2,.story-copy h2,.culinary-copy h2,.newsletter h2,.simple-hero h1,.booking-title h1,.story-layout h2{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:1.08;font-size:clamp(38px,5vw,64px);margin:0}.section-head p{max-width:600px;color:var(--muted);font-size:17px}.center{text-align:center;margin-top:44px}.lead{font-size:19px;line-height:1.75}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}
.hero{height:min(790px,calc(100svh - 34px));min-height:620px;position:relative;color:#fff;overflow:hidden}.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,25,.72) 0%,rgba(7,28,25,.28) 53%,rgba(7,28,25,.08) 100%),linear-gradient(0deg,rgba(7,28,25,.36),transparent 50%)}.hero-content{position:relative;z-index:2;width:var(--container);margin:auto;padding-top:clamp(110px,18vh,180px)}.hero-content h1{font-family:var(--display);font-size:clamp(54px,7vw,98px);font-weight:500;letter-spacing:-.045em;line-height:.94;margin:0 0 28px;max-width:800px}.hero-content p{font-size:17px;line-height:1.75;max-width:620px;color:rgba(255,255,255,.83)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.play-link{display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.play-link span{width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-size:9px}.hero-note{position:absolute;right:max(20px,calc((100vw - 1240px)/2));bottom:72px;z-index:3;display:flex;align-items:center;gap:14px}.hero-note>span{font-family:var(--display);font-size:34px;color:#f2d3a2}.hero-note p{margin:0;font-size:12px;line-height:1.3}.hero-note p strong{display:block;font-weight:500}.booking-float{position:relative;z-index:10;width:min(1120px,calc(100% - 40px));margin:-42px auto 0;background:#fff;box-shadow:var(--shadow);padding:22px}.availability-form{display:grid;grid-template-columns:1.15fr 1.15fr 1fr 1fr 1.35fr;align-items:end}.availability-form label{padding:0 18px;border-right:1px solid var(--line)}.availability-form label span,.booking-card label,.form-grid label,.manage-form label,.form-feature label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}.availability-form input,.availability-form select{border:0;background:transparent;width:100%;min-height:30px;color:var(--ink)}.availability-form .btn{height:52px;margin-left:18px}.form-error{grid-column:1/-1;color:#a63e36;font-size:12px;margin:10px 18px 0;min-height:0}.intro-grid{display:grid;grid-template-columns:1.5fr 1.5fr repeat(3,.55fr);gap:38px;align-items:end}.intro-body{padding-bottom:8px}.intro-body .lead{margin:0 0 26px}.intro-stat{border-left:1px solid var(--line);padding-left:22px}.intro-stat strong{font-family:var(--display);display:block;font-weight:500;font-size:40px;line-height:1}.intro-stat span{display:block;color:var(--muted);font-size:11px;margin-top:9px}.rooms-feature{background:var(--cream)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{background:#fff;min-width:0}.room-photo{position:relative;display:block;height:300px;overflow:hidden}.room-photo .media,.room-photo img{height:100%}.room-photo img{transition:transform .6s ease}.room-card:hover .room-photo img{transform:scale(1.035)}.badge{position:absolute;top:16px;left:16px;background:#f7f2e9;color:#76542d;font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:7px 10px}.room-body{padding:24px}.room-kicker{color:#9a7040;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.room-body h3{font-family:var(--display);font-size:27px;font-weight:500;line-height:1.1;margin:10px 0}.room-meta{font-size:12px;color:var(--muted)}.inline-features{display:flex;flex-wrap:wrap;gap:7px 18px;padding:0;margin:16px 0 22px;list-style:none;color:#56635f;font-size:11px}.inline-features li::before{content:"·";color:var(--gold);margin-right:7px}.price-row{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.price-row del{display:block;color:#9ca6a3;font-size:10px}.price-row strong{display:block;font-size:16px;font-weight:600}.price-row small{font-size:9px;color:var(--muted)}.room-body>.text-link{margin-top:18px}.split-story{background:#fbfaf7}.split-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:9vw;align-items:center}.portrait-media{height:720px;position:relative}.portrait-media .media,.portrait-media img{height:100%}.vertical-label{position:absolute;left:-36px;bottom:40px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.story-copy h2{font-size:clamp(38px,4.5vw,60px)}.story-copy p{color:var(--muted);font-size:17px}.check-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:32px 0;gap:13px}.check-list li{font-size:12px}.check-list li::before{content:"✓";color:var(--gold);margin-right:10px}.offer-band{background:var(--forest);color:#fff}.offer-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:6vw}.offer-grid h2{font-family:var(--display);font-weight:500;font-size:clamp(44px,5vw,72px);line-height:1.02;margin:0 0 24px}.offer-grid>div:first-child p{color:rgba(255,255,255,.67);max-width:450px;margin-bottom:36px}.offer-visual{height:520px;position:relative}.offer-visual .media,.offer-visual img{height:100%}.offer-seal{position:absolute;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--gold);right:-28px;bottom:-28px;text-transform:uppercase;font-size:9px;line-height:1.3;letter-spacing:.1em}.offer-seal strong{font-family:var(--display);font-size:34px;font-weight:500;line-height:1}.culinary-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.culinary-copy h2{font-size:clamp(42px,5vw,68px)}.culinary-copy p{color:var(--muted);max-width:480px}.culinary-media{height:680px}.culinary-media .media,.culinary-media img{height:100%}.hours{display:flex;flex-wrap:wrap;gap:30px;margin:30px 0}.hours span{font-size:12px}.hours small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.experiences{padding-top:40px}.experience-strip{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.experience-strip article{height:480px;position:relative;overflow:hidden}.experience-strip .media,.experience-strip img{height:100%}.experience-strip img{transition:transform .7s}.experience-strip article:hover img{transform:scale(1.04)}.experience-strip article::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,24,21,.62),transparent 60%)}.experience-strip article div{position:absolute;z-index:2;left:24px;bottom:24px;color:#fff}.experience-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#f0cf9e}.experience-strip h3{font-family:var(--display);font-weight:500;font-size:28px;margin:4px 0}.reviews{background:var(--cream)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.rating{display:flex;gap:18px;align-items:center}.rating>strong{font-family:var(--display);font-size:54px;font-weight:500}.rating span{color:var(--gold);letter-spacing:.12em}.rating small{display:block;color:var(--muted);font-size:10px;letter-spacing:0}.quote-card{background:#fff;padding:50px}.quote-card blockquote{font-family:var(--display);font-size:28px;line-height:1.45;margin:0}.quote-card footer{display:flex;gap:13px;align-items:center;margin-top:32px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--sage);display:grid;place-items:center;font-size:10px}.quote-card footer p{margin:0}.quote-card footer strong,.quote-card footer small{display:block;font-size:11px}.quote-card footer small{color:var(--muted)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{cursor:pointer;list-style:none;padding:22px 0;display:flex;justify-content:space-between;font-weight:500}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:20px;font-weight:400;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:var(--muted);margin:0;padding:0 40px 22px 0}.newsletter{padding:64px 0;background:#8b6841;color:#fff}.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.newsletter h2{font-size:40px}.newsletter form{display:grid;grid-template-columns:1fr 48px}.newsletter input{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);padding:12px 0;color:#fff}.newsletter input::placeholder{color:rgba(255,255,255,.65)}.newsletter button{border:0;border-bottom:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:22px}.newsletter form p{grid-column:1/-1;font-size:9px;opacity:.6}.site-footer{background:var(--forest-2);color:#fff;padding:80px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:6vw}.light-brand small{color:rgba(255,255,255,.5)}.footer-brand>p{max-width:330px;color:rgba(255,255,255,.55);font-size:13px;margin:24px 0}.footer-top h2{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#d5b481;margin:0 0 20px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-top>div:not(:first-child) a,.footer-top>div:not(:first-child) p{font-size:12px;color:rgba(255,255,255,.67);margin:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.5)}.footer-bottom a{color:#e4c28f}
.page-hero{height:560px;position:relative;color:#fff;overflow:hidden}.page-hero-media,.page-hero-media img{position:absolute;inset:0;width:100%;height:100%}.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,26,.72),rgba(8,30,26,.12))}.page-hero-copy{position:relative;z-index:2;width:var(--container);margin:auto;padding-top:140px}.page-hero-copy h1{font-family:var(--display);font-weight:500;line-height:1.02;font-size:clamp(52px,7vw,86px);margin:0}.page-hero-copy p{font-size:17px}.simple-hero{padding:110px 0 90px;background:var(--cream)}.simple-hero.dark{background:var(--forest);color:#fff}.simple-hero p{max-width:600px;color:var(--muted)}.simple-hero.dark p{color:rgba(255,255,255,.66)}.filters{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:14px;background:#fff;border:1px solid var(--line);padding:18px}.filters label>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.filters input,.filters select{border:0;border-bottom:1px solid var(--line);width:100%;height:38px;background:transparent}.result-line{display:flex;justify-content:space-between;align-items:center;margin:28px 0}.result-line p{margin:0}.filter-reset{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:var(--muted)}.all-rooms{grid-template-columns:repeat(3,1fr)}.empty-state{text-align:center;padding:80px}.empty-state>span{font-family:var(--display);font-size:64px;color:var(--gold)}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:5px;position:relative}.detail-gallery button{border:0;padding:0;cursor:pointer;overflow:hidden}.detail-gallery button:first-child{grid-row:1/3;grid-column:1/2}.detail-gallery button .media,.detail-gallery button img{height:100%}.detail-gallery img{transition:transform .4s}.detail-gallery button:hover img{transform:scale(1.02)}.gallery-count{position:absolute;right:20px;bottom:18px;background:#fff;padding:8px 13px;font-size:10px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:7vw;align-items:start}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:10px;color:var(--muted);margin-bottom:40px}.room-detail article>h1{font-family:var(--display);font-weight:500;font-size:clamp(46px,5vw,70px);line-height:1.05;margin:0}.detail-lead{font-size:19px;color:var(--muted);max-width:680px}.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:36px 0}.detail-facts span{border-left:1px solid var(--line);padding-left:16px;font-size:10px;color:var(--muted)}.detail-facts strong{display:block;color:var(--ink);font-size:12px}.room-detail hr{border:0;border-top:1px solid var(--line);margin:44px 0}.room-detail article>h2{font-family:var(--display);font-size:31px;font-weight:500}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:12px}.amenity-grid i{font-style:normal;color:var(--gold);margin-right:8px}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.policy-grid h3{font-size:13px}.policy-grid p{font-size:12px;color:var(--muted)}.booking-card{position:sticky;top:104px;background:#fff;box-shadow:var(--shadow);padding:28px}.booking-price strong{font-family:var(--display);font-size:31px;font-weight:500}.booking-price span{font-size:10px;color:var(--muted)}.booking-card form{margin-top:25px}.booking-card label{margin-top:12px}.booking-card input,.booking-card select{width:100%;height:44px;border:1px solid var(--line);background:#fff;padding:0 10px}.booking-card .btn{margin-top:18px}.booking-card>small{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:16px}.floor-plan{display:grid;grid-template-columns:1fr 1.2fr;background:var(--cream);padding:30px;margin-top:50px;gap:30px}.floor-plan h3{font-family:var(--display);font-size:28px;font-weight:500}.floor-plan p{font-size:12px;color:var(--muted)}.plan-art{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;border:1px solid #b9ad9a;min-height:210px}.plan-art span{display:grid;place-items:center;border:1px solid #b9ad9a;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.mobile-sticky{display:none}
.booking-page{background:var(--cream);padding:80px 0 120px;min-height:80vh}.booking-title{text-align:center}.booking-title p{color:var(--muted)}.stepper{display:flex;justify-content:center;gap:0;list-style:none;padding:0;margin:45px auto;width:min(760px,100%)}.stepper li{display:flex;align-items:center;gap:7px;color:#929b98;font-size:10px;text-transform:uppercase;letter-spacing:.1em;flex:1}.stepper li::after{content:"";height:1px;background:#c9cfcb;flex:1;margin:0 9px}.stepper li:last-child::after{display:none}.stepper li span{width:26px;height:26px;border:1px solid #abb4b0;border-radius:50%;display:grid;place-items:center}.stepper li.active{color:var(--forest)}.stepper li.active span{background:var(--forest);color:#fff;border-color:var(--forest)}.booking-flow{width:min(980px,100%);margin:auto}.booking-step{display:none}.booking-step.active{display:block;animation:step-in .35s ease}.step-card{background:#fff;padding:42px;box-shadow:0 12px 45px rgba(20,46,39,.07)}.step-card>h2{font-family:var(--display);font-size:36px;font-weight:500;margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid input,.form-grid select,.form-grid textarea,.manage-form input,.form-feature input,.form-feature select,.form-feature textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px;min-height:48px;color:var(--ink)}.form-grid label.full,.form-feature label.full{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.availability-note{color:var(--muted);font-size:13px}.select-room-list{display:flex;flex-direction:column;gap:12px}.select-room{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:18px;border:1px solid var(--line);padding:10px;cursor:pointer;position:relative}.select-room>input{position:absolute;inset:0;opacity:0}.select-room:has(input:checked){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.select-room-image{height:80px}.select-room-image .media,.select-room-image img{height:100%}.select-room-copy strong,.select-room-copy span,.select-room-copy small{display:block}.select-room-copy small{font-size:9px;color:#9a7040;text-transform:uppercase;letter-spacing:.1em}.select-room-copy strong{font-family:var(--display);font-size:21px}.select-room-copy span,.select-room-price{font-size:10px;color:var(--muted)}.select-room-price strong{display:block;color:var(--ink);font-size:14px}.rate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rate-card{border:1px solid var(--line);padding:20px;position:relative;cursor:pointer}.rate-card input{position:absolute;opacity:0}.rate-card:has(input:checked){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.radio-dot{width:16px;height:16px;border:1px solid #9aa4a0;border-radius:50%;display:block;margin-bottom:12px}.rate-card:has(input:checked) .radio-dot{border:5px solid var(--gold)}.rate-card strong{display:block}.rate-card p{font-size:12px;color:var(--muted);margin:6px 0}.rate-card>span:last-child{font-size:10px;color:#8b6638}.summary-layout{display:grid;grid-template-columns:1fr 320px;gap:20px}.summary-lines dl{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);margin:0;padding:12px 0;font-size:12px}.summary-lines dt{color:var(--muted)}.summary-lines dd{margin:0;font-weight:500}.policy-check{display:flex;gap:12px;align-items:flex-start;margin-top:24px;font-size:12px}.policy-check input{margin-top:5px}.demo-payment{background:#f4eee5;padding:16px;margin-top:20px}.demo-payment span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8a643b}.demo-payment p{font-size:11px;margin:4px 0}.price-summary{background:var(--forest);color:#fff;padding:28px}.price-summary h3{font-family:var(--display);font-size:26px;font-weight:500}.price-summary dl{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px solid rgba(255,255,255,.15);padding:10px 0;margin:0}.price-summary dl.total{font-size:15px;border:0;margin-top:10px}.price-summary dd{margin:0}.manage-layout{display:grid;grid-template-columns:360px 1fr;gap:6vw;align-items:start}.manage-form{background:#fff;box-shadow:var(--shadow);padding:30px}.manage-form h2{font-family:var(--display);font-size:30px;font-weight:500;margin-top:0}.manage-form label{margin-top:16px}.manage-form .btn{margin-top:18px}.manage-form small{font-size:9px;color:var(--muted)}.manage-result{min-height:380px}.empty-booking{text-align:center;padding:70px 30px;border:1px dashed #c9ceca}.empty-booking>span{font-family:var(--display);font-size:60px;color:var(--gold)}.booking-result-card{background:#fff;padding:32px;box-shadow:var(--shadow)}.booking-result-card header{display:flex;justify-content:space-between}.booking-result-card h2{font-family:var(--display);font-weight:500}.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.offer-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.offer-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;min-height:360px}.offer-card>.media,.offer-card img{height:100%}.offer-card>div{padding:32px;position:relative}.offer-card .badge{top:20px;left:auto;right:20px}.offer-card h2{font-family:var(--display);font-size:31px;font-weight:500}.offer-card strong{font-size:12px}.offer-card p{font-size:12px;color:var(--muted)}.offer-card details{font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin:20px 0}.offer-card summary{cursor:pointer}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experience-card{background:#fff}.experience-card>.media{height:280px}.experience-card>.media img{height:100%}.experience-card>div{padding:24px}.experience-card h2{font-family:var(--display);font-weight:500;font-size:27px;margin:0}.experience-card p{font-size:12px;color:var(--muted)}.restaurant-hero{height:740px;background:var(--forest);display:grid;grid-template-columns:1.15fr .85fr;color:#fff}.restaurant-image,.restaurant-image .media,.restaurant-image img{height:100%}.restaurant-copy{padding:10vw 6vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.restaurant-copy h1{font-family:var(--display);font-weight:500;font-size:clamp(48px,6vw,78px);line-height:1.03;margin:0}.restaurant-copy p{color:rgba(255,255,255,.65)}.restaurant-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.restaurant-intro h2{font-family:var(--display);font-weight:500;font-size:52px;line-height:1.05}.menu-section{background:var(--forest);color:#fff;padding:90px 0}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.menu-grid article{position:relative;border-bottom:1px solid rgba(255,255,255,.14);padding:18px 100px 18px 0}.menu-grid h3{font-family:var(--display);font-weight:500;font-size:21px;margin:0}.menu-grid p{font-size:11px;color:rgba(255,255,255,.6);margin:4px 0}.menu-grid span{position:absolute;right:0;top:22px;font-size:11px;color:#e1bf8b}.diet-note{text-align:center;color:rgba(255,255,255,.55);font-size:11px;margin-top:36px}.form-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--cream);padding:50px}.form-feature h2{font-family:var(--display);font-size:42px;font-weight:500;line-height:1.1}.form-feature form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-feature .btn{align-self:end}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.gallery-filters button{border:1px solid var(--line);background:#fff;padding:9px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.gallery-filters button.active{background:var(--forest);color:#fff}.masonry{columns:3;column-gap:18px}.masonry button{width:100%;border:0;background:transparent;padding:0;margin:0 0 18px;display:block;position:relative;cursor:pointer;break-inside:avoid}.masonry .media img{height:auto}.masonry button>span{position:absolute;bottom:12px;left:12px;background:#fff;padding:6px 9px;font-size:9px}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.story-layout p{color:var(--muted)}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:90px}.values article{border-top:1px solid var(--line);padding-top:20px}.values article>span{font-family:var(--display);color:var(--gold);font-size:28px}.values h3{font-family:var(--display);font-size:24px;font-weight:500}.values p{font-size:12px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw}.map-card{background:#fff;box-shadow:var(--shadow)}.map-card>div:last-child{padding:24px}.map-art{height:390px;background:#dfe7df;position:relative;overflow:hidden}.map-art::before{content:"";position:absolute;right:-15%;top:0;width:48%;height:100%;background:#b7ced2;border-radius:40% 0 0 45%}.road{position:absolute;height:7px;background:#fff;border:1px solid #c9d1ca;width:80%;transform:rotate(-18deg);top:45%;left:-5%}.road.r2{transform:rotate(27deg);top:65%;left:10%}.map-pin{position:absolute;z-index:2;left:48%;top:42%;width:46px;height:46px;border-radius:50% 50% 50% 0;background:var(--forest);color:#fff;display:grid;place-items:center;transform:rotate(-45deg);font-family:var(--display);font-size:23px}.map-pin::first-letter{transform:rotate(45deg)}.coast{position:absolute;right:2%;bottom:8%;z-index:2;color:#58757a;font-family:var(--display);font-style:italic}.contact-info>div{padding:24px 0;border-top:1px solid var(--line)}.contact-info span,.contact-info a,.contact-info small{display:block}.contact-info span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#9a7040}.contact-info a{font-family:var(--display);font-size:22px}.contact-info small,.contact-info p{font-size:11px;color:var(--muted)}.contact-form{margin-top:80px}.not-found{height:calc(100vh - 110px);min-height:600px;position:relative;display:grid;place-items:center;text-align:center;color:#fff}.not-found>.media,.not-found>.media img{position:absolute;inset:0;width:100%;height:100%}.not-found::after{content:"";position:absolute;inset:0;background:rgba(8,31,27,.58)}.not-found>div{position:relative;z-index:2}.not-found>div>span{font-family:var(--display);font-size:92px;color:#edcd9b}.not-found h1{font-family:var(--display);font-weight:500;font-size:42px}
.lightbox,.info-modal{position:fixed;inset:0;z-index:200;background:rgba(5,18,16,.95);display:none;align-items:center;justify-content:center;color:#fff}.lightbox.open,.info-modal.open{display:flex}.lightbox-stage{width:min(1100px,85vw);height:85vh}.lightbox-stage .media,.lightbox-stage img{height:100%}.lightbox-stage img{object-fit:contain}.lightbox>button{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.2);color:#fff;width:46px;height:46px;cursor:pointer}.lightbox-close{right:20px;top:20px;font-size:25px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}.lightbox-counter{position:absolute;bottom:18px}.info-modal{background:rgba(5,18,16,.72);padding:20px}.info-modal>div{background:#fff;color:var(--ink);padding:42px;width:min(520px,100%);position:relative}.info-modal>div>button{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:26px}.info-modal h2{font-family:var(--display);font-size:36px;font-weight:500}.toast{position:fixed;z-index:300;right:20px;bottom:20px;background:var(--forest);color:#fff;padding:14px 18px;box-shadow:var(--shadow);font-size:12px;transform:translateY(120px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.drawer-overlay,.mobile-drawer{display:none}.drawer-overlay[hidden]{display:none!important}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#eff1ed}.admin-sidebar{background:var(--forest-2);color:#fff;padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand div strong,.admin-brand div small{display:block}.admin-brand div strong{font-family:var(--display);font-size:20px;font-weight:500}.admin-brand div small{font-size:8px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.14em}.admin-sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:18px;overflow:auto}.admin-sidebar nav button{border:0;background:transparent;color:rgba(255,255,255,.62);padding:9px 10px;text-align:left;font-size:11px;border-radius:4px;cursor:pointer}.admin-sidebar nav button span{display:inline-block;width:30px;color:#a98a60}.admin-sidebar nav button.active{background:rgba(255,255,255,.1);color:#fff}.admin-exit{margin-top:auto;font-size:10px;color:#d2b486;padding:12px}.admin-main{padding:34px}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-main>header h1{font-family:var(--display);font-size:36px;font-weight:500;margin:8px 0 0}.admin-main>header p{margin:0;color:var(--muted);font-size:11px}.admin-main .demo-pill{background:#dce9df;color:#416a55;border-color:#b9d1bf}.admin-user{display:flex;align-items:center;gap:10px}.admin-user>span{width:42px;height:42px;border-radius:50%;background:#d8c6ab;display:grid;place-items:center}.admin-user p{margin:0}.admin-user strong,.admin-user small{display:block;font-size:10px}.admin-panel{display:none}.admin-panel.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-grid article,.occupancy-chart,.room-status,.reservation-table,.admin-placeholder{background:#fff;border:1px solid #dde2dd;padding:22px}.metric-grid article>span{font-size:10px;color:var(--muted)}.metric-grid strong{display:block;font-family:var(--display);font-size:30px;font-weight:500;margin:5px 0}.metric-grid small{font-size:9px;color:#648269}.admin-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:16px;margin-top:16px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.panel-title h2{font-family:var(--display);font-size:22px;font-weight:500;margin:4px 0}.panel-title .trend{color:#43805d;background:#e7f0e9;padding:5px 8px}.bars{height:220px;display:flex;gap:18px;align-items:end;padding-top:30px}.bars>div{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;flex:1}.bars>div>span{width:100%;background:#9db7a3;position:relative}.bars>div:nth-last-child(-n+3)>span{background:var(--forest)}.bars i{position:absolute;top:-20px;font-size:8px;font-style:normal}.bars small{font-size:8px;margin-top:7px}.room-status ul{list-style:none;padding:0;margin:18px 0 0}.room-status li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #edf0ed;font-size:10px}.room-status i{width:8px;height:8px;border-radius:50%;background:#77a287}.room-status i.occupied{background:#c39a5d}.room-status i.dirty{background:#c87e66}.room-status i.maintenance{background:#6e7e97}.reservation-table{margin-top:16px}.reservation-table button{border:1px solid var(--line);background:#fff;padding:7px 9px;font-size:9px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px;margin-top:15px}th,td{text-align:left;padding:12px;border-top:1px solid #e7eae7;font-size:9px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.admin-placeholder{text-align:center;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center}.admin-placeholder>span{font-family:var(--display);font-size:72px;color:#d0b88f}.admin-placeholder h2{font-family:var(--display);font-size:38px;font-weight:500}.admin-placeholder p{max-width:540px;color:var(--muted)}.placeholder-cards{display:grid;grid-template-columns:repeat(3,150px);gap:14px;margin-top:24px}.placeholder-cards article{background:#f3f4f1;padding:20px}.placeholder-cards strong,.placeholder-cards span{display:block}.placeholder-cards strong{font-family:var(--display);font-size:28px}.placeholder-cards span{font-size:9px;color:var(--muted)}
@keyframes step-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
@media(max-width:1120px){.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.nav-cta{display:none}.intro-grid{grid-template-columns:1.3fr 1.3fr repeat(3,.55fr)}.room-photo{height:250px}.experience-card>.media{height:230px}}
@media(max-width:900px){:root{--container:min(100% - 32px,760px)}.desktop-nav,.lang-switch{display:none}.menu-toggle{display:block}.demo-bar p{display:none}.demo-bar{justify-content:space-between}.drawer-overlay{display:block;position:fixed;inset:0;background:rgba(4,19,17,.55);z-index:98;opacity:0;transition:opacity .25s}.drawer-overlay.show{opacity:1}.mobile-drawer{display:flex;flex-direction:column;position:fixed;z-index:99;right:0;top:0;width:min(380px,92vw);height:100dvh;background:#fff;padding:max(22px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));transform:translateX(105%);transition:transform .3s;overflow:auto}.mobile-drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-close{width:44px;height:44px;border:0;background:transparent;font-size:29px}.mobile-drawer nav{display:flex;flex-direction:column;padding:20px 0}.mobile-drawer nav>a,.mobile-drawer summary{min-height:48px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:21px;list-style:none}.mobile-drawer details>a{display:block;padding:10px 15px;color:var(--muted);font-size:12px}.drawer-note{text-align:center;color:var(--muted);font-size:9px}.section{padding:85px 0}.availability-form{grid-template-columns:1fr 1fr}.availability-form label{padding:10px;border-bottom:1px solid var(--line)}.availability-form .btn{grid-column:1/-1;margin:15px 0 0}.intro-grid{grid-template-columns:1fr 1fr}.intro-copy,.intro-body{grid-column:1/-1}.intro-stat{min-width:0}.intro-stat:last-child{display:none}.room-grid,.all-rooms{grid-template-columns:1fr 1fr}.split-grid,.offer-grid,.culinary-grid{gap:6vw}.portrait-media,.culinary-media{height:560px}.experience-strip{grid-template-columns:1fr 1fr}.experience-strip article:first-child{grid-column:1/-1}.experience-strip article{height:400px}.filters{grid-template-columns:1fr 1fr}.filters .search-field{grid-column:1/-1}.detail-layout{grid-template-columns:1fr}.booking-card{position:static}.offer-cards{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr 1fr}.restaurant-hero{grid-template-columns:1fr;grid-template-rows:55vh auto;height:auto}.restaurant-copy{padding:60px 30px}.masonry{columns:2}.values{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:76px 1fr}.admin-sidebar{padding:18px 10px}.admin-brand div,.admin-sidebar nav button:not(.active){font-size:0}.admin-sidebar nav button span{font-size:9px;width:auto}.admin-sidebar nav button.active{font-size:0}.admin-sidebar nav button.active span{font-size:9px}.admin-exit{font-size:0}.admin-exit::before{content:"←";font-size:15px}.admin-main{padding:22px}.metric-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.summary-layout{grid-template-columns:1fr}.footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-top>div:last-child{display:none}}
@media(max-width:900px){.menu-toggle{position:relative;z-index:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.menu-toggle span{transform-origin:center;transition:transform .22s ease,opacity .18s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.drawer-overlay{pointer-events:none;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}.drawer-overlay.show{pointer-events:auto;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.mobile-drawer{width:min(400px,92vw);transform:translate3d(100%,0,0);visibility:hidden;pointer-events:none;box-shadow:-24px 0 70px rgba(3,21,18,.22);overscroll-behavior:contain;will-change:transform;transition:transform .34s cubic-bezier(.22,.78,.28,1),visibility 0s linear .34s}.mobile-drawer.open{transform:translate3d(0,0,0);visibility:visible;pointer-events:auto;transition-delay:0s}.drawer-close{cursor:pointer;touch-action:manipulation}.mobile-drawer nav{flex:1}.mobile-drawer>.btn{margin-top:auto}}
@media(max-width:640px){:root{--container:calc(100% - 28px)}body{font-size:15px}.demo-bar{font-size:10px}.demo-bar a{font-size:9px}.site-header{height:66px}.brand-mark{width:36px;height:36px}.hero{min-height:690px;height:calc(100svh - 34px)}.hero-content{padding-top:115px}.hero-content h1{font-size:54px}.hero-content p{font-size:15px;max-width:95%}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{right:15px;bottom:90px}.booking-float{margin:-28px auto 0;padding:12px}.availability-form{grid-template-columns:1fr 1fr}.availability-form label{padding:8px}.availability-form input,.availability-form select{font-size:12px}.section{padding:70px 0}.section-head{margin-bottom:32px}.section-head h2,.intro-copy h2,.story-copy h2,.culinary-copy h2,.simple-hero h1,.booking-title h1,.story-layout h2{font-size:39px}.intro-grid{gap:25px}.intro-stat strong{font-size:32px}.room-grid,.all-rooms{grid-template-columns:1fr}.room-photo{height:280px}.split-grid,.offer-grid,.culinary-grid,.review-grid,.faq-grid,.newsletter-grid,.restaurant-intro,.story-layout,.contact-grid,.form-feature{grid-template-columns:1fr}.portrait-media{height:520px}.vertical-label{left:7px;bottom:12px;color:#fff}.story-copy{padding-top:20px}.offer-grid{gap:45px}.offer-visual{height:370px}.offer-seal{right:10px}.culinary-grid{display:flex;flex-direction:column-reverse}.culinary-media{height:480px}.experience-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-14px}.experience-strip article,.experience-strip article:first-child{min-width:84vw;height:430px;scroll-snap-align:start}.reviews .section-head{margin-bottom:20px}.quote-card{padding:28px}.quote-card blockquote{font-size:23px}.faq-grid{gap:32px}.newsletter{padding:48px 0}.newsletter h2{font-size:34px}.footer-top{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.page-hero{height:520px}.page-hero-copy{padding-top:130px}.page-hero-copy h1{font-size:49px}.filters{display:block;padding:14px}.filters label{display:block;margin-bottom:12px}.result-line{font-size:12px}.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 140px}.detail-gallery button:first-child{grid-column:1/3;grid-row:1}.detail-gallery button:nth-of-type(4){display:none}.room-detail{padding-bottom:120px}.detail-facts{grid-template-columns:1fr 1fr;gap:20px}.amenity-grid{grid-template-columns:1fr 1fr}.policy-grid{grid-template-columns:1fr}.floor-plan{grid-template-columns:1fr;padding:20px}.mobile-sticky{position:fixed;display:flex;z-index:60;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));justify-content:space-between;align-items:center}.mobile-sticky small,.mobile-sticky strong{display:block}.mobile-sticky small{font-size:8px;color:var(--muted)}.mobile-sticky strong{font-size:13px}.booking-page{padding:58px 0 90px}.stepper li{font-size:0}.stepper li span{font-size:10px}.step-card{padding:24px 18px}.step-card>h2{font-size:29px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.select-room{grid-template-columns:74px 1fr}.select-room-image{height:70px}.select-room-price{grid-column:2}.rate-grid{grid-template-columns:1fr}.step-actions .btn{padding:10px 13px}.manage-layout{grid-template-columns:1fr}.offer-card{grid-template-columns:1fr}.offer-card>.media{height:300px}.experience-grid{grid-template-columns:1fr}.restaurant-hero{grid-template-rows:55vh auto}.restaurant-copy h1{font-size:45px}.menu-grid{grid-template-columns:1fr}.form-feature{padding:28px 20px}.form-feature form{grid-template-columns:1fr}.form-feature label.full{grid-column:auto}.masonry{columns:1}.values{grid-template-columns:1fr}.map-art{height:300px}.lightbox-stage{width:100vw;height:75vh}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox>button{width:42px;height:42px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;display:block}.admin-sidebar nav{flex-direction:row;overflow:auto}.admin-sidebar nav button,.admin-sidebar nav button.active{min-width:42px}.admin-exit{display:none}.admin-main{padding:14px}.admin-main>header{align-items:flex-start}.admin-user{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-grid article{padding:14px}.metric-grid strong{font-size:23px}.bars{gap:7px}.placeholder-cards{grid-template-columns:1fr}.footer-top>div:nth-child(3){display:none}}
@media(max-width:360px){.hero-content h1{font-size:47px}.availability-form{grid-template-columns:1fr}.availability-form .btn{grid-column:auto}.detail-facts,.amenity-grid,.metric-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-top>div:nth-child(2){display:none}.select-room{grid-template-columns:1fr}.select-room-image{height:150px}.select-room-price{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
