/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* Header scroll state (replaces old framework's inline style switching) */
#site-header {
  transition: background .4s ease, color .4s ease, box-shadow .4s ease;
}
#site-header.scrolled {
  background: rgba(250,248,244,0.82);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 1px 0 rgba(22,38,61,0.08);
  color: #16263d;
}

/* Logo swap on scroll */
.logo-white { opacity: 1; }
.logo-teal { opacity: 0; }
#site-header.scrolled .logo-white { opacity: 0; }
#site-header.scrolled .logo-teal { opacity: 1; }

/* Responsive nav: full nav on wide screens, hamburger on narrow screens */
.mobile-nav-wrap { display: none; }
@media (max-width: 979px) {
  .full-nav { display: none !important; }
  .mobile-nav-wrap { display: block; }
}

/* Mobile dropdown menu, hidden until toggled open via JS */
#mobile-menu { display: none; }
#mobile-menu.open { display: flex; }

/* Hover effects (converted from the original design tool's hover states) */
.hv1:hover { opacity:1; }
.hv2:hover { opacity:1; }
.hv3:hover { opacity:1; }
.hv4:hover { opacity:1; }
.hv5:hover { opacity:1; }
.hv6:hover { opacity:1; }
.hv7:hover { background:#f0ece4; }
.hv8:hover { background:#f0ece4; }
.hv9:hover { background:#f0ece4; }
.hv10:hover { background:#f0ece4; }
.hv11:hover { background:#f0ece4; }
.hv12:hover { background:#f0ece4; }
.hv13:hover { background:var(--sc-accent-dark,#245f73); transform:translateY(-2px); }
.hv14:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.9); }
.hv15:hover { transform:translateY(-4px); box-shadow:0 34px 70px -34px rgba(22,38,61,0.4); }
.hv16:hover { gap:14px; }
.hv17:hover { transform:translateY(-4px); box-shadow:0 34px 70px -34px rgba(22,38,61,0.4); }
.hv18:hover { gap:14px; }
.hv19:hover { background:var(--sc-accent-dark,#245f73); transform:translateY(-2px); }
.hv20:hover { background:var(--sc-navy,#16263d); color:#fff; }
.hv21:hover { background:var(--sc-accent-dark,#245f73); transform:translateY(-2px); }
.hv22:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.9); }
.hv23:hover { color:#fff; }
.hv24:hover { color:#fff; }
.hv25:hover { color:#fff; }
.hv26:hover { color:#fff; }
.hv27:hover { color:#fff; }
.hv28:hover { color:#fff; }
.hv29:hover { background:var(--sc-accent,#2e7d96); border-color:var(--sc-accent,#2e7d96); }
.hv30:hover { background:var(--sc-accent,#2e7d96); border-color:var(--sc-accent,#2e7d96); }
.hv31:hover { background:var(--sc-accent,#2e7d96); border-color:var(--sc-accent,#2e7d96); }