/* Visual refresh */
:root {
  --primary-color: #1e6f5c;
  --secondary-color: #f4b860;
  --dark-color: #102a43;
  --light-color: #f7faf9;
  --text-color: #243b53;
  --light-text: #fff;
  --border-radius: 18px;
  --box-shadow: 0 10px 35px rgba(15,23,42,0.08);
  --transition: all 0.3s ease;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; line-height: 1.7; background: var(--light-color); color: var(--text-color); }
.container { width: min(92%, 1180px); margin: 0 auto; }
a { color: var(--primary-color); text-decoration: none; transition: var(--transition); }
ul { list-style: none; }
img { max-width: 100%; height: auto; }

.btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; border-radius: 999px; background: var(--primary-color); color: #fff; font-weight: 600; transition: var(--transition); border: 0; box-shadow: 0 10px 25px rgba(30,111,92,.2); }
.btn:hover { transform: translateY(-2px); background: #164f42; color: #fff; }
.btn-secondary { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); color: #fff; }
.section { padding: 100px 0; }
.section-title { text-align: center; max-width: 760px; margin: 0 auto 60px; }
.section-title h2 { font-size: clamp(2rem, 4vw, 3rem); color: var(--dark-color); margin-bottom: 18px; }
.section-title p { color: #5c6b7a; font-size: 1.1rem; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(15,23,42,.06); }
.site-header .container { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; }
.logo a { font-size: 1.5rem; font-weight: 700; color: var(--dark-color); }
.main-nav .nav-links { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; }
.main-nav .nav-links li { margin: 0; }
.main-nav .nav-links a { color: var(--dark-color); font-weight: 500; }
.main-nav .nav-links a:hover { color: var(--primary-color); }
.menu-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 6px; }
.menu-toggle .bar { display: block; width: 25px; height: 3px; background: var(--dark-color); margin: 5px 0; transition: var(--transition); }

.hero { background: linear-gradient(135deg,rgba(16,42,67,.72),rgba(30,111,92,.68)),url('../images/vuddu-lake-winter.jpg'); background-size: cover; background-position: center; color: #fff; padding: 180px 0 150px; }
.hero-content { max-width: 820px; }
.hero h1 { font-size: clamp(3rem,8vw,5rem); line-height: 1.05; margin-bottom: 24px; }
.hero p { font-size: 1.25rem; margin-bottom: 32px; }
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
.features-grid,.activities-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 28px; }
.feature-card,.activity-card { background: #fff; border-radius: var(--border-radius); box-shadow: var(--box-shadow); border: 1px solid rgba(15,23,42,.06); overflow: hidden; transition: var(--transition); }
.feature-card:hover,.activity-card:hover { transform: translateY(-6px); }
.feature-card { padding: 36px 30px; }
.activity-content { padding: 28px; }
.activity-image { height: 240px; background-size: cover; background-position: center; }
.feature-icon { width: 72px; height: 72px; border-radius: 20px; background: rgba(30,111,92,.12); display: flex; align-items:center; justify-content:center; color:var(--primary-color); font-size:1.8rem; margin-bottom:22px; }
.cta { background: linear-gradient(135deg,#164f42,#1e6f5c); color:#fff; text-align:center; }

.site-footer { background: #0b1f33; color: #fff; padding: 72px 0 34px; }
.site-footer .container { width: min(92%, 1120px); }
.footer-content { display: grid; grid-template-columns: minmax(280px, 1.15fr) minmax(240px, .85fr); gap: clamp(48px, 8vw, 120px); align-items: start; margin-bottom: 56px; }
.footer-info, .footer-contact { max-width: 560px; }
.footer-info h3, .footer-contact h3 { font-size: 1.35rem; line-height: 1.2; margin-bottom: 18px; color: #fff; }
.footer-info p, .footer-contact p { color: rgba(255,255,255,.84); font-size: 1.02rem; line-height: 1.75; }
.footer-contact p { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.footer-contact a { color: #7fd6bf; }
.footer-contact a:hover { color: #fff; }
.social-links { display: flex; gap: 16px; margin-top: 4px; }
.social-links a { width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.09); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.social-links a:hover { background: var(--primary-color); transform: translateY(-2px); }
.copyright { border-top: 1px solid rgba(255,255,255,.1); padding-top: 28px; text-align: center; color: rgba(255,255,255,.72); font-size: .95rem; }

@media (max-width: 768px) {
  .menu-toggle { display: block; }
  .nav-links { position: fixed; top: 74px; left: -100%; width: 100%; height: calc(100vh - 74px); background: #fff; flex-direction: column; align-items: center; padding-top: 40px; transition: var(--transition); }
  .nav-links.active { left: 0; }
  .hero { padding: 140px 0 120px; }
  .hero-buttons { flex-direction: column; align-items: stretch; }
  .section { padding: 72px 0; }
  .site-footer { padding: 56px 0 28px; }
  .footer-content { grid-template-columns: 1fr; gap: 36px; margin-bottom: 42px; }
}
