/* =========================
BASE / RESET
========================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family:
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Helvetica,
    Arial;
  background: #fff;
  color: #0f172a;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  font: inherit;
  cursor: pointer;
}

/* =========================
NAVBAR (DESKTOP)
========================= */
header {
  height: 88px;
  display: flex;
  align-items: center;
  padding: 0 40px; /* keeps logo close to left corner */
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 9999;
  ;
}
.nav {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* left | center | right */
  align-items: center;
}

/* Left: Logo */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-self: start;
}
.brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
/*.brand span {
  font-weight: 700;
  font-size: 14px;
  color: #1e3a8a;
}*/

/* Center: Links */
.nav-center {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 56px;
  font-size: 16px;
  font-weight: 400;
}
/* Right: Actions */
.nav-right {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 16px;
}

.btn {
  padding: 12px 18px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 16px;
  background: transparent;
}
.btn-outline {
  border-color: #d1d5db;
  background: #fff;
  color: #0f172a;
}
.btn-solid {
  background: #1e3a8a;
  color: #fff;
  padding: 12px 20px;
}
/* =========================
MOBILE MENU (HIDDEN BY DEFAULT)
========================= */
#menu {
  display: none;
}

.hamburger {
  display: none; /* shown on small screens */
  width: 46px;
  height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  align-items: center;
  justify-content: center;
  justify-self: end;
  cursor: pointer;
}
.hamburger i {
  width: 20px;
  height: 2px;
  background: #0f172a;
  position: relative;
  display: block;
}
.hamburger i::before,
.hamburger i::after {
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  background: #0f172a;
}
.hamburger i::before {
  top: -6px;
}
.hamburger i::after {
  top: 6px;
}
.mobile-panel {
  display: none;
  width: 100%;
  padding: 14px 0 0;
  grid-column: 1 / -1;
}

.mobile-box {
  border: 1px solid #eef2f7;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

.mobile-links {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 6px;
  font-weight: 600;
}

.mobile-actions {
  display: flex;
  gap: 12px;
  padding: 10px 6px 6px;
}
.mobile-actions .btn {
  width: 100%;
}

/* checkbox toggle */
#menu:checked ~ .mobile-panel {
  display: block;
}

/* =========================
MEDIA QUERIES (1280 ↓)
========================= */

@media (max-width: 1280px) {
  header {
    padding: 0 32px;
  }
  .nav-center {
    gap: 44px;
  }
}

@media (max-width: 1024px) {
  header {
    padding: 0 24px;
  }
  .nav-center {
    gap: 34px;
  }
  .btn {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  header {
    height: auto;
    padding: 14px 16px;
    align-items: flex-start;
  }

  .nav {
    grid-template-columns: 1fr auto; /* logo | hamburger */
    row-gap: 12px;
  }

  .nav-center,
  .nav-right {
    display: none; /* hide desktop center & right */
  }

  .hamburger {
    display: inline-flex; /* show hamburger */
  }
}

/* =========================
   HERO – BASE (≥1280px)
   ========================= */

.hero {
  min-height: calc(100vh - 88px); /* accounts for navbar height */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.hero-content {
  text-align: center;
  max-width: 900px;
  padding: 0 24px;
}

.hero h1 {
  font-size: 64px;
  font-weight: 500;
  color: #1e3a8a;
  margin-bottom: 12px;
}

.hero p {
  font-size: 22px;
  font-weight: 500;
  color: #9ca3af;
  margin-bottom: 28px;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  min-width: 340px;
  border-radius: 12px;
  background: #1e3a8a;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  border: none;
  cursor: pointer;
}

.hero-btn span {
  font-size: 20px;
  line-height: 1;
}

/* =========================
   MEDIA QUERIES (1280 ↓)
   ========================= */

/* ≤1280px */
@media (max-width: 1280px) {
  .hero h1 {
    font-size: 56px;
  }
}

/* ≤1024px */
@media (max-width: 1024px) {
  .hero h1 {
    font-size: 48px;
  }

  .hero p {
    font-size: 20px;
  }
}

/* ≤768px */
@media (max-width: 768px) {
  .hero {
    min-height: calc(100vh - 72px);
  }

  .hero h1 {
    font-size: 40px;
  }

  .hero p {
    font-size: 18px;
  }

  .hero-btn {
    min-width: 280px;
    padding: 14px 28px;
  }
}

/* ≤480px */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 34px;
  }

  .hero p {
    font-size: 16px;
  }

  .hero-btn {
    width: 100%;
  }
}
