/* ── NAV ── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1rem 2.5rem;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .35s, box-shadow .35s;
}
#navbar.scrolled {
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
.nav-logo {
  display:flex; align-items:center; gap:.6rem;
  font-family:'Playfair Display',serif; font-size:1.15rem;
  color:#fff; transition:color .35s; text-decoration:none;
}
#navbar.scrolled .nav-logo { color:#1e293b; }
.nav-links { display:flex; gap:2rem; list-style:none; margin:0; padding:0; }
.nav-links a {
  color:rgba(255,255,255,.88); font-size:.875rem; font-weight:500;
  text-transform:uppercase; letter-spacing:.05em; transition:color .25s; text-decoration:none;
  font-family:'Inter',sans-serif;
}
#navbar.scrolled .nav-links a { color:#1e293b; }
.nav-links a:hover { color:#4ecdc4; }
.nav-cta {
  background:#1a5f8a; color:#fff !important;
  padding:.5rem 1.3rem; border-radius:50px;
}
.nav-cta:hover { background:#0d3d5e !important; }
#navbar.scrolled .nav-cta { color:#fff !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span { display:block; width:26px; height:2px; background:#fff; transition:.3s; }
#navbar.scrolled .hamburger span { background:#1e293b; }

/* ── FOOTER ── */
footer { background:#1e293b; color:rgba(255,255,255,.75); padding:3.5rem 0 1.5rem; font-family:'Inter',sans-serif; }
footer .container { max-width:1240px; margin:0 auto; padding:0 2rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand h3 { color:#fff; font-size:1.25rem; margin-bottom:.7rem; font-family:'Playfair Display',serif; }
.footer-brand p { font-size:.88rem; line-height:1.75; margin:0; }
.social-links { display:flex; gap:1rem; margin-top:1.2rem; }
.social-links a { color:rgba(255,255,255,.5); font-size:1.25rem; transition:color .25s; text-decoration:none; }
.social-links a:hover { color:#4ecdc4; }
.footer-col h4 { color:#fff; font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem; font-family:'Playfair Display',serif; }
.footer-col ul { list-style:none; margin:0; padding:0; }
.footer-col li { margin-bottom:.5rem; }
.footer-col a { font-size:.87rem; transition:color .25s; text-decoration:none; }
.footer-col a:hover { color:#4ecdc4; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.1); padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center;
  font-size:.78rem; flex-wrap:wrap; gap:.5rem;
}
.totop { color:rgba(255,255,255,.5); font-size:1.2rem; transition:color .25s; }
.totop:hover { color:#fff; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .nav-mobile-open {
    display:flex !important; position:fixed; top:62px; right:0;
    background:#fff; padding:1.2rem 2rem; flex-direction:column;
    box-shadow:0 4px 24px rgba(0,0,0,0.12); border-radius:0 0 14px 14px;
    margin:0; list-style:none; gap:1.5rem;
  }
  .nav-mobile-open a { color:#1e293b !important; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
}

/* OVERRIDES FOR SUBPAGES SO NAVBAR IS VISIBLE WITHOUT HERO IMAGE */
body:not(.home) #navbar { background:rgba(255,255,255,.96); box-shadow:0 2px 12px rgba(0,0,0,0.08); }
body:not(.home) .nav-logo { color:#1e293b; }
body:not(.home) .nav-links a { color:#1e293b; }
body:not(.home) .nav-cta { color:#fff !important; }
body:not(.home) .hamburger span { background:#1e293b; }
