:root{--ink:#251a17;--paper:#f8f4ee;--paper2:#e9dfd3;--green:#693640;--line:#d9cbbd;--gold:#b99162;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
body{background:var(--paper);color:var(--ink)}
.topline{background:#1b1412;color:#ded2c4}
.nav-wrap{position:sticky;top:0;z-index:10;background:rgba(248,244,238,.96);backdrop-filter:blur(14px);border-color:#e4d9ce}
.mark span,.footer-mark span{color:var(--gold)}
.nav-links .nav-cta{border-color:var(--gold)}
.nav-links .nav-cta:hover{background:var(--ink);color:var(--paper)}
.eyebrow-line{background:var(--gold)}
.hero{padding-top:78px;padding-bottom:83px}
.hero-image{box-shadow:16px 16px 0 #e9dfd3;border:1px solid rgba(61,43,35,.08)}
.hero-image img{filter:saturate(.9)}
.hero-stamp{border-color:rgba(255,246,233,.85);background:rgba(38,25,20,.18)}
.button-dark{background:var(--green)}
.button-dark:hover{background:#4a2830}
.button-light{background:#ead5bb;color:#2b1d1a}
.intro-strip{background:#261b19;color:#f7f1e9}
.intro-strip>.eyebrow{color:#d9caba}
.intro-strip .intro-quote em{color:#d4ad7e}
.intro-detail p{color:#d9d0c4}
.detail-mark{color:#d4ad7e}
.arrow-link{color:#ecdac5}
.work-section,.services-section{max-width:1640px}
.work-section{padding-top:112px;padding-bottom:114px}
.section-heading h2 em,.booking-copy h2 em{color:#7a4146}
.heading-side{color:#766960}
.filter-row{gap:28px;border-color:var(--line);padding-bottom:17px}
.filter{position:relative;color:#786d63;transition:color .18s}
.filter:after{content:"";position:absolute;left:0;right:100%;bottom:-18px;height:2px;background:var(--gold);transition:right .18s}
.filter:hover,.filter.active{color:var(--ink)}
.filter.active:after{right:0}
.filter-count{color:#a57b4f;font-size:8px;margin-left:5px}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:31px 18px;align-items:start}
.gallery-item,.gallery-item:nth-child(even){margin-top:0;min-width:0}
.gallery-photo{height:auto;aspect-ratio:4/5;background:#e4dbd1;overflow:hidden}
.gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .5s}
.gallery-item:hover .gallery-photo img{transform:scale(1.045);filter:saturate(1)}
.photo-index{top:12px;left:12px;min-width:30px;padding:7px 8px;text-align:center;background:rgba(34,25,22,.56);backdrop-filter:blur(5px);color:#fff5e9;font-size:8px;letter-spacing:.1em}
.gallery-meta{align-items:center;padding-top:11px;min-height:49px}
.gallery-meta h3{font:500 15px var(--serif);margin:0 0 5px}
.gallery-meta p{font-size:7px;letter-spacing:.13em;color:#987753;margin:0}
.gallery-meta>span{font-size:14px;color:#987753;transition:transform .18s}
.gallery-item:hover .gallery-meta>span{transform:translate(2px,-2px)}
.gallery-item[hidden]{display:none}
.services-section{padding-top:75px}
.rate-list{border-color:var(--line)}
.rate-row{border-color:var(--line)}
.rate-price span{color:#a47e52}
.rates-footnote{color:#786d63}
.booking-section{background:#4c2932}
.booking-section .eyebrow-line{background:#d5ad7e}
.booking-aside{color:#eadbc9}
.aside-rule{background:#b7a58f}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#e3bd8e}
.booking-form input,.booking-form select,.booking-form textarea{border-color:#9d7e7e}
.closing{background:#e7dbcd}
.closing>span{color:#786960}
.closing>a{border-color:#b89a78}
.footer{background:#1b1412;color:#c7b8a7}
.footer-mark,.footer>a:last-child{color:#f0e6d9}
.photo-lightbox{width:min(1280px,96vw);max-width:96vw;max-height:94vh;padding:0;overflow:visible;border:1px solid rgba(215,184,146,.35);background:#1d1715;color:#f9f2e9;box-shadow:0 24px 100px rgba(0,0,0,.45)}
.photo-lightbox::backdrop{background:rgba(20,15,14,.94);backdrop-filter:blur(9px)}
.lightbox-panel{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:9px;padding:20px 19px 16px;min-height:280px}
.lightbox-panel figure{min-width:0;margin:0;display:grid;justify-items:center;gap:12px}
.lightbox-image{display:block;width:100%;height:calc(100vh - 132px);max-height:82vh;object-fit:contain}
.lightbox-panel figcaption{display:flex;width:100%;max-width:1000px;justify-content:space-between;align-items:center;color:#d8c9b8;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.lightbox-caption{color:#e0b987}
.lightbox-counter{font-variant-numeric:tabular-nums}
.lightbox-close,.lightbox-arrow{display:grid;place-items:center;color:#f6ede2;background:rgba(255,255,255,.06);border:1px solid rgba(236,211,181,.4);border-radius:50%;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.lightbox-close:hover,.lightbox-arrow:hover{background:#d7b184;color:#231916;border-color:#d7b184}
.lightbox-close{position:absolute;right:18px;top:17px;z-index:2;width:38px;height:38px;font:300 27px var(--sans);line-height:1}
.lightbox-arrow{width:42px;height:42px;font:300 31px var(--serif)}
.photo-lightbox button:focus-visible{outline:2px solid #e2b985;outline-offset:3px}
@media(max-width:1000px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 15px}.hero{padding-top:61px}.filter-row{gap:22px}}
@media(max-width:600px){.hero{padding-top:43px}.hero-image{box-shadow:10px 10px 0 #e9dfd3}.intro-strip{background:#261b19}.work-section{padding:72px 7% 78px}.filter-row{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:20px;margin-right:-7vw;padding-right:7vw;padding-bottom:16px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter:after{bottom:-17px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 11px}.gallery-photo{aspect-ratio:4/5}.gallery-meta{min-height:45px}.gallery-meta h3{font-size:13px}.gallery-meta p{font-size:6px}.gallery-meta>span{font-size:12px}.photo-index{top:8px;left:8px;padding:6px 7px;min-width:27px}.photo-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0}.lightbox-panel{height:100%;min-height:0;grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;padding:56px 8px 15px}.lightbox-panel figure{gap:12px}.lightbox-image{height:calc(100dvh - 112px);max-height:calc(100dvh - 112px)}.lightbox-close{top:11px;right:12px;width:36px;height:36px}.lightbox-arrow{width:34px;height:34px;font-size:27px}.lightbox-panel figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
