@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#25221e;--sand:#e9dfd0;--cream:#f8f5ef;--brown:#76563e;--dark:#302820}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.hero{min-height:720px;background:linear-gradient(90deg,rgba(28,22,17,.82),rgba(28,22,17,.28)),url('images/hero.jpg') center/cover; color:#fff}nav{max-width:1180px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;letter-spacing:2px;font-size:18px}.logo span{font-weight:400;font-size:11px;display:block;letter-spacing:4px}.navlinks{display:flex;gap:28px;align-items:center}.navlinks a{font-size:14px}.navbook,.button{background:#fff;color:var(--ink);padding:13px 22px;border-radius:2px;font-weight:700}.hero-content{max-width:1180px;margin:120px auto 0;padding:0 24px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;margin-bottom:12px}.hero h1,h2{font-family:'Playfair Display',serif;line-height:1.08}.hero h1{font-size:clamp(48px,7vw,82px);margin:0 0 22px;max-width:800px}.hero-content p:not(.eyebrow){max-width:610px;font-size:18px}.buttons{display:flex;gap:14px;margin-top:30px}.secondary{background:transparent;color:#fff;border:1px solid #fff}.intro,.section,.location{max-width:1180px;margin:auto;padding:105px 24px}.intro{text-align:center;max-width:850px}.intro h2,.section h2,.location h2,.booking h2{font-size:48px;margin:0 0 20px}.section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.facts{display:flex;gap:45px;margin-top:35px}.facts strong{display:block;font:700 32px 'Playfair Display'}.facts span{font-size:13px;text-transform:uppercase;letter-spacing:1px}.photo-card{min-height:420px;background:var(--sand) center/cover;display:flex;align-items:end;padding:18px;color:#fff}.photo-card span{background:rgba(0,0,0,.5);padding:7px 10px;font-size:12px}.photo1{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.25)),url('images/room.jpg')}.dark{background:var(--dark);color:#fff;padding:90px max(24px,calc((100% - 1180px)/2))}.dark h2{font-size:48px;max-width:720px;margin:0 0 35px}.facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#5a4b3f}.facility-grid div{padding:22px;background:var(--dark)}.gallery{max-width:1180px;margin:auto;padding:80px 24px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.gallery .photo-card{min-height:330px}.photo2{background-image:url('images/exterior.jpg')}.photo3{background-image:url('images/room2.jpg')}.photo4{background-image:url('images/braai.jpg')}.location{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.mapbox{min-height:350px;background:linear-gradient(135deg,#d8c6ae,#b59c7d);display:flex;align-items:center;justify-content:center;text-align:center;font:700 34px 'Playfair Display'}.mapbox small{display:block;font:400 13px 'DM Sans';letter-spacing:2px}.booking{text-align:center;padding:100px 24px;background:var(--sand)}.booking .button{background:var(--brown);color:#fff;display:inline-block;margin-top:15px}.booking h2{max-width:760px;margin-left:auto;margin-right:auto}footer{background:#211c18;color:#fff;text-align:center;padding:45px 24px;font-size:13px}footer p{opacity:.7}@media(max-width:760px){.navlinks{display:none}.hero{min-height:650px}.hero-content{margin-top:100px}.section,.location{grid-template-columns:1fr;gap:35px}.gallery{grid-template-columns:1fr}.dark h2,.intro h2,.section h2,.location h2,.booking h2{font-size:38px}.facility-grid{grid-template-columns:1fr}.photo-card{min-height:300px}.facts{gap:25px}}
