/* Inflexion shared site chrome: header, mobile menu and footer for pages outside the core page set.
   Loaded after common.css so these rules take precedence. */
:root{
  --sx-ink:#0A0A0B;--sx-ink-2:#151517;--sx-paper:#F5F3EF;--sx-accent:#FF5A1F;
  --sx-on-ink:#F7F6F3;--sx-on-ink-2:rgba(247,246,243,.66);--sx-on-ink-3:rgba(247,246,243,.4);--sx-rule-ink:rgba(247,246,243,.13);
  --sx-sans:'Montserrat',system-ui,-apple-system,sans-serif;--sx-mono:'IBM Plex Mono',ui-monospace,monospace;
  --sx-gutter:clamp(20px,5vw,64px);--sx-max:1280px;
}
.sx-wrap{max-width:var(--sx-max);margin:0 auto;padding-left:max(var(--sx-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--sx-gutter),env(safe-area-inset-right,0px));box-sizing:border-box}

/* header */
header.sx{position:relative;top:auto;left:auto;right:auto;z-index:10;height:auto;background:var(--sx-ink);border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
header.sx .sx-bar{display:flex;align-items:center;justify-content:space-between;height:88px}
header.sx .sx-bar img{height:34px;width:auto;display:block}
header.sx nav{display:flex;align-items:center;gap:32px;position:static;background:none;padding:0;border:0;flex-direction:row;font:500 14px/1 var(--sx-sans)}
header.sx nav a{color:var(--sx-on-ink-2);font:inherit;letter-spacing:0;text-transform:none;padding:0;text-decoration:none}
header.sx nav a:hover,header.sx nav a[aria-current]{color:var(--sx-on-ink)}
header.sx .sx-btn,.mnav .sx-btn,.sx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:40px;padding:0 18px;border-radius:999px;background:var(--sx-accent);color:var(--sx-ink)!important;font:500 14px/1 var(--sx-sans);white-space:nowrap;text-decoration:none;letter-spacing:0;text-transform:none}
header.sx .sx-menu,.mnav .sx-menu{display:none;background:none;border:1px solid var(--sx-rule-ink);color:var(--sx-on-ink);border-radius:999px;height:40px;padding:0 18px;font:500 14px var(--sx-sans);cursor:pointer}
header.sx a:focus-visible,.mnav a:focus-visible,footer.sx a:focus-visible,.sx-menu:focus-visible{outline:2px solid var(--sx-accent);outline-offset:3px}

/* mobile menu */
.mnav{display:none;position:fixed;inset:0;z-index:50;background:var(--sx-ink);padding:max(24px,env(safe-area-inset-top,0px)) max(var(--sx-gutter),env(safe-area-inset-right,0px)) 32px max(var(--sx-gutter),env(safe-area-inset-left,0px));flex-direction:column;box-sizing:border-box}
.mnav.open{display:flex}
.mnav .top{display:flex;justify-content:space-between;align-items:center;height:48px}
.mnav .top img{height:28px;width:auto}
.mnav .top .sx-menu{display:block}
.mnav ul{list-style:none;display:grid;gap:22px;margin:56px 0 0;padding:0;font:300 32px/1.1 var(--sx-sans);letter-spacing:-.02em}
.mnav ul a{color:var(--sx-on-ink);text-decoration:none}
.mnav .sx-btn{margin-top:auto;height:50px;font-size:15px}

/* footer */
footer.sx{background:var(--sx-ink);color:var(--sx-on-ink);border-top:1px solid var(--sx-rule-ink);padding:72px 0 32px;margin:0;font-family:var(--sx-sans)}
footer.sx .foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer.sx .foot img{height:30px;width:auto;display:block;margin-bottom:18px}
footer.sx .foot p{color:var(--sx-on-ink-3);font-size:15px;line-height:1.6;max-width:28ch;font-weight:300;margin:0}
footer.sx h4{font:500 13px/1 var(--sx-sans);color:var(--sx-on-ink-3);margin:0 0 18px;letter-spacing:0;text-transform:none}
footer.sx ul{list-style:none;display:grid;gap:12px;margin:0;padding:0;font:400 15px/1.3 var(--sx-sans)}
footer.sx ul a{color:var(--sx-on-ink-2);text-decoration:none}
footer.sx ul a:hover{color:var(--sx-on-ink)}
footer.sx .mail{font:400 15px/1 var(--sx-mono);color:var(--sx-on-ink-2);user-select:all}
footer.sx .legal{display:flex;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--sx-rule-ink);font:400 13px/1 var(--sx-sans);color:var(--sx-on-ink-3)}

@media (max-width:1000px){
  header.sx nav a:not(.sx-btn){display:none}
  footer.sx .foot{grid-template-columns:1fr 1fr}
  footer.sx .foot > div:first-child{grid-column:1/3}
}
@media (max-width:640px){
  header.sx nav{display:none}
  header.sx .sx-menu{display:block}
  header.sx .sx-bar{height:72px}
  header.sx .sx-bar img{height:28px}
  footer.sx .legal{flex-direction:column}
}
