
:root{--paper:#f6f3eb;--ink:#243b32;--muted:#66716a;--line:#d9ddd2;--accent:#d6dfc6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(54px,6.3vw,100px);line-height:1.06;letter-spacing:-3px;margin-bottom:28px}h2{font-size:clamp(38px,4vw,58px);line-height:1.15;letter-spacing:-1.3px;margin-bottom:24px}h3{font-size:28px;line-height:1.25}p{color:var(--muted)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a68040;outline-offset:5px}.wrap{max-width:1360px;margin:auto;padding:0 6%}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.8px;font-weight:600;display:block;margin-bottom:20px}.nav{display:flex;height:104px;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:29px;line-height:1.1;letter-spacing:-.8px}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:3.6px;text-transform:uppercase;margin-top:9px}.navlinks{display:flex;gap:30px;align-items:center;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 24px;font-size:13px;line-height:1.5;transition:.2s}.btn:hover{background:#405748;transform:translateY(-1px)}.btn.light{background:var(--paper);color:var(--ink)}.textlink{display:inline-block;border-bottom:1px solid var(--ink);padding:4px 0;font-size:13px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:630px;align-items:center;padding-top:22px;padding-bottom:62px;gap:5%}.hero-copy{padding-bottom:28px}.hero-copy p{max-width:345px;margin-bottom:28px}.hero-photo{position:relative;height:590px}.hero-photo>img{height:100%;border-radius:48% 48% 0 0;object-position:44% center}.hero-badge{position:absolute;bottom:26px;left:-38px;background:var(--paper);padding:17px 26px;font-size:12px;box-shadow:0 5px 20px #243b3210}.hero-badge b{font-size:18px}.caption{font-size:11px;letter-spacing:1px;display:flex;gap:13px;align-items:center;margin-top:30px;color:var(--muted)}.caption:before{content:'';width:38px;height:1px;background:var(--ink)}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0;text-align:center;gap:16px}.facts b{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:400}.facts span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.section{padding-top:100px;padding-bottom:100px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro p{max-width:480px}.intro .textlink{margin-top:10px}.photo-story{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start;margin-top:50px}.photo-story img{height:420px}.photo-story figure:nth-child(2){padding-top:55px}.photo-story figure{margin:0}.photo-story figcaption{font-size:12px;margin-top:15px;color:var(--muted)}.features{display:flex;flex-wrap:wrap;gap:12px 28px;padding:24px 0;font-size:12px;border-bottom:1px solid var(--line)}.features span:before{content:'✓';margin-right:8px}.gallery-section{background:#e9eddf}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head h2{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0}.filters button{border:1px solid #bfc9b9;background:transparent;color:var(--ink);font-size:12px;padding:9px 18px;border-radius:30px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery a{border:0;padding:0;background:none;text-align:left;color:var(--ink)}.gallery img{height:260px;transition:.3s}.gallery a:hover img{filter:brightness(.92)}.gallery span{display:block;padding-top:10px;font-size:12px}.gallery a[hidden]{display:none}.location{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.location>img{height:590px}.places{margin:28px 0}.place{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:18px;align-items:baseline}.place b{font-size:11px;font-weight:400;color:var(--muted)}.place h3{font-size:22px;margin:0 0 5px}.place p{font-size:12px;margin:0}.cta{position:relative;background:var(--ink);color:white;text-align:center;padding:85px 20px}.cta p{color:#d7decf}.cta h2{max-width:650px;margin:0 auto 24px}.footer{padding-top:42px;padding-bottom:32px;display:flex;align-items:end;justify-content:space-between;gap:24px}.footer p,.footer a:not(.brand){font-size:11px}.footer p{margin:20px 0 0}.footer-links{display:flex;gap:16px 25px;flex-wrap:wrap}.lightbox{border:0;padding:0;background:#101913;color:white;width:min(1100px,94vw);max-width:94vw}.lightbox::backdrop{background:#102017eb}.lightbox img{height:min(72vh,750px);object-fit:contain}.lightbox-bar{padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.lightbox button{background:transparent;color:white;border:1px solid #8e9a8c;padding:5px 15px}.lightbox .close{position:absolute;right:15px;top:15px;background:#142119bd}.page-title{padding-top:65px;padding-bottom:50px;max-width:800px}.page-title h1{font-size:76px}.booking{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;align-items:start;padding-bottom:95px}.booking-image{height:480px}.booking-panel{background:white;padding:42px;border:1px solid var(--line)}.booking-panel h2{font-size:37px}.booking-panel .btn{width:100%;margin-top:12px}.booking-panel .small{font-size:12px;margin:16px 0 0}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.steps li:before{content:'0' counter(step);color:var(--muted);font-size:11px;padding-top:2px}.booking-strip{padding:24px 0;display:flex;gap:30px;font-size:12px;flex-wrap:wrap}.faq{max-width:830px;margin:auto}.faq details{padding:22px 0;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-size:15px}.faq details p{margin:18px 0 0;font-size:14px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 12px;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.wrap{padding-left:60px;padding-right:60px}}@media(max-width:850px){.navlinks{gap:18px}.hero{min-height:0;gap:35px}.hero-photo{height:490px}.hero-badge{left:-20px}.intro{gap:6%}.gallery img{height:200px}.location>img{height:500px}.booking-panel{padding:26px}.page-title h1{font-size:60px}}@media(max-width:640px){.wrap{padding:0 6%}.nav{height:88px;flex-wrap:wrap;position:relative;gap:8px}.brand{font-size:25px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;z-index:10;top:80px;left:-6%;right:-6%;background:var(--paper);padding:25px;box-shadow:0 8px 12px #0001}.navlinks.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;padding-top:34px;padding-bottom:40px;gap:16px;align-items:stretch}.hero h1{font-size:62px;letter-spacing:-2px}.hero-copy{padding:0}.hero-copy p{max-width:100%}.hero-photo{height:400px;margin:16px 0 0 16px}.hero-badge{bottom:20px;left:-16px;padding:12px 20px}.facts{grid-template-columns:1fr 1fr;padding:23px 0;gap:24px}.section{padding-top:62px;padding-bottom:62px}.intro,.location,.booking{grid-template-columns:1fr;gap:25px}.photo-story{gap:18px;margin-top:30px}.photo-story img{height:260px}.photo-story figure:nth-child(2){padding-top:40px}.features{gap:12px 20px}.gallery{grid-template-columns:1fr 1fr;gap:20px 14px}.gallery img{height:180px}.section-head{align-items:start;flex-direction:column;gap:15px}.location>img{height:350px}.location{gap:35px}.cta{padding:62px 6%}.footer{padding-top:35px;padding-bottom:90px;align-items:start;flex-direction:column}.page-title{padding-top:40px;padding-bottom:20px}.page-title h1{font-size:56px}.booking{padding-bottom:45px}.booking-image{height:300px}.booking-panel{padding:28px}.booking-strip{gap:15px}.lightbox-bar{font-size:12px;padding:12px}.lightbox button{padding:5px 10px}.caption{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.direct-notice{display:flex;gap:24px;justify-content:space-between;align-items:center;background:#e9eddf;padding:24px 30px;margin-bottom:35px}.direct-notice p{margin:4px 0 0;font-size:13px}.direct-notice .btn{flex-shrink:0}.direct-cta{border-bottom:1px solid #d7decf;font-size:13px}@media(max-width:640px){.direct-notice{flex-direction:column;align-items:start;padding:24px}.direct-notice .btn{width:100%}}
img{height:auto}
[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-100px;z-index:100;padding:12px 20px;background:var(--ink);color:white}.skip-link:focus{top:10px}.navlinks a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.hero-secondary{display:block;margin-top:14px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.hero .eyebrow{max-width:400px}.gallery a{cursor:zoom-in;display:block}.gallery a span{line-height:1.5}.gallery a span span{display:inline;padding:0}.gallery a img{aspect-ratio:4/3}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:38px}.room-grid img{height:245px;margin-bottom:24px}.room-grid .eyebrow{font-size:10px;margin-bottom:10px}.room-grid h3{font-size:25px;margin-bottom:14px}.room-grid p,.room-note{font-size:13px}.room-note{max-width:850px;margin:24px 0 0}.rooms-section{padding-top:0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:35px}.review-grid figure{margin:0;border-top:1px solid var(--line);padding-top:22px}.review-grid blockquote{font:italic 27px/1.5 'Playfair Display',Georgia,serif;margin:0 0 20px}.review-grid figcaption{font-size:11px;color:var(--muted)}.reviews-section{padding-bottom:0}.explore-more{margin-top:-20px;grid-column:2}.site-footer{padding-top:45px;padding-bottom:110px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.site-footer p{font-size:12px;margin-top:20px}.site-footer .eyebrow{margin-bottom:12px}.site-footer .textlink{font-size:13px}.footer-links{display:flex;gap:15px 26px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0;font-size:12px;margin-top:24px;align-items:center}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.share-button{border:0;padding:8px 0;background:transparent;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:3px}.share-status{font-size:12px}.floating-whatsapp{position:fixed;right:25px;bottom:23px;display:flex;gap:10px;align-items:center;padding:14px 21px;background:var(--ink);color:white;z-index:30;box-shadow:0 3px 20px #14211930;border-radius:40px;font-size:13px;min-height:48px}.floating-whatsapp:hover{background:#405748}.modal-open .floating-whatsapp{display:none}.modal-open{overflow:hidden}.guide-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:7%;align-items:center}.guide-hero>img{height:490px}.guide-hero h2{font-size:43px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 10%}.guide-grid article{border-top:1px solid var(--line);padding-top:28px}.guide-grid h2{font-size:35px}.guide-grid p{font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:15px}.contact-layout h2{font-size:35px}.contact-layout h3{margin-top:40px;font-size:26px}.contact-layout address{font-style:normal;font-size:14px;line-height:1.9;margin-bottom:15px}.privacy-copy p{font-size:13px}.privacy-copy .small{font-size:11px}.enquiry-helper{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.enquiry-helper h3{font-size:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;margin:22px 0}.form-grid label{font-size:12px;font-weight:600;min-width:0}.form-grid input,.form-grid select{margin-top:7px;width:100%;max-width:100%;min-width:0;border:1px solid #a7b1a2;border-radius:2px;background:#fff;color:var(--ink);font:15px 'DM Sans',sans-serif;padding:10px 8px;min-height:46px;color-scheme:light}.form-grid :focus-visible{outline:3px solid #a68040;outline-offset:2px}.form-note{font-size:11px!important;margin:12px 0 0!important}.direct-how{padding-bottom:70px}.direct-how h2{font-size:38px}.direct-how ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;list-style:none;counter-reset:direct}.direct-how li{border-top:1px solid var(--line);padding-top:20px;counter-increment:direct}.direct-how li:before{content:'0' counter(direct);display:block;font-size:11px;margin-bottom:12px;color:var(--muted)}.direct-how b{font-size:14px;display:block;margin-bottom:8px;font-weight:500}.direct-how li span{font-size:12px;color:var(--muted);display:block}.btn svg{flex-shrink:0}input,select{scroll-margin:100px}.faq summary{min-height:30px}.lightbox img{background:#101913}#direct-enquiry .btn{gap:10px}.guide-grid .textlink,.contact-layout .textlink{line-height:1.6}.booking-panel p{overflow-wrap:break-word}
@media(max-width:1000px){.navlinks{gap:18px}.navlinks .btn{padding:12px 16px;gap:12px}.nav .brand{font-size:26px}.room-grid img{height:200px}.guide-hero h2{font-size:37px}}@media(max-width:760px){.nav{height:88px;flex-wrap:wrap;position:relative;gap:8px}.nav .brand{font-size:25px}.menu-toggle{display:block;min-height:44px;min-width:64px}.navlinks{display:none;position:absolute;z-index:40;top:80px;left:-6%;right:-6%;background:var(--paper);padding:25px;box-shadow:0 8px 12px #0001}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.navlinks a{padding:10px 14px;min-height:44px}.navlinks a.btn{margin-top:8px}.hero{padding-top:30px}.hero h1{font-size:65px}.room-grid{gap:18px}.room-grid h3{font-size:23px}}@media(max-width:640px){.hero h1{font-size:62px}.hero p{font-size:14px}.hero-secondary{margin-top:16px}.room-grid{grid-template-columns:1fr;gap:35px}.room-grid img{height:auto;max-height:340px}.room-grid h3{font-size:27px}.rooms-section{padding-top:0}.review-grid{grid-template-columns:1fr;gap:30px}.review-grid blockquote{font-size:26px}.reviews-section{padding-bottom:0}.filters button{min-height:44px;padding:10px 16px}.explore-more{margin-top:0;grid-column:auto}.footer-top,.footer-bottom{flex-direction:column;gap:20px}.footer-links{gap:4px 22px;padding:18px 0}.footer-links a,.share-button{padding:12px 0;min-height:44px}.footer-bottom{gap:10px}.site-footer{padding-bottom:105px;padding-top:35px}.floating-whatsapp{left:6%;right:6%;bottom:max(15px,env(safe-area-inset-bottom));justify-content:center;padding:14px;min-height:50px;font-size:14px}.guide-hero,.guide-grid,.contact-layout{grid-template-columns:1fr;gap:35px}.guide-hero>img{height:300px}.guide-hero h2{font-size:37px}.guide-grid{gap:40px}.guide-grid h2{font-size:32px}.contact-layout{padding-top:15px}.contact-layout h2{font-size:32px}.contact-layout .btn{font-size:12px;gap:12px}.direct-how h2{font-size:32px}.direct-how ol{grid-template-columns:1fr;gap:22px}.form-grid{grid-template-columns:1fr 1fr;gap:16px 10px}.form-grid input,.form-grid select{font-size:16px;padding:10px 5px}.enquiry-helper h3{font-size:25px}.booking-panel{padding:25px}.booking-panel .btn{font-size:12px;padding:14px 12px;gap:12px}.gallery img{height:auto;aspect-ratio:4/3}.gallery span{font-size:11px}.lightbox .close{min-width:44px;min-height:44px}.lightbox .prev,.lightbox .next{min-width:44px;min-height:44px}.page-title h1{font-size:56px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.navlinks,.menu-toggle,.floating-whatsapp,.share-button,.hero .btn,.filters,.lightbox{display:none!important}body{background:white;color:#000}.section{padding-top:25px;padding-bottom:25px}.site-footer{padding-bottom:20px}.hero-photo{height:350px}.hero{min-height:0}.btn{color:#000!important;background:white!important;border:1px solid #000}.gallery{grid-template-columns:repeat(3,1fr)}}

.enquiry-summary{font-size:12px;margin:16px 0 0;color:var(--ink)}
