:root{--paper:#f8f6ef;--ink:#29342b;--muted:#687064;--yellow:#efdc68;--line:#dedfd3;--white:#fffef9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,5.4vw,80px)}h2{font-size:clamp(36px,4vw,54px)}h3{font-size:32px}em{font-weight:400;color:#747a54}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-80px;z-index:99;padding:14px;background:var(--yellow)}.skip:focus{top:0}.topline{background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:1.9px}.topline .wrap{display:flex;justify-content:space-between;align-items:center;min-height:33px}.topline a{letter-spacing:1px}.topline a span{margin-left:12px}.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:35px;min-height:102px}.brand{display:flex;align-items:center;gap:12px;line-height:.82}.brand img{border-radius:50%;width:49px;height:49px}.brand>span{font:bold 40px/.85 Georgia,serif;letter-spacing:-2px}.brand-small{display:block;font:9px/1.4 Arial,sans-serif;letter-spacing:1.6px;margin-top:9px}nav{display:flex;gap:30px;margin-left:auto;font-size:13px}nav a{padding:9px 0;position:relative}nav a[aria-current]:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:0;left:0;width:22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--yellow);padding:16px 22px;font-size:13px;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:3px;min-height:51px}.button span{font-size:20px;line-height:1}.header-cta{margin-left:20px}.button:hover{background:#e4ce52}.menu-toggle{display:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:23px;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8a9468;margin-right:9px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;padding-block:65px 45px}.hero-copy{padding-top:17px}.hero h1{margin-bottom:28px}.hero-description{font-size:15px;color:var(--muted);line-height:1.85;margin-bottom:28px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;border-bottom:1px solid #a0a795;padding:7px 0}.text-link:hover{color:#7b7038}.hero-foot{display:flex;gap:17px;align-items:center;margin-top:40px;font-size:11px;color:var(--muted);line-height:1.55}.hero-foot>span:first-child{font:italic 35px Georgia,serif;color:#a2a78b}.hero-visual{position:relative;min-height:560px}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:43% center;border-radius:160px 6px 6px 6px}.photo-label{position:absolute;bottom:22px;left:24px;right:24px;background:var(--paper);display:flex;justify-content:space-between;padding:18px 20px;font-size:12px}.sun-stamp{position:absolute;right:-22px;top:30px;width:110px;height:110px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;text-align:center;font:italic 19px/1.2 Georgia,serif;transform:rotate(9deg);box-shadow:0 0 0 7px var(--paper)}.location-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);padding-block:23px;font-size:12px}.tiny-icon{font-size:23px;margin-right:10px}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:13px;color:var(--muted);max-width:370px;padding-bottom:4px}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.stay-photo{position:relative;overflow:hidden;background:#e8e7dd;border-radius:5px}.stay-photo img{width:100%;height:340px;object-position:50% 45%}.stay-card:first-child .stay-photo img{object-position:50% 43%}.image-tag{position:absolute;left:18px;top:18px;background:var(--paper);padding:7px 12px;font-size:9px;letter-spacing:1.8px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.card-title>span{width:39px;height:39px;border:1px solid #c8cdbd;border-radius:50%;display:grid;place-items:center;font-size:23px}.stay-card p{font-size:13px;color:var(--muted);margin-top:10px}.story{padding-block:70px;background:#eeeee4}.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.story-grid>img{width:100%;height:400px;border-radius:5px 120px 5px 5px}.story-grid h2{margin-bottom:24px}.story-grid p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:380px;margin-bottom:24px}.booking{background:var(--yellow);padding:48px 50px;margin-block:75px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:5px}.booking .eyebrow{margin-bottom:14px}.booking h2{font-size:44px}.booking p:not(.eyebrow){font-size:13px;margin-top:16px}.button.dark{background:var(--ink);color:var(--paper);flex-shrink:0}.button.dark:hover{background:#415241}.footer{background:#eaece2;padding:52px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:50px;padding-bottom:44px}.footer-wordmark{font:bold 52px/.8 Georgia,serif;letter-spacing:-3px;display:inline-block}.footer-wordmark span{display:block;font:11px/1.4 Arial,sans-serif;letter-spacing:1px;margin-top:12px}.footer p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:18px}.footer .eyebrow{margin-bottom:13px}.footer-main>div>a:not(.footer-wordmark){font-size:15px}.footer-links{display:flex;flex-direction:column;gap:12px;padding-top:3px}.footer .footer-links a{font-size:12px!important}.footer-bottom{border-top:1px solid #cdd3c3;padding-top:23px;display:flex;justify-content:space-between;font-size:11px}.footer-bottom>div{display:flex;gap:28px}.footer-bottom small{font-size:10px}.mobile-contact{display:none}.page-intro{padding-block:66px 55px}.page-intro h1{font-size:clamp(42px,5vw,68px);margin-bottom:26px}.page-intro>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.85}.accommodation{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:20px 70px;scroll-margin-top:120px}.accommodation-image{height:460px;background:#eae8df;border-radius:5px;overflow:hidden}.accommodation-image img{width:100%;height:100%}.accommodation-image.room-image{background:#ecebe3}.room-image img{object-fit:contain}.accommodation-copy h2{margin-bottom:25px}.accommodation-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:18px;max-width:420px}.accommodation-copy .button{margin-top:15px}.reverse .accommodation-image{order:2}.reverse .accommodation-copy{order:1}.gallery-section{border-top:1px solid var(--line);padding-bottom:20px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.gallery-link img{width:100%;height:320px;border-radius:5px}.gallery-link>span{display:flex;justify-content:space-between;margin-top:10px;font-size:12px}.faq{max-width:850px}.faq h2{margin-bottom:35px}.faq details{border-top:1px solid var(--line);padding-block:20px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:16px}.faq details p{margin-top:16px;color:var(--muted);font-size:14px}.faq details a{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:50px}.big-phone{display:block;font:42px/1.3 Georgia,serif;letter-spacing:-1px;margin-bottom:26px}.outline{border-color:#b6bda9;background:transparent}.address-block{margin-block:45px 35px}.address-block h2{font-size:34px;margin-bottom:18px}.address-block address{font-style:normal;font-size:14px;color:var(--muted);margin-bottom:15px}.email{font-size:14px;overflow-wrap:anywhere}.contact-photo{position:relative;min-height:520px}.contact-photo>img{width:100%;height:100%;position:absolute;object-position:55%;border-radius:120px 5px 5px 5px}.map-note{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;background:var(--paper);padding:18px;font:21px Georgia,serif}.map-note a{background:var(--yellow);width:40px;height:40px;display:grid;place-items:center}.map-section{margin-bottom:65px}.map-section iframe{width:100%;height:340px;border:0;border-radius:5px;background:#e6e8dc}.map-section p{font-size:12px;color:var(--muted);margin-top:12px}.existing-content{padding-bottom:60px;overflow-wrap:anywhere}.existing-content h2,.existing-content h3{letter-spacing:-.02em}.existing-content h2{font-size:28px}.existing-content h3{font-size:23px}.existing-content section{max-width:100%!important}.existing-content p{margin-block:12px}.existing-content a{text-decoration:underline}.existing-content details p{font-size:14px}.lightbox{border:0;background:var(--paper);padding:55px 20px 20px;max-width:94vw;max-height:94vh;border-radius:5px;color:var(--ink)}.lightbox::backdrop{background:#17251eee}.lightbox img{max-width:85vw;max-height:73vh;object-fit:contain;margin:auto}.lightbox p{text-align:center;font-size:12px;margin-top:12px}.lightbox-close{position:absolute;right:15px;top:12px;border:1px solid var(--line);background:var(--paper);padding:7px 14px;cursor:pointer}.lightbox:not([open]){display:none}:focus-visible{outline:3px solid #827326;outline-offset:5px}
@media(min-width:1500px){.hero{gap:70px}.hero-visual{min-height:610px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.header-inner{gap:20px}nav{gap:19px}.header-cta{margin-left:0}.hero{gap:30px}.hero .actions{gap:14px}.hero-visual{min-height:540px}.sun-stamp{right:-10px;width:95px;height:95px;font-size:17px}.story-grid{gap:45px}.accommodation{gap:45px}.contact-grid{gap:30px}.big-phone{font-size:35px}.contact-details .actions{gap:12px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 36px)}.topline{font-size:8px;letter-spacing:1.4px}.topline .wrap{min-height:30px}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.brand>span{font-size:33px}.brand img{width:40px;height:40px}.brand-small{font-size:8px;margin-top:7px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:3px;padding:10px 14px;font-size:12px}.header-cta{display:none}nav{width:100%;gap:0;order:5;flex-direction:column;padding-bottom:18px;margin:0}html.js nav{display:none}html.js nav.open{display:flex}nav a{padding:12px 0}nav a[aria-current]:after{bottom:6px}.hero{grid-template-columns:1fr;padding-block:33px 26px;gap:28px}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:1.55px;margin-bottom:19px}.hero h1{font-size:55px;margin-bottom:22px}.hero h1 em br{display:none}.hero-description{font-size:13px;line-height:1.8;margin-bottom:22px}.hero-foot{display:none}.hero .actions{gap:18px}.button{font-size:12px;padding:14px 18px;gap:18px;min-height:49px}.text-link{font-size:11px}.hero-visual{min-height:340px;margin-top:5px}.hero-visual>img{border-radius:95px 4px 4px 4px;object-position:center}.sun-stamp{width:80px;height:80px;right:10px;top:-17px;font-size:15px;box-shadow:0 0 0 5px var(--paper)}.photo-label{left:15px;right:15px;bottom:15px;padding:14px;font-size:11px}.location-strip{font-size:10px;gap:12px;flex-wrap:wrap;padding-block:16px}.location-strip>span:nth-child(2){display:none}.tiny-icon{font-size:18px;margin-right:5px}.section{padding-block:50px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:17px;font-size:12px}.section-heading>p br{display:none}h2{font-size:37px}.eyebrow{font-size:9px;margin-bottom:17px}h3{font-size:28px}.stay-grid{grid-template-columns:1fr;gap:33px}.stay-photo img{height:300px}.card-title{margin-top:17px}.stay-card p{font-size:12px}.story{padding-block:38px}.story-grid{grid-template-columns:1fr;gap:32px}.story-grid>img{height:285px;border-top-right-radius:80px}.story-grid p:not(.eyebrow){font-size:13px}.booking{padding:30px 24px;margin-block:40px;flex-direction:column;align-items:flex-start;gap:24px}.booking h2{font-size:35px}.booking p:not(.eyebrow){font-size:12px;margin-top:13px}.footer{padding-top:35px;padding-bottom:105px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 18px;padding-bottom:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-wordmark{font-size:43px}.footer p:not(.eyebrow){font-size:11px}.footer-main>div>a:not(.footer-wordmark){font-size:14px}.footer-bottom{gap:15px;align-items:flex-start;flex-direction:column}.footer-bottom>div{gap:22px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:10px 13px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.mobile-contact a{padding:12px 17px;background:var(--ink);color:var(--paper);font-size:12px;display:flex;justify-content:space-between;align-items:center;border-radius:3px}.mobile-contact a+a{background:var(--yellow);color:var(--ink)}.page-intro{padding-block:37px 35px}.page-intro h1{font-size:44px}.page-intro>p:not(.eyebrow){font-size:13px}.accommodation{grid-template-columns:1fr;gap:28px;padding-block:10px 42px}.accommodation-image{height:340px}.accommodation-image.room-image{height:420px}.accommodation-copy h2{font-size:37px}.accommodation-copy>p:not(.eyebrow){font-size:13px}.reverse .accommodation-image,.reverse .accommodation-copy{order:initial}.gallery{gap:25px;grid-template-columns:1fr}.gallery-link img{height:270px}.faq summary{font-size:14px}.faq details p{font-size:13px}.contact-grid{grid-template-columns:1fr;gap:35px;padding-bottom:30px}.big-phone{font-size:37px}.address-block{margin-top:32px}.contact-photo{min-height:380px}.map-note{font-size:19px;left:15px;right:15px;bottom:15px}.map-section iframe{height:290px}.map-section{margin-bottom:40px}.existing-content [style*="grid"]{grid-template-columns:1fr!important}.existing-content section{padding-inline:0!important}.existing-content h2{font-size:25px!important}.existing-content h3{font-size:22px}.lightbox{padding-inline:12px}.lightbox img{max-width:85vw}}
@media(max-width:365px){.hero h1{font-size:48px}.hero .actions{gap:10px}.hero .actions .button{padding-inline:12px}.brand>span{font-size:29px}.brand img{width:35px;height:35px}.big-phone{font-size:32px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Consistent text-coloured controls and non-emoji arrows on iOS. */
button{color:inherit;-webkit-appearance:none;appearance:none}.arrow-icon{display:inline-block;vertical-align:middle;flex-shrink:0;width:18px;height:18px;color:inherit}.topline .arrow-icon{width:13px;height:13px}.menu-toggle{color:var(--ink)}
