:root{--espresso:#211309;--brown:#432819;--gold:#d2a16c;--cream:#f7f1e9;--sand:#ead9c6;--ink:#2b1c12;--muted:#735f50;--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)}a{color:inherit;text-decoration:none}.header{height:82px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:var(--espresso);position:sticky;top:0;z-index:10}.brand img{width:175px;max-height:58px;object-fit:contain}.nav{display:flex;gap:36px;color:#f4e9dd;font-size:14px}.nav a:hover,.text-link:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:10px}.header-cta{border:1px solid #a9794d;color:#f6e8d9;border-radius:30px;padding:12px 20px;font-size:13px}.instagram-cta{background:rgba(210,161,108,.12)}.header-cta span,.button span{margin-left:18px}.menu-toggle{display:none}.hero{min-height:610px;background:var(--espresso);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;padding:44px 7vw 55px;gap:5vw;align-items:center}.hero-copy{max-width:540px}.eyebrow{letter-spacing:.22em;font-size:10px;font-weight:700;color:var(--gold)}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1}h1{font-size:clamp(48px,6vw,82px);margin:24px 0}h1 em,h2 em{color:var(--gold);font-style:italic}.lead{color:#dfd0c0;line-height:1.8;max-width:440px}.button{display:inline-block;padding:17px 23px;border-radius:4px;font-weight:600;font-size:14px;margin-top:20px}.button-gold{background:var(--gold);color:var(--espresso)}.hero-note{display:flex;align-items:center;gap:14px;margin-top:40px;color:#d5c5b5;font-size:12px}.hero-note img{width:32px;height:32px;object-fit:contain;filter:brightness(0) invert(1)}.hero-photo{height:500px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;border-radius:160px 160px 3px 3px}.photo-caption{position:absolute;right:-16px;bottom:25px;background:var(--gold);color:var(--espresso);padding:14px 20px;font-family:var(--serif);font-style:italic}.section{padding:100px 8vw}.section-head{text-align:center;max-width:620px;margin:0 auto 50px}.section-head h2,.about h2,.contact h2{font-size:clamp(36px,4.5vw,56px);margin:15px 0}.section-head>p:last-child{color:var(--muted);line-height:1.7}.services{background:var(--sand)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1120px;margin:auto}.service-card{background:var(--cream);padding:32px;min-height:250px;position:relative;border-bottom:2px solid var(--gold)}.number{font-size:11px;color:#a98564}.icon{font-family:var(--serif);color:#946942;font-size:35px;margin-top:15px}.service-card h3{font-family:var(--serif);font-weight:500;font-size:24px}.service-card p,.service-photo{padding:14px;min-height:0}.service-photo img{width:100%;height:230px;object-fit:cover;display:block;margin-bottom:17px}.service-photo h3{margin:0 0 4px}.service-footnote{font-size:14px;line-height:1.7;color:var(--muted)}.service-photo{padding:14px;min-height:0}.service-photo img{width:100%;height:230px;object-fit:cover;display:block;margin-bottom:17px}.service-photo h3{margin:0 0 4px}.service-footnote{text-align:center;margin:28px auto 0}.about{display:grid;grid-template-columns:1fr 1fr;min-height:540px;background:var(--cream)}.about-image img{width:100%;height:100%;max-height:650px;object-fit:cover;object-position:center 28%}.about-copy{padding:80px 10vw 70px 7vw;position:relative;align-self:center}.about-copy p:not(.eyebrow){line-height:1.85;color:var(--muted);max-width:490px}.text-link{display:inline-block;margin-top:20px;font-size:14px;font-weight:700}.text-link span{margin-left:20px}.about-mark{position:absolute;width:105px;right:8%;bottom:5%;opacity:.13}.gallery{background:#fffaf4}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:auto}.gallery-grid img{width:100%;height:360px;object-fit:cover;object-position:center 25%}.contact{text-align:center;background:var(--brown);color:var(--cream);padding:85px 20px;position:relative;overflow:hidden}.contact p:not(.eyebrow){color:#e3d4c6;line-height:1.7}.contact-mark{position:absolute;width:180px;left:7%;top:20%;opacity:.12;filter:brightness(0) invert(1)}.button-dark{background:var(--gold);color:var(--espresso)}.button-instagram{border:1px solid var(--gold);color:var(--cream);margin-left:10px}.social-link{display:block;color:#f0d0ab;margin:18px auto 0;font-size:13px}.contact small{display:block;margin-top:16px;color:#d1bdab;font-size:11px}footer{background:var(--espresso);color:#d9c9b9;padding:28px 7vw;display:flex;align-items:center;justify-content:space-between;font-size:12px}footer img{width:175px;max-height:56px;object-fit:contain}footer p{margin:0}@media(max-width:760px){.header{height:70px;padding:0 5vw}.brand img{width:145px}.menu-toggle{display:block;border:0;background:none;color:var(--cream);font-size:25px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--espresso);padding:20px 7vw 28px;flex-direction:column;gap:20px}.nav.open{display:flex}.header-actions{display:none}.hero{grid-template-columns:1fr;padding:55px 7vw 40px;gap:30px}.hero-photo{height:390px;grid-row:1}.hero-copy{grid-row:2}.hero-note{margin-top:24px}.section{padding:70px 6vw}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-photo img{height:250px}.about{grid-template-columns:1fr}.about-image{height:400px}.about-copy{padding:55px 8vw 75px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:260px}.gallery-grid img:last-child{display:none}.contact-mark{width:100px;left:-10px;top:20px}footer{flex-direction:column;gap:12px;text-align:center}footer img{width:155px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.booking{background:#fffaf4}.booking-panel{max-width:760px;margin:auto;padding:34px;background:#fff;border:1px solid #ead9c6;box-shadow:0 18px 50px #43281912}.field-label,.booking-details>label{display:block;font-size:13px;font-weight:700;color:var(--brown);margin:20px 0 10px}.booking-panel select,.booking-details input{width:100%;padding:14px 15px;border:1px solid #d9c6b3;background:#fffaf4;color:var(--ink);font:inherit;border-radius:3px}.day-list,.time-list{display:flex;flex-wrap:wrap;gap:9px}.day-button,.time-button{border:1px solid #d9c6b3;background:#fffaf4;color:var(--ink);padding:11px 14px;border-radius:3px;font:inherit;cursor:pointer}.day-button span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.day-button.selected,.time-button.selected{background:var(--brown);border-color:var(--brown);color:#fff}.day-button.selected span{color:#e4c6a5}.time-button:disabled{opacity:.42;cursor:not-allowed;text-decoration:line-through}.booking-hint{font-size:13px;line-height:1.65;color:var(--muted)}.booking-details{margin-top:30px;padding-top:12px;border-top:1px solid #ead9c6}.booking-details h3{font-family:var(--serif);font-size:25px;font-weight:400}.booking-details input{display:block;margin-top:8px}.booking-details .button{border:0;cursor:pointer}.booking-details .button:disabled{opacity:.6;cursor:wait}.booking-whatsapp{display:block;margin-top:28px;padding-top:22px;border-top:1px solid #ead9c6;color:var(--brown);font-size:13px;font-weight:700}.booking-whatsapp span{margin-left:8px}.booking-result{margin-top:22px;padding:17px;background:#f4eadf;color:var(--brown);line-height:1.65}.booking-result a{display:inline-block;margin-top:10px;text-decoration:underline;font-weight:700}.booking-details[hidden],.booking-result[hidden]{display:none}
@media(max-width:760px){.booking-panel{padding:22px 18px}.day-list,.time-list{gap:7px}.day-button,.time-button{padding:10px 11px;font-size:13px}}
