/* ==========================================================
   Auron Advisory · shared site chrome · v1
   Single source for: header, footer, consent banner.
   Loaded on every page:  <link rel="stylesheet" href="/assets/site.css">
   Do not copy these rules into page files. Edit here only.
   ========================================================== */

/* ---------- header ---------- */
  /* --- canonical nav --- */
  .site-header { position: sticky; top: 0; z-index: 100; background: var(--cream, #FAFAF7); border-bottom: 0.5px solid var(--border, rgba(26,26,24,0.12)); }
  .site-header .nav-wrap { position: relative; max-width: 1120px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 1rem; }
  .logo-lockup { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; flex-shrink: 0; }
  .logo-mark { height: 38px; width: auto; display: block; }
  .logo-divider { width: 1px; height: 30px; background: #7A5E1F; opacity: 0.6; }
  .logo-words { display: flex; flex-direction: column; line-height: 1; }
  .logo-words .logo-auron { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600; letter-spacing: 0.14em; color: #7A5E1F; }
  .logo-words .logo-advisory-it { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-weight: 400; font-style: italic; letter-spacing: 0.16em; color: #1A1A18; margin-top: 2px; }

  .site-menu { display: flex; align-items: center; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
  .site-menu li { list-style: none; padding: 0; margin: 0; position: static; color: inherit; }
  .site-menu li::before, .site-menu li::after { content: none !important; display: none !important; }
  .site-menu a { font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-mid, #4A4A45); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; transition: color .2s; padding-bottom: 2px; border-bottom: 1px solid transparent; }
  .site-menu a:hover { color: var(--ink, #1A1A18); }
  .site-menu a[aria-current="page"] { color: var(--ink, #1A1A18); font-weight: 600; border-bottom-color: #7A5E1F; }
  .site-menu .nav-home { color: var(--ink-light, #8A8A80); }
  .site-menu .nav-cta { color: var(--ink, #1A1A18); background: var(--cream, #FAFAF7); border: 1.5px solid var(--ink, #1A1A18); padding: 0 1.4rem; box-shadow: 0 2px 6px rgba(26,26,24,0.08); border-bottom: 1.5px solid var(--ink, #1A1A18); }
  .site-menu .nav-cta:hover { background: #7A5E1F; color: var(--cream, #FAFAF7); border-color: #7A5E1F; }
  .site-header.is-home .nav-home { display: none; }

  /* hamburger (mobile only) */
  .nav-toggle { display: none; background: none; border: 1.5px solid var(--ink, #1A1A18); width: 44px; height: 44px; cursor: pointer; align-items: center; justify-content: center; flex-shrink: 0; }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { display: block; width: 18px; height: 1.5px; background: var(--ink, #1A1A18); position: relative; transition: transform .2s, opacity .2s; }
  .nav-toggle span::before, .nav-toggle span::after { content: ''; position: absolute; left: 0; }
  .nav-toggle span::before { top: -6px; } .nav-toggle span::after { top: 6px; }
  .nav-toggle[aria-expanded="true"] span { background: transparent; }
  .nav-toggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }

  a:focus-visible, button:focus-visible { outline: 2px solid #7A5E1F; outline-offset: 2px; }

  @media (max-width: 620px) {
    .site-header .nav-wrap { padding: 0 20px; min-height: 64px; }
    .logo-words, .logo-divider { display: none; }
    .logo-mark { height: 34px; }
    .nav-toggle { display: inline-flex; }
    /* keep the CTA visible outside the drawer */
    .site-menu { position: absolute; left: 0; right: 0; top: 100%; z-index: 101; background: var(--cream, #FAFAF7); border-bottom: 0.5px solid var(--border, rgba(26,26,24,0.12)); flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 20px 1rem; display: none; }
    .site-header.menu-open .site-menu { display: flex; }
    .site-menu li { border-top: 0.5px solid var(--border, rgba(26,26,24,0.12)); }
    .site-menu li:first-child { border-top: none; }
    .site-menu a { min-height: 48px; width: 100%; border-bottom: none; }
    .site-menu a[aria-current="page"] { border-left: 2px solid #7A5E1F; padding-left: 0.6rem; }
    .site-menu .nav-cta-li { display: none; }        /* hide CTA inside drawer... */
    .site-header .nav-cta-mobile { display: inline-flex; }  /* ...show it in the bar instead */
  }
  .nav-cta-mobile { display: none; font-family: 'Instrument Sans', sans-serif; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink, #1A1A18); background: var(--cream, #FAFAF7); border: 1.5px solid var(--ink, #1A1A18); padding: 0 0.9rem; min-height: 44px; align-items: center; text-decoration: none; margin-left: auto; margin-right: 0.6rem; }
  .nav-cta-mobile:hover { background: #7A5E1F; color: var(--cream, #FAFAF7); border-color: #7A5E1F; }


/* reserve header height before site.js fills the placeholder (no layout jump) */
[data-site-header] { display: block; min-height: 76px; }
@media (max-width: 620px) { [data-site-header] { min-height: 64px; } }
.site-header { font-family: 'Instrument Sans', sans-serif; }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid rgba(26,26,24,0.12); background: #FAFAF7; margin-top: 30px; }
.site-footer .sf-wrap { max-width: 1120px; margin: 0 auto; padding: 30px 40px 54px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.site-footer .sf-logo { font-family: 'Cormorant Garamond', serif; font-size: 15px; letter-spacing: 0.1em; text-decoration: none; color: #1A1A18; }
.site-footer .sf-logo .a { color: #7A5E1F; font-weight: 600; }
.site-footer .sf-copy { font-family: 'Instrument Sans', sans-serif; font-size: 11px; color: #8A8A80; }
.site-footer .sf-copy a { color: inherit; text-decoration: none; }
.site-footer .sf-copy a:hover { color: #7A5E1F; }
@media (max-width: 620px) { .site-footer .sf-wrap { padding: 26px 20px 44px; flex-direction: column; text-align: center; } }

/* ---------- consent banner ---------- */
  .consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 200; max-width: 560px; margin: 0 auto; background: #FAFAF7; border: 1px solid rgba(26,26,24,0.15); box-shadow: 0 6px 24px rgba(26,26,24,0.10); padding: 14px 16px; font-family: 'Instrument Sans', sans-serif; font-size: 13px; color: #4A4A45; line-height: 1.55; display: none; gap: 12px; align-items: center; flex-wrap: wrap; }
  .consent.show { display: flex; }
  .consent p { margin: 0; flex: 1 1 260px; }
  .consent a { color: #7A5E1F; }
  .consent-actions { display: flex; gap: 8px; }
  .consent button { font-family: 'Instrument Sans', sans-serif; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.55rem 1rem; cursor: pointer; border: 1.5px solid #1A1A18; background: #FAFAF7; color: #1A1A18; min-height: 40px; }
  .consent button.yes { background: #7A5E1F; color: #FAFAF7; border-color: #7A5E1F; }
  .consent button:hover { background: #F0EEE6; color: #1A1A18; border-color: #7A5E1F; }
  .consent button:focus-visible { outline: 2px solid #7A5E1F; outline-offset: 2px; }
