:root{--ink:#27382e;--cream:#f8f5ef;--sand:#e9dfce;--gold:#d7af68;--body:#435147;--line:#d5ccbe}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}.header{height:88px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:30px;justify-content:space-between;background:var(--cream);position:relative;z-index:3}.brand{color:var(--ink);font-family:'Playfair Display',serif;font-size:27px;font-weight:600;line-height:.8;text-decoration:none;letter-spacing:-1px;white-space:nowrap}.brand span{font-style:italic;font-weight:500}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;font-weight:700;letter-spacing:1.9px;margin-top:10px}nav{display:flex;gap:26px;margin-left:auto}nav a,footer a{color:var(--ink);text-decoration:none;font-size:14px}nav a:hover,footer a:hover{color:#977635}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 23px;text-decoration:none;font-weight:700;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-gold{background:var(--gold);color:#183126}.button span{font-size:18px}.menu{display:none;border:0;background:transparent;color:var(--ink);font:600 14px 'DM Sans',sans-serif}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:var(--sand)}.hero-copy{padding:clamp(56px,9vw,145px) clamp(24px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:700;margin:0 0 18px;color:#756e61}.hero h1,h2{font:600 clamp(40px,5.1vw,76px)/1.03 'Playfair Display',serif;letter-spacing:-2.6px;margin:0}.hero h1 em,h2 em{font-weight:500}.lead{font-size:18px;line-height:1.55;max-width:460px;margin:28px 0 32px;color:var(--body)}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{margin-left:8px}.location{font-size:13px;margin-top:52px;color:#687267}.hero-image{position:relative;overflow:hidden;min-height:440px}.hero-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}.image-note{position:absolute;bottom:0;left:0;padding:20px 25px;background:var(--cream);font:italic 20px/1.15 'Playfair Display',serif}.intro{padding:135px max(9vw,30px);text-align:center;max-width:1150px;margin:auto}.intro h2{font-size:clamp(35px,4.5vw,61px)}.intro>p:last-child{max-width:720px;margin:32px auto 0;color:var(--body);font-size:17px}.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--ink);color:var(--cream);padding:115px max(8vw,28px)}.services .eyebrow{color:#cfc4b2}.services h2{font-size:clamp(36px,4.1vw,57px)}.service-list{border-top:1px solid #5b675e}.service-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #5b675e}.service-list span{color:var(--gold);font-size:13px;font-weight:700}.service-list h3{font:500 25px 'Playfair Display',serif;margin:0 0 7px}.service-list p{margin:0;color:#d5ddd6;max-width:480px;font-size:14px}.gallery{display:grid;grid-template-columns:1fr 1.25fr 1fr;min-height:470px;background:#d7cbb9}.gallery img{width:100%;height:100%;object-fit:cover;min-height:470px;filter:saturate(.8)}.gallery-quote{padding:45px;display:flex;flex-direction:column;justify-content:center}.gallery-quote p{font:500 clamp(29px,3vw,42px)/1.18 'Playfair Display',serif;margin:0;color:var(--ink)}.gallery-quote span{margin-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.about{padding:125px max(9vw,30px);display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.about h2{font-size:clamp(38px,4.5vw,64px)}.about-copy>p:not(.eyebrow){max-width:570px;color:var(--body);font-size:17px;margin:28px 0}.facts{align-self:end;border-top:1px solid var(--line)}.facts div{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:19px 0;gap:15px}.facts strong{font:600 37px 'Playfair Display',serif}.facts span{font-size:13px;color:#606b62}.reviews{padding:95px max(8vw,28px);background:#eee9df}.reviews>.eyebrow{text-align:center}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1250px;margin:36px auto 0}.review-grid blockquote{margin:0;font:500 25px/1.35 'Playfair Display',serif}.review-grid cite{display:block;font:700 11px 'DM Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;margin-top:22px;color:#756e61}.booking{padding:110px max(9vw,30px);background:var(--gold);display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:end}.booking h2{font-size:clamp(39px,4.4vw,63px)}.booking>div:last-child p{max-width:330px;margin:0 0 25px;color:#314235}.booking .button{background:var(--ink);color:white}footer{background:#1e2d25;color:#e5e3db;padding:62px max(8vw,28px) 35px;display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:30px}footer .brand,footer a{color:#f2eee7}footer p{margin:0;color:#c5ccc5;font-size:14px}footer div:last-of-type{display:flex;flex-direction:column;gap:9px}footer>small{font-size:11px;color:#a5afa7;align-self:end}.mobile-book{display:none}.header-cta{white-space:nowrap}@media(max-width:820px){.header{height:76px;padding:0 20px}.header-cta,nav{display:none}.menu{display:block;margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px 52px;min-height:525px;order:1}.hero-image{order:0;height:340px}.hero h1{font-size:51px;letter-spacing:-2px}.hero-image img{object-position:center 40%}.location{margin-top:36px}.intro{padding:88px 24px;text-align:left}.intro>p:last-child{font-size:16px;margin-left:0}.services,.about,.booking{grid-template-columns:1fr;padding:82px 24px;gap:45px}.gallery{grid-template-columns:1fr;min-height:0}.gallery img{min-height:340px;height:340px}.gallery-quote{min-height:270px;padding:48px 26px}.gallery-quote p{font-size:32px}.review-grid{grid-template-columns:1fr;gap:35px}.review-grid blockquote{font-size:25px}.reviews{padding:76px 24px}footer{grid-template-columns:1fr 1fr;padding:55px 24px 95px}.mobile-book{display:block;position:fixed;bottom:16px;left:16px;right:16px;z-index:5;background:var(--ink);color:white;text-align:center;padding:16px;text-decoration:none;font-weight:700;box-shadow:0 5px 25px #17231b55;border-radius:2px}}@media(max-width:420px){.hero h1{font-size:44px}.brand{font-size:24px}.facts strong{font-size:32px}footer{grid-template-columns:1fr}.booking h2{letter-spacing:-1.8px}}
