@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&family=Inter:wght@400;500;600&display=swap");
:root {
  --bg:#f8f2e9;
  --bg-panel:#fbf7f1;
  --text:#0f3b32;
  --accent:#0f503f;
  --accent-alt:#c8b28d;
  --radius:6px;
  --max:1180px;
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
body {
  font-family:"Source Serif 4", serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
a {
  text-decoration:none;
  color:var(--accent);
}
a:hover {
  text-decoration:underline;
}
.site-header {
  max-width:var(--max);
  margin:0 auto;
  padding:1.1rem 1.25rem 0.25rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  font-family:Inter, system-ui, sans-serif;
  font-size:.95rem;
  letter-spacing:.5px;
}
.brand {
  font-weight:600;
  color:var(--accent);
}
.main-nav ul {
  list-style:none;
  display:flex;
  gap:2rem;
}
.main-nav a {
  font-weight:500;
  color:var(--text);
  position:relative;
  padding:.25rem 0;
}
.main-nav a:after {
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  height:2px;
  width:0;
  background:var(--accent);
  transition:.3s;
}
.main-nav a:hover:after {
  width:100%;
}
.hero {
  max-width:var(--max);
  margin:0 auto;
  padding:0 1.25rem;
}
.hero-media {
  position:relative;
  overflow:hidden;
  border-radius:4px;
  aspect-ratio:16/7;
  background:#ddd;
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-text-wrap {
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:3.5rem clamp(1.25rem,4vw,3rem);
  background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,.05) 40%,rgba(0,0,0,0));
}
h1 {
  font-family:"Playfair Display", serif;
  font-size:clamp(2rem,5.2vw,3.4rem);
  line-height:1.05;
  font-weight:600;
  max-width:20ch;
  color:#fff;
}
.intro-layout {
  display:grid;
  max-width:var(--max);
  margin:2.5rem auto 4rem;
  padding:0 1.25rem;
  gap:3rem;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  align-items:start;
}
.intro h2 {
  font-family:"Playfair Display", serif;
  font-size:clamp(1.9rem,3.3vw,2.55rem);
  line-height:1.15;
  font-weight:600;
  margin-bottom:1.2rem;
  color:var(--accent);
}
.intro p {
  font-size:1.05rem;
  max-width:52ch;
  margin-bottom:1.8rem;
}
.btn {
  display:inline-block;
  background:var(--accent-alt);
  color:#222;
  font-family:Inter, system-ui, sans-serif;
  font-weight:500;
  padding:.85rem 1.35rem;
  border-radius:var(--radius);
  font-size:.95rem;
  letter-spacing:.4px;
  transition:.25s;
}
.btn:hover {
  filter:brightness(.95);
  text-decoration:none;
}
.tours h3 {
  font-family:"Playfair Display", serif;
  font-size:1.75rem;
  font-weight:600;
  color:var(--accent);
  margin-bottom:1.2rem;
}
.tour-list {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:1.4rem;
}
.tour-list li {
  display:grid;
  grid-template-columns:50px 1fr;
  gap:1rem;
  align-items:start;
  background:var(--bg-panel);
  padding:.9rem 1rem;
  border-radius:var(--radius);
  border:1px solid #ece2d4;
}
.tour-list img {
  width:50px;
  height:50px;
  object-fit:contain;
}
.tour-list h4 {
  font-family:"Playfair Display", serif;
  font-size:1.02rem;
  margin-bottom:.3rem;
  font-weight:600;
  color:var(--accent);
}
.tour-list p {
  font-size:.9rem;
  line-height:1.3;
  font-family:Inter, system-ui, sans-serif;
}
@media (max-width:720px) {
  .hero-text-wrap {
    padding:2rem 1.25rem 1.75rem;
  }
  h1 {
    font-size:clamp(1.9rem,7vw,2.6rem);
  }
}
@media (max-width:480px) {
  .main-nav ul {
      gap: 0.6rem;
  }
}
