:root{--ink:#171512;--paper:#f5f0e8;--sand:#ded4c6;--gold:#ae8b53;--muted:#726b63;--line:#d5ccc0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}header{height:86px;padding:18px 5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgb(245 240 232/.94);backdrop-filter:blur(14px);z-index:10}.brand{font-family:Italiana,serif;font-size:39px;letter-spacing:-1px;line-height:.7;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}.brand span{font-family:"DM Sans",sans-serif;font-size:8px;font-weight:600;letter-spacing:4px;margin-top:15px}.nav-toggle{display:none;background:none;border:0;font:inherit}nav{display:flex;gap:25px;align-items:center}nav a,footer a{color:var(--ink);text-decoration:none;font-size:13px}.nav-book{border-bottom:1px solid var(--ink);padding-bottom:3px}.hero{padding:50px 5vw 76px;display:grid;grid-template-columns:1fr 1.03fr;gap:7vw;align-items:center;max-width:1500px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin:0 0 18px;color:var(--muted)}h1,h2{font-family:Italiana,serif;font-weight:400;letter-spacing:-1.4px;line-height:.95;margin:0}h1{font-size:clamp(60px,7vw,106px)}h1 i{font-weight:400;color:var(--gold)}h2{font-size:clamp(44px,5.5vw,76px)}.hero-copy>p:not(.eyebrow){max-width:420px;margin:28px 0;color:var(--muted)}.hero-image{margin:0;position:relative;height:min(68vw,620px);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(18%) contrast(1.04);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.hero-image:hover img{transform:scale(1.045)}figcaption{position:absolute;right:15px;bottom:12px;color:#fff;font-size:11px;letter-spacing:1px}.button{display:inline-flex;align-items:center;gap:30px;justify-content:space-between;text-decoration:none;border:1px solid var(--ink);padding:14px 16px;min-height:48px;font:600 12px "DM Sans";letter-spacing:.3px;cursor:pointer;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button b,.text-link b{font-size:18px;font-weight:400}.button.gold{background:var(--gold);border-color:var(--gold);color:#fff}.button.dark{background:var(--ink);color:var(--paper)}.intro{padding:125px 5vw;max-width:830px;text-align:center;margin:auto}.intro p:last-child{margin:25px auto 0;max-width:580px;color:var(--muted)}.services,.shop{padding:100px 5vw;background:#e8e0d5}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.text-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:13px}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:1.6fr .5fr .45fr .2fr;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0;transition:padding .25s}.service-row:hover{padding-left:12px}.service-row p{margin:0;font-size:12px;color:var(--muted)}.service-row h3{font:400 28px Italiana;margin:0}.service-row button{background:none;border:0;font-size:23px;cursor:pointer}.gallery{display:grid;grid-template-columns:1fr 1.05fr 1fr;min-height:680px}.gallery>div{overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;display:block}.gallery-b{padding:10vw 5vw;background:#c6b9a8;display:flex;flex-direction:column;justify-content:center}.gallery-b p:not(.eyebrow){color:#443d36}.gallery-b img{height:165px;margin-top:32px;object-position:center;transition:transform .6s}.gallery-b:hover img{transform:scale(1.07)}.booking{padding:110px 5vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;max-width:1500px;margin:auto}.booking-copy p:not(.eyebrow){color:var(--muted);max-width:370px}.booking-note{font-size:12px;border-left:2px solid var(--gold);padding-left:12px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.booking-form label,.booking-form fieldset{font-size:11px;letter-spacing:.7px;text-transform:uppercase}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font:15px "DM Sans";outline:none;resize:vertical}.booking-form fieldset{grid-column:1/-1;margin:0;padding:0;border:0}.booking-form legend{margin-bottom:10px}.slots{display:flex;gap:8px;flex-wrap:wrap}.slot{background:transparent;border:1px solid var(--line);padding:9px 12px;font:13px "DM Sans";cursor:pointer}.slot.active,.slot:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.details{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.details label:nth-child(3),.details label:nth-child(4){grid-column:1/-1}.consent{grid-column:1/-1;display:flex;gap:8px;align-items:start;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}.consent input{width:auto!important;margin-top:3px}.booking-form .button{grid-column:1/-1}.booking-form #booking-message{grid-column:1/-1;margin:0;font-size:13px;color:#73501a}.reviews{padding:110px 5vw;background:var(--ink);color:var(--paper)}.reviews .eyebrow{color:#bdb1a1}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.review-grid blockquote{margin:0;border-top:1px solid #756d62;padding:20px 0;font:26px/1.12 Italiana}.review-grid cite{display:block;font:11px "DM Sans";letter-spacing:1px;text-transform:uppercase;color:#bdb1a1;margin-top:28px}.shop{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.product-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.product img{width:100%;height:300px;object-fit:cover;background:#ddd}.product h3{font:400 28px Italiana;margin:13px 0 3px}.product p{font-size:12px;margin:0;color:var(--muted)}.visit{padding:120px 5vw;display:flex;justify-content:space-between;align-items:end;gap:30px}.visit p:not(.eyebrow){color:var(--muted)}footer{border-top:1px solid var(--line);padding:35px 5vw;display:flex;align-items:end;justify-content:space-between;gap:20px}footer div{display:flex;gap:17px}footer p{font-size:10px;color:var(--muted);margin:0}@media(max-width:760px){header{height:75px}.brand{font-size:31px}.brand span{font-size:6px;letter-spacing:3px;margin-top:12px}.nav-toggle{display:block}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 5vw;border-bottom:1px solid var(--line);flex-direction:column;align-items:start}nav.open{display:flex}.hero,.booking,.shop{grid-template-columns:1fr;padding-top:38px}.hero{gap:35px}.hero-image{height:118vw}.intro,.services,.booking,.reviews,.shop,.visit{padding-top:75px;padding-bottom:75px}.section-head{align-items:start;gap:20px}.service-row{grid-template-columns:1fr auto;gap:3px}.service-row p:nth-of-type(1){grid-column:1}.service-row p:nth-of-type(2){grid-column:2;grid-row:1}.service-row button{grid-column:2;grid-row:2}.gallery{grid-template-columns:1fr 1fr;min-height:0}.gallery-a{height:105vw}.gallery-b{padding:45px 25px}.gallery-b img{height:110px}.gallery-c{grid-column:1/-1;height:80vw}.booking-form{grid-template-columns:1fr}.details{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-grid blockquote{font-size:25px}.shop{gap:45px}.visit{display:block}.visit .button{margin-top:22px}footer{display:block}footer div{margin:25px 0;flex-wrap:wrap}}
.product{display:flex;flex-direction:column}.product-list .product>img{height:370px;object-fit:contain;background:#e2d9ce;padding:22px;mix-blend-mode:multiply;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.product-list .product:hover>img{transform:scale(1.045)}.product-list .product h3{margin-top:16px}.product-list .product p{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:13px}@media(max-width:760px){.product-list .product>img{height:330px}}
footer a[href="/admin"]{display:none}
footer a[href="/bookings"]{display:none}
.review-grid cite{font-size:0!important}.review-grid cite::before{content:'★★★★★';display:block;color:var(--gold);font:16px/1 Arial,sans-serif;letter-spacing:3px;margin-bottom:9px}.review-grid cite::after{font:11px "DM Sans",sans-serif;letter-spacing:1px;text-transform:uppercase;color:#bdb1a1}.review-grid blockquote:nth-child(1) cite::after{content:'Penelope A.'}.review-grid blockquote:nth-child(2) cite::after,.review-grid blockquote:nth-child(3) cite::after{content:'Fabulash client'}
