:root{
  --white:#ffffff;
  --ink:#102018;
  --muted:#5b7068;
  --green:#0d7a50;
  --green-dark:#063f2b;
  --river:#0b9fc2;
  --sun:#f2b632;
  --sand:#fff8ec;
  --soft:#eff8f4;
  --line:rgba(13,122,80,.14);
  --shadow:0 22px 60px rgba(16,32,24,.12);
  --radius:28px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 6%;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(16,32,24,.04)}
.brand{display:flex;align-items:center;gap:12px;color:var(--green-dark)}
.brand-mark{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--river));color:white;font-weight:900;box-shadow:0 14px 28px rgba(11,159,194,.22)}
.brand b{display:block;font-size:1.04rem;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:3px}
.menu{display:flex;align-items:center;gap:24px;color:var(--muted);font-weight:800}
.menu a:hover{color:var(--green)}
.menu-cta{background:var(--green);color:#fff!important;padding:12px 18px;border-radius:999px;box-shadow:0 12px 24px rgba(13,122,80,.18)}
.menu-btn{display:none;border:0;background:var(--soft);border-radius:14px;padding:10px 14px;font-size:1.25rem;color:var(--green-dark)}

.hero{position:relative;min-height:calc(100vh - 83px);display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:44px;padding:86px 6%;background:radial-gradient(circle at 92% 10%,rgba(11,159,194,.16),transparent 30%),radial-gradient(circle at 0 85%,rgba(242,182,50,.18),transparent 28%),linear-gradient(180deg,#fff 0%,#f8fffc 70%,#fff 100%)}
.hero-copy{max-width:680px}
.kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 14px;border-radius:999px;background:#eaf8f2;color:var(--green-dark);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sun)}
h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.94;letter-spacing:-.07em;color:var(--green-dark);margin-bottom:22px}
h2{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.06;letter-spacing:-.045em;color:var(--green-dark);margin-bottom:16px}
h3{font-size:1.25rem;color:var(--green-dark);margin-bottom:8px}
.lead,.section-title p,.split-copy p,.camping-box p,.cta-box p,.contact-box p{font-size:1.08rem;color:var(--muted);max-width:720px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 23px;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-3px)}
.primary{background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;box-shadow:0 16px 34px rgba(13,122,80,.22)}
.secondary{background:white;color:var(--green-dark);border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,32,24,.08)}
.light{background:white;color:var(--green-dark)}
.hero-media{position:relative;background:white;border:1px solid var(--line);border-radius:36px;padding:16px;box-shadow:var(--shadow);transform:rotate(1deg)}
.hero-media img{width:100%;height:auto;object-fit:contain;border-radius:26px;background:#eef7f3}
.hero-media span{position:absolute;left:34px;bottom:34px;background:rgba(255,255,255,.94);color:var(--green-dark);font-weight:900;border-radius:999px;padding:11px 16px;box-shadow:0 14px 30px rgba(16,32,24,.16)}

.section{padding:88px 6%}
.centered{text-align:center;margin-left:auto;margin-right:auto}.centered p{margin-left:auto;margin-right:auto}
.section-title{margin-bottom:38px}
.feature-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-grid article,.service-card,.contact-box{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 18px 45px rgba(16,32,24,.08)}
.feature-grid article{background:linear-gradient(180deg,#fff,#f5fffb)}
.feature-grid p,.service-card p{color:var(--muted)}
.services{background:linear-gradient(180deg,#fff,var(--sand),#fff)}
.service-card{position:relative;min-height:185px;overflow:hidden}
.service-card:after{content:"";position:absolute;right:-34px;bottom:-34px;width:120px;height:120px;border-radius:999px;background:linear-gradient(135deg,var(--river),var(--green));opacity:.09}
.service-card span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#eaf8f2;color:var(--green);font-weight:900;margin-bottom:16px}

.split-section{display:grid;grid-template-columns:.88fr 1.12fr;gap:42px;align-items:center;background:#f7fffb}
.split-copy .btn{margin-top:24px}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.photo-pair img{width:100%;height:auto;object-fit:contain;background:white;border:12px solid white;border-radius:30px;box-shadow:var(--shadow)}
.photo-pair img:nth-child(2){margin-top:52px}

.amenities{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:1050px;margin:auto}
.amenities span{padding:15px 20px;border-radius:999px;background:var(--soft);color:var(--green-dark);font-weight:900;border:1px solid var(--line)}
.camping{padding:88px 6%;background:linear-gradient(135deg,#073d2b,#0d7a50)}
.camping-box{max-width:1060px;margin:auto;border-radius:36px;padding:42px;background:rgba(255,255,255,.97);display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.badges span{background:var(--sand);color:var(--green-dark);padding:14px 16px;border-radius:18px;font-weight:900;border:1px solid rgba(242,182,50,.26)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-grid figure{background:white;border:1px solid var(--line);border-radius:30px;padding:14px;box-shadow:0 18px 45px rgba(16,32,24,.09)}.gallery-grid img{width:100%;height:auto;object-fit:contain;border-radius:22px;background:#eef7f3}
.cta-section{padding-top:30px}.cta-box{position:relative;overflow:hidden;text-align:center;max-width:1050px;margin:auto;border-radius:40px;background:linear-gradient(135deg,var(--green),var(--river));color:white;padding:58px 28px;box-shadow:var(--shadow)}.cta-box h2{color:white}.cta-box p{color:rgba(255,255,255,.9);margin:0 auto 26px}.contact{background:#f8fffc}.contact-box p{margin-top:12px}.footer{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;padding:30px 6%;background:var(--green-dark);color:white}.footer span{color:rgba(255,255,255,.78)}

@media (max-width:920px){
  .menu-btn{display:block}.menu{position:absolute;left:6%;right:6%;top:78px;display:none;flex-direction:column;align-items:stretch;background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}.menu.open{display:flex}.menu a{padding:10px}.hero,.split-section,.camping-box{grid-template-columns:1fr}.feature-grid,.card-grid,.gallery-grid{grid-template-columns:1fr}.photo-pair img:nth-child(2){margin-top:0}.badges{justify-content:flex-start}
}
@media (max-width:560px){
  .topbar{padding:13px 5%}.brand-mark{width:46px;height:46px}.hero,.section,.camping{padding-left:5%;padding-right:5%}.hero{padding-top:60px}.hero-media{border-radius:28px;padding:10px;transform:none}.hero-media span{position:static;display:block;text-align:center;margin-top:10px}.photo-pair{grid-template-columns:1fr}.cta-box,.camping-box{border-radius:28px;padding:34px 20px}.service-card{min-height:auto}
}
