:root{--ink:#142a27;--paper:#f8f8f4;--gold:#d4b385;--muted:#63716b;--line:#dce0d8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ba8a42;outline-offset:6px}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h2{font-size:clamp(2.3rem,4.2vw,4.3rem);letter-spacing:-.045em}em{font-weight:400}h2 em{color:#667b66}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.19em;line-height:1.5;margin-bottom:26px}.section-pad{padding:105px max(6vw,24px)}.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.site-header{position:absolute;top:0;left:0;width:100%;height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;z-index:20;color:white;border-bottom:1px solid #ffffff35}.brand{display:flex;align-items:center;gap:15px;font-size:15px;letter-spacing:.12em;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:.18em;font-weight:400;margin-top:4px}.brand-mark{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-.22em;padding-right:9px;font-weight:400}.brand-mark span{font-size:28px;position:relative;top:7px}.site-header nav{display:flex;gap:32px;font-size:14px}.site-header nav a{opacity:.85}.site-header nav a:hover{opacity:1}.header-cta{font-size:13px;border:1px solid #ffffff90;padding:12px 20px}.menu-button{display:none}.hero{height:100svh;min-height:740px;color:white;position:relative;overflow:hidden;background:#284f42}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.hero-image{object-position:center 57%}.hero-shade{background:linear-gradient(90deg,#081c1dcc 0%,#12292440 65%),linear-gradient(0deg,#061c1ed9,transparent 35%,transparent 70%,#102a3255)}.hero-topline{position:absolute;top:143px;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em}.hero-copy{position:absolute;left:10vw;bottom:16vh}.hero-copy .eyebrow{color:#e4cead;margin-bottom:22px}.hero h1{font-size:clamp(4rem,6.9vw,7.8rem);letter-spacing:-.055em;line-height:1.01}.hero h1 em{color:#e5d1af}.hero-copy>p:not(.eyebrow){font-size:16px;margin:26px 0 29px;line-height:1.65;color:#eee}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 28px;font-size:14px;font-weight:500;transition:background .25s}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#e6dbc8}.hero-bottom{position:absolute;bottom:35px;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.18em}.scroll-cue{display:flex;align-items:center;gap:14px}.scroll-line{display:block;width:1px;height:38px;background:#ffffffa0}.hero-index{font-family:var(--serif);font-size:21px;letter-spacing:.05em}.hero-index i{font-size:15px;margin:0 6px;opacity:.6}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:55px 8vw}.intro-text{padding-top:40px;max-width:480px}.intro-text p+p{margin-top:18px;color:var(--muted)}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0 0;border-top:1px solid var(--line);padding-top:35px;gap:20px}.stats dt{font-size:13px;color:var(--muted)}.stats dd{font-family:var(--serif);margin:8px 0 0;font-size:42px;line-height:1.4}.stats dd span{font-size:24px}.stats .stat-word{font-size:26px;padding-top:12px}.tour-heading{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:flex-end;padding-top:80px;padding-bottom:70px}.tour-heading h2 em{color:var(--gold)}.tour-heading .eyebrow{color:var(--gold)}.tour-instructions{max-width:300px;font-size:14px;color:#ccd8d2}.text-button{padding:10px 0 0;background:none;border:none;border-bottom:1px solid #859b8d;font-size:13px;color:#e1cbad;margin-top:16px}.walkthrough{height:770svh;position:relative;background:#11231f}.tour-stage{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden;color:white}.tour-media,.tour-overlay,.scene-media{position:absolute;inset:0;width:100%;height:100%}.scene-media{object-fit:cover;object-position:center;opacity:0;will-change:opacity,transform;transform:scale(1.06)}.scene-media.active{opacity:1}.tour-overlay{background:linear-gradient(0deg,#061814e6,transparent 65%),linear-gradient(90deg,#06181465,transparent 70%);pointer-events:none}.tour-top{position:absolute;left:5vw;right:5vw;top:34px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em}.chapter-nav{position:absolute;top:50%;transform:translateY(-50%);right:4vw;display:flex;flex-direction:column;gap:12px;z-index:3}.chapter-nav button{display:flex;align-items:center;justify-content:flex-end;gap:12px;background:none;border:none;color:white;padding:4px;font-size:12px}.chapter-nav button span{opacity:0;transition:opacity .2s}.chapter-nav button i{width:6px;height:6px;border:1px solid white;border-radius:50%;display:block}.chapter-nav button.active span,.chapter-nav button:hover span,.chapter-nav button:focus-visible span{opacity:1}.chapter-nav button.active i{background:#e0be87;border-color:#e0be87;box-shadow:0 0 0 4px #ffffff25}.tour-copy{position:absolute;bottom:95px;left:8vw;max-width:620px;padding-right:20px}.tour-copy .eyebrow{color:#e7c9a0;margin-bottom:16px}.tour-copy h3{font-size:clamp(2.8rem,5vw,5.2rem);letter-spacing:-.04em;margin-bottom:20px}.tour-copy p:not(.eyebrow){max-width:410px;font-size:16px;color:#edece5}.tour-copy button{background:none;color:white;border:0;border-bottom:1px solid #ffffff80;font-size:13px;margin-top:20px;padding:0 0 5px}.tour-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff25}.tour-progress span{display:block;background:var(--gold);height:100%;width:0}.tour-scroll-label{position:absolute;bottom:30px;left:8vw;font-size:10px;letter-spacing:.16em;color:#c8d4cc}#tour-steps{position:absolute;top:0;left:0;height:100%;width:1px;pointer-events:none}.tour-step{height:110svh}.details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.details-photo{position:relative;height:780px}.details-photo img{height:100%;width:100%;object-fit:cover}.details-photo span{position:absolute;bottom:20px;left:20px;right:20px;font-size:10px;letter-spacing:.12em;color:white;background:#142a27dc;padding:14px;text-align:center}.details-copy>p:not(.eyebrow){margin:28px 0;color:var(--muted)}.specs{margin:0 0 30px}.specs div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.specs dt{color:var(--muted)}.specs dd{margin:0;text-align:right}.text-link{display:inline-block;border-bottom:1px solid var(--ink);font-size:14px;padding-bottom:5px}.gallery{background:#e9eee8}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:25px}.gallery-filters{display:flex;gap:6px}.gallery-filters button{background:none;border:1px solid transparent;padding:9px 18px;font-size:13px}.gallery-filters button.active{border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{border:0;padding:0;background:none;text-align:left;position:relative;overflow:hidden}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card .image-wrap{overflow:hidden}.gallery-card span{font-size:13px;display:block;padding:10px 0 15px}.gallery-card:nth-child(5n+1){grid-column:span 2}.gallery-card:nth-child(5n+1) img{aspect-ratio:2.72}.photo-credit{font-size:12px;color:var(--muted);margin-top:20px}.location{background:var(--ink);color:var(--paper)}.location>.eyebrow{color:var(--gold)}.location-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw}.location h2 em{color:var(--gold)}.location-layout>div{max-width:440px}.location .text-link{border-color:#c8d7c7;margin-top:25px}.contact{min-height:680px;position:relative;display:grid;place-items:center;color:white;text-align:center;overflow:hidden;padding:85px 24px}.contact>img,.contact-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}.contact-shade{background:#09231bdd}.contact-inner{position:relative}.contact h2{font-size:clamp(3.5rem,6.5vw,6.5rem);letter-spacing:-.045em}.contact h2 em{color:var(--gold)}.contact p:not(.eyebrow){margin:25px 0 30px;color:#dce5dc}.contact .eyebrow{color:var(--gold)}.contact-price{font-family:var(--serif);font-size:28px;margin-top:35px}.contact-price span{display:block;font-family:var(--sans);font-size:12px;margin-top:8px;color:#becabc}footer{padding:40px 6vw;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px}footer>span{color:var(--muted)}footer a:not(.brand){text-decoration:underline;text-underline-offset:4px}.footer-brand{font-size:12px}.footer-brand .brand-mark{font-size:32px}.footer-brand .brand-mark span{font-size:22px}dialog{padding:60px;border:0;background:#101b18f5;color:white;max-width:none;max-height:none;width:100vw;height:100dvh;position:fixed;inset:0;margin:0}dialog::backdrop{background:#101b18}dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-top{position:absolute;top:20px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:14px}.lightbox-top button{background:none;border:0;color:white}.lightbox-prev,.lightbox-next{position:absolute;top:50%;border:0;background:#ffffff15;color:white;font-size:42px;width:45px;height:65px;line-height:1}.lightbox-prev{left:10px}.lightbox-next{right:10px}#lightbox-image{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain}#lightbox-caption{font-size:14px;margin-top:15px}.reduced-motion .scene-media{transform:none!important}.reduced-motion .gallery-card img{transition:none}body.modal-open{overflow:hidden}
@media(min-width:1700px){.hero-copy{bottom:19vh}.hero{min-height:900px}}
@media(max-width:1000px){.site-header nav{gap:20px}.header-cta{display:none}.details{gap:5vw}.details-photo{height:720px}.hero-copy{left:7vw}.hero h1{font-size:7rem}footer{flex-wrap:wrap}.tour-copy{max-width:80%}}
@media(max-width:700px){html{scroll-padding-top:20px}.site-header{height:84px;padding:0 24px}.brand{font-size:12px;gap:12px}.brand small{font-size:8px}.brand-mark{font-size:35px}.site-header nav{display:none}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;background:none;border:0;padding:8px}.menu-button span{width:26px;height:1px;background:white}.mobile-menu:not([hidden]){display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;padding:24px;background:#142a27;z-index:30;color:white;gap:20px}.hero{min-height:730px;max-height:1100px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#061c1eeb,transparent 90%),linear-gradient(90deg,#081c1d70,transparent)}.hero-topline{top:110px;left:24px;right:24px;font-size:9px;gap:30px}.hero-topline span:first-child{max-width:150px}.hero-copy{bottom:123px;left:28px;right:24px}.hero-copy .eyebrow{font-size:10px}.hero h1{font-size:clamp(3.5rem,13vw,5.2rem)}.hero-copy>p:not(.eyebrow){font-size:15px;margin:22px 0 25px}.hero-bottom{left:28px;right:28px;bottom:30px}.hero-bottom>span:nth-child(2){display:none}.hero-bottom{font-size:9px}.section-pad{padding:65px 25px}.intro{grid-template-columns:1fr;gap:28px}.intro-text{padding:0}.stats{grid-template-columns:1fr 1fr;gap:28px 16px;margin:5px 0 0;padding-top:28px}.stats dd{font-size:35px}.stats .stat-word{font-size:22px;padding-top:10px}.tour-heading{display:block}.tour-instructions{max-width:100%;margin-top:26px}.tour-instructions p{max-width:340px}.tour-stage{min-height:600px}.walkthrough{height:630svh}.tour-step{height:90svh}.tour-top{left:24px;right:24px;font-size:9px}.scene-media{object-position:50% center}.tour-overlay{background:linear-gradient(0deg,#061814f5 0%,#06181480 30%,transparent 65%,#06181455)}.tour-copy{left:25px;bottom:110px;max-width:none;right:25px;padding:0}.tour-copy h3{font-size:2.8rem;max-width:320px}.tour-copy p:not(.eyebrow){font-size:14px;max-width:330px}.tour-copy .eyebrow{font-size:10px}.chapter-nav{top:auto;bottom:30px;left:25px;right:25px;transform:none;flex-direction:row;justify-content:space-between;gap:0}.chapter-nav button{padding:10px}.chapter-nav button span{display:none}.tour-scroll-label{bottom:78px;left:25px;font-size:9px}.details{grid-template-columns:1fr;gap:40px}.details-photo{height:410px}.details-copy h2{font-size:2.6rem}.section-heading{display:block}.gallery-filters{margin-top:25px}.gallery-filters button{padding:8px 16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-card:nth-child(5n+1){grid-column:span 2}.gallery-card:nth-child(5n+1) img{aspect-ratio:4/3}.gallery-card span{font-size:12px;padding-top:8px}.location-layout{grid-template-columns:1fr;gap:28px}.contact{min-height:660px}.contact h2{font-size:3.6rem}.contact p:not(.eyebrow){font-size:15px}footer{padding:35px 25px;display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:11px}.footer-brand{grid-column:1/-1}dialog{padding:60px 15px 90px}.lightbox-top{left:20px;right:20px}.lightbox-prev,.lightbox-next{top:auto;bottom:20px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.scene-media{transform:none!important}}

.hero-topline{justify-content:flex-end}.film-link{border:1px solid #ffffff80;margin-left:12px;background:#142a2755;color:white}@media(max-width:700px){.hero-copy .button{font-size:12px;padding:12px 14px}.film-link{margin-left:6px}}

/* Viewing request */
button.button{border:0}.details-booking{background:var(--ink);color:var(--paper);gap:20px}.details-booking:hover{background:#294d40}
#booking-dialog{inset:0;margin:auto;width:min(920px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - 40px);padding:48px;background:#f8f8f4;color:var(--ink);border:1px solid #dce0d8;border-radius:18px;overflow:auto;box-shadow:0 30px 100px #061b1960}#booking-dialog[open]{display:block}#booking-dialog::backdrop{background:#081c1dcc;backdrop-filter:blur(7px)}.booking-close{position:absolute;right:18px;top:14px;border:0;background:#e9eee8;border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1}.booking-heading{padding-right:22px}.booking-heading .eyebrow{font-size:10px;margin-bottom:16px;color:#61745d}.booking-heading h2{font-size:clamp(2.3rem,4vw,3.5rem)}.booking-heading>p:last-child{color:var(--muted);max-width:570px;font-size:14px;margin:18px 0 28px}#booking-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 38px}.booking-fields label{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:16px}.booking-fields input{display:block;width:100%;margin-top:7px;min-height:48px;padding:12px 14px;border:1px solid #d8dfd5;border-radius:8px;background:#fff;color:var(--ink);font-size:14px;outline-offset:3px}.booking-fields input:focus{outline:2px solid #667b66}.booking-fields input::placeholder{color:#88918a}.booking-note{font-size:11px;line-height:1.7;color:var(--muted);padding-top:4px}.booking-calendar{background:#e9eee8;border:1px solid #dce2d8;padding:22px;border-radius:12px;align-self:start}.calendar-label{font-size:12px;font-weight:600;margin-bottom:14px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-toolbar strong{font-size:16px;font-weight:500;text-transform:capitalize}.calendar-toolbar button{width:36px;height:36px;border:1px solid #d0d9cc;background:#f8f8f4;border-radius:50%;font-size:24px;line-height:1}.calendar-toolbar button:disabled{opacity:.3;cursor:default}.calendar-weekdays,#calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{font-size:10px;text-align:center;color:var(--muted);margin-bottom:8px}#calendar-days button{aspect-ratio:1;border:0;border-radius:50%;background:transparent;font-size:12px;padding:0;min-width:0}#calendar-days button:not(:disabled):hover{background:#d4dfce}#calendar-days button.today{box-shadow:inset 0 0 0 1px #97a891}#calendar-days button[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:0 3px 9px #142a2730}#calendar-days button:disabled{color:#aeb6ab;cursor:default}#selected-date{border-top:1px solid #d1dacd;padding-top:14px;margin-top:16px;color:#52674b;font-size:12px;min-height:35px}.booking-footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:10px 28px;align-items:center}.booking-privacy{font-size:11px;color:var(--muted);line-height:1.7;max-width:380px}.booking-submit{border:0;border-radius:7px;background:var(--ink);color:white;padding:16px 24px;display:flex;gap:28px;align-items:center;font-size:13px}.booking-submit:hover{background:#294d40}.booking-submit:disabled{opacity:.65;cursor:wait}#booking-status{grid-column:1/-1;font-size:13px;color:#52674b}#booking-status.error{color:#a3372c}@media(max-width:700px){#booking-dialog{padding:30px 22px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.booking-heading .eyebrow{max-width:220px;line-height:1.8}.booking-heading h2{font-size:2.45rem}#booking-form{grid-template-columns:1fr;gap:20px}.booking-calendar{padding:18px}.booking-footer{grid-template-columns:1fr;gap:16px}.booking-submit{justify-content:space-between;width:100%}.booking-note{display:none}#calendar-days button{max-height:44px}#booking-dialog .booking-close{right:12px;top:12px}}
