:root{--forest:#23372f;--deep:#172820;--paper:#f6f3ec;--ink:#27382f;--sage:#afbea9;--line:#d8ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b08d54;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.quote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.04}em{font-weight:400}img{display:block;width:100%;height:auto}.skip{position:fixed;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:8px}.header{position:fixed;inset:0 0 auto;height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(246,243,236,.97);backdrop-filter:blur(16px);border-bottom:1px solid #23372f16;z-index:20}.brand{display:flex;flex-direction:column;line-height:1.2;flex-shrink:0}.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;letter-spacing:.015em}.brand-sub{font-size:10px;letter-spacing:.23em;margin-top:5px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover,.text-link:hover{opacity:.65}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;background:var(--forest);color:white;border:1px solid var(--forest);font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#3b5142;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--forest);border-color:var(--paper)}.button.light:hover{background:#dce3d6}.hero{position:relative;isolation:isolate;min-height:790px;height:calc(100svh - 96px);max-height:1050px;background:var(--deep);color:var(--paper);margin-top:96px;overflow:hidden;display:flex;align-items:center}.hero-video{position:absolute;right:0;top:0;width:55%;height:100%;z-index:-1}.hero video{height:100%;width:100%;object-fit:cover;object-position:center 46%}.video-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--deep),rgba(23,40,32,.15) 36%,rgba(23,40,32,.04)),linear-gradient(0deg,rgba(23,40,32,.55),transparent 25%)}.hero-copy{padding:75px 0 100px 8%;width:57%;max-width:870px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em;line-height:1.6}.hero .eyebrow{color:#c0cbb9;margin-bottom:28px}h1{font-size:clamp(56px,5.7vw,92px);letter-spacing:-.035em}h1 em{color:#c1cdb7}.intro{max-width:410px;color:#e0e4da;margin:30px 0;font-size:16px;line-height:1.8}.hero-note{font-size:12px;margin-top:25px;color:#bdc9ba}.hero-foot{position:absolute;bottom:30px;left:8%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;letter-spacing:.1em;color:#d1dacd}.hero-foot a{letter-spacing:0;font-size:14px}.video-control{position:absolute;right:26px;bottom:80px;border:1px solid #ffffff70;background:#17282077;color:white;border-radius:0;min-height:44px;padding:8px 16px;font-size:12px;cursor:pointer}.section{padding:115px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:66px}.section-heading>p{max-width:365px;color:#657063}.section .eyebrow{margin-bottom:22px;color:#637760}h2{font-size:clamp(46px,4.5vw,70px);letter-spacing:-.025em}h2 em{color:#6e8467}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.services article{border-top:1px solid #8e9e87;padding-top:25px}.number{font-size:12px;letter-spacing:.14em;color:#697d62}.services h3{font-size:38px;margin:32px 0 22px}.services p{color:#657063;max-width:310px;min-height:84px}.services a,.text-link{display:inline-block;border-bottom:1px solid #83947c;font-size:14px;padding:6px 0;margin-top:24px}.small-note{font-size:13px;color:#75816f;margin-top:48px}.space{background:#e5e9df;display:grid;grid-template-columns:.85fr 1.4fr;gap:8%;align-items:center}.space-copy>p:not(.eyebrow){margin-top:25px;max-width:360px;color:#52624d}.space-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.space-gallery img{aspect-ratio:3/4;object-fit:cover}.reception{grid-row:1/3}.moment{margin-top:0}.detail{display:none}figcaption{font-size:12px;line-height:1.5;margin-top:13px;color:#60705a}.moment img{aspect-ratio:3/4}.moment{transform:translateY(55px)}.pause{padding:95px 20px;text-align:center;background:var(--forest);color:var(--paper)}.pause .eyebrow{color:#b2c0a8;margin-bottom:25px}.quote{font-size:clamp(40px,4.4vw,68px);line-height:1.12}.quote em{color:#c0cfb5}.pause .button{margin-top:35px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:13%}.visit>div>p:not(.eyebrow){margin-top:25px;color:#64735d}.contact-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.contact-actions .text-link{margin:0}.visit-info{display:grid;grid-template-columns:1fr 1fr;gap:30px}.visit-info>div:first-child{grid-column:1/-1;padding-bottom:30px;border-bottom:1px solid var(--line)}.visit-info p{margin:14px 0 0;color:#586752;font-size:15px}.visit-info .eyebrow{font-size:11px}.visit-info .text-link{margin-top:12px}footer{border-top:1px solid var(--line);margin:0 8%;padding:40px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>span{font-size:12px;color:#6e7b65}footer .brand-name{font-size:27px}@media(min-width:1500px){.space-gallery{max-width:620px}.hero-copy{padding-left:9%}}@media(max-width:1000px){.header{padding:0 4%;gap:16px}.header nav{gap:18px}.header-book{padding:12px 18px}.hero{min-height:710px}.hero-copy{padding-left:6%;width:64%}.hero-video{width:57%}.section{padding:85px 6%}.services{gap:26px}.services h3{font-size:34px}.space{gap:5%}.visit{gap:8%}.visit-info{grid-template-columns:1fr}.visit-info>div:first-child{grid-column:auto}.hero-foot{left:6%}}@media(max-width:700px){html{scroll-padding-top:124px}.header{height:112px;display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 6% 6px}.brand-name{font-size:25px}.brand-sub{font-size:8px}.header-book{font-size:12px;min-height:42px;padding:10px 12px}.header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;font-size:13px;gap:8px}.header nav a{padding:7px 0}.hero{margin-top:112px;min-height:760px;height:calc(100svh - 112px);max-height:980px;align-items:flex-end}.hero-video{width:100%;height:100%}.hero video{object-position:center 35%}.video-shade{background:linear-gradient(0deg,rgba(16,32,24,.97) 0%,rgba(16,32,24,.86) 28%,rgba(16,32,24,.12) 78%)}.hero-copy{width:100%;padding:230px 7% 68px;max-width:none}.hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:20px}h1{font-size:clamp(45px,11vw,66px);line-height:1.02}.intro{font-size:15px;line-height:1.7;margin:22px 0;max-width:350px}.hero-note{font-size:10px;margin-top:19px}.hero-foot{display:none}.video-control{bottom:auto;top:18px;right:18px;font-size:11px}.section{padding:68px 7%}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:25px;font-size:15px}.section .eyebrow{font-size:11px;margin-bottom:17px}h2{font-size:48px}.services{grid-template-columns:1fr;gap:35px}.services article{padding-top:18px}.services h3{font-size:35px;margin:22px 0 15px}.services h3 br{display:none}.services p{min-height:0;max-width:none;font-size:15px}.services a{margin-top:14px}.small-note{margin-top:30px}.space{grid-template-columns:1fr;gap:38px}.space-copy>p:not(.eyebrow){max-width:none;font-size:15px}.space-gallery{gap:16px;padding-bottom:30px}.moment{transform:translateY(28px)}figcaption{font-size:11px}.pause{padding:65px 7%}.quote{font-size:40px}.visit{grid-template-columns:1fr;gap:45px}.visit-info{grid-template-columns:1fr 1fr;gap:26px}.visit-info>div:first-child{grid-column:1/-1}.visit-info p{font-size:14px}.contact-actions{gap:20px}.contact-actions .button{padding:12px 20px}footer{margin:0 7%;padding:30px 0;flex-wrap:wrap}footer>span{width:100%}.button:hover{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.logo{width:132px;height:76px;object-fit:contain}.detail{display:block}.space-gallery{column-gap:25px;row-gap:25px}.moment{transform:none}.reception{align-self:center}.moment img,.detail img{aspect-ratio:4/3;object-fit:cover}footer .logo{width:150px;height:87px}@media(max-width:700px){.header .logo{width:96px;height:55px}.header{padding-top:5px;row-gap:0}.space-gallery{padding-bottom:0;gap:18px}.moment{transform:none}}

/* Refined reservation button */
.header .header-book{min-width:114px;min-height:46px;padding:11px 24px;background:#dce5d7;color:#304735;border:1px solid #c4d2bc;border-radius:4px;font-size:14px;font-weight:500;letter-spacing:.025em;box-shadow:0 2px 5px #23372f05}.header .header-book:hover{background:#ceddc7;border-color:#adbea5;transform:none}@media(max-width:700px){.header .header-book{min-width:98px;min-height:42px;padding:10px 18px;font-size:13px}}

.services .service-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-top:23px}.services article:nth-child(2) .service-photo{object-position:center 60%}.services article:nth-child(3) .service-photo{object-position:center 75%}
/* Desktop: balanced navigation around the centered brand. */
@media(min-width:1001px){.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:24px}.header>.brand{grid-column:2;grid-row:1;justify-self:center}.header>nav{grid-column:1;grid-row:1;justify-self:start;gap:clamp(15px,2.2vw,32px)}.header>.header-book{grid-column:3;grid-row:1;justify-self:end}}
@media(min-width:701px) and (max-width:1000px){.header{height:124px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:80px 34px;padding-top:4px;padding-bottom:6px;gap:0 18px}.header>.brand{grid-column:2;grid-row:1;justify-self:center}.header>.header-book{grid-column:3;grid-row:1;justify-self:end}.header>nav{grid-column:1/-1;grid-row:2;justify-self:center;gap:35px}.header>nav a{padding:4px 0}.hero{margin-top:124px}html{scroll-padding-top:140px}}

.mobile-video-play{display:block;margin-top:18px;padding:8px 0;background:transparent;color:var(--paper);border:0;border-bottom:1px solid #f6f3ec70;font:inherit;font-size:13px;min-height:44px;cursor:pointer}.mobile-video-play[hidden]{display:none}

.ritual-animation{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}.ritual-animation[hidden]{display:none}@media(max-width:700px){.ritual-animation{object-position:center 35%}}
