:root{--ink:#1e201a;--cream:#f5f2e9;--paper:#eeeadf;--olive:#777b4a;--rust:#bd6349;--muted:#858579;--line:rgba(30,32,26,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:700;letter-spacing:.13em}.brand small{display:block;font-size:8px;letter-spacing:.26em;margin-top:4px;color:var(--muted)}.brand-mark{height:37px;width:37px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:600 13px var(--serif);letter-spacing:-.06em}.main-nav{display:flex;align-items:center;gap:35px;font-size:11px;font-weight:600}.main-nav>a:not(.nav-book){color:#5d5e54;transition:color .2s}.main-nav>a:hover{color:var(--rust)}.nav-book{padding:13px 18px;background:var(--ink);color:var(--cream)}.nav-book span,.button span{margin-left:11px}.menu-toggle{display:none}.hero{min-height:610px;height:calc(100vh - 86px);max-height:820px;display:grid;grid-template-columns:1fr 1fr;position:relative;padding:0 9.5% 45px 12.1%;align-items:center;gap:4%}.hero-copy{max-width:520px;padding-top:10px}.eyebrow,.section-kicker{font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--olive)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 25px}.eyebrow-line{width:30px;height:1px;background:var(--olive)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(54px,6vw,83px);line-height:1.04;margin-bottom:23px}h1 em,h2 em{font-weight:500;color:var(--rust)}.hero-intro{font-size:13px;line-height:1.8;color:#66665d;max-width:390px;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;padding:16px 20px;font-size:10px;font-weight:700;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--ink);color:var(--cream)}.button-light:hover{background:var(--olive)}.text-link{font-size:10px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{margin-left:10px}.hero-note{font-size:8px;letter-spacing:.16em;color:var(--muted);font-weight:700;margin-top:60px;display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#7d9861}.hero-visual{position:relative;width:100%;max-width:500px;justify-self:end}.image-frame{height:min(66vh,530px);min-height:400px;position:relative;padding:10px;border:1px solid #b5b49f}.image-frame img{height:100%;width:100%;display:block;object-fit:cover;filter:saturate(.73)}.frame-label{position:absolute;bottom:24px;left:25px;background:var(--cream);padding:10px 12px;font-size:8px;letter-spacing:.16em;font-weight:700}.image-stamp{position:absolute;left:-40px;top:12%;width:89px;height:89px;background:var(--olive);color:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;transform:rotate(-13deg)}.image-stamp span{font-size:24px}.image-stamp small{font-size:7px;letter-spacing:.12em;line-height:1.5}.hero-vertical{position:absolute;right:-30px;top:34%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:var(--muted)}.scroll-cue{position:absolute;bottom:34px;left:12.1%;font-size:8px;letter-spacing:.15em;font-weight:700;color:var(--muted)}.scroll-cue span{font-size:14px;margin-left:12px;color:var(--rust)}.section-wrap{padding:105px 12.1%}.intro{background:var(--paper)}.section-kicker{display:flex;justify-content:space-between}.section-kicker span{color:var(--muted);font-size:8px}.intro-content{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;padding:40px 0 55px;align-items:end}.intro h2,.services h2,.gallery h2{font-size:clamp(38px,4.3vw,58px);line-height:1.12;margin:0}.intro-copy{max-width:385px}.intro-copy p,.services-heading>p{font-size:12px;line-height:1.9;color:#69695f;margin-bottom:20px}.dark-link{color:var(--ink)}.values-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:25px}.values-row>div{display:flex;align-items:flex-start;gap:12px}.values-row>div>span:first-child{font-size:9px;color:var(--rust);font-weight:700}.values-row p{font-size:10px;line-height:1.6;font-weight:600;margin:0}.rating{justify-content:flex-end;align-items:center!important}.rating strong{font:500 33px var(--serif)}.rating>span{font-size:9px;color:var(--rust);letter-spacing:.12em}.rating small{display:block;font:700 7px var(--sans);color:var(--muted);letter-spacing:.15em;margin-top:5px}.services{background:var(--cream)}.services-heading{display:flex;justify-content:space-between;align-items:end;margin:36px 0 24px}.services-heading>p{max-width:300px;margin-bottom:5px}.service{display:grid;grid-template-columns:55px 1fr 90px 70px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-num{font-size:9px;color:var(--rust);font-weight:700}.service h3{font:500 22px var(--serif);margin:0 0 4px}.service p{font-size:10px;color:var(--muted);margin:0}.duration{font-size:8px;letter-spacing:.12em;color:var(--muted)}.service strong{font:500 22px var(--serif);text-align:right}.service-footnote{font-size:9px;color:var(--muted);margin-top:18px}.quote-band{background:var(--olive);color:var(--cream);text-align:center;padding:74px 20px 68px}.quote-star{font-size:25px;color:#e3b29c}.quote-band blockquote{font:500 clamp(25px,3.5vw,39px)/1.35 var(--serif);letter-spacing:-.025em;margin:17px 0}.quote-band>p{font-size:8px;letter-spacing:.18em;margin:0;color:#dfdfce}.quote-band>p span{color:#e1b09a;margin:0 6px}.gallery{padding-top:100px;padding-bottom:110px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin:37px 0 32px}.gallery-heading .text-link{margin-bottom:7px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.gallery-grid img{width:100%;height:340px;object-fit:cover;filter:saturate(.75)}.gallery-grid img:nth-child(2){margin-top:32px}.gallery-grid img:nth-child(3){margin-top:64px}.visit{background:var(--ink);color:var(--cream);padding:95px 12.1%;display:grid;grid-template-columns:1fr 1fr;gap:15%;align-items:center}.visit .section-kicker{color:#b9ba91}.visit h2{font-size:clamp(55px,6vw,78px);line-height:1.03;margin:35px 0 17px}.visit h2 em{color:#d28970}.visit-left>p{font-size:11px;color:#bebeb2;margin-bottom:28px}.visit .button-light{background:var(--cream);color:var(--ink)}.visit .button-light:hover{background:#d7d6c2}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;padding-top:30px}.detail-block>span{font-size:8px;color:#b9ba91;font-weight:700;letter-spacing:.15em}.detail-block p{font-size:11px;line-height:1.9;color:#e3e1d8;margin:12px 0 8px}.detail-block p b{font-weight:500;color:#aaa996;margin-left:8px}.detail-block>a{font-size:9px;color:#d28970;border-bottom:1px solid #9f6755;padding-bottom:4px}.detail-block p a{color:inherit}.footer{height:93px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;background:#171814;color:#c7c6bb}.footer-brand{font-size:9px}.footer-brand small{color:#88887d}.footer-brand .brand-mark{border-color:#8a8a7d;color:#e1dfd3;width:32px;height:32px;font-size:11px}.footer>p,.footer>span{font-size:7px;letter-spacing:.15em;color:#929187;margin:0}.footer>p{margin-left:auto;margin-right:48px}
@media(max-width:900px){.site-header{padding:0 5%}.main-nav{gap:20px}.hero{padding-left:8%;padding-right:8%;gap:3%}.hero-vertical{right:-22px}.section-wrap{padding-left:8%;padding-right:8%}.visit{padding-left:8%;padding-right:8%;gap:8%}.scroll-cue{left:8%}.image-frame{min-height:360px}.gallery-grid img{height:280px}}
@media(max-width:650px){.site-header{height:72px}.menu-toggle{display:flex;border:0;background:none;padding:9px;flex-direction:column;gap:5px}.menu-toggle span{width:22px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:23px 6%;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.main-nav.open{display:flex}.nav-book{width:100%;text-align:center}.hero{height:auto;max-height:none;min-height:0;padding:60px 7% 75px;grid-template-columns:1fr;gap:43px}.hero-copy{padding:0}.eyebrow{margin-bottom:18px}h1{font-size:56px}.hero-intro{font-size:12px}.hero-note{margin-top:30px}.hero-visual{width:85%;justify-self:center;margin:0 10px 0 0}.image-frame{height:430px;min-height:0}.image-stamp{left:-30px}.hero-vertical{right:-24px}.scroll-cue{left:7%;bottom:25px}.section-wrap{padding:72px 7%}.intro-content{grid-template-columns:1fr;gap:24px;padding:28px 0 38px}.intro h2,.services h2,.gallery h2{font-size:43px}.intro-copy{max-width:480px}.values-row{grid-template-columns:1fr 1fr;gap:22px;padding-top:22px}.rating{justify-content:flex-start}.services-heading{display:block;margin:28px 0 24px}.services-heading>p{margin-top:14px}.service{grid-template-columns:32px 1fr 55px 47px;gap:8px;padding:17px 0}.service h3{font-size:19px}.service p{font-size:9px;line-height:1.5}.duration{font-size:7px}.service strong{font-size:19px}.quote-band{padding:59px 16px}.quote-band blockquote br{display:none}.gallery-heading{display:block;margin:28px 0}.gallery-heading .text-link{display:inline-block;margin-top:22px}.gallery-grid{gap:8px}.gallery-grid img{height:210px}.gallery-grid img:nth-child(2){margin-top:20px}.gallery-grid img:nth-child(3){margin-top:40px}.visit{padding:73px 7%;grid-template-columns:1fr;gap:45px}.visit h2{font-size:64px;margin:25px 0 14px}.visit-details{gap:25px 20px}.footer{padding:20px 6%;height:auto;min-height:88px;gap:14px;flex-wrap:wrap}.footer>p{margin:0 0 0 auto}.footer>span{width:100%;text-align:right}.footer-brand{font-size:8px}}
@media(max-width:390px){.hero-actions{gap:16px}.button{padding:14px 13px;font-size:9px}.text-link{font-size:9px}.gallery-grid img{height:160px}.service{grid-template-columns:23px 1fr 43px 40px;gap:6px}.service p{max-width:190px}}
.booking{background:#e7e4d8}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;margin-top:36px}.booking h2{font-size:clamp(42px,5vw,65px);line-height:1.08;margin:0 0 18px}.booking-layout>div>p{font-size:11px;line-height:1.8;color:#69695f;max-width:300px}.booking-form{display:grid;gap:15px}.booking-form label{display:grid;gap:7px;font-size:9px;font-weight:700;letter-spacing:.04em}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #c9c6b8;background:rgba(255,255,255,.42);border-radius:0;padding:12px 11px;font:400 11px var(--sans);color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--olive)}.booking-form textarea{resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#a09f93}.booking-form .optional{font-weight:500;color:var(--muted);font-size:7px;margin-left:5px}.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.booking-form button{border:0;cursor:pointer;justify-self:start}.booking-message{font-size:9px;line-height:1.6;color:#77786b;margin:0}
@media(max-width:650px){.booking-layout{grid-template-columns:1fr;gap:24px;margin-top:28px}.booking h2{font-size:48px}.booking-form{gap:13px}}
.booking-message{min-height:1.5em}.booking-form button:disabled{opacity:.6;cursor:wait}.owner-page{background:var(--cream);min-height:100vh}.owner-wrap{max-width:980px;margin:0 auto;padding:70px 7%}.owner-wrap h1{margin:28px 0 35px;font-size:clamp(45px,7vw,74px)}.owner-login{max-width:400px;display:grid;gap:14px}.owner-login label{display:grid;gap:8px;font-size:10px;font-weight:700}.owner-login input{padding:13px;border:1px solid var(--line);background:var(--paper);font:12px var(--sans)}.owner-login button{justify-self:start;border:0;cursor:pointer}.owner-error{color:#a34331;font-size:11px;min-height:1em}.owner-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:10px}.owner-toolbar h2{font:500 27px var(--serif);margin:0}.owner-toolbar button{border:0;cursor:pointer}.owner-booking{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.owner-booking h3{font:500 19px var(--serif);margin:0 0 5px}.owner-booking p{font-size:10px;line-height:1.6;color:#68685e;margin:3px 0}.cancel-booking{border:1px solid #a85a44;background:transparent;color:#a85a44;padding:10px 12px;font:700 9px var(--sans);cursor:pointer;white-space:nowrap}.cancel-booking:hover{background:#a85a44;color:white}.empty-bookings{font-size:12px;color:var(--muted);padding:20px 0}@media(max-width:600px){.owner-wrap{padding:45px 7%}.owner-booking{align-items:flex-start;flex-direction:column}.owner-toolbar{gap:12px}}
.photo-placeholder{height:340px;background:#d9d6c9;border:1px dashed #a8a593;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#77786b;gap:9px}.photo-placeholder span{font-size:8px;font-weight:700;letter-spacing:.18em}.photo-placeholder small{font:400 10px var(--sans);color:#89897c}.hero-placeholder{height:100%;background:linear-gradient(145deg,#dbd7c8,#c8c6b4)}.gallery-grid .photo-placeholder:nth-child(2){margin-top:32px}.gallery-grid .photo-placeholder:nth-child(3){margin-top:64px}@media(max-width:900px){.gallery-grid .photo-placeholder{height:280px}}@media(max-width:650px){.gallery-grid .photo-placeholder{height:210px}.gallery-grid .photo-placeholder:nth-child(2){margin-top:20px}.gallery-grid .photo-placeholder:nth-child(3){margin-top:40px}}@media(max-width:390px){.gallery-grid .photo-placeholder{height:160px}}
.social-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.social-links .text-link{display:inline-block}
@media(max-width:650px){.social-links{gap:18px}}
