@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&display=swap');:root{--ink:#243b35;--green:#31594b;--sand:#f7f2e9;--gold:#bd8454}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}header{display:flex;justify-content:space-between;align-items:center;padding:22px 6%;gap:20px;background:white;position:sticky;top:0;z-index:2;box-shadow:0 2px 15px #0000000a}a{color:inherit;text-decoration:none}.brand{font-size:20px;font-weight:700}.brand span{color:var(--gold)}nav{display:flex;gap:25px;font-size:14px}nav a:hover,.textlink:hover{color:var(--gold)}.hero{display:grid;grid-template-columns:46% 54%;min-height:580px;background:var(--sand)}.hero-text{padding:110px 9% 80px 13%;align-self:center}.eyebrow{letter-spacing:.2em;font-weight:700;font-size:12px;color:var(--gold)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13}h1{font-size:clamp(43px,5vw,78px);margin:24px 0}h1 em{color:var(--green)}h2{font-size:clamp(34px,3.5vw,54px);margin:14px 0 26px}p{line-height:1.8;color:#52635b}.hero img{width:100%;height:100%;object-fit:cover;min-height:500px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.button{border:0;background:var(--green);color:white;padding:16px 25px;display:inline-block;font:600 14px 'DM Sans',sans-serif;cursor:pointer;border-radius:3px}.button:hover{background:#214437}.outline{border:1px solid var(--green);padding:15px 24px;font-weight:600;font-size:14px}.stats{display:flex;justify-content:space-around;gap:15px;padding:35px 5%;border-bottom:1px solid #eee;text-align:center}.stats div{display:flex;flex-direction:column}.stats strong{font-family:Georgia,serif;font-size:32px;color:var(--green)}.stats span{font-size:12px;color:#68776d}.section{padding:90px 8%;max-width:1500px;margin:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about img{width:100%;height:430px;object-fit:cover;border-radius:4px}.textlink{font-weight:700;color:var(--green)}.gallery-section{background:#f9f7f2;max-width:none}.gallery-section>h2,.gallery-section>.eyebrow{text-align:center}.gallery{max-width:1400px;margin:35px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery figure{margin:0;position:relative;height:240px;overflow:hidden;border-radius:4px}.gallery .wide{grid-column:span 2;grid-row:span 2;height:495px}.gallery img{height:100%;width:100%;object-fit:cover;transition:transform .25s}.gallery figure:hover img{transform:scale(1.04)}figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 16px 12px;color:white;font-weight:700;background:linear-gradient(transparent,#0009)}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.notice{padding:22px;background:var(--sand);line-height:1.8;margin-top:28px}form{background:#f9f7f2;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:20px;box-shadow:0 12px 40px #0000000a}label{font-weight:700;font-size:13px}input[type=date],select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #d6dcd5;background:white;font:inherit;color:var(--ink)}.checkbox,form button,form small,#result{grid-column:1/-1}.checkbox{display:flex;gap:10px;align-items:center}form small,.muted{color:#7a817c;font-size:12px}#result{font-size:14px;line-height:1.8}.contact{text-align:center;background:var(--sand);max-width:none}footer{display:flex;justify-content:space-between;gap:20px;background:var(--ink);color:white;padding:25px 8%;font-size:12px}@media(max-width:850px){header{flex-direction:column}nav{flex-wrap:wrap;justify-content:center;gap:13px}.hero,.about,.booking-section{grid-template-columns:1fr}.hero-text{padding:65px 8%}.hero img{min-height:300px;height:340px}.stats{flex-wrap:wrap}.stats div{width:40%}.section{padding:60px 6%}.gallery{grid-template-columns:1fr 1fr}.gallery figure{height:190px}.gallery .wide{height:395px}footer{flex-direction:column}}@media(max-width:520px){.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery figure{height:150px}.gallery .wide{grid-column:span 2;grid-row:auto;height:250px}form{grid-template-columns:1fr}form label{grid-column:1/-1}}
