
:root{
  --ink:#14231f; --muted:#5d6c66; --green:#245c4a; --green2:#34785f;
  --cream:#f7f4ec; --gold:#c49a56; --line:#dfe6e1; --white:#fff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:auto;padding:0 22px}
.topbar{background:var(--ink);color:#fff;font-size:14px}
.topbar .wrap{display:flex;gap:16px;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px}
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.logo{font-weight:800;font-size:22px;letter-spacing:-.4px;color:var(--ink)}
.logo span{color:var(--green)}
nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
nav a{font-weight:650;color:var(--ink);font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff!important;border-radius:8px;padding:12px 18px;font-weight:800;text-decoration:none!important;border:1px solid var(--green)}
.btn.alt{background:#fff;color:var(--green)!important}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#1f1a12!important}
.hero{background:linear-gradient(135deg,#eff6f2 0%,#fbf7ef 100%);padding:72px 0 58px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.eyebrow{display:inline-block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:var(--green);margin-bottom:10px}
h1{font-size:clamp(38px,5vw,62px);line-height:1.04;letter-spacing:-1.7px;margin:0 0 18px}
h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.7px;margin:0 0 14px}
h3{font-size:21px;line-height:1.25;margin:0 0 8px}
.lead{font-size:20px;color:#394842;max-width:760px}
.hero-card,.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 8px 26px rgba(30,61,51,.06)}
.hero-card ul{padding-left:20px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
section{padding:58px 0}
.soft{background:var(--cream)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.link-card{display:block;color:var(--ink);height:100%}
.link-card p{color:var(--muted);margin-bottom:0}
.link-card strong{color:var(--green)}
.city-list{columns:4;column-gap:28px;list-style:none;padding:0;margin:22px 0 0}
.city-list li{break-inside:avoid;padding:7px 0;border-bottom:1px dotted #d6ded9}
.breadcrumb{font-size:14px;color:var(--muted);padding-top:18px}
.answer{border-left:4px solid var(--gold);padding:14px 18px;background:#fffaf0;border-radius:0 8px 8px 0}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
th{background:#eef5f1}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq summary{font-weight:800;cursor:pointer}
footer{background:var(--ink);color:#dfe8e4;padding:48px 0 28px}
footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px}
.small{font-size:13px;color:#aebdb6}
.notice{font-size:13px;color:#68766f}
@media(max-width:900px){
  .hero-grid,.grid,.grid2,.footer-grid{grid-template-columns:1fr}
  nav{display:none}
  .city-list{columns:2}
  .hero{padding-top:44px}
}



/* Homepage horizontal image scroller */
.carousel-section{
  padding:30px 0 46px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.scroll-gallery-wrap{
  position:relative;
}
.scroll-gallery{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:8px 58px 16px;
  scrollbar-width:thin;
  scrollbar-color:#9aa9a2 #edf1ef;
}
.scroll-gallery::-webkit-scrollbar{
  height:10px;
}
.scroll-gallery::-webkit-scrollbar-track{
  background:#edf1ef;
  border-radius:999px;
}
.scroll-gallery::-webkit-scrollbar-thumb{
  background:#9aa9a2;
  border-radius:999px;
}
.scroll-gallery img{
  flex:0 0 auto;
  width:min(72vw,420px);
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(25,46,39,.12);
  scroll-snap-align:start;
  background:#111;
}
.scroll-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:rgba(20,35,31,.88);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}
.scroll-arrow:hover{background:rgba(20,35,31,.98)}
.scroll-left{left:6px}
.scroll-right{right:6px}
@media(max-width:640px){
  .carousel-section{padding:20px 0 32px}
  .scroll-gallery{gap:12px;padding:8px 42px 14px}
  .scroll-gallery img{width:78vw}
  .scroll-arrow{width:38px;height:38px;font-size:24px}
}
