/* Shared site chrome: header, menu, footer. Source of truth for markup: _chrome/header.html, _chrome/footer.html.
   Self-contained: defines every token it uses (with the design-system values) so it renders identically on pages that do not load colors_and_type.css (expert-speakers/). */
.igl-hdr, .igl-menu, .igl-ftr { --igl-ink: #120f29; --igl-blue-400: #0abfdb; --fg: #f4f4fb; --fg-muted: #a8abc4; --fg-subtle: #8b93a5; --border: rgba(255,255,255,0.09); --border-strong: rgba(255,255,255,0.18); --font-display: 'Reckless', 'Iowan Old Style', Georgia, serif; --font-sans: 'Basier Square', ui-sans-serif, -apple-system, 'Helvetica Neue', Arial, sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace; --ease-standard: cubic-bezier(0.2, 0, 0, 1); }
/* Pages whose own layout is in normal flow (expert-speakers/) opt into a spacer for the fixed header. */
body.igl-has-fixed-hdr > main, body.igl-has-fixed-hdr > .igl-hdr-spacer { padding-top: 64px; }
.igl-hdr { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 clamp(20px, 4vw, 40px); background: rgba(18,15,41,0.78); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.09); font-family: var(--font-sans); }
.igl-hdr-logo { display: block; }
.igl-hdr-logo img { height: 24px; width: auto; display: block; }
.igl-menu-btn { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: 1px solid rgba(255,255,255,0.22); border-radius: 2px; cursor: pointer; padding: 0; color: var(--fg); }
.igl-menu-btn line { transition: transform 220ms var(--ease-standard), opacity 160ms var(--ease-standard); transform-origin: 12px 6px; }
.igl-menu-btn .l3 { transform-origin: 12px 18px; }
.igl-menu-btn[aria-expanded="true"] .l1 { transform: translate(0, 6px) rotate(45deg); }
.igl-menu-btn[aria-expanded="true"] .l2 { opacity: 0; }
.igl-menu-btn[aria-expanded="true"] .l3 { transform: translate(0, -6px) rotate(-45deg); }
.igl-menu { position: fixed; inset: 0; z-index: 55; background: var(--igl-ink); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 220ms var(--ease-standard), visibility 220ms var(--ease-standard); display: flex; flex-direction: column; font-family: var(--font-sans); }
.igl-menu[data-open] { opacity: 1; visibility: visible; pointer-events: auto; }
.igl-menu nav { flex: 1; display: flex; flex-direction: column; justify-content: safe center; max-width: 1200px; width: 100%; margin: 0 auto; box-sizing: border-box; padding: 88px clamp(24px, 5vw, 48px) 32px; overflow-y: auto; }
.igl-menu nav a:first-child { margin-top: auto; }
.igl-menu nav a:last-child { margin-bottom: auto; }
.igl-menu nav a { padding: 12px 0; border-bottom: 1px solid var(--border); font-family: var(--font-display); font-weight: 400; font-size: clamp(24px, 4vw, 38px); letter-spacing: -0.02em; color: var(--fg); text-decoration: none; }
.igl-menu nav a:last-child { border-bottom: 0; }
.igl-menu nav a:hover { color: var(--igl-blue-400); text-decoration: none; }

.igl-ftr { border-top: 1px solid var(--border); padding: 64px clamp(20px, 5vw, 40px) 32px; font-family: var(--font-sans); color: var(--fg); background: var(--igl-ink); }
.igl-ftr a { color: var(--fg-muted); text-decoration: none; }
.igl-ftr a:hover { color: var(--fg); text-decoration: underline; }
.igl-ftr-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; align-items: start; }
.igl-ftr-brand img { height: 24px; width: auto; display: block; margin-bottom: 24px; }
.igl-ftr-brand p { margin: 0 0 28px; font-size: 15px; line-height: 1.6; color: var(--fg-muted); max-width: 32ch; text-wrap: pretty; }
.igl-ftr-cta { display: inline-block; font-size: 15px; font-weight: 500; padding: 14px 24px; border-radius: 4px; border: 1px solid var(--border-strong); color: var(--fg) !important; }
.igl-ftr-cta:hover { text-decoration: none !important; opacity: 0.8; }
.igl-ftr-col summary { display: flex; justify-content: space-between; align-items: center; list-style: none; cursor: default; color: var(--fg); margin: 0 0 16px; }
.igl-ftr-col summary::-webkit-details-marker { display: none; }
.igl-ftr-h { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-subtle); }
.igl-ftr-chev { display: none; transition: transform 180ms var(--ease-standard); }
.igl-ftr-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.igl-ftr-col li a { display: block; padding: 8px 0; font-size: 15px; }
.igl-ftr-rail { max-width: 1200px; margin: 48px auto 0; padding-top: 24px; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; font-size: 12.5px; color: var(--fg-subtle); }
.igl-ftr-rail p { margin: 0; line-height: 1.6; }
.igl-ftr-rail nav { display: flex; gap: 24px; }
.igl-ftr-rail nav a { color: var(--fg-subtle); padding: 4px 0; }

@media (max-width: 759px) {
  .igl-ftr { padding: 48px 20px 28px; }
  .igl-ftr-grid { grid-template-columns: 1fr; gap: 0; }
  .igl-ftr-brand { margin-bottom: 32px; }
  .igl-ftr-cta { display: block; text-align: center; }
  .igl-ftr-col { border-top: 1px solid var(--border); }
  .igl-ftr-col:last-of-type { border-bottom: 1px solid var(--border); }
  .igl-ftr-col summary { min-height: 52px; margin: 0; cursor: pointer; }
  .igl-ftr-h { color: var(--fg); }
  .igl-ftr-chev { display: block; }
  .igl-ftr-col[open] .igl-ftr-chev { transform: rotate(180deg); }
  .igl-ftr-col ul { padding-bottom: 12px; }
  .igl-ftr-col li a { padding: 12px 0; font-size: 16px; }
  .igl-ftr-rail { flex-direction: column-reverse; align-items: flex-start; }
}
