/* ===== Base ===== */
* { box-sizing: border-box; }
html, body { height: 100%; margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Helvetica Neue",sans-serif; color:#333; background:#fff; }

/* ===== Navbar ===== */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:flex-end; padding:0.75rem 1rem; background:#0077b6; transition: background .3s, box-shadow .3s; }
.hamburger { display:none; background:none; border:0; color:#fff; font-size:1.5rem; cursor:pointer; }
.nav-links { list-style:none; display:flex; gap:1rem; margin:0; padding:0; }
.nav-links a { text-decoration:none; color:#fff; font-weight:600; padding:.45rem .7rem; border-radius:8px; transition:background .2s; }
.nav-links a:hover { background: rgba(255,255,255,.15); }

/* ===== Dropdown ===== */
.nav-links .dropdown-content { display:none; position:absolute; background:#0077b6; margin-top:0.5rem; border-radius:8px; padding:0.5rem 0; list-style:none; min-width:200px; z-index:1001; }
.nav-links .dropdown-content li a { display:block; padding:0.6rem 1rem; color:#fff; }
.nav-links .dropdown-content li a:hover { background: rgba(255,255,255,0.15); }

/* ===== Hero ===== */
.hero { min-height:70vh; display:flex; align-items:flex-start; justify-content:center; position:relative; color:#fff; text-align:center; padding-top: calc(60px + 4vh); background-size:cover; background-position:center; }
.hero-text { position:relative; z-index:1; max-width:900px; padding:0 1rem; margin-top:6vh; }
.hero-text h1 { font-size:2.6rem; font-weight:800; margin:0 0 1.2rem; text-shadow:0 2px 12px rgba(0,0,0,.25); line-height:1.15; }
.hero-logo { position: absolute; bottom: 20px; right: 20px; max-width: 223px; height: auto; z-index: 10; }

/* ===== Hero CTA Buttons ===== */
.hero-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 1.5rem; /* spacing between buttons */
  margin-top: 2rem; /* space below tagline */
  flex-wrap: wrap;
}
.hero-cta-buttons .cta-btn {
  min-width: 140px; /* uniform width */
}

/* ===== Buttons ===== */
.cta-btn { background:#0077b6; color:#fff; font-weight:700; padding:.9rem 1.8rem; border-radius:12px; border:none; cursor:pointer; transition:all .25s ease; box-shadow:0 5px 15px rgba(0,0,0,.1); }
.cta-btn:hover { background:#00b4d8; color:#fff; }

/* ===== How it works ===== */
.how-it-works { padding:2rem 1rem 4rem; background:#f3f5f7; text-align:center; }
.hiw-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(3, minmax(0, 1fr)); max-width:1100px; margin:0 auto; }
.hiw-card { background:#222; color:#fff; padding:2rem 1.6rem; border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.06); transition:transform .2s, box-shadow .2s; text-align:center; }
.hiw-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.12); }
.hiw-card i { font-size:2rem; color:#00b4d8; margin-bottom:.75rem; display:block; }
.hiw-card h3 { margin:.2rem 0 .5rem; }
.hiw-card p { margin:0; color:#fff; font-size:0.95rem; line-height:1.45; }

/* ===== Footer ===== */
.footer { background:#222; color:#ddd; text-align:center; padding:2rem 1rem; }
.footer a { color:#00b4d8; text-decoration:none; }
.footer a:hover { text-decoration:underline; }

/* ===== Modals ===== */
.modal { display:none; position:fixed; inset:0; z-index:3000; background:rgba(0,0,0,.6); padding:1rem; overflow:auto; }
.modal-content { background:#222; color:#fff; margin:6% auto; max-width:560px; padding:1.6rem; border-radius:14px; position:relative; box-shadow:0 15px 35px rgba(0,0,0,.18); }
.close { position:absolute; top:12px; right:16px; font-size:1.6rem; cursor:pointer; color:#999; }
.close:hover { color:#fff; }
.modal-content h2 { margin:0 0 1rem; color:#00b4d8; }
.modal-content form { display:grid; gap:.9rem; }
.modal-content input, .modal-content select { width:100%; padding:.8rem .9rem; border:1px solid #444; border-radius:10px; font-size:1rem; background:#333; color:#fff; }
.modal-content input:focus { outline:2px solid rgba(0,180,216,.4); border-color:#00b4d8; }
.error-messages { color:#f08080; font-size:0.95rem; min-height:1.1em; }
.success { margin-top:1rem; padding:.9rem 1rem; background:#e7f7ef; color:#0a7f3f; border:1px solid #bfe9d2; border-radius:10px; }

/* ===== Checkbox Alignment Fix ===== */
.modal-content fieldset { display: flex; flex-direction: column; gap: 0.75rem; }
.modal-content fieldset label { display: flex; align-items: center; gap: 0.6rem; font-weight: 500; cursor: pointer; }
.modal-content fieldset input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; }

/* ===== Responsive ===== */
@media (max-width: 1100px) { .hiw-grid { grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 900px) { .hiw-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 768px) {
  .hamburger { display:block; }
  .nav-links { display:none; position:absolute; top:56px; right:12px; background:#0077b6; border-radius:12px; padding:.6rem; box-shadow:0 14px 30px rgba(0,0,0,.12); flex-direction:column; gap:.35rem; width:min(88vw,320px); }
  .nav-links.show { display:flex; }
  .hiw-grid { grid-template-columns:1fr; max-width:600px; }
  .hero-text h1 { font-size:2rem; }
  .modal-content { width: 90%; max-width:400px; padding:1rem; }
  .hero-cta-buttons { gap:1rem; }
}
@media (max-width: 480px) {
  .hero-text h1 { font-size:1.6rem; }
  .hero-cta-buttons { flex-direction: column; gap:0.8rem; }
  .cta-btn { width:100%; min-width:auto; padding:.8rem 1rem; font-size:0.95rem; }
  .hiw-card { padding:1.5rem 1rem; font-size:0.9rem; }
}

/* ===== Hero Logo Responsive ===== */
@media (max-width: 768px) {
  .hero-logo {
    max-width: 150px; /* smaller on tablets */
    bottom: 15px;
    right: 15px;
  }
}

@media (max-width: 480px) {
  .hero-logo {
    max-width: 100px; /* smaller on phones */
    bottom: 10px;
    right: 10px;
  }
}
