@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap");:root{--ink:#171717;--muted:#777;--line:#e8e5df;--paper:#faf9f6;--gold:#b69b6a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}nav{height:78px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font-size:16px;font-weight:700;letter-spacing:3px}.brand span{font-weight:400}.eyebrow,.navlink{font-size:10px;letter-spacing:2px;font-weight:700}.hero{padding:105px 10vw 115px;background:#171717;color:#fff}.eyebrow{color:var(--gold)}h1{font-size:clamp(42px,7vw,86px);line-height:1.05;letter-spacing:-3px;margin:22px 0}h1,h1 em{font-weight:500}h1 em{font-family:Playfair Display,serif}.intro{max-width:480px;color:#c7c5c0;line-height:1.8}.cta{display:inline-flex;gap:35px;align-items:center;margin-top:25px;padding:17px 22px;background:var(--gold);border:0;color:#171717;font-size:11px;font-weight:700;letter-spacing:1.4px;cursor:pointer}.booking,.request{padding:85px 10vw}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}h2{font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-1.5px;margin:10px 0}.fine,.muted{color:var(--muted);font-size:13px;line-height:1.7}.calendar{max-width:650px;border:1px solid var(--line);padding:24px;background:white}.calhead{display:flex;justify-content:space-between;align-items:center}.calhead h3{font-family:Playfair Display,serif;font-size:23px;font-weight:500}.calhead button{border:0;background:none;font-size:28px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:7px;gap:7px}.grid b{text-align:center;font-size:9px;color:#999;padding:12px 0}.day{height:57px;border:1px solid transparent;background:#f7f6f3;cursor:pointer;position:relative;font:inherit}.day i,.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bbb}.day i{position:absolute;bottom:7px;left:calc(50% - 3px)}.day.available i{background:#26945e}.day.booked i,.day.partial i{background:#c58b35}.day.travel i{background:#3679c9}.day.unavailable i{background:#c64a43}.day.selected{border-color:#171717;background:#f0ece4}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}.legend span{font-size:10px;color:#777;display:flex;align-items:center;gap:6px}.green{background:#26945e}.amber{background:#c58b35}.blue{background:#3679c9}.red{background:#c64a43}.slots{max-width:650px;margin-top:25px}.slot{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line);font-size:13px}.slot span{color:#26945e;font-size:11px}.notice{padding:18px;background:#f0eee9;color:#777;font-size:13px}.request{background:#efede8}.request form{max-width:580px;display:grid;grid-gap:18px;gap:18px}.request label{display:grid;grid-gap:8px;gap:8px;font-size:12px;font-weight:600}.request input,.request select,.request textarea{width:100%;padding:14px;border:1px solid #d8d4cb;background:white;font:inherit;font-size:14px}.request textarea{min-height:110px;resize:vertical}.request .cta{justify-content:center}.fine{font-size:11px}.success{padding:25px;background:white;max-width:580px}footer{padding:30px 10vw;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;letter-spacing:1px}footer span{color:#777;letter-spacing:0}@media(max-width:650px){nav{padding:0 6vw}.booking,.hero,.request{padding:65px 6vw}.sectionhead{display:block}.calendar{padding:12px}.day{height:46px;font-size:12px}.legend{gap:10px}footer{padding:25px 6vw}}