/* sls.market — shared site header + footer (hand-written, not from Webflow).
   Markup comes from tools/build_nav.py (blocks between the site-nav / site-footer
   markers in every page). Self-contained: needs only the Generalsans @font-face
   from the shared Webflow CSS. No jQuery, no Webflow runtime. */
.site-nav,.site-footer{--sn-black:#000;--sn-white:#fff;--sn-orange:#ff6101;--sn-line:#e6e6e6;--sn-muted:#8f949d;
  font-family:Generalsans,sans-serif;font-size:1rem;line-height:1.5rem;box-sizing:border-box}
.site-nav *,.site-footer *{box-sizing:border-box}

/* ---------- header ---------- */
.site-nav{position:fixed;inset:0 0 auto;z-index:1000;height:5rem;padding:0 1.5rem;
  background-color:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--sn-black)}
.site-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  width:100%;max-width:75rem;height:100%;margin:0 auto}
.site-nav__brand{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.site-nav__brand img{display:block;height:2rem;width:auto;max-width:none}
.site-nav__menu{display:flex;align-items:center;gap:1.75rem;min-width:0}
.site-nav__list{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}
.site-nav__list li{margin:0;padding:0}
.site-nav__link{position:relative;display:inline-block;padding:.5rem 0;color:var(--sn-black);font-size:1rem;
  font-weight:500;line-height:1.5rem;text-decoration:none;white-space:nowrap;transition:color .2s}
.site-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:.125rem;height:2px;
  background:var(--sn-orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-nav__link:hover::after,.site-nav__link[aria-current]::after{transform:scaleX(1)}
.site-nav__cta{display:inline-block;flex:none;padding:.75rem 1.25rem;border-radius:.5rem;background-color:var(--sn-orange);
  color:var(--sn-white);font-size:1rem;font-weight:500;line-height:1rem;text-decoration:none;white-space:nowrap;
  transition:color .3s,background-color .3s}
.site-nav__cta:hover{background-color:var(--sn-black);color:var(--sn-white)}
.site-nav a:focus-visible,.site-nav__toggle:focus-visible{outline:2px solid var(--sn-black);outline-offset:3px;border-radius:.25rem}
.site-nav__toggle{display:none;flex:none;width:2.75rem;height:2.75rem;margin-right:-.625rem;padding:0;border:0;
  background:none;color:var(--sn-black);cursor:pointer;-webkit-tap-highlight-color:transparent}
.site-nav__bars{position:relative;display:block;width:24px;height:14px;margin:0 auto}
.site-nav__bars span{position:absolute;left:0;width:24px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.site-nav__bars span:nth-child(1){top:0}
.site-nav__bars span:nth-child(2){top:6px}
.site-nav__bars span:nth-child(3){top:12px}
.site-nav__toggle[aria-expanded="true"] .site-nav__bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-nav__toggle[aria-expanded="true"] .site-nav__bars span:nth-child(2){opacity:0}
.site-nav__toggle[aria-expanded="true"] .site-nav__bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* in-page anchors must clear the fixed header */
:target{scroll-margin-top:5.5rem}

@media screen and (max-width:1100px){
  .site-nav__menu,.site-nav__list{gap:1.25rem}
}
@media screen and (max-width:991px){
  .site-nav{padding:0 1.875rem}
  .site-nav__toggle{display:block}
  .site-nav__menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem);overflow-y:auto;overscroll-behavior:contain;
    padding:.5rem 1.875rem 1.5rem;background:var(--sn-white);border-top:1px solid var(--sn-line);
    border-bottom:1px solid var(--sn-line);box-shadow:0 16px 32px rgba(0,0,0,.08)}
  .site-nav.is-open .site-nav__menu{display:flex}
  .site-nav.is-open{background-color:var(--sn-white)}
  .site-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .site-nav__link{display:block;padding:.875rem 0;border-bottom:1px solid var(--sn-line);font-size:1.0625rem}
  .site-nav__link::after{display:none}
  .site-nav__link[aria-current]{color:var(--sn-orange)}
  .site-nav__cta{margin-top:1.25rem;padding:1rem 1.25rem;text-align:center}
}
@media screen and (max-width:767px){
  .site-nav{padding:0 1.5rem}
  .site-nav__menu{padding-left:1.5rem;padding-right:1.5rem}
}
@media screen and (max-width:479px){
  .site-nav{padding:0 1rem}
  .site-nav__menu{padding-left:1rem;padding-right:1rem}
}
/* without JavaScript the toggle cannot work: show the menu as a plain block */
@media screen and (max-width:991px) and (scripting:none){
  .site-nav{position:absolute;height:auto;padding-top:1.5rem;padding-bottom:1rem}
  .site-nav__inner{flex-wrap:wrap;height:auto}
  .site-nav__toggle{display:none}
  .site-nav__menu{display:flex;position:static;width:100%;max-height:none;padding:0;border:0;box-shadow:none;background:none}
}
@media (prefers-reduced-motion:reduce){
  .site-nav__link,.site-nav__link::after,.site-nav__cta,.site-nav__bars span{transition:none}
}

/* ---------- footer ---------- */
.site-footer{background-color:var(--sn-black);color:var(--sn-line);padding:0 1.5rem}
.site-footer__inner{width:100%;max-width:75rem;margin:0 auto;padding:6.25rem 0 1.875rem}
.site-footer__top{display:flex;justify-content:space-between;gap:3rem 8.125rem}
.site-footer__brand{display:flex;flex-direction:column;gap:1rem;max-width:24.6875rem}
.site-footer__brand a{display:inline-block;align-self:flex-start;text-decoration:none}
.site-footer__brand img{display:block;height:2rem;width:auto}
.site-footer__brand p{margin:0;color:var(--sn-line);font-size:1rem;line-height:1.5rem}
.site-footer__cols{display:grid;grid-template-columns:auto auto;gap:2.5rem 5rem}
.site-footer__col{display:flex;flex-direction:column;gap:1.5rem}
.site-footer__h{margin:0;color:var(--sn-muted);font-size:1.125rem;font-weight:400;line-height:1.625rem}
.site-footer__links{display:flex;flex-direction:column;gap:1.25rem;list-style:none;margin:0;padding:0}
.site-footer__links li{margin:0;padding:0}
.site-footer__links a{color:var(--sn-line);font-size:1rem;font-weight:400;line-height:1.5rem;text-decoration:none;transition:color .2s}
.site-footer__links a:hover,.site-footer__links a[aria-current]{color:var(--sn-orange)}
.site-footer__rule{height:1px;margin:3.125rem 0 0;border:0;background-color:#3a445a}
.site-footer__bottom{margin:0;padding-top:1.5rem;color:var(--sn-white);font-size:.875rem;font-weight:400;line-height:1.375rem}
.site-footer__credit{color:inherit;opacity:.6;text-decoration:none;transition:opacity .2s}
.site-footer__credit:hover,.site-footer__credit:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:.2em}
.site-footer a:focus-visible{outline:2px solid var(--sn-white);outline-offset:3px;border-radius:.125rem}
@media screen and (max-width:991px){
  .site-footer{padding:0 1.875rem}
  .site-footer__inner{padding-top:4rem}
  .site-footer__top{flex-direction:column}
  .site-footer__brand{max-width:none}
  .site-footer__cols{justify-content:start;column-gap:3.9rem}
  .site-footer__links a,.site-footer__brand p{font-size:.9375rem;line-height:1.4375rem}
}
@media screen and (max-width:767px){
  .site-footer{padding:0 1.5rem}
  .site-footer__rule{margin-top:2rem}
}
@media screen and (max-width:479px){
  .site-footer{padding:0 1rem}
  .site-footer__cols{grid-template-columns:1fr}
}
