
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@400;500;600;700&display=swap');
:root{--cream:#fbf6f1;--paper:#fffdfb;--ink:#2b2222;--muted:#806f6d;--pink:#c87983;--blush:#ead0d0;--gold:#b58a55;--line:#e7dcd7;--dark:#302526}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{height:78px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 5vw;background:rgba(255,253,251,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark,.footer-mark{font:600 31px/.8 "Playfair Display";letter-spacing:-.08em}.brand-name{font-size:9px;font-weight:700;letter-spacing:.32em;color:var(--pink)}
.desktop-nav{display:flex;justify-content:center;gap:34px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.desktop-nav a:hover{color:var(--pink)}
.header-book{font-size:10px;font-weight:700;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding:8px 0}.header-book span{color:var(--pink)}.menu-button{display:none}
.hero{height:calc(100vh - 78px);min-height:650px;position:relative;overflow:hidden;background:#bdaaaa}.hero-image{object-position:center 55%;filter:saturate(.84)}.hero-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,25,26,.67),rgba(37,25,26,.12) 70%,rgba(37,25,26,.18))}
.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-46%);color:#fff;max-width:680px}.eyebrow-light,.section-tag{font-size:9px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.eyebrow-light{margin-bottom:25px;color:#f8dede}
.hero h1{font:500 clamp(66px,9vw,135px)/.83 "Playfair Display";letter-spacing:-.065em;margin:0}.hero h1 em{color:#f0c4c6;font-style:italic}.hero-copy>p:not(.eyebrow-light){font-size:15px;line-height:1.8;max-width:430px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:25px}.gold-button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--gold);color:#fff;border:0;padding:15px 22px;border-radius:2px;font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.05)}.text-button{font-size:10px;letter-spacing:.12em;font-weight:700;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:7px}.hero-badge{position:absolute;right:5vw;bottom:35px;width:125px;height:125px;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.hero-badge strong{font:500 31px "Playfair Display"}.hero-badge span{font-size:9px;letter-spacing:2px;color:#f2c4c5}.hero-badge small{font-size:6px;letter-spacing:1px;margin-top:4px}
.welcome{display:grid;grid-template-columns:42% 58%;min-height:650px;background:var(--paper)}.welcome-photo{height:650px;padding:7vw 0 7vw 7vw}.welcome-copy{padding:12vw 9vw 10vw 8vw;max-width:760px}.section-tag{color:var(--pink);margin:0 0 22px}.welcome h2,.section-heading h2,.gallery-title h2,.booking-intro h2{font:500 clamp(50px,6vw,86px)/.92 "Playfair Display";letter-spacing:-.055em;margin:0}.welcome h2 em,.section-heading h2 em,.gallery-title h2 em,.booking-intro h2 em{color:var(--pink);font-style:italic}.welcome-copy>p:not(.section-tag){color:var(--muted);line-height:1.9;max-width:500px;margin-top:30px}.mini-points{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:55px;border-top:1px solid var(--line);padding-top:18px}.mini-points span{font-size:9px;color:var(--pink)}.mini-points b{display:block;color:var(--ink);font-size:10px;margin-top:8px}
.services{padding:115px 7vw;background:#f2e8e4}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading>p{max-width:290px;color:var(--muted);font-size:12px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.service-card{min-height:220px;background:var(--paper);border:1px solid var(--line);text-align:left;padding:28px 24px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.service-card:hover{transform:translateY(-5px);border-color:var(--pink);box-shadow:0 15px 35px rgba(80,50,50,.08)}.service-card span{font-size:8px;font-weight:700;letter-spacing:.2em;color:var(--pink)}.service-card strong{font:500 29px "Playfair Display";line-height:1.05}.service-card small{color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:10px}.service-card i{font-size:18px;color:var(--gold);font-style:normal}
.gallery{display:grid;grid-template-columns:28% 42% 30%;min-height:690px;background:var(--dark);color:#fff}.gallery-title{padding:120px 5vw}.gallery-title .section-tag{color:#e9b8bb}.gallery-title h2{font-size:65px}.gallery-title>p:last-child{color:#c9b9b7;font-size:12px;line-height:1.8;margin-top:30px;max-width:250px}.gallery-main{height:690px}.gallery-small{display:grid;grid-template-rows:1fr 1fr;height:690px}.gallery-main img,.gallery-small img{filter:saturate(.86)}.gallery-small img:first-child{object-position:center 35%}
.quote{text-align:center;padding:105px 20px;background:var(--paper)}.quote>span{color:var(--gold);font-size:20px}.quote p{font:italic 500 clamp(29px,4vw,54px)/1.1 "Playfair Display";max-width:850px;margin:20px auto}.quote small{font-size:8px;letter-spacing:.25em;color:var(--pink)}
.booking{display:grid;grid-template-columns:45% 55%;background:#ead8d5}.booking-intro{padding:110px 8vw 110px 7vw}.booking-intro>p:not(.section-tag){color:#705e5d;line-height:1.8;max-width:390px;margin-top:30px}.contact-card{margin-top:50px;border-top:1px solid rgba(60,35,35,.18);padding-top:18px;display:flex;flex-direction:column;gap:6px}.contact-card span{font-size:8px;letter-spacing:.18em;color:var(--pink);font-weight:700}.contact-card a{font:500 24px "Playfair Display"}.contact-card small{font-size:9px;color:#806f6d}.booking-form{background:var(--paper);margin:55px 7vw 55px 0;padding:45px;box-shadow:0 20px 55px rgba(75,45,45,.08)}.form-title{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:25px}.form-title span{color:var(--pink);font-size:9px;font-weight:700}.form-title h3{font:500 28px "Playfair Display";margin:0}label{display:block;font-size:9px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;margin:16px 0;color:#6e5b5b}input,select,textarea{width:100%;margin-top:8px;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;outline:none;color:var(--ink);font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--pink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gold-button.full{width:100%;margin-top:18px}.form-status{font-size:11px;line-height:1.5;margin-top:14px}.form-status.success{color:#56805d}.form-status.error{color:#a54d55}
.footer{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:35px;padding:50px 7vw;background:#302526;color:#eee2df;align-items:start}.footer-mark{color:#fff}.footer p{font-size:9px;color:#bca9a7}.footer div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer strong{font-size:8px;letter-spacing:.18em;color:#d9a5a8}.footer span{font-size:9px;color:#bca9a7;line-height:1.6}.footer>a{font-size:8px;letter-spacing:.15em;color:#d9a5a8}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-book{display:none}.menu-button{display:block;background:none;border:0;font-size:21px}.hero{min-height:680px}.hero-copy{left:7vw;right:7vw}.hero h1{font-size:70px}.hero-badge{right:7vw;bottom:25px;width:100px;height:100px}.welcome{grid-template-columns:1fr}.welcome-photo{height:430px;padding:0}.welcome-copy{padding:75px 7vw}.service-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery-title{padding:75px 7vw}.gallery-main{height:470px}.gallery-small{height:420px;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.booking{grid-template-columns:1fr}.booking-form{margin:0 7vw 70px}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero h1{font-size:57px}.hero-copy>p:not(.eyebrow-light){font-size:13px}.hero-actions{gap:15px}.welcome-copy{padding:65px 7vw}.mini-points{grid-template-columns:1fr}.services,.booking-intro{padding:75px 7vw}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:180px}.gallery-title h2{font-size:55px}.booking-form{margin:0 5vw 60px;padding:28px}.form-row{grid-template-columns:1fr}.footer{grid-template-columns:1fr;gap:25px}.hero-badge{display:none}}
