@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Playfair+Display:wght@400;500&display=swap";:root{--color-bg: #F3EEE7;--color-text: #313131;--color-accent: #313131;--color-accent-text: #F3EEE7;--font-serif: "Playfair Display", serif;--font-sans: "Lato", sans-serif;--spacing-unit: 2rem}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:400;letter-spacing:.02em}a{text-decoration:none;color:inherit}header{position:fixed;top:0;left:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;background-color:transparent;transition:background-color .3s ease}header.scrolled{background-color:var(--color-bg);border-bottom:1px solid rgba(0,0,0,.05)}.logo{font-family:var(--font-sans);font-size:1.2rem;text-transform:uppercase;letter-spacing:.2rem;font-weight:400;position:absolute;left:50%;transform:translate(-50%)}.menu-icon{font-size:1.5rem;cursor:pointer}.reserve-btn{background-color:var(--color-accent);color:var(--color-accent-text);padding:.8rem 1.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;transition:opacity .3s;border:none;cursor:pointer}.reserve-btn:hover{opacity:.9}.hero{height:100vh;width:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:1}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;color:var(--color-text);max-width:800px;padding:0 2rem}.hero h1{font-size:3.5rem;margin-bottom:1rem;line-height:1.2}.hero p{font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase}section{padding:6rem 3rem;max-width:1400px;margin:0 auto}.intro{text-align:center;padding-top:8rem}.intro h2{font-size:3rem;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.intro-text-columns{display:grid;grid-template-columns:1fr 1fr;gap:4rem;text-align:left;max-width:1000px;margin:0 auto;font-size:1.1rem}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.card{position:relative;height:600px;background-color:#e5dfd6;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover img{transform:scale(1.05)}.card-caption{position:absolute;bottom:2rem;left:2rem;font-family:var(--font-serif);font-size:1.5rem;color:var(--color-text)}footer{padding:4rem 3rem;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;font-size:.9rem}.footer-brand{text-transform:uppercase;letter-spacing:.1em}@media (max-width: 768px){header{padding:1.5rem}.logo{position:static;transform:none}.hero h1{font-size:2.5rem}.intro-text-columns{grid-template-columns:1fr;gap:2rem}.gallery{grid-template-columns:1fr}section{padding:4rem 1.5rem}}.reserve-container{padding-top:8rem;padding-bottom:4rem;max-width:1200px;margin:0 auto;min-height:80vh}.reserve-content{text-align:center}.reserve-content h1{font-family:var(--font-serif);font-size:3rem;margin-bottom:.5rem}.reserve-subtitle{text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;margin-bottom:4rem;color:#666}.booking-interface{display:flex;gap:4rem;justify-content:center;align-items:flex-start;text-align:left;flex-wrap:wrap}.calendar-wrapper{flex:1;max-width:500px;background:#fff;padding:2rem;border:1px solid rgba(0,0,0,.05)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-header h2{font-family:var(--font-serif);font-size:1.5rem;margin:0}.cal-nav{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:0 1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;text-align:center}.cal-day-label{font-size:.8rem;text-transform:uppercase;color:#999;margin-bottom:1rem}.cal-date{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:all .2s;border-radius:50%}.cal-date:hover:not(.empty){background-color:#0000000d}.cal-date.selected{background-color:var(--color-text);color:#fff}.cal-date.in-range{background-color:#e5dfd6;border-radius:0}.cal-date.range-start{background-color:var(--color-text);color:#fff;border-radius:50% 0 0 50%}.cal-date.range-end{background-color:var(--color-text);color:#fff;border-radius:0 50% 50% 0}.cal-date.empty{cursor:default}.booking-sidebar{width:300px;padding:2rem;background-color:#fff;border:1px solid rgba(0,0,0,.05)}.date-display{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;border-bottom:1px solid #eee;padding-bottom:1.5rem}.date-group label,.guest-select label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#999;margin-bottom:.5rem}.date-value{font-family:var(--font-serif);font-size:1.1rem}.guest-select{margin-bottom:2rem}.guest-select select{width:100%;padding:.8rem;border:1px solid #ddd;background:none;font-family:var(--font-sans);font-size:1rem}.request-btn{width:100%;background-color:var(--color-accent);color:var(--color-accent-text);padding:1rem;border:none;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:opacity .3s}.request-btn:hover{opacity:.9}.terms-note{font-size:.8rem;color:#999;text-align:center;margin-top:1rem}
