@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap";:root{color:#252420;background:#f4f1eb;font-family:DM Sans,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ivory: #f4f1eb;--paper: #fbfaf7;--ink: #252420;--muted: #66645f;--line: #cec8bd;--blue: #3f6d86;--blue-hover: #315a70;--copper: #a24d2c;--serif: "Newsreader", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:relative;z-index:20;background:#f8f6f1fa;border-bottom:1px solid rgba(54,50,43,.08)}.nav-shell{min-height:6.2rem;max-width:96rem;margin:0 auto;padding:0 4.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{flex:0 0 auto;font-family:var(--serif);font-size:clamp(1.9rem,2.3vw,2.55rem);line-height:1;letter-spacing:-.035em}.desktop-nav,.desktop-nav ul{display:flex;align-items:center}.desktop-nav{gap:2.25rem}.desktop-nav ul{gap:clamp(1.1rem,1.8vw,2.35rem);margin:0;padding:0;list-style:none}.desktop-nav a{font-size:.76rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase;transition:color .16s ease}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--blue)}.offer-link{margin-left:.15rem;padding:.25rem 1.95rem;border-inline:1px solid var(--line)}.offer-link a{color:var(--copper)}.button{min-height:3.4rem;border:0;border-radius:0;padding:.9rem 1.75rem;display:inline-flex;align-items:center;justify-content:center;gap:1rem;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .16s ease,color .16s ease,transform .16s ease}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff;background:var(--blue)}.button--primary:hover,.button--primary:focus-visible{background:var(--blue-hover)}.nav-cta{min-width:12.2rem}.menu-toggle,.mobile-menu,.mobile-booking-bar{display:none}.hero{position:relative;min-height:52rem;height:calc(100svh - 6.2rem);max-height:68rem;overflow:hidden;color:#fff;background:#222}.hero__image{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 52%}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,16,.64) 0%,rgba(18,18,16,.33) 35%,transparent 65%),linear-gradient(0deg,rgba(12,12,10,.45) 0%,transparent 43%);pointer-events:none}.hero__content{position:absolute;left:clamp(2rem,4.7vw,5.6rem);bottom:clamp(2.5rem,5.4vw,6rem);width:min(46rem,54vw)}.eyebrow{margin:0 0 1.15rem;font-size:.72rem;font-weight:600;letter-spacing:.31em;line-height:1.4;text-transform:uppercase}.eyebrow--light{color:#ffffffe6}.eyebrow--copper{color:var(--copper)}.hero h1{max-width:45rem;margin:0;font-family:var(--serif);font-size:clamp(3.3rem,5.3vw,6.1rem);font-weight:400;letter-spacing:-.035em;line-height:.96;text-wrap:balance}.hero__lede{max-width:38rem;margin:1.3rem 0 0;font-size:clamp(1.05rem,1.35vw,1.32rem);line-height:1.45}.hero__actions{margin-top:1.8rem;display:flex;align-items:center;gap:2.3rem}.text-link{width:max-content;padding:.35rem 0 .45rem;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:1rem;font-size:.96rem;transition:color .16s ease}.text-link:hover,.text-link:focus-visible{color:var(--blue)}.text-link--light{color:#fff}.text-link--light:hover,.text-link--light:focus-visible{color:#d9edf8}.facts{min-height:8.75rem;padding:1.5rem clamp(2rem,4.7vw,5.6rem);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:var(--paper);border-bottom:1px solid rgba(54,50,43,.08)}.facts p{margin:0;padding:0 1rem;color:#3a3834;font-size:.7rem;font-weight:600;letter-spacing:.28em;line-height:1.5;text-align:center;text-transform:uppercase}.facts p+p{border-left:1px solid var(--line)}.story{position:relative;min-height:47rem;padding:clamp(4.5rem,7vw,8rem) clamp(2rem,4.7vw,5.6rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(24rem,.8fr);align-items:center;gap:clamp(3.5rem,7vw,8rem);overflow:hidden}.story:after{content:"";position:absolute;right:-8rem;bottom:-10rem;width:34rem;height:34rem;border-radius:50%;opacity:.17;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 17px,#8d7b68 18px 19px);pointer-events:none}.story__media{position:relative;z-index:1;min-height:31rem}.story__media img{width:100%;height:100%;min-height:31rem;display:block;object-fit:cover}.story__copy{position:relative;z-index:1;max-width:36rem}.story h2,.gallery h2,.reviews h2,.offer h2,.booking-modal h2{margin:0;font-family:var(--serif);font-size:clamp(3rem,4.6vw,5.1rem);font-weight:400;letter-spacing:-.035em;line-height:1;text-wrap:balance}.story__copy>p:not(.eyebrow){margin:1.9rem 0 1.65rem;color:var(--muted);font-size:1.06rem;line-height:1.62}.gallery{padding:clamp(5rem,8vw,8.5rem) 0 clamp(5.5rem,8vw,9rem);background:var(--paper);overflow:hidden}.gallery__header{margin:0 auto 2.75rem;padding:0 clamp(2rem,4.7vw,5.6rem);display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.gallery__header>div:first-child{max-width:48rem}.gallery h2,.reviews h2{font-size:clamp(3rem,4.7vw,5.25rem)}.gallery__controls{display:flex;gap:.7rem}.gallery__controls button{width:3.4rem;height:3.4rem;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font-size:1.15rem;transition:color .16s ease,border-color .16s ease}.gallery__controls button:hover,.gallery__controls button:focus-visible{color:var(--blue);border-color:var(--blue)}.gallery__rail{padding:0 clamp(2rem,4.7vw,5.6rem) 1rem;display:flex;align-items:stretch;gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:clamp(2rem,4.7vw,5.6rem);scroll-snap-type:x mandatory;scrollbar-width:none}.gallery__rail::-webkit-scrollbar{display:none}.gallery__photo{position:relative;height:clamp(24rem,34vw,36rem);flex:0 0 clamp(19rem,27vw,29rem);border:0;padding:0;overflow:hidden;background:#ddd8cf;cursor:zoom-in;scroll-snap-align:start}.gallery__photo--1{flex-basis:clamp(31rem,43vw,47rem)}.gallery__photo--3{flex-basis:clamp(23rem,32vw,34rem)}.gallery__photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.gallery__photo:hover img{transform:scale(1.018)}.gallery__photo--2 img,.gallery__photo--4 img{object-position:50% 50%}.gallery__link{margin:2rem clamp(2rem,4.7vw,5.6rem) 0}.reviews{padding:clamp(4.5rem,6.5vw,6.75rem) clamp(2rem,4.7vw,5.6rem);background:var(--ivory);border-top:1px solid rgba(54,50,43,.08)}.reviews__header{margin-bottom:clamp(2.5rem,3.5vw,3.75rem);display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.reviews__header>div{max-width:48rem}.reviews h2{font-size:clamp(3.4rem,4.8vw,5.4rem);line-height:.96}.reviews__rating{margin:0 0 .45rem;display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.reviews__rating strong{color:var(--ink);font-family:var(--serif);font-size:2.2rem;font-weight:400;letter-spacing:-.02em;line-height:1;text-transform:none}.reviews__rating-stars{color:var(--copper);font-size:1.12rem;letter-spacing:.09em}.reviews__rating-divider{color:var(--copper)}.reviews__body{display:grid;grid-template-columns:minmax(22rem,.78fr) minmax(38rem,1.65fr);grid-template-rows:auto auto;gap:clamp(2.5rem,4vw,5rem);row-gap:0}.review-spotlight{grid-column:1;grid-row:1;margin:0;padding:clamp(1.5rem,3vw,3.5rem) clamp(1rem,2.2vw,2.5rem) 0 0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.review-stars{color:var(--copper);font-size:1.35rem;letter-spacing:.12em}.review-spotlight blockquote{margin:1.8rem 0 1.55rem;font-family:var(--serif);font-size:clamp(3rem,4.15vw,5rem);font-weight:400;letter-spacing:-.04em;line-height:1.01}.review-spotlight figcaption,.review-selector__guest{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.review-progress{margin-top:auto;padding:3.2rem 0 2.7rem;display:grid;grid-template-columns:auto minmax(5rem,1fr) auto;align-items:center;gap:1rem;color:var(--muted);font-size:.75rem;letter-spacing:.15em}.review-progress__track{height:2px;display:block;overflow:hidden;background:var(--line)}.review-progress__track>span{height:100%;display:block;background:var(--copper);transition:width .3s ease}.review-progress__controls{display:flex;gap:.35rem}.review-progress__controls button{width:2.45rem;height:2.45rem;border:0;padding:0;display:grid;place-items:center;color:var(--ink);background:transparent;cursor:pointer}.review-progress__controls button:hover,.review-progress__controls button:focus-visible{color:var(--copper)}.review-selector{grid-column:2;grid-row:1 / span 2;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;border-top:1px solid var(--line)}.review-selector li{min-width:0;border-bottom:1px solid var(--line)}.review-selector li:nth-child(odd){border-right:1px solid var(--line)}.review-selector button{position:relative;width:100%;min-height:9.4rem;border:0;padding:1.35rem clamp(1.25rem,2vw,2.2rem);display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;color:var(--ink);background:transparent;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease}.review-selector button:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:transparent}.review-selector button:hover,.review-selector button:focus-visible{background:#a24d2c0b}.review-selector button.is-active{background:#a24d2c0e}.review-selector button.is-active:before{background:var(--copper)}.review-selector__stars{color:var(--copper);font-size:.82rem;letter-spacing:.08em}.review-selector__quote{font-family:var(--serif);font-size:clamp(1.25rem,1.45vw,1.7rem);letter-spacing:-.018em;line-height:1.12}.reviews__link{grid-column:1;grid-row:2;align-self:start;justify-self:start;margin-top:1.75rem}.offer{padding:clamp(5.5rem,8vw,9rem) clamp(2rem,4.7vw,5.6rem);display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper);border-top:1px solid rgba(54,50,43,.08)}.offer h2{max-width:52rem;font-size:clamp(3.3rem,5.3vw,6rem)}.offer__lede{max-width:39rem;margin:1.6rem auto 2rem;color:var(--muted);font-size:1.06rem;line-height:1.6}.offer .button{min-width:12.5rem}.offer__context{margin:1.35rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.lightbox{position:fixed;z-index:110;inset:0;padding:2.5rem;display:grid;place-items:center;background:#111212f0;backdrop-filter:blur(7px)}.lightbox__content{position:relative;width:min(92rem,96vw);height:min(58rem,92vh);display:grid;grid-template-columns:4rem minmax(0,1fr) 4rem;grid-template-rows:minmax(0,1fr) auto;align-items:center}.lightbox__content img{width:100%;height:100%;grid-column:2;object-fit:contain}.lightbox__content>button{border:0;color:#fff;background:transparent;cursor:pointer;font-size:1.6rem}.lightbox__previous{grid-column:1;grid-row:1}.lightbox__next{grid-column:3;grid-row:1}.lightbox__close{position:absolute;z-index:1;top:-.3rem;right:0;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.42)!important;border-radius:50%!important;background:#00000059!important}.lightbox__content p{grid-column:2;margin:1rem 0 0;color:#ffffffb8;font-size:.7rem;letter-spacing:.2em;text-align:center}.closing-line{min-height:9.5rem;padding:2rem;display:flex;align-items:center;justify-content:center;gap:2.3rem;background:var(--paper)}.closing-line p{margin:0;font-size:.68rem;font-weight:500;letter-spacing:.3em;line-height:1.5;text-align:center;text-transform:uppercase}.closing-line span{width:3.2rem;height:1px;background:#9e9990}.modal-backdrop{position:fixed;z-index:100;inset:0;padding:2.5rem;display:grid;place-items:center;background:#141616b3;backdrop-filter:blur(7px)}.booking-modal{width:min(64rem,94vw);height:min(50rem,90vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--paper);box-shadow:0 2rem 6rem #00000047}.booking-modal__header{padding:1.35rem 1.5rem 1.2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.booking-modal__header .eyebrow{margin-bottom:.4rem;color:var(--copper)}.booking-modal h2{font-size:2.35rem}.booking-modal__header p:last-child{margin:.25rem 0 0;color:var(--muted);font-size:.83rem}.modal-close{width:2.9rem;height:2.9rem;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font-family:var(--serif);font-size:2rem;line-height:1}.booking-frame{width:100%;height:100%;border:0;background:#fff}.booking-fallback{margin:0;padding:.75rem 1.5rem;color:var(--muted);font-size:.75rem;text-align:center;border-top:1px solid var(--line)}.booking-fallback a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}@media(max-width:1100px){.nav-shell{padding-inline:2rem}.desktop-nav,.desktop-nav ul{gap:1rem}.offer-link{padding-inline:1rem}.nav-cta{min-width:auto}.reviews__body{grid-template-columns:minmax(20rem,.85fr) minmax(31rem,1.4fr);gap:2.5rem}.review-selector button{min-height:10rem}}@media(max-width:850px){body{padding-bottom:4.2rem}.site-header--home{position:absolute;z-index:30;top:0;right:0;left:0;color:var(--ink);background:linear-gradient(180deg,#f8f6f1f5,#f8f6f1c7 58%,#f8f6f100);border-bottom:0}.nav-shell{min-height:4.25rem;padding:0 1.2rem}.wordmark{font-size:1.7rem}.desktop-nav{display:none}.menu-toggle{min-height:2.75rem;border:0;padding:.25rem 0;display:inline-flex;align-items:center;color:var(--ink);background:transparent;cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:.75rem 1.2rem 1.2rem;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 1rem 2rem #1b1a181a}.mobile-menu.is-open{display:grid}.mobile-menu a{padding:.85rem 0;font-family:var(--serif);font-size:1.55rem;border-bottom:1px solid var(--line)}.mobile-menu .mobile-offer{color:var(--copper)}.mobile-menu .button{margin-top:1rem}.hero{height:min(84svh,48rem);min-height:40rem;max-height:48rem;overflow:hidden;color:#fff;background:#20211f}.hero__image{width:100%;height:100%;min-height:0;max-height:none;object-position:50% 50%}.hero__shade{display:block;background:linear-gradient(180deg,#0f121205 35%,#0c0f1047 57%,#090c0de0),linear-gradient(90deg,rgba(10,13,14,.32),transparent 82%)}.hero__content{position:absolute;right:1.2rem;bottom:1.45rem;left:1.2rem;width:auto;padding:0}.hero__content .eyebrow{margin-bottom:.65rem}.eyebrow--light{color:#ffffffeb}.hero h1{max-width:24rem;font-size:clamp(2.45rem,10.4vw,3.05rem);line-height:.96}.hero__lede{display:none}.hero__actions{margin-top:1.15rem;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.hero__actions .button{min-height:3.2rem;display:inline-flex;padding:.8rem 1.15rem}.hero__actions .text-link{font-size:.9rem}.text-link--light{color:#fff}.facts{min-height:0;padding:0;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper)}.facts p{min-height:4rem;padding:.7rem .35rem;display:grid;place-items:center;font-size:.56rem;letter-spacing:.14em;line-height:1.35;border-top:0}.facts p+p{border-left:1px solid var(--line)}.facts p:nth-child(4){display:none}.facts p:last-child{grid-column:auto}.story{min-height:0;padding:1.35rem 1.2rem 3.1rem;grid-template-columns:1fr;gap:1.35rem}.story:after{right:-17rem;bottom:-14rem}.story__media,.story__media img{min-height:0}.story__media img{aspect-ratio:4 / 3;object-fit:cover}.story__copy .eyebrow{margin-bottom:.65rem}.story h2{font-size:clamp(2.15rem,8.25vw,2.7rem)}.story__copy>p:not(.eyebrow){margin-top:.9rem;font-size:.94rem}.gallery{padding:2.85rem 0 3.4rem}.gallery__header{margin-bottom:1.4rem;padding:0 1.2rem;align-items:flex-start}.gallery__header h2,.reviews h2{font-size:clamp(2.25rem,8.5vw,2.8rem)}.gallery__controls{display:none}.gallery__rail{padding-inline:1.2rem;scroll-padding-inline:1.2rem}.gallery__photo,.gallery__photo--1,.gallery__photo--3{height:min(78vw,22rem);flex-basis:78vw}.gallery__link{margin:1.5rem 1.2rem 0}.reviews{padding:3.2rem 1.2rem 3.5rem}.reviews__header{margin-bottom:1.45rem;display:block}.reviews__header>div{max-width:none}.reviews h2{font-size:clamp(2.25rem,8.5vw,2.8rem)}.reviews__rating{margin-top:.9rem;flex-wrap:wrap;gap:.45rem;white-space:normal}.reviews__rating strong{font-size:1.9rem}.reviews__rating-stars{font-size:.95rem}.reviews__body{display:flex;flex-direction:column;gap:0}.review-spotlight{min-width:0;padding:1.65rem 0 1.55rem;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-stars{font-size:1.05rem}.review-spotlight blockquote{margin:1rem 0 .95rem;font-size:clamp(1.85rem,7.5vw,2.4rem)}.review-progress{margin-top:1.75rem;padding:0;grid-template-columns:auto minmax(4rem,1fr) auto;gap:.75rem}.review-progress__controls button{width:2.6rem;height:2.6rem}.review-selector{margin:1.15rem -1.2rem 0 0;padding:0 1.2rem 0 0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-top:0}.review-selector::-webkit-scrollbar{display:none}.review-selector li{min-width:min(72vw,19rem);border-right:1px solid var(--line);border-bottom:0;scroll-snap-align:start}.review-selector li:nth-child(odd){border-right:1px solid var(--line)}.review-selector button{min-height:9.5rem;padding:1.25rem 1.35rem}.review-selector button:before{inset:0 0 auto;width:auto;height:3px}.review-selector__quote{font-size:1.3rem}.reviews__link{margin-top:1.45rem}.offer{padding:3.4rem 1.2rem 4.15rem}.offer h2{font-size:clamp(2.25rem,8.5vw,2.8rem)}.offer__lede{margin-top:1rem;font-size:.96rem}.offer .button{width:100%}.offer__context{max-width:21rem}.lightbox{padding:.8rem}.lightbox__content{width:100%;height:92dvh;grid-template-columns:2.7rem minmax(0,1fr) 2.7rem}.lightbox__close{top:.3rem;right:.3rem}.closing-line{min-height:6.5rem;padding:1.5rem 1.2rem;gap:1rem}.closing-line p{font-size:.61rem;letter-spacing:.2em}.closing-line span{width:1.2rem;flex:0 0 auto}.mobile-booking-bar{position:fixed;z-index:50;left:0;right:0;bottom:0;min-height:4.2rem;width:100%;border:0;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:#fff;background:var(--blue);box-shadow:0 -.7rem 2rem #1a202229;cursor:pointer;font-weight:600}.modal-backdrop{padding:0}.booking-modal{width:100vw;height:100dvh}.booking-modal__header{padding:1rem 1.1rem}.booking-modal h2{font-size:2rem}.booking-fallback{padding-inline:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
