/* Shared site chrome: the header and footer used on every page.
   Markup is static per page (see the homepage for the reference), behaviour
   (mobile toggle, scrolled state) lives in local-framer-fallback.js.
   Self-contained: own tokens, own font-face, no dependency on page CSS. */

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.site-header, .site-footer {
  --chrome-bg: #F3EFEA;
  --chrome-ink: #000000;
  --chrome-ink-2: #454545;
  --chrome-muted: #878787;
  --chrome-accent: #6D50D4;
  --chrome-line: rgba(0,0,0,0.10);
  --chrome-gutter: clamp(16px, 2vw, 40px);
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--chrome-ink);
  line-height: 1.4;
  box-sizing: border-box;
}
.site-header *, .site-footer * { box-sizing: border-box; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(243,239,234,0.78);
  backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color .25s ease, box-shadow .25s ease;
}
/* Framer-exported pages: overlay the page (their layouts already reserve space for a floating nav) */
.site-header--fixed { position: fixed; left: 0; right: 0; }
.site-header.is-scrolled { border-bottom-color: var(--chrome-line); box-shadow: 0 6px 24px rgba(0,0,0,0.05); }
.site-header .wrap {
  width: 100%; max-width: 100%; margin: 0; padding: 0 var(--chrome-gutter);
  display: flex; align-items: center; justify-content: space-between; height: 68px;
}
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { display: block; height: 28px; width: auto; }

.site-header .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 20px; border: 0; border-radius: 12px;
  font: inherit; font-weight: 500; font-size: 15px; line-height: 1; white-space: nowrap; text-decoration: none;
  background: var(--chrome-accent); color: #fff;
  box-shadow: 0 10px 24px rgba(109,80,212,0.30);
  transition: transform .2s ease, box-shadow .2s ease;
}
.site-header .btn:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(109,80,212,0.40); }

.site-nav { display: flex; align-items: center; gap: 4px; padding: 5px; border: 1px solid var(--chrome-line); border-radius: 999px; background: rgba(255,255,255,0.65); }
.site-nav a { padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--chrome-ink-2); text-decoration: none; transition: color .2s ease, background .2s ease; }
.site-nav a:hover { color: var(--chrome-ink); background: rgba(0,0,0,0.05); }
.site-nav a[aria-current="page"] { color: var(--chrome-accent); }

.site-header__actions { display: flex; align-items: center; gap: 10px; }
.nav-toggle {
  display: none; width: 42px; height: 42px; padding: 0; margin: 0;
  border: 1px solid var(--chrome-line); border-radius: 12px; background: transparent; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.nav-toggle span { display: block; width: 18px; height: 2px; background: var(--chrome-ink); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.site-header.is-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header.is-open .nav-toggle span:nth-child(2) { opacity: 0; }
.site-header.is-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .nav-toggle { display: flex; }
  /* Collapsed nav drops out under the sticky header (the header is the positioning context) */
  .site-nav {
    display: none; position: absolute; left: 0; right: 0; top: 68px;
    padding: 10px var(--chrome-gutter) 18px; border: 0; border-bottom: 1px solid var(--chrome-line); border-radius: 0;
    background: var(--chrome-bg); flex-direction: column; align-items: stretch; gap: 2px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
  }
  .site-header.is-open .site-nav { display: flex; }
  .site-nav a { padding: 13px 12px; font-size: 16px; border-radius: 12px; }
}
@media (max-width: 560px) {
  .site-header .btn { padding: 9px 14px; font-size: 14px; }
}

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--chrome-line); padding: 40px 0; background: var(--chrome-bg); }
.site-footer .wrap {
  width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
}
.site-footer__left { display: flex; align-items: center; gap: 16px; }
.site-footer img { display: block; height: 22px; width: auto; opacity: 0.85; }
.site-footer p { margin: 0; font-size: 13px; color: var(--chrome-muted); }
.site-footer__links { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; font-weight: 600; }
.site-footer__links a { color: var(--chrome-ink-2); text-decoration: none; transition: color .2s ease; }
.site-footer__links a:hover { color: var(--chrome-accent); }
.site-footer__social { display: inline-flex; gap: 12px; }
.site-footer__social a {
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--chrome-line);
  display: inline-flex; align-items: center; justify-content: center; color: var(--chrome-ink-2);
  transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.site-footer__social a:hover { color: var(--chrome-accent); border-color: var(--chrome-accent); transform: translateY(-2px); }
.site-footer__social svg { width: 16px; height: 16px; }

/* Framer-exported pages: the exported Framer nav component is replaced by the shared header */
.framer-SJOwx { display: none !important; }
