@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#26352f;--cream:#faf7f0;--sage:#768c7a;--gold:#b68d57;--line:#e6e2d8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,.brand{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(3rem,6vw,6rem);line-height:1.08;margin:18px 0}h2{font-size:clamp(2.3rem,4vw,3.8rem);margin:10px 0 24px}p{line-height:1.75;color:#5d6960}.container{max-width:1200px;margin:auto;padding:0 24px}.topbar{background:#24372d;color:#e8e9dd;text-align:center;font-size:12px;letter-spacing:.14em;padding:10px}.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:22px}.brand{font-size:27px;letter-spacing:.14em}.brand img{max-height:60px;max-width:190px}.navlinks{display:flex;gap:27px;align-items:center}.navlinks a{font-size:13px;letter-spacing:.06em}.btn{background:#293c31;color:white;display:inline-block;padding:15px 26px;border:1px solid #293c31;font:600 12px 'DM Sans';letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.btn:hover{background:#425b49}.btn.light{background:transparent;color:#293c31}.hero{min-height:660px;display:grid;grid-template-columns:1fr 1fr;background:#eaece3}.hero-copy{padding:105px max(24px,calc((100vw - 1200px)/2)) 100px max(24px,calc((100vw - 1200px)/2));padding-right:45px;display:flex;flex-direction:column;justify-content:center}.hero-image{background-position:center;background-size:cover;min-height:550px}.eyebrow{font-size:12px;letter-spacing:.23em;text-transform:uppercase;color:#9a815b;font-weight:700}.section{padding:100px 0}.section-head{text-align:center;max-width:690px;margin:0 auto 45px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service{background:#fff}.service img{width:100%;height:245px}.service .inside{padding:23px}.service h3{font-size:24px;margin:0 0 8px}.price{color:#9b7950;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.split img{width:100%;height:510px}.soft{background:#e9eee7}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{height:280px;width:100%}.booking{background:#293c31;color:white}.booking p{color:#d5ded5}.booking .eyebrow{color:#dfbd89}.booking-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,textarea,select{width:100%;border:1px solid #d7d9d1;padding:15px;background:white;font:inherit;color:#26352f;border-radius:0}textarea{min-height:115px;resize:vertical}.full{grid-column:1/-1}.notice{padding:14px;background:#e6f2e6;color:#285338;margin:16px 0}.error{background:#fbe8e5;color:#8d342c}.footer{padding:70px 0;background:#1e3027;color:white}.footer p{color:#c5d0c7}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.copyright{border-top:1px solid #43554a;margin-top:50px;padding-top:25px;color:#c5d0c7;font-size:13px}.admin-wrap{max-width:1100px;margin:40px auto;padding:0 22px}.admin-nav{background:#26392e;color:white;padding:20px;display:flex;gap:18px;flex-wrap:wrap}.admin-nav a{font-size:14px}.panel{background:white;padding:28px;margin:24px 0;border:1px solid var(--line)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{font-size:13px}label{display:block;font-size:13px;margin:14px 0 7px;font-weight:700}.small{font-size:13px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.thumb{width:85px;height:70px;object-fit:cover}.danger{background:#8d403c;border-color:#8d403c}.muted{color:#8b948d}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.split,.booking-grid{gap:35px}.hero-copy{padding:60px 25px}.navlinks{gap:12px}}@media(max-width:650px){.nav{flex-wrap:wrap}.navlinks{flex-wrap:wrap}.hero,.split,.booking-grid,.footgrid,.admin-grid{grid-template-columns:1fr}.hero-image{min-height:340px;order:-1}.hero{min-height:0}.cards,.gallery{grid-template-columns:1fr}.section{padding:65px 0}.split img{height:340px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.navlinks a{font-size:12px}}
