/* =====================
   THEME PALETTE (ColorHunt)
   ===================== */
:root {
  --c1: #B1F0F7; /* light aqua */
  --c2: #81BFDA; /* sky blue */
  --c3: #F5F0CD; /* light sand */
  --c4: #FADA7A; /* mango */
  --text: #0b2239;
  --muted: #5b7189;
  --dark: #071825;
  --white: #ffffff;
  --shadow: 0 10px 30px rgba(7,24,37,0.12);
}

html { scroll-behavior: smooth; }
body {
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #fefefe, var(--c3));
}

/* Typography */
.headline { font-family: "Playfair Display", serif; letter-spacing: -0.5px; }
.section-title { font-weight: 700; letter-spacing: .2px; }
.grad-text { background: linear-gradient(90deg, var(--c4), var(--c2)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Navbar */
.glassy {
  background: rgba(7, 24, 37, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
}
.navbar .nav-link { color: #e9f6ff !important; opacity: .85; }
.navbar .nav-link:hover, .navbar .nav-link:focus { opacity: 1; transform: translateY(-1px); }
.navbar-brand { color: #e9f6ff !important; }
.navbar .btn-theme { background: var(--c4); color: #3a2b00; border: none; }
.pt-nav { padding-top: 6rem; }

/* Hero */
.hero {
  position: relative;
  min-height: 85vh;
  background: url('https://images.unsplash.com/photo-1491553895911-0055eca6402d?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
  color: var(--white);
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(7,24,37,.55), rgba(7,24,37,.55));
}
.hero .container { position: relative; z-index: 2; }

/* Sections */
.section-pad { padding: 5rem 0; }
.theme-soft { background: linear-gradient(180deg, var(--c1), #e9f7fb); }
.theme-dark-grad { background: linear-gradient(180deg, #0b2239, #0c2a47); color: var(--white); }
.border-white-25 { border-color: rgba(255,255,255,.25) !important; }

/* Cards & Hover Effects */
.card { border: 0; box-shadow: var(--shadow); }
.hover-lift { transition: transform .35s ease, box-shadow .35s ease; }
.hover-lift:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(7,24,37,.18); }
.hover-float { transition: transform .35s ease; }
.hover-float:hover { transform: translateY(-4px); }
.img-zoom { transition: transform .6s ease; }
.ratio:hover .img-zoom { transform: scale(1.07); }
.badge.bg-soft-primary {
  background: rgba(129,191,218,.25);
  color: #0b2239;
}

/* Buttons */
.btn-pill { border-radius: 999px; }
.btn-theme {
  background: linear-gradient(90deg, var(--c4), var(--c2));
  color: #062034;
  border: none;
  box-shadow: var(--shadow);
  transition: filter .2s ease, transform .2s ease;
}
.btn-theme:hover { filter: brightness(1.05); transform: translateY(-2px); }
.btn-ghost {
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.btn-ghost:hover { background: rgba(255,255,255,.25); color: #fff; }

/* Footer */
.footer-links li { margin: .4rem 0; }
.footer-links a { color: #d8e7f9; text-decoration: none; }
.footer-links a:hover { color: var(--c4); }
.social { color: #e9f6ff; opacity: .85; }
.social:hover { color: var(--c4); opacity: 1; transform: translateY(-2px); transition: .2s; }

/* Avatars */
.avatar, .team-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  object-fit: cover; box-shadow: var(--shadow);
}
.team-card { padding-top: 1rem; }
.team-avatar { width: 96px; height: 96px; margin: -48px auto 0; border: 4px solid var(--white); }

/* Scroll-to-top button */
.scroll-top {
  position: fixed; right: 1rem; bottom: 1rem;
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--c2), var(--c4));
  display: grid; place-items: center;
  color: #052034; text-decoration: none;
  box-shadow: var(--shadow);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .25s ease;
  z-index: 1040;
}
.scroll-top.show { opacity: 1; visibility: visible; transform: translateY(0); }

/* Utilities */
.link-underline { text-decoration: none; position: relative; color: var(--text); }
.link-underline::after {
  content: ""; position: absolute; height: 2px; left: 0; bottom: -2px; width: 0;
  background: linear-gradient(90deg, var(--c4), var(--c2)); transition: width .3s ease;
}
.link-underline:hover::after { width: 100%; }

/* Forms */
.form-control, .form-select { border-radius: 14px; border: 2px solid transparent; background: #ffffff; }
.form-control:focus, .form-select:focus { border-color: var(--c2); box-shadow: 0 0 0 .2rem rgba(129,191,218,.25); }

/* Media queries */
@media (max-width: 991.98px) {
  .hero { min-height: 70vh; }
}
