:root{
  --teal: #0e7490;
  --accent: #f8e8d0;
  --dark: #083344;
  --muted: #6b7a86;
  --radius: 12px;
}

a, .btn, .card {
  transition: all 0.3s ease;
}

*{box-sizing: border-box}
html,body{height:100%;margin:0;font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}

/* header */
.site-header{background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.9));backdrop-filter:saturate(90%);position:sticky;top:0;z-index:50;border-bottom:1px solid #eee;}
.site-header {
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0}
.brand{display:flex;align-items:center;gap:.6rem}
.logo{width:44px;height:44px;object-fit:cover;border-radius:8px}
.site-title{font-weight:700;color:var(--dark)}
.nav-toggle{display:none;background:transparent;border:0;font-size:1.25rem}
.site-nav .nav-links{list-style:none;display:flex;gap:1rem;margin:0;padding:0}
.site-nav a{color:var(--dark);text-decoration:none;padding:.5rem .6rem;border-radius:8px}
.site-nav a:hover{background:var(--accent);color:var(--dark)}

.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  background: var(--teal);
  color: #fff;
  padding: 0.5rem 1rem;
  z-index: 100;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

/* hero */
.hero{height:62vh;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;position:relative}
.hero-overlay{background:linear-gradient(180deg, rgba(8,51,68,0.35), rgba(0,0,0,0.25));width:100%;height:100%;display:flex;align-items:center}
.hero-content{padding:3rem 1rem}
.hero h1{font-size:clamp(1.6rem, 3vw, 2.4rem);margin:0 0 .6rem;font-family:"Poppins",sans-serif}
.hero h1, .tagline {
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

.hero {
  position: relative;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.tagline{margin:0 0 1rem;color:#eaf6f8;font-family:"Merriweather",serif}
.btn{display:inline-block;padding:.6rem 1rem;border-radius:999px;text-decoration:none;font-weight:600}
.btn.primary {
  background: linear-gradient(135deg, #0e7490, #14b8a6);
  box-shadow: 0 4px 12px rgba(14,116,144,0.3);
}
.btn.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(14,116,144,0.4);
}
.btn.primary{background:var(--teal);color:#fff}
.btn.secondary{background:transparent;border:1px solid #fff;color:#fff;padding:.5rem .9rem}

/* sections */
.section{padding:2.2rem 0}
h2{font-size:1.25rem;margin:0 0 .5rem;color:var(--dark)}
.muted{color:var(--muted);margin-bottom:1rem}

/* carousel */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:0 8px 30px rgba(0,0,0,0.08)}
.slides{display:flex;transition:transform .5s ease}
.slides {
  transition: transform .6s cubic-bezier(.4,.15,.2,1);
}
.slide{min-width:100%;display:flex;gap:0;align-items:stretch}
.slide img{width:50%;height:320px;object-fit:cover}
.slide-text{padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg, rgba(255,255,255,0.96), rgba(255,255,255,0.98))}
.slide-text h3{margin:0 0 .4rem;color:var(--dark)}
.slide-text p{margin:0;color:var(--muted)}

.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:0;padding:.6rem .9rem;border-radius:8px;cursor:pointer;font-size:1.25rem;box-shadow:0 6px 18px rgba(0,0,0,0.08)}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}

.carousel-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 12px;
  display: flex;
  gap: 4px; /* tighter spacing */
}

.carousel-dot {
  width: 6px;          /* smaller dots */
  height: 6px;
  border-radius: 50%;
  background: #ccc;    /* inactive: light gray */
  border: none;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.carousel-dot.active {
  background: #000;    /* active: solid black */
  transform: scale(1.2);
}


/* features */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,0.06);text-align:center;transition:transform .22s,box-shadow .22s}
.card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,0.12)}
.card h4{margin:.6rem 0 .4rem}

/* map */
.map-wrapper{height:360px;border-radius:12px;overflow:hidden;border:1px solid #eee}
.map-wrapper iframe{width:100%;height:100%;border:0}

/* footer */
.site-footer{background:#06202a;color:#fff;padding:2rem 0;margin-top:2rem}
.footer-inner{display:flex;gap:2rem;flex-wrap:wrap}
.footer-col{flex:1;min-width:220px}
.footer-col a{color:#fff}
.social a{margin-right:.6rem;color:#fff;text-decoration:none}

/* small */
.copyright{padding:1rem 0;text-align:center;color:#bfe6ee}

/* responsive */
@media (max-width: 900px){
  .slide img{height:220px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 768px){
  .nav-toggle{display:block}
  .site-nav{position:absolute;top:64px;right:0;background:#fff;width:220px;border-radius:8px;padding:.8rem;display:none;box-shadow:0 8px 20px rgba(0,0,0,0.12)}
  .site-nav.open{display:block}
  .site-nav .nav-links{flex-direction:column}
  .site-nav a {
  position: relative;
}
.site-nav a::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--teal);
  transition: all .3s ease;
  transform: translateX(-50%);
}
.site-nav a:hover::after {
  width: 60%;
}
  .slide{flex-direction:column}
  .slide img{width:100%;height:260px}
  .slide-text{padding:1rem}
  .feature-grid{grid-template-columns:1fr}
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.reveal.show {
  opacity: 1;
  transform: translateY(0);
}
