/* The header and footer every public page shares (site-chrome.js). Night on Olympus, the landing page's tokens */
:root {
  --sc-ink: #eef2ff; --sc-muted: #a3aec6; --sc-soft: #c3cbe0; --sc-rule: #212c47; --sc-surface: #0f1629;
  --sc-gold: #d4a853; --sc-ember: #e3b04f; --sc-flame: #f59e0b; --sc-on-flame: #1b1206;
  --sc-display: 'Cinzel', 'Trajan Pro', Georgia, serif; --sc-body: 'Public Sans', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --sc-gutter: clamp(16px, 4vw, 40px);
}
.site-head, .site-foot { font-family: var(--sc-body); }
.site-bar, .site-foot-in { max-width: 1120px; margin-inline: auto; padding-inline: var(--sc-gutter); }

/* Header */
.site-head { position: relative; z-index: 10; padding-block: 22px; }
.site-bar { display: flex; align-items: center; gap: 16px 32px; }
.site-brand { display: flex; align-items: center; gap: 12px; color: var(--sc-ink); text-decoration: none; margin-right: auto; }
.site-brand img { width: 32px; height: 34px; flex-shrink: 0; }
.site-brand span { display: flex; align-items: baseline; gap: 10px; }
.site-brand b { font: 700 22px/1 var(--sc-display); color: #fff; letter-spacing: 0.04em; }
.site-brand small { font: 600 11px/1 var(--sc-body); letter-spacing: 0.16em; text-transform: uppercase; color: var(--sc-muted); }
.site-nav { display: flex; gap: 28px; font-size: 15px; }
.site-nav a, .site-login { color: var(--sc-soft); text-decoration: none; }
.site-nav a:hover, .site-login:hover, .site-nav a[aria-current] { color: var(--sc-gold); }
.site-actions { display: flex; align-items: center; gap: 16px; font-size: 15px; }
.site-cta { font: 600 15px/1 var(--sc-body); color: var(--sc-on-flame); background: var(--sc-flame); border-radius: 10px; padding: 10px 16px; text-decoration: none; white-space: nowrap; }
.site-cta:hover { filter: brightness(1.06); }

/* The phone menu: hidden until the links no longer fit */
.site-menu { display: none; position: relative; }
.site-menu summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--sc-rule); }
.site-menu summary::-webkit-details-marker { display: none; }
.site-menu summary span, .site-menu summary span::before, .site-menu summary span::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--sc-ink); position: relative; transition: transform 150ms, background 150ms; }
.site-menu summary span::before, .site-menu summary span::after { content: ""; position: absolute; left: 0; }
.site-menu summary span::before { top: -6px; }
.site-menu summary span::after { top: 6px; }
.site-menu[open] summary span { background: transparent; }
.site-menu[open] summary span::before { transform: translateY(6px) rotate(45deg); }
.site-menu[open] summary span::after { transform: translateY(-6px) rotate(-45deg); }
.site-menu nav { position: absolute; right: 0; top: calc(100% + 10px); min-width: 220px; display: grid; padding: 8px; background: var(--sc-surface); border: 1px solid var(--sc-rule); border-radius: 14px; box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.6); }
.site-menu nav a { color: var(--sc-ink); text-decoration: none; font-size: 17px; padding: 12px 14px; border-radius: 8px; }
.site-menu nav a:hover, .site-menu nav a[aria-current] { background: rgba(212, 168, 83, 0.1); color: var(--sc-gold); }

@media (max-width: 820px) {
  .site-nav, .site-login { display: none; }
  .site-menu { display: block; }
}
@media (max-width: 480px) {
  .site-brand small { display: none; }
  .site-bar { gap: 12px; }
  .site-actions { gap: 10px; }
}

/* Footer */
.site-foot { border-top: 1px solid var(--sc-rule); padding-block: 40px 48px; font-size: 14px; color: var(--sc-muted); }
.site-wordmark { display: inline-block; margin-bottom: 28px; }
.site-wordmark img { display: block; height: 36px; width: auto; }
.site-cols { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 24px; max-width: 1120px; margin-bottom: 32px; }
.site-foot h2 { font: 600 12px/1.2 var(--sc-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--sc-gold); margin: 0 0 12px; }
.site-foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.site-foot li { margin: 0; }
.site-foot a { color: var(--sc-soft); text-decoration: none; }
.site-foot a:hover, .site-foot a[aria-current] { color: var(--sc-gold); }
.site-foot p { margin: 0 0 8px; }
.site-email { color: var(--sc-ink); font-weight: 600; user-select: all; }
.site-copy { position: relative; display: inline-grid; place-items: center; width: 30px; height: 30px; margin: -7px 2px -7px 4px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--sc-soft); cursor: pointer; vertical-align: middle; appearance: none; box-shadow: none; }
.site-copy:hover, .site-copy:focus-visible { color: var(--sc-ink); background: rgba(238, 242, 255, 0.1); }
.site-copy.done { color: #4ade80; }
.site-copy svg { display: block; }
/* Its tooltip: "Copy", then "Copied" */
.site-copy::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); padding: 6px 10px; border-radius: 8px; background: #262f47; color: var(--sc-ink); font: 500 13px/1 var(--sc-body); white-space: nowrap; box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.6); opacity: 0; pointer-events: none; transition: opacity 120ms; }
.site-copy:hover::after, .site-copy:focus-visible::after, .site-copy.done::after { opacity: 1; }
.site-fine { font-size: 13px; }
@media (max-width: 900px) {
  .site-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .site-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
