/* ILS Financial -- shared site-wide styles (nav, footer, base reset, typography) */
/* Extracted from per-page inline <style> blocks -- rendering-identical refactor. */
/* A selector only ends up here if every page across the site declares it identically */
/* (or, for the small number of pages with a deliberately different nav/footer design, */
/* their own version is a strict property superset of this one, so cascade order lets */
/* their inline override win cleanly). See build_styles.py / css_tool.py for the audit. */


/* == Reset / Base == */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
      font-family: 'Inter', sans-serif;
      font-size: 16px;
      line-height: 1.65;
      color: #1A1A1A;
      background: #F8F8F6;
    }
a { color: #1B2A4A; text-decoration: underline; }

/* == Nav == */
.site-nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 100;
      background: #1B2A4A;
      transition: backdrop-filter 0.3s, background 0.3s;
    }
.site-nav.scrolled {
      background: rgba(27,42,74,0.95);
      backdrop-filter: blur(8px);
    }
.nav-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 32px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
.nav-logo img {
      height: 52px;
      filter: invert(1);
      mix-blend-mode: screen;
      display: block;
    }
.nav-cta:hover { background: #b8943f; color: #1B2A4A; }
.nav-right { display: flex; align-items: center; gap: 16px; }
.nav-link:hover { color: #C9A84C; }
.nav-dropdown { position: relative; }
.dropdown-menu {
      position: absolute; top: calc(100% + 6px); left: 0; background: #1B2A4A;
      border: 1px solid rgba(255,255,255,0.12); border-top: 2px solid #C9A84C;
      list-style: none; padding: 8px 0; min-width: 270px;
      opacity: 0; visibility: hidden; transform: translateY(-6px);
      transition: opacity 0.18s, transform 0.18s, visibility 0.18s;
      z-index: 200; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    }
.nav-dropdown:hover .dropdown-menu, .nav-dropdown.open .dropdown-menu {
      opacity: 1; visibility: visible; transform: translateY(0);
    }
.dropdown-menu li a {
      display: block; padding: 10px 20px; font-size: 14px; font-weight: 500;
      color: rgba(255,255,255,0.75); text-decoration: none;
      transition: color 0.15s, background 0.15s;
    }
.dropdown-menu li a:hover { color: #C9A84C; background: rgba(255,255,255,0.04); }
.nav-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px 4px; }
.nav-hamburger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.85); transition: transform 0.2s, opacity 0.2s; border-radius: 1px; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* == Footer == */
.social-link:hover { color: #C9A84C; }
.footer-col h4 {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: #FFFFFF;
      margin-bottom: 16px;
    }
