:root{--paper:#f3f0e8;--ink:#26231f;--muted:#7e786f;--line:#d9d2c6;--gold:#b89b62;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--max:1290px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{position:sticky;top:0;z-index:50;background:rgba(243,240,232,.96);border-top:1px solid #d9d2c6;border-bottom:1px solid #dfd8cd;backdrop-filter:blur(8px)}.header-inner{height:84px;max-width:var(--max);margin:auto;padding:0 18px;display:grid;grid-template-columns:240px 1fr 150px;align-items:center}.brand{width:175px;height:64px;display:flex;align-items:center;overflow:hidden}.brand img{width:160px}.desktop-nav{display:flex;justify-content:center;gap:48px}.desktop-nav a,.enquire{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#888279}.desktop-nav a:hover{color:#222}.enquire{justify-self:end;border:1px solid #bfb7ab;padding:16px 24px;color:#5e5a53}.menu-toggle,.mobile-menu{display:none}
body.at-top .site-header{background:rgba(10,10,8,.08);border-top-color:transparent;border-bottom-color:transparent;backdrop-filter:none}
body.at-top .desktop-nav a,body.at-top .enquire{color:rgba(255,255,255,.88)}
body.at-top .desktop-nav a:hover{color:#fff}
body.at-top .enquire{border-color:rgba(255,255,255,.38);color:#fff}
body.at-top .menu-toggle span{background:#fff}
.hero-full{position:relative;min-height:calc(100svh - 0px);color:#fff;overflow:clip;border-bottom:1px solid rgba(217,210,198,.35)}
.hero-media-full{position:absolute;inset:-4%}
.hero-media-full img{height:108%;object-fit:cover;object-position:center 52%;transform:scale(1.03)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,7,.34) 0%,rgba(5,10,7,.1) 34%,rgba(5,10,7,.24) 58%,rgba(5,10,7,.78) 100%)}
.hero-copy-full{position:relative;z-index:2;width:min(920px,78vw);padding-top:clamp(220px,31vh,330px);margin-left:clamp(28px,13.5vw,245px)}
.hero-copy-full h1{margin:0;font:300 clamp(4.6rem,8.7vw,9.2rem)/.78 var(--serif);letter-spacing:-.045em;max-width:980px}
.hero-copy-full h1 em{font-style:italic;font-weight:300}
.hero-intro{max-width:460px;font-size:clamp(13px,1.1vw,16px);line-height:1.75;margin:34px 0 0 4px;color:rgba(255,255,255,.84)}
.hero-scroll{position:absolute;z-index:3;right:clamp(22px,4vw,72px);top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right top;display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:.28em}
.hero-scroll i{display:block;width:60px;height:1px;background:rgba(255,255,255,.6);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scrollLine 1.8s ease-in-out infinite}
@keyframes scrollLine{55%,100%{transform:translateX(100%)}}
.hero-booking{position:absolute;z-index:4;left:50%;bottom:0;transform:translateX(-50%);width:min(1180px,calc(100vw - 64px));min-height:90px;display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;background:rgba(243,239,231,.96);color:var(--ink);backdrop-filter:blur(14px)}
.hero-booking label{padding:20px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.hero-booking label span{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}
.hero-booking input,.hero-booking select{border:0;background:transparent;padding:0;color:var(--ink);outline:none;font:400 18px/1.2 var(--serif)}
.hero-booking button{border:0;background:#0b4d38;color:#fff;text-transform:uppercase;letter-spacing:.2em;font:500 9px var(--sans)}
.split{border-bottom:1px solid rgba(217,210,198,.35)}.split-inner{max-width:var(--max);min-height:calc(100svh - 84px);margin:auto;padding:24px 18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}.split-inner.reverse .copy{order:1}.split-inner.reverse .media{order:2}.copy{max-width:560px}.eyebrow{margin:0;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:#8d877e;font-weight:500}.hero-copy h1{margin:36px 0 34px;font:300 clamp(4.9rem,6.5vw,7.7rem)/.78 var(--serif);letter-spacing:-.045em}.hero-copy h1 span{font-weight:300}.micro{margin:0 0 40px;font-size:8px;letter-spacing:.3em;color:#aaa399;text-transform:uppercase}.actions{display:flex;align-items:center;gap:38px}.solid{background:#201e1a;color:#fff;padding:19px 31px;text-transform:uppercase;font-size:9px;letter-spacing:.23em}.underline{display:inline-block;padding-bottom:8px;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:9px;letter-spacing:.22em;font-weight:500}.media{margin:0;overflow:hidden;background:#ddd6ca}.hero-media{height:min(79vh,750px)}.portrait{height:min(76vh,700px)}.landscape{height:min(70vh,630px)}.media img{height:100%;object-fit:cover;transform:scale(1.025);transition:transform 1.2s var(--ease);will-change:transform}.image-motion img{transform:translate3d(0,var(--img-shift,0px),0) scale(1.04)}.media img.mono{filter:grayscale(1) contrast(.95)}.kicker{display:flex;align-items:baseline;gap:22px;margin-bottom:38px}.kicker b{font:300 clamp(3rem,3.8vw,4.6rem)/1 var(--serif);color:#c4b9a8}.kicker span{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:#8a847b;font-weight:500}.copy h2{margin:0 0 28px;font:300 clamp(3.55rem,4.6vw,5.55rem)/.9 var(--serif);letter-spacing:-.035em}.copy p{margin:0 0 22px;max-width:540px;font-size:13px;line-height:1.9;color:#7b766f}.copy .lead{font-size:14px;color:#5f5a53;line-height:1.85}.copy .underline{margin-top:11px}.day-title{max-width:var(--max);margin:auto;padding:110px 18px 75px}.day-title h2{margin:20px 0 0;max-width:980px;font:300 clamp(4.8rem,7vw,8rem)/.82 var(--serif);letter-spacing:-.045em}.day-story{background:#111}.chapter{position:relative;height:92svh;min-height:620px;overflow:hidden;color:white}.chapter>img{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;transform:scale(1.025);will-change:transform}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.75),rgba(8,8,7,.35) 42%,rgba(8,8,7,.04) 78%),linear-gradient(0deg,rgba(8,8,7,.48),transparent 55%)}.chapter-copy{position:absolute;left:max(calc((100vw - var(--max))/2 + 18px),7vw);bottom:11vh;width:min(620px,48vw);z-index:2}.time{display:flex;align-items:baseline;gap:22px;margin-bottom:18px}.time b{font:300 clamp(1.7rem,2.1vw,2.3rem)/1 var(--serif);color:#c3a257}.time span{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.72)}.chapter h3{margin:0;font:300 clamp(3rem,4vw,4.5rem)/1.03 var(--serif);letter-spacing:-.025em}.book{padding:100px 18px;background:#eae4d9}.book-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end}.book h2{margin:22px 0 0;font:300 clamp(4.3rem,5.8vw,6.7rem)/.84 var(--serif);letter-spacing:-.04em}.book form{display:grid;grid-template-columns:1fr 1fr .8fr auto;border-top:1px solid #c8bfb1;border-bottom:1px solid #c8bfb1}.book label{padding:19px 16px;border-right:1px solid #c8bfb1}.book label span{display:block;font-size:7px;letter-spacing:.25em;text-transform:uppercase;color:#8c8479;margin-bottom:7px}.book input,.book select{width:100%;border:0;background:transparent;outline:none;color:#2d2a26;font:400 12px var(--sans)}.book button{border:0;background:#1e1c18;color:#fff;padding:0 28px;text-transform:uppercase;font:500 8px var(--sans);letter-spacing:.18em}footer{min-height:210px;background:#161712;color:#fff;padding:48px max(18px,calc((100vw - var(--max))/2 + 18px));display:flex;align-items:end;justify-content:space-between;gap:40px}footer img{width:185px;filter:brightness(1.15)}footer p{margin:0;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-inview{opacity:1;transform:none}
@media(max-width:1000px){.header-inner{grid-template-columns:180px 1fr 125px}.desktop-nav{gap:24px}.brand{width:145px}.brand img{width:132px}.split-inner{gap:52px}.copy p{font-size:12px}.copy .lead{font-size:13px}.book-inner{grid-template-columns:1fr}.book form{max-width:900px}}
@media(max-width:780px){body.at-top .site-header{background:rgba(10,10,8,.14)}.hero-copy-full{width:auto;margin:0;padding:136px 22px 0}.hero-copy-full h1{font-size:clamp(4rem,17vw,6.1rem);line-height:.82}.hero-intro{font-size:12px;max-width:330px}.hero-booking{position:relative;left:auto;bottom:auto;transform:none;width:100%;grid-template-columns:1fr;margin-top:38px}.hero-booking label{border-right:0;border-bottom:1px solid var(--line)}.hero-booking button{min-height:62px}.hero-scroll{display:none}}
@media(max-width:780px){.site-header{position:sticky}.header-inner{height:72px;grid-template-columns:1fr auto;padding:0 20px}.brand{width:120px;height:54px}.brand img{width:110px}.desktop-nav,.enquire{display:none}.menu-toggle{display:block;width:38px;height:38px;border:0;background:none;position:relative}.menu-toggle span{position:absolute;left:8px;width:22px;height:1px;background:#222}.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:22px}.mobile-menu{display:flex;position:fixed;inset:72px 0 0;z-index:49;background:#f0ece4;padding:38px 22px 28px;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.35s var(--ease)}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font:300 12vw/1 var(--serif);padding:13px 0;border-bottom:1px solid #d8d0c4}.mobile-book{font-size:9px;letter-spacing:.22em;text-transform:uppercase}.split-inner,.split-inner.reverse{min-height:auto;padding:48px 22px 65px;display:flex;flex-direction:column;gap:34px}.hero-grid{padding-top:44px}.split-inner .media,.split-inner.reverse .media{order:1;width:100%}.split-inner .copy,.split-inner.reverse .copy{order:2;width:100%;max-width:none}.hero-grid .copy{order:1}.hero-grid .media{order:2}.hero-copy h1{font-size:clamp(4rem,17vw,6.2rem);line-height:.82;margin:27px 0 28px}.hero-media,.portrait{height:auto;aspect-ratio:4/5}.landscape{height:auto;aspect-ratio:4/3}.kicker{margin-bottom:24px}.kicker b{font-size:2.8rem}.copy h2{font-size:clamp(3.7rem,14.5vw,5.2rem);margin-bottom:22px}.copy p,.copy .lead{font-size:12px;line-height:1.82}.actions{gap:26px;flex-wrap:wrap}.day-title{padding:75px 22px 55px}.day-title h2{font-size:clamp(4.1rem,16vw,6rem)}.chapter{height:80svh;min-height:560px}.chapter>img{inset:-1%;width:102%;height:102%}.shade{background:linear-gradient(0deg,rgba(8,8,7,.86),rgba(8,8,7,.4) 50%,rgba(8,8,7,.03) 82%)}.chapter-copy{left:22px;right:22px;bottom:52px;width:auto}.chapter h3{font-size:clamp(2.8rem,11vw,4rem)}.book{padding:72px 22px}.book h2{font-size:clamp(4rem,15vw,5.8rem)}.book form{grid-template-columns:1fr}.book label{border-right:0;border-bottom:1px solid #c8bfb1}.book button{min-height:60px}footer{padding:44px 22px;min-height:220px;flex-direction:column;align-items:flex-start;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.media img,.chapter>img,.hero-media-full img{transform:none!important;transition:none!important}}

/* V8 — mobile hero: show the full bedroom photograph instead of cropping to curtain */
@media (max-width:780px){
  .hero-full{
    min-height:100svh;
    background:#1d1915;
    overflow:hidden;
  }
  .hero-media-full{
    inset:0 0 auto 0;
    width:100%;
    height:auto;
    background:#1d1915;
  }
  .hero-media-full img{
    width:100%;
    height:auto;
    aspect-ratio:3/2;
    object-fit:contain;
    object-position:center center;
    transform:none;
  }
  .hero-shade{
    background:
      linear-gradient(180deg,
        rgba(12,9,7,.08) 0%,
        rgba(12,9,7,.12) 22%,
        rgba(12,9,7,.52) 38%,
        rgba(29,25,21,.94) 50%,
        #1d1915 64%,
        #1d1915 100%);
  }
  .hero-copy-full{
    position:relative;
    z-index:2;
    width:auto;
    margin:0;
    padding:clamp(150px,44vw,210px) 22px 0;
  }
  .hero-copy-full h1{
    max-width:430px;
    font-size:clamp(3.75rem,15.7vw,5.6rem);
    line-height:.82;
  }
  .hero-copy-full .eyebrow{
    font-size:8px;
    letter-spacing:.29em;
  }
  .hero-intro{
    max-width:350px;
    margin-top:30px;
    color:rgba(255,255,255,.82);
  }
  .hero-booking{
    position:relative;
    z-index:3;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    margin-top:42px;
  }
}
