:root { --site-header-height: 60px; }
:where(html) { scroll-padding-top: var(--site-header-height); }
.site-nav { --header-height:60px; --header-paper:var(--site-paper, var(--surface, #F9F9F9)); --line:#d7d7d7; --ink:#000; --font:"Instrument Sans",sans-serif; --mono:"Martian Mono",monospace; font-family:var(--font); }
.site-nav { position: sticky; top: 0px; z-index: 30; background: var(--header-paper); color: var(--ink); border-bottom: 1px solid var(--line); }
/* Width and centring come from site-rails.css. */
.site-nav .header-inner { position: relative; height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-inline: 1px solid var(--line); }
.site-nav .brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; font-size: 16px; font-weight: 600; line-height: 24px; letter-spacing: -0.7px; color: var(--ink); height: var(--header-height); padding-inline: 16px; border-right: 1px solid var(--line); }
.site-nav .brand img { width: 140px; height: auto; }
.site-nav nav { display: flex; align-items: center; gap: 0px; }
.site-nav .about-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 120px; height: var(--header-height); min-height: var(--header-height); padding: 0px 16px; border-inline: 1px solid var(--line); border-radius: 0px; background: var(--header-paper); color: var(--ink); font: 600 14px/20px var(--font); letter-spacing: -0.2px; text-transform: none; }
@media (max-width: 560px) {
.site-nav .brand { gap: 8px; }
}
/* The three desktop cells need about 650px; narrower headers use the disclosure menu. */
@media (max-width: 700px) {
.site-nav.nav-ready nav { position: absolute; top: 100%; left: -1px; right: -1px; max-height: calc(100dvh - var(--header-height)); overflow-y: auto; padding: 16px 24px 24px; background: var(--header-paper); flex-direction: column; align-items: stretch; border-block: 0 1px solid var(--line); border-inline: 0; }
.site-nav:not(.nav-ready) .brand span { display: none; }
.site-nav:not(.nav-ready) .header-inner { flex-wrap: wrap; height: auto; min-height: var(--header-height); }
}
/* Adjacent navigation cells share one divider. */
@media (min-width: 701px) {
.site-nav .about-link + .about-link { border-left: 0; }
}
.site-nav .about-link:hover { background: rgb(242, 242, 242); }
@media (max-width: 700px) {
.site-nav .header-inner { padding-inline: 24px; gap: 8px; }
.site-nav .brand { padding: 0px; border: 0px; }
.site-nav .brand img { width: 140px; height: auto; }
.site-nav .about-link { border: 1px solid var(--line); }
.site-nav .about-link + .about-link { border-top: 0; }
/* Link text shares the 12px inset of the menu CTA below it. */
.site-nav.nav-ready nav .about-link { justify-content: flex-start; text-align: left; padding-inline: 12px; }
}

.site-nav [hidden] { display:none!important; }
.site-nav :focus-visible { outline:2px solid currentColor; outline-offset:-4px; }

/* Industry navigation: the same destination list on every site header. */
.site-nav .industry-menu{position:relative;align-self:stretch}
.site-nav .industry-trigger{display:flex;gap:8px;border:1px solid #e9e9e9;border-block:0;cursor:pointer;min-width:140px}
.site-nav .industry-trigger>img{width:16px;height:16px;transition:transform 180ms}
.site-nav .industry-trigger[aria-expanded=true]>img{transform:rotate(180deg)}
.site-nav .industry-dropdown{position:absolute;z-index:40;top:100%;left:0;min-width:260px;background:#fff;color:#1d1915;border:1px solid #e9e9e9;border-top:0;display:none;padding:0}
.site-nav .industry-menu.is-open .industry-dropdown{display:grid}
.site-nav .industry-dropdown{max-height:min(480px,calc(100dvh - 80px));overflow-y:auto}
.site-nav .industry-dropdown a{display:flex;align-items:center;min-height:48px;padding:16px;color:inherit;font:500 12px/16px var(--mono);text-transform:uppercase;letter-spacing:-.24px;text-decoration:none}
.site-nav .industry-dropdown>:not(:first-child){border-top:1px solid #e9e9e9}
.site-nav .industry-dropdown a:hover,.site-nav .industry-dropdown a:focus-visible{background:#f5f5f3}
.site-nav .industry-dropdown a[aria-current=page]{background:#f5f5f3}
@media(min-width:701px){
  :root{--site-header-height:48px}
  .site-nav{--header-height:48px}
  .site-nav .brand img{width:140px;height:auto}
  .site-nav nav{align-self:stretch}
  .site-nav .about-link{font:600 16px/24px var(--font);letter-spacing:-.3px}
  .site-nav .brand{border-right:1px solid var(--line)}
  .site-nav .industry-trigger{border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .site-nav .industry-menu+.about-link{border-left:0}
  .site-nav nav .about-link[aria-current=page],.site-nav .industry-menu:has(.industry-dropdown a[aria-current=page]) .industry-trigger{box-shadow:inset 0 -2px var(--brand-orange)}
  body .site-nav nav>.ui-button.ui-button--filled{align-self:stretch;min-height:var(--header-height);height:var(--header-height);margin:0 0 0 auto;padding-inline:20px;border:0;border-left:1px solid var(--line);border-radius:0;font:600 16px/24px var(--font);white-space:nowrap}
  .site-nav .about-link,.site-nav .industry-trigger{transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}
  .site-nav .industry-dropdown{display:grid;top:calc(100% + 1px);left:-1px;width:320px;min-width:0;max-height:min(420px,calc(100dvh - 80px));border:1px solid var(--line);box-shadow:0 16px 36px rgb(0 0 0 / .1);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s}
  .site-nav .industry-menu.is-open .industry-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s}
  .site-nav .industry-dropdown a{justify-content:space-between;gap:20px;min-height:56px;padding:16px 20px;color:var(--ink);font:500 16px/24px var(--font);letter-spacing:-.2px;text-transform:none;transition:background-color .15s cubic-bezier(.4,0,.2,1)}
  .site-nav .industry-dropdown a::after{content:'';display:block;flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url('../assets/icons/pixel-chevron-right.svg') center / contain no-repeat;mask:url('../assets/icons/pixel-chevron-right.svg') center / contain no-repeat;transition:transform .24s steps(3,end)}
  .site-nav .industry-dropdown a:hover,.site-nav .industry-dropdown a:focus-visible{background:var(--brand-orange-20)}
  .site-nav .industry-dropdown a:hover::after,.site-nav .industry-dropdown a:focus-visible::after{transform:translateX(4px)}
  .site-nav .industry-dropdown a[aria-current=page]{background:var(--brand-orange-20)}
}
@media(min-width:701px) and (max-width:800px){.site-nav .brand span{display:none}}
@media(max-width:700px){
  .site-nav .industry-menu{width:100%}
  .site-nav .industry-trigger{width:100%;justify-content:space-between;border-inline:0}
  .site-nav .industry-dropdown{position:static;min-width:0;max-height:none;overflow:visible;border-inline:0;border-top:0}
  .site-nav .industry-dropdown>a{padding-inline:24px}
}

/* Mobile navigation: full-height panel with Mistral-style horizontal submenus. */
.site-mobile-nav { display:none; }
@media(max-width:700px){
  html.site-mobile-menu-open { overflow:hidden; }
  .site-nav .header-inner { padding-inline:16px 0; }
  .site-nav .menu-toggle.ui-button { align-self:stretch; justify-content:center; width:60px; min-width:60px; height:var(--header-height); min-height:var(--header-height); margin:0; padding:0; border:0; border-left:1px solid var(--line); background:transparent; border-radius:0; }
  .site-nav .menu-toggle.ui-button:hover { background:#ececec; }
  .site-nav .site-mobile-nav__toggle-icon { display:block; flex:none; width:20px; height:20px; font-size:0; background:currentColor; -webkit-mask:url('../assets/icons/pixel-menu.svg') center / contain no-repeat; mask:url('../assets/icons/pixel-menu.svg') center / contain no-repeat; }
  .site-nav .menu-toggle[aria-expanded=true] .site-mobile-nav__toggle-icon { -webkit-mask-image:url('../assets/icons/pixel-close.svg'); mask-image:url('../assets/icons/pixel-close.svg'); }
  .site-nav.nav-ready #mobile-nav { display:none !important; }
  .site-nav .site-mobile-nav { position:fixed; z-index:31; display:block; top:var(--header-height); left:0; right:0; height:calc(100dvh - var(--header-height)); overflow:hidden; background:var(--header-paper); border-top:1px solid var(--line); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-16px); transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s ease,visibility 0s linear .38s; }
  .site-nav .site-mobile-nav.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s ease,visibility 0s; }
  .site-mobile-nav__screen { position:absolute; inset:0 0 calc(82px + env(safe-area-inset-bottom)); overflow:hidden; background:var(--header-paper); transition:transform .42s cubic-bezier(.22,1,.36,1); }
  .site-mobile-nav__screen--root { transform:translateX(0); }
  .site-mobile-nav[data-view=industries] .site-mobile-nav__screen--root { transform:translateX(-30%); }
  .site-mobile-nav__screen--sub { transform:translateX(100%); }
  .site-mobile-nav[data-view=industries] [data-mobile-screen=industries] { transform:translateX(0); }
  .site-mobile-nav__scroll { height:100%; overflow-y:auto; overscroll-behavior:contain; }
  .site-mobile-nav__subhead { display:flex; align-items:center; min-height:60px; border-bottom:1px solid var(--line); font:500 14px/20px var(--mono); text-transform:uppercase; }
  .site-mobile-nav__item { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; min-height:60px; margin:0; padding:14px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); font:500 22px/30px var(--font); text-align:left; text-decoration:none; cursor:pointer; }
  .site-mobile-nav__item:hover,.site-mobile-nav__item:focus-visible { background:var(--brand-orange-20); }
  .site-mobile-nav__item[aria-current=page] { background:#ececec; }
  .site-mobile-nav__arrow,.site-mobile-nav__back-arrow { display:block; flex:none; width:20px; height:20px; background:currentColor; -webkit-mask:url('../assets/icons/pixel-chevron-right.svg') center / contain no-repeat; mask:url('../assets/icons/pixel-chevron-right.svg') center / contain no-repeat; }
  .site-mobile-nav__back { display:flex; align-items:center; justify-content:center; flex:none; width:60px; min-height:60px; margin-right:12px; padding:0; border:0; border-right:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
  .site-mobile-nav__back:hover { background:#ececec; }
  .site-mobile-nav__back-arrow { transform:rotate(180deg); }
  .site-mobile-nav__bottom { position:absolute; bottom:0; left:0; right:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--header-paper); }
  body .site-nav .site-mobile-nav__cta.ui-button.ui-button--filled { width:100%; max-width:none; min-height:56px; padding:16px; color:#000; background:var(--brand-orange); border-color:var(--brand-orange); font:600 14px/20px var(--font); }
  body .site-nav .site-mobile-nav__cta.ui-button.ui-button--filled:hover { color:#000; background:var(--brand-orange-85); border-color:var(--brand-orange-85); }
}
@media(max-width:390px){ .site-mobile-nav__item { font-size:20px; line-height:28px; } }
@media(prefers-reduced-motion:reduce){
  .site-nav .site-mobile-nav,.site-mobile-nav__screen,.site-nav .industry-dropdown,.site-nav .industry-dropdown a::after { transition:none; }
}
