:root{--ink:#18342e;--cream:#f7f3ec;--sand:#e9dfd0;--orange:#d36f45;--white:#fffdf9;--muted:#65716b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}.container{width:min(1120px,calc(100% - 48px));margin:auto}.hero{min-height:720px;color:var(--white);background:linear-gradient(180deg,rgba(14,43,36,.28),rgba(14,43,36,.72)),linear-gradient(135deg,#6e8d7d,#254d43);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto -10% -220px 25%;height:480px;border-radius:50%;background:rgba(236,202,145,.17);filter:blur(3px)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.logo{font-family:'Playfair Display',serif;color:inherit;text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-1px}.logo span{color:#e8ba81}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{color:inherit;text-decoration:none;font-size:14px}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:9px 17px;border-radius:30px}.menu-button{display:none;background:none;border:0;color:white;font-size:25px}.hero-content{position:relative;z-index:1;padding-top:132px}.eyebrow{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 14px}.hero .eyebrow{color:#f6c990}.hero h1,h2{font-family:'Playfair Display',serif;letter-spacing:-1.4px;line-height:1.07;margin:0}.hero h1{font-size:clamp(45px,7vw,78px);max-width:780px}.hero-text{max-width:510px;font-size:18px;margin:28px 0 32px;color:#f4f0e8}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;border:0;border-radius:2px;padding:14px 20px;font:600 14px 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}.button span{font-size:19px}.button-light{background:var(--white);color:var(--ink)}.button-dark{background:var(--ink);color:white;margin-top:8px;width:100%}.button-dark:disabled{cursor:wait;opacity:.65}.hero-note{position:absolute;bottom:28px;right:5%;z-index:1;font-size:13px;letter-spacing:1px;text-transform:uppercase;opacity:.75}.intro{padding:115px 0 88px}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.intro h2,.gallery h2,.booking-copy h2{font-size:clamp(36px,4.5vw,55px)}.intro-grid p{margin:0 0 18px;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(4,1fr);margin-top:75px;border-top:1px solid #d8d2c8;padding-top:23px;gap:24px}.features div{display:flex;flex-direction:column}.features strong{font-size:17px}.features span{color:var(--muted);font-size:14px}.gallery{background:#eee7db;padding:100px 0}.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:42px}.gallery-heading>p{margin:0;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:195px 195px;gap:16px}.photo-placeholder{background:linear-gradient(135deg,#d9cdb9,#a6b5a9);min-height:150px;display:flex;align-items:flex-end;padding:20px;color:#fff;text-shadow:0 1px 4px #455}.photo-large{grid-row:span 2;background:linear-gradient(135deg,#789286,#c5ad87)}.booking-section{padding:110px 0;background:var(--cream)}.booking-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px}.booking-copy p:not(.eyebrow){color:var(--muted);max-width:380px}.small{font-size:13px;margin-top:35px}.booking-form{background:var(--white);padding:35px;box-shadow:0 12px 34px rgba(40,50,40,.08)}label{display:flex;flex-direction:column;font-size:13px;font-weight:600;margin-bottom:18px;color:var(--ink)}label span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;appearance:none;margin-top:6px;border:1px solid #d9d7d0;border-radius:1px;background:#fff;padding:11px 12px;color:var(--ink);font:400 15px 'DM Sans',sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid rgba(211,111,69,.35);outline-offset:1px;border-color:var(--orange)}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}#booking-status{min-height:24px;margin:14px 0 0;font-size:14px;color:var(--muted)}footer{background:var(--ink);color:#e8ece6;padding:66px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:55px}.footer-grid p{font-size:14px;color:#b8c3bd}.footer-grid a:not(.logo){color:#e8ece6;display:block;text-decoration:none;margin-bottom:5px}.footer-label{font-size:11px!important;text-transform:uppercase;letter-spacing:1.5px;color:#e8ba81!important;margin-top:0}.footer-bottom{margin-top:52px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;color:#b8c3bd}@media(max-width:720px){.container{width:min(100% - 32px,1120px)}.hero{min-height:650px}.nav-links{display:none;position:absolute;top:78px;right:0;background:var(--ink);padding:18px;flex-direction:column;align-items:stretch;min-width:180px}.nav-links.open{display:flex}.menu-button{display:block}.hero-content{padding-top:105px}.intro,.booking-section{padding:76px 0}.intro-grid,.gallery-heading,.booking-grid{grid-template-columns:1fr;gap:28px}.features{grid-template-columns:1fr 1fr;margin-top:46px;gap:24px}.gallery{padding:75px 0}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.photo-large{grid-row:auto;min-height:250px}.photo-placeholder{min-height:175px}.booking-form{padding:22px}.footer-grid{grid-template-columns:1fr;gap:26px}.field-row{grid-template-columns:1fr;gap:0}}
