/* A continuous editorial journey through the property. */
:root{--dark:#202123;--stone:#e9e8e3;--paper:#f5f4ef;--journey-ease:cubic-bezier(.22,.72,.18,1)}
.reading-line{position:fixed;left:0;top:0;width:100%;height:2px;background:#bdbfc0;z-index:80;transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-head{background:#202123;color:#f5f4ef;border-bottom:1px solid #ffffff20;transition:background .35s}.head-inner{min-height:84px}.site-head .button{border-color:#a2a2a3;background:transparent;color:#f5f4ef}.site-head .button:hover{background:#f5f4ef;color:#202123}.menu-toggle{color:#f5f4ef;border-color:#8c8c8d}.site-head.is-scrolled{background:rgba(32,33,35,.96);backdrop-filter:blur(16px)}
.hero{position:relative;isolation:isolate;overflow:hidden;color:#f8f7f2;background:#202123}.hero>.wrap{max-width:1600px}.hero-grid,.landing .hero-grid{display:block;min-height:min(850px,calc(100svh - 84px));padding-block:clamp(70px,8vw,130px) 105px}.hero-copy{position:relative;z-index:2;width:100%;padding:0}.hero h1,.landing .hero h1{font-size:clamp(4rem,7.7vw,8rem);max-width:14ch;line-height:.99;letter-spacing:-.055em}.hero h1 em{color:#e8e7e1}.hero .eyebrow{color:#dfdfe0;margin-bottom:36px;letter-spacing:.19em}.hero .intro,.landing .hero .intro{color:#e9e9ea;max-width:41ch;margin-top:30px;font-size:1rem;line-height:1.8}.hero .intro strong{color:#fff}.hero .button{background:#f1f0eb;color:#242527;border-color:#f1f0eb}.hero .button:hover{background:#fff}.hero .text-link{color:#ececed}.hero-figure{position:absolute;z-index:-1;inset:0;width:100%;height:100%;margin:0;overflow:hidden}.hero-figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,21,.9) 0%,rgba(18,19,21,.76) 36%,rgba(18,19,21,.16) 74%),linear-gradient(0deg,rgba(18,19,21,.6),transparent 45%)}.hero-figure img{height:100%;width:100%;min-height:0;object-position:68% 54%;transform:scale(1.04);will-change:transform}.hero-figure figcaption{z-index:2;left:auto;right:var(--gutter);bottom:100px;color:#d9d9da;background:#212122bf;font-size:.75rem}.hero-foot{position:relative;z-index:2;color:#dfdfe0;border-top:1px solid #ffffff50;min-height:76px}.hero-scroll{text-decoration:none;display:flex;gap:18px;align-items:center;font-size:.875rem;letter-spacing:.025em;text-transform:none}.scroll-rule{height:34px;width:1px;background:#a8a8a9;position:relative;overflow:hidden}.scroll-rule:after{content:'';position:absolute;left:0;top:0;width:1px;height:16px;background:#fff;animation:scrollmark 2.4s ease-in-out 2}.hero-copy>.eyebrow{animation:enter 900ms var(--journey-ease) both}.hero h1{animation:enter 1200ms var(--journey-ease) 100ms both}.hero .intro,.hero .actions{animation:enter 1200ms var(--journey-ease) 240ms both}
@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollmark{0%{transform:translateY(-20px)}100%{transform:translateY(45px)}}
/* A single line connects every moment, from the welcome to the conversation. */
.story-path{position:relative;isolation:isolate;background:var(--paper);--thread:#a1a1a2;--thread-active:#727273;--progress:0px}
.spine{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#c7c7c8;z-index:-1;pointer-events:none}.spine-fill{display:block;position:absolute;inset:0 0 auto;width:1px;height:var(--progress);background:var(--thread-active)}.spine-head{position:absolute;left:-3px;top:var(--progress);width:7px;height:7px;border-radius:50%;background:#737374;box-shadow:0 0 0 7px #87878816;transform:translateY(-50%)}
.story-opening{padding-block:120px 70px}.path-heading{text-align:center;max-width:700px;margin:0 auto;padding:28px 35px;background:var(--paper);position:relative}.path-heading .eyebrow{color:#656566;margin-bottom:24px}.path-heading h2{font-size:clamp(3rem,5.5vw,5.4rem);letter-spacing:-.045em;line-height:1.06}.path-heading h2 em,.reach-title em{color:#737374}.path-heading p{margin:25px auto 0;max-width:44ch;color:var(--muted);font-size:1rem}.path-heading small{display:block;margin-top:15px;color:#6f6f70;font-size:.75rem}.story-chapters{padding-bottom:70px;max-width:1440px}
.story-branch{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:16%;padding-block:72px 80px;align-items:start}.branch-copy{position:relative;grid-column:1;grid-row:1;min-width:0}.branch-time{grid-column:2;grid-row:1;padding-top:28px;align-self:start;position:sticky;top:145px}.story-branch.right .branch-copy{grid-column:2}.story-branch.right .branch-time{grid-column:1;text-align:right}.branch-time>.eyebrow{color:#707071;letter-spacing:.21em;margin-bottom:15px}.clock{display:block;font:italic 400 clamp(3.5rem,7vw,7rem)/1 var(--serif);letter-spacing:-.06em;color:#79797a}.time-mood{display:block;margin-top:24px;font:italic 1.1rem/1.6 var(--serif);color:#7c7c7d;max-width:25ch}.right .time-mood{margin-left:auto}.branch-copy>.eyebrow{color:#6b6b6c;letter-spacing:.15em;margin-bottom:20px;font-size:.72rem}.branch-copy h3{font-size:clamp(2.7rem,4.2vw,4.3rem);line-height:1.08;letter-spacing:-.045em}.branch-intro{margin-top:25px;font-size:1rem;line-height:1.85;color:#5a5a5b}.branch-details{margin-top:30px;padding-top:22px;border-top:1px solid #c3c3c4}.branch-details>div+div{margin-top:20px}.branch-details h4{font-size:.82rem;font-weight:500;margin:0 0 7px;letter-spacing:.005em}.branch-details p{font-size:.875rem;line-height:1.8;color:#676768}.branch-node{position:absolute;left:50%;top:111px;width:7px;height:7px;border-radius:50%;background:var(--paper);border:1px solid #9b9b9c;transform:translateX(-50%);transition:background .4s,box-shadow .4s}.branch-rule{position:absolute;top:42px;left:100%;width:19.05%;height:1px;background:#c7c7c8;transform-origin:right}.right .branch-rule{left:auto;right:100%;transform-origin:left}.branch-rule:after{content:'';position:absolute;inset:0;background:#828283;transform:scaleX(0);transform-origin:inherit;transition:transform 1s cubic-bezier(.22,.72,.18,1)}.is-reached>.branch-node{background:#858586;box-shadow:0 0 0 6px #96969715}.is-reached .branch-rule:after{transform:scaleX(1)}
.programme-section{padding-block:70px}.programme-editorial{margin-top:60px}.programme-item{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:16%;padding-block:42px}.programme-name{text-align:right}.programme-name h3{font-size:clamp(2.6rem,4vw,4rem)}.programme-name p{font:italic 1.15rem/1.6 var(--serif);color:#7b7b7c;margin-top:12px}.programme-copy{padding-block:5px 36px;border-bottom:1px solid #c6c6c7}.programme-copy>p{font-size:.9375rem;color:#616162;line-height:1.8;margin-bottom:18px}.programme-copy .text-link{display:inline-block;margin-top:8px}.programme-item>.branch-node{top:68px}.path-note{margin:40px auto 0;max-width:520px;position:relative;background:var(--paper);padding:25px;text-align:center;font-size:.8125rem;color:#737374}
.care-section{padding-block:50px 75px}.care-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:16%;row-gap:55px;margin-top:70px}.care-grid article{border-top:1px solid #c1c1c2;padding-top:24px}.care-grid h3{font-size:1.9rem;line-height:1.2;margin-bottom:20px}.care-grid p{font-size:.9375rem;line-height:1.8;color:#616162}.care-grid p+p{margin-top:14px}.pilot-section{padding-block:60px 90px}.pilot-steps{display:grid;grid-template-columns:1fr 1fr;column-gap:16%;row-gap:40px;margin-top:50px}.pilot-steps article{padding-top:24px;border-top:1px solid #c1c1c2}.pilot-steps article:last-child{grid-column:1}.pilot-steps h3{font-size:1.8rem;margin-bottom:18px}.pilot-steps p{font-size:.9375rem;color:#616162}.path-action{margin:50px auto 0;position:relative;text-align:center;background:var(--paper);padding:24px;width:fit-content}.reach-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16%;padding-block:90px 130px}.reach-title .eyebrow{margin-bottom:25px;color:#707071}.reach-title h2{font-size:clamp(2.7rem,4.5vw,4.5rem)}.reach-copy p{font-size:.9375rem;margin-bottom:20px;color:#636364}.reach-copy p.muted{font-size:.8125rem}.reach-section>.branch-node{top:125px}
.story-path .contact{position:relative;background:transparent;padding-block:95px 110px}.contact-grid{grid-template-columns:1fr 1fr;column-gap:16%}.contact h2{font-size:clamp(3rem,4.5vw,4.5rem)}.contact h2 em{color:#727273}.contact .eyebrow{color:#6c6c6d}.enquiry-choices{padding:0;margin:0;border:0;min-width:0}.enquiry-choices legend{font-size:.875rem;margin-bottom:12px;padding:0}.enquiry-choices>div{display:flex;flex-wrap:wrap;gap:8px}.enquiry-choices label{position:relative;cursor:pointer;display:flex;font-size:.75rem;line-height:1.5}.enquiry-choices input{position:absolute;opacity:0;width:1px;height:1px;min-width:0;padding:0}.enquiry-choices span{display:block;border:1px solid #b2b2b3;padding:9px 12px;transition:background .25s,color .25s}.enquiry-choices input:checked+span{background:#353536;color:#f8f7f2;border-color:#353536}.enquiry-choices input:focus-visible+span{outline:2px solid #747475;outline-offset:3px}.enquiry-choices label:hover span{border-color:#4e4e4f}.site-foot{background:#202123}.button span{transition:transform .3s}.button:hover span{transform:translate(2px,-2px)}.business-info>.eyebrow{font-size:.65rem;color:#b7b7b8}.story-path .contact:after{content:'';position:absolute;bottom:0;left:50%;width:7px;height:7px;border:1px solid #939394;background:var(--paper);border-radius:50%;transform:translate(-50%,50%)}
@media(max-width:1000px){.hero h1,.landing .hero h1{font-size:clamp(4rem,8vw,6rem)}.story-branch,.programme-item,.care-grid,.pilot-steps,.reach-section,.contact-grid{column-gap:12%}.branch-rule{width:13.64%}.branch-copy h3{font-size:2.9rem}.story-branch{padding-block:65px}.branch-node{top:104px}}
@media(max-width:800px){.nav{background:#202123;border-bottom-color:#565657}.nav .button{color:#f5f4ef}.hero-grid,.landing .hero-grid{min-height:740px;padding-top:80px;padding-bottom:125px}.hero h1,.landing .hero h1{font-size:clamp(3.4rem,9.8vw,5.2rem);max-width:13ch}.hero-figure{height:100%}.hero-figure img{height:100%;object-position:62% center}.hero-figure:after{background:linear-gradient(90deg,#1b1b1ce8,#1b1b1c99 75%,#1b1b1c66),linear-gradient(0deg,#1b1b1caa,transparent)}.hero-figure figcaption{bottom:110px;font-size:.7rem}.hero-foot{flex-direction:row;align-items:center;min-height:90px;font-size:.7rem;gap:25px}.hero-foot>span{max-width:20ch}.hero-scroll{font-size:.75rem;white-space:nowrap;gap:12px}.story-path{--spine-left:var(--gutter)}.spine{left:var(--spine-left)}.story-path>.wrap{padding-left:calc(var(--gutter) + 32px)}.story-opening{padding-block:70px 20px}.path-heading{text-align:left;padding:20px 0;max-width:none;background:transparent}.path-heading h2{font-size:clamp(2.8rem,8vw,4.6rem)}.path-heading p{margin-left:0}.path-heading .eyebrow{margin-bottom:20px}.story-branch{display:flex;flex-direction:column;gap:30px;padding-block:45px 35px}.branch-time,.story-branch.right .branch-time{position:static;text-align:left;padding-top:0}.branch-time>.eyebrow{display:inline-block;margin:0 16px 0 0;font-size:.7rem}.clock{display:inline;font-size:2.8rem;vertical-align:middle}.time-mood{display:none}.branch-copy h3{font-size:clamp(2.6rem,7.5vw,4rem)}.branch-node{left:-32px;top:69px}.branch-rule,.right .branch-rule{left:-32px;right:auto;top:-53px;width:23px;transform-origin:left}.branch-copy>.eyebrow{font-size:.7rem;margin-bottom:17px}.branch-intro{margin-top:22px}.branch-details{margin-top:25px}.programme-section{padding-block:35px}.programme-editorial{margin-top:20px}.programme-item{grid-template-columns:1fr;gap:20px;padding-block:30px}.programme-name{text-align:left}.programme-name h3{font-size:2.7rem}.programme-copy{padding-bottom:20px}.programme-item>.branch-node{left:-32px;top:49px}.path-note{text-align:left;padding:20px 0;margin-top:20px}.care-section{padding-block:30px}.care-grid{grid-template-columns:1fr;margin-top:25px;gap:32px}.care-grid h3{font-size:1.8rem}.pilot-section{padding-block:45px}.pilot-steps{grid-template-columns:1fr;margin-top:25px;gap:28px}.path-action{padding:15px 0;margin:25px 0 0;text-align:left}.reach-section{grid-template-columns:1fr;gap:30px;padding-block:45px}.reach-section>.branch-node{left:var(--gutter);top:86px}.reach-title h2{font-size:2.8rem}.story-path .contact{padding-block:50px 75px}.story-path .contact>.wrap{padding-left:calc(var(--gutter) + 32px)}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(2.8rem,8vw,4rem)}.story-path .contact:after{left:var(--gutter)}.form-grid{grid-template-columns:1fr}.contact .email{font-size:.83rem}.site-foot{padding-top:40px}}
@media(max-width:420px){.hero-grid,.landing .hero-grid{padding-top:65px;padding-bottom:115px;min-height:760px}.hero .eyebrow{font-size:.7rem;max-width:28ch;line-height:1.8}.hero h1,.landing .hero h1{font-size:3.15rem}.hero .intro{font-size:.9375rem}.hero-figure figcaption{right:22px;bottom:110px;font-size:.65rem}.hero .actions{gap:22px}.path-heading h2{font-size:2.7rem}.branch-copy h3{font-size:2.5rem}.branch-intro{font-size:.9375rem}.branch-details p{font-size:.875rem}.story-path>.wrap,.story-path .contact>.wrap{padding-left:calc(var(--gutter) + 26px)}.branch-node,.programme-item>.branch-node{left:-26px}.branch-rule,.right .branch-rule{left:-26px;width:18px}.enquiry-choices span{padding:9px 10px}.path-action .button{gap:12px;font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{animation:none!important}.hero-figure img{transform:none!important;will-change:auto}.scroll-rule:after{animation:none!important}.reading-line{display:none}.spine-fill{height:100%}.spine-head{display:none}.branch-rule:after{transform:scaleX(1)}}

section{scroll-margin-top:0}
/* Quiet, fixed time labels; the line alone carries the journey forward. */
.branch-time{position:static;top:auto}.clock{font-size:clamp(3.5rem,6vw,6rem)}
.spine{bottom:auto;height:var(--path-length,calc(100% - 600px))}.spine:after{content:'';position:absolute;bottom:0;left:-3px;width:7px;height:7px;border:1px solid #8c8c8d;border-radius:50%;background:var(--paper)}
.programme-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative;background:var(--paper);margin-top:55px;padding-top:45px;border-top:1px solid #b5b5b6}.programme-item{display:flex;flex-direction:column;padding:0;gap:25px}.programme-name{text-align:left}.programme-name h3{font-size:clamp(2.5rem,3.8vw,3.7rem)}.programme-name p{font-size:1.05rem}.programme-copy{border:0;padding:0;display:flex;flex-direction:column;flex:1}.programme-copy .text-link{align-self:flex-start;margin-top:auto}.programme-copy p:last-of-type{margin-bottom:25px}.path-note{max-width:650px;margin-top:60px}.care-section{padding-top:70px}.care-grid{column-gap:9%}.pilot-steps{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}.pilot-steps article:last-child{grid-column:auto}.reach-section{column-gap:9%}.reach-section>.branch-node{display:none}.contact{padding-block:95px 110px}.contact-grid{column-gap:9%}.contact .eyebrow{color:#6c6c6d}.contact h2 em{color:#727273}
@media(max-width:800px){.programme-editorial{grid-template-columns:1fr;padding-top:30px;margin-top:30px;gap:38px}.programme-item{gap:17px}.programme-item+.programme-item{border-top:1px solid #c1c1c2;padding-top:30px}.programme-name h3{font-size:2.8rem}.programme-copy .text-link{margin-top:3px}.path-note{margin-top:35px}.care-section{padding-top:50px}.pilot-steps{grid-template-columns:1fr;gap:28px}.contact{padding-block:55px 75px}.clock{font-size:2.8rem}}
/* Each time belongs to its setting; images remain still beside the story. */
.moment-photo{margin:30px 0 0;width:100%;overflow:hidden;background:#d2d2d3}.moment-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.branch-time .time-mood{font-size:1rem;max-width:none;margin-top:20px}.story-branch.wedding .moment-photo img{aspect-ratio:4/3}.story-branch.brunch .moment-photo img{aspect-ratio:7/5}.story-branch.seasonal .clock{font-size:clamp(3rem,5.5vw,5.5rem)}
@media(max-width:800px){.branch-time{width:100%}.moment-photo{margin-top:25px}.story-branch.wedding .moment-photo img,.story-branch.brunch .moment-photo img{aspect-ratio:3/2}.story-branch.seasonal .clock{font-size:2.8rem}.story-branch{gap:28px}.branch-rule,.right .branch-rule{top:11px}.branch-node{top:69px}.branch-rule{display:none}}
@media(max-width:800px){.story-branch:before{content:'';position:absolute;left:-32px;top:72px;width:23px;height:1px;background:#ababac}}@media(max-width:420px){.story-branch:before{left:-26px;width:18px}}
/* Piano-inspired photography: softly dissolve into the ivory surface. */
.moment-photo{background:transparent;border-radius:14px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 87%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 87%,transparent 100%)}
.moment-photo img{filter:saturate(.48)}.hero-figure img{filter:saturate(.42)}
@media(max-width:800px){.moment-photo{border-radius:10px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 89%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 89%,transparent)}}
/* A shorter, easier-to-scan journey; fuller practical detail lives in the hotel brief. */
.story-branch{padding-block:52px 58px}.story-branch>.branch-node{top:91px}.branch-details{margin-top:24px;padding-top:20px}.branch-details p{font-size:.9375rem;line-height:1.75}
@media(max-width:1000px) and (min-width:801px){.story-branch{padding-block:48px 52px}.story-branch>.branch-node{top:87px}}
@media(max-width:800px){.story-branch{padding-block:34px 26px;gap:24px}.story-branch>.branch-node{top:58px}.story-branch:before{top:61px}.branch-details{margin-top:20px;padding-top:18px}}
/* Photographs grow directly from each branch, dissolving into the page on every edge. */
.story-branch{--photo-reach:19.05%}.story-branch .branch-time{position:relative;top:auto;padding-top:0;min-width:0}
.moment-photo{border-radius:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.moment-photo img{border-radius:0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 89%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 89%,transparent)}
.story-branch .moment-photo{position:relative;z-index:1;margin-top:0;width:calc(100% + var(--photo-reach))}.story-branch.left .moment-photo{margin-left:calc(-1 * var(--photo-reach))}.story-branch.right .moment-photo{margin-left:0;margin-right:calc(-1 * var(--photo-reach))}
.photo-arm{position:absolute;top:42px;left:calc(-1 * var(--photo-reach));height:1px;width:calc(var(--photo-reach) + 15%);background:#c7c7c8;transform-origin:left}.right .photo-arm{left:auto;right:calc(-1 * var(--photo-reach));transform-origin:right}.photo-arm:after{content:'';position:absolute;inset:0;background:#858587;transform:scaleX(0);transform-origin:inherit;transition:transform 1s cubic-bezier(.22,.72,.18,1)}.is-reached .photo-arm:after{transform:scaleX(1)}
.moment-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:16px}.moment-caption>.eyebrow{font-size:.75rem;color:#707072;letter-spacing:.17em}.moment-caption .clock,.story-branch.seasonal .moment-caption .clock{font-size:2.5rem;line-height:1.1}.branch-time .moment-caption .time-mood{flex-basis:100%;margin:0;font-size:1rem}.right .moment-caption{justify-content:flex-end}
@media(max-width:1000px) and (min-width:801px){.story-branch{--photo-reach:13.64%}}
@media(max-width:800px){.story-branch{--photo-reach:32px}.story-branch .branch-time{width:100%}.story-branch.left .moment-photo,.story-branch.right .moment-photo{margin-left:calc(-1 * var(--photo-reach));margin-right:0}.story-branch .photo-arm{left:calc(-1 * var(--photo-reach));right:auto;transform-origin:left}.story-branch:before{display:none}.story-branch>.branch-node{top:73px}.moment-caption,.right .moment-caption{justify-content:flex-start;margin-top:14px}.moment-caption .clock,.story-branch.seasonal .moment-caption .clock{font-size:2.2rem}.moment-photo{border-radius:0}.story-branch{gap:22px}}
@media(max-width:420px){.story-branch{--photo-reach:26px}}
@media(prefers-reduced-motion:reduce){.photo-arm:after{transform:scaleX(1)}}
