:root{color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--serif:Georgia, "Times New Roman", serif;font-family:Segoe UI,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:280px;margin:0}body:has(dialog[open]){overflow:hidden}img{max-width:100%;display:block}figure,p,h1,h2,h3,dl,dd{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit;cursor:pointer}a,button,input,select{-webkit-tap-highlight-color:var(--transparent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}section[id],#plan{scroll-margin-top:22px}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{letter-spacing:-.063em;font-size:clamp(2.6rem,5.2vw,4.65rem);line-height:.99}h2 em{color:var(--heading-emphasis);font-weight:inherit}.skip{z-index:10;background:var(--white);color:var(--deep);padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip:focus{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{width:min(1240px,100% - 112px);margin-inline:auto}.header{background:var(--deep);color:var(--cream);z-index:2;border-bottom:1px solid var(--header-divider);position:relative}.header-inner{justify-content:space-between;align-items:center;gap:30px;min-height:82px;display:flex}.brand{width:fit-content;color:var(--cream);flex:none;align-items:center;gap:11px;display:inline-flex}.brand strong{font:400 23px/.95 var(--serif);letter-spacing:.12em;display:block}.brand small{color:var(--gold);letter-spacing:.27em;margin-top:7px;font-size:8px;font-weight:700;display:block}.navigation,.footer nav{align-items:center;gap:clamp(16px,2.5vw,38px);display:flex}.navigation a,.footer nav a{color:var(--nav-text);font-size:14px}.navigation a:hover,.footer nav a:hover{color:var(--gold)}.button{border:1px solid var(--transparent);border-radius:4px;justify-content:center;align-items:center;gap:15px;min-height:49px;padding:11px 20px;font-size:.86rem;font-weight:650;line-height:1.25;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.button svg,.text-link svg,.hero-link svg{flex:none}.header-book{color:var(--gold);border-color:var(--header-button-border)}.header-book:hover{color:var(--deep);background:var(--gold);border-color:var(--gold)}.menu-toggle{display:none}.hero{isolation:isolate;color:var(--white);background:var(--green);align-items:center;min-height:clamp(555px,48vw,690px);display:flex;position:relative}.hero-image{object-fit:cover;object-position:center 56%;z-index:-2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--hero-shade-start) 0%, var(--hero-shade-mid) 27%, var(--hero-shade-soft) 56%, var(--hero-shade-end) 82%), linear-gradient(0deg,var(--hero-shade-bottom), var(--transparent) 42%);position:absolute;inset:0}.hero-content{padding-block:64px 122px}.eyebrow{letter-spacing:.23em;color:var(--eyebrow-text);align-items:center;gap:11px;margin-bottom:19px;font-size:.69rem;font-weight:750;display:flex}.eyebrow>span{background:var(--eyebrow-rule);flex:none;width:24px;height:1px}.hero-kicker,.stay .eyebrow{color:var(--gold)}.hero-kicker>span,.stay .eyebrow>span{background:var(--gold)}.hero h1{letter-spacing:-.066em;font-size:clamp(4rem,7.4vw,7.6rem);line-height:.93}.hero h1 em{color:var(--hero-emphasis);font-weight:inherit}.hero-description{max-width:395px;color:var(--hero-text);margin-top:25px;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.58}.hero-link{color:var(--hero-link);border-bottom:1px solid var(--hero-link-border);align-items:center;gap:13px;margin-top:25px;padding-bottom:7px;font-size:.9rem;font-weight:650;display:inline-flex}.hero-link:hover{color:var(--white)}.round{background:var(--transparent);border:1px solid;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;padding:0;transition:background .2s,color .2s;display:inline-grid}.round:hover{background:var(--gold);color:var(--deep);border-color:var(--gold)}.plan-wrap{z-index:1;margin-top:-41px;position:relative}.plan{background:var(--booking-surface);min-height:90px;box-shadow:0 12px 35px var(--booking-shadow);border:1px solid var(--booking-border);border-radius:7px;grid-template-columns:1fr 1fr .84fr auto;align-items:center;padding:15px 17px 15px 6px;display:grid}.field{color:var(--field-icon);align-items:center;gap:13px;min-width:0;padding-inline:clamp(12px,2.1vw,28px);display:flex}.field:not(:nth-child(3)){border-right:1px solid var(--line)}.field>svg{flex:none}.field>span{width:100%;color:var(--deep);gap:4px;min-width:0;font-size:.8rem;font-weight:700;display:grid}.field input,.field select{background:var(--transparent);color:var(--muted);border:0;width:100%;min-width:0;padding:2px 0;font-size:.88rem;font-weight:400}.primary{background:var(--green);color:var(--white)}.primary:hover{background:var(--primary-hover)}.gold{background:var(--gold);color:var(--deep)}.gold:hover{background:var(--gold-hover)}.section{padding-block:clamp(65px,8.1vw,115px)}.intro{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(35px,7vw,115px);display:grid}.intro-copy>p:not(.eyebrow),.stay-copy>p:not(.eyebrow),.contact p:not(.eyebrow){color:var(--muted);max-width:37ch;margin-top:24px;font-size:1.02rem;line-height:1.72}.text-link{width:fit-content;color:var(--green);background:var(--transparent);border:0;border-bottom:1px solid var(--text-link-border);align-items:center;gap:13px;padding:0 0 7px;font-size:.91rem;font-weight:650;display:inline-flex}.intro .text-link{margin-top:26px}.text-link:hover{color:var(--text-link-hover)}.intro-photo{position:relative}.intro-photo img{aspect-ratio:1.55;object-fit:cover;border-radius:5px;width:100%;height:auto}.intro-photo figcaption{color:var(--cream);background:var(--deep);letter-spacing:.14em;border-radius:3px;align-items:center;gap:7px;padding:9px 12px;font-size:.61rem;font-weight:700;display:flex;position:absolute;bottom:14px;left:14px}.intro-photo figcaption svg{color:var(--gold)}.stay{background:var(--deep);color:var(--cream)}.stay-inner{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(40px,7.5vw,124px);padding-block:clamp(44px,6vw,86px);display:grid}.stay-inner>img{aspect-ratio:1.36;object-fit:cover;border-radius:5px;width:100%;height:auto}.stay h2 em{color:var(--gold)}.stay .stay-copy>p:not(.eyebrow){color:var(--stay-text)}.stay .button{margin-top:26px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(24px,4vw,45px);display:flex}.section-heading>p{max-width:31ch;color:var(--muted);line-height:1.65}.section-heading>.text-link{flex:none}.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,32px);display:grid}.image-button{background:var(--photo-placeholder);border:0;border-radius:5px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.image-button>img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.image-button:hover>img{transform:scale(1.045)}.image-button .round{color:var(--white);background:var(--photo-button-surface);border-color:var(--photo-button-border);width:37px;height:37px;position:absolute;bottom:12px;right:12px}.image-button:hover .round{background:var(--gold);color:var(--deep);border-color:var(--gold)}.experience-card .image-button{aspect-ratio:1.33}.card-copy{align-items:baseline;gap:13px;padding:18px 1px 0;display:flex}.card-copy h3{letter-spacing:-.045em;font-size:clamp(1.26rem,2.3vw,2rem);line-height:1.07}.card-copy p{color:var(--muted);margin-top:8px;font-size:.93rem;line-height:1.56}.card-number{letter-spacing:.12em;color:var(--card-number);font-size:.67rem;font-weight:750}.gallery{background:var(--gallery-surface)}.gallery-grid{grid-template-rows:repeat(2,clamp(115px,14.5vw,210px));grid-template-columns:1.5fr 1fr .85fr;gap:12px;display:grid}.gallery-grid .image-button:first-child,.gallery-grid .image-button:nth-child(2){grid-row:span 2}.contact{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,6vw,90px);display:grid}.contact-links{border-top:1px solid var(--line)}.contact-links a{border-bottom:1px solid var(--line);color:var(--deep);align-items:center;gap:16px;padding:17px 8px;font-size:1rem;display:flex}.contact-links a:hover{color:var(--contact-hover)}.contact-links a>svg{flex:none}.contact-links a>svg:last-child{margin-left:auto}.contact-links small{letter-spacing:.16em;color:var(--muted);margin-bottom:4px;font-size:.62rem;font-weight:700;display:block}.footer{background:var(--deep);color:var(--cream)}.footer-main{justify-content:space-between;align-items:center;gap:28px;padding-block:32px;display:flex}.footer-bottom{border-top:1px solid var(--footer-divider);color:var(--footer-text);flex-wrap:wrap;justify-content:space-between;gap:12px 20px;padding-block:19px;font-size:.77rem;display:flex}dialog{border:0;border-radius:8px;padding:0}dialog::backdrop{background:var(--dialog-backdrop)}.lightbox{background:var(--deep);width:min(900px,100% - 28px);color:var(--white)}.dialog-top,.dialog-bottom{align-items:center;gap:16px;padding:10px 16px;display:flex}.dialog-top{justify-content:space-between}.dialog-bottom{justify-content:center;font-size:.85rem}.lightbox>img{object-fit:contain;background:var(--lightbox-surface);width:100%;height:min(65dvh,620px)}.enquiry{width:min(490px,100% - 28px);color:var(--deep);background:var(--cream);padding:clamp(20px,5vw,39px)}.enquiry>.round{position:absolute;top:12px;right:12px}.enquiry h2{margin-bottom:24px;font-size:clamp(2rem,6vw,3rem)}.enquiry dl{border-block:1px solid var(--line);grid-template-columns:1fr 1fr auto;gap:8px;padding:13px 0;display:grid}.enquiry dt{margin-bottom:4px;font-size:.72rem;font-weight:700}.enquiry dd{font-size:.9rem}.enquiry>p:not(.eyebrow){color:var(--muted);margin-block:18px;line-height:1.55}@media (width<=950px){.shell{width:calc(100% - 64px)}.header-inner{gap:16px}.header-book{gap:8px;padding-inline:13px}.field{gap:7px}}@media (width<=760px){.shell{width:calc(100% - 36px)}.header-inner{gap:12px;min-height:70px}.header .brand{gap:7px;margin-right:auto}.header .brand img{width:37px;height:37px}.header .brand strong{font-size:19px}.header .brand small{margin-top:5px;font-size:7px}.menu-toggle{border:1px solid var(--menu-button-border);background:var(--transparent);width:40px;height:40px;color:var(--gold);border-radius:4px;order:3;place-items:center;padding:0;display:grid}.header-book{min-height:40px;padding-inline:9px;font-size:.76rem}.header-book svg{width:13px}.navigation{background:var(--deep);top:100%;box-shadow:0 8px 14px var(--menu-shadow);padding:4px 18px 16px;display:none;position:absolute;inset-inline:0}.navigation.open{gap:0;display:grid}.navigation a{border-top:1px solid var(--menu-divider);padding:11px 8px}.hero{min-height:530px}.hero-content{padding-block:47px 115px}.hero h1{font-size:clamp(3.1rem,9.5vw,5.4rem)}.hero:after{background:linear-gradient(90deg,var(--hero-mobile-shade-start),var(--hero-mobile-shade-mid) 77%,var(--hero-mobile-shade-end)),linear-gradient(0deg,var(--hero-mobile-shade-bottom),var(--transparent) 35%)}.plan-wrap{margin-top:-31px}.plan{grid-template-columns:1fr 1fr;gap:13px 0;padding:12px}.plan .field:nth-child(2){border-right:0}.field{padding-inline:7px}.plan .button{gap:6px;min-height:44px;padding-inline:8px;font-size:.8rem}.intro,.stay-inner{gap:28px}.section-heading{flex-direction:column;align-items:start;gap:13px}.experience-grid{gap:14px}.card-copy{gap:6px}}@media (width<=560px){.section{padding-block:58px}.hero h1{font-size:clamp(2.7rem,10.6vw,4rem)}.hero{min-height:505px}.hero-image{object-position:59% center}.hero-description{max-width:29ch}.intro,.stay-inner,.contact{grid-template-columns:1fr}.stay-copy{grid-row:1}.stay-inner{padding-block:48px}.experience-grid{grid-template-columns:1fr;gap:29px}.experience-card .image-button{aspect-ratio:1.57}.card-copy{gap:10px;padding-top:12px}.card-copy h3{font-size:1.65rem}.gallery-grid{grid-template-rows:repeat(2,clamp(100px,35vw,185px));grid-template-columns:1fr 1fr;gap:8px}.gallery-grid .image-button:nth-child(-n+2){grid-row:auto}.footer-main{flex-direction:column;align-items:start;gap:22px}.footer nav{flex-wrap:wrap;gap:10px 18px}}@media (width<=360px){.shell{width:calc(100% - 24px)}.header-book svg,.field>svg{display:none}}
