.nav-toggle{display:none;border:1px solid var(--line-strong);background:transparent;color:var(--ink);padding:9px 12px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.mobile-nav-backdrop,.mobile-nav{display:none}
.site-search{position:relative;display:flex;align-items:center;z-index:130}
.site-search-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid transparent;background:transparent;color:var(--ink-dim);cursor:pointer}
.site-search-toggle:hover,.site-search-toggle:focus-visible{border-color:var(--line-strong);color:var(--ink)}
.site-search-toggle svg,.mobile-search-row>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.site-search-panel{position:relative;width:0;opacity:0;overflow:visible;transition:width .25s ease,opacity .2s ease}
.site-search.is-open .site-search-panel{width:min(28vw,260px);opacity:1;margin-left:8px}
.site-search-input{width:100%;border:1px solid var(--line-strong);background:rgba(14,12,10,.98);color:var(--ink);padding:10px 12px;font:inherit;outline:none;box-sizing:border-box}
.site-search-input:focus{border-color:var(--service-accent,var(--mars))}
.site-search-results{position:absolute;top:calc(100% + 8px);right:0;display:none;width:320px;max-width:calc(100vw - 32px);padding:6px;background:var(--bg-raised,var(--bg));border:1px solid var(--line-strong);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.site-search.has-results .site-search-results{display:grid;gap:2px}
.site-search-result{display:block;padding:10px 12px;color:var(--ink);text-decoration:none}
.site-search-result:hover,.site-search-result:focus-visible{background:rgba(255,255,255,.06)}
.site-search-result-title{display:block;font-weight:700;font-size:.9rem}
.site-search-result-excerpt{display:block;margin-top:3px;color:var(--dim,var(--ink-dim));font-size:.78rem;line-height:1.4}
.site-search-empty{padding:10px 12px;color:var(--dim,var(--ink-dim));font-size:.82rem}
.mobile-search{display:none}

@media (max-width:820px){
  .site-nav{position:sticky;z-index:100;flex-direction:row;align-items:center;min-height:76px;padding:14px 24px;}
  .site-nav .nav-links,.site-nav .nav-cta{display:none}
  .site-nav>.site-search{display:none}
  .nav-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
  .nav-toggle::before{content:'☰';font-size:1rem;line-height:1}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:110;background:rgba(8,7,6,.72);opacity:0;pointer-events:none;transition:opacity .25s ease}
  .mobile-nav{display:flex;position:fixed;top:0;right:0;bottom:0;z-index:120;width:min(86vw,360px);padding:24px;flex-direction:column;background:var(--bg-raised,var(--bg));border-left:1px solid var(--line-strong);box-shadow:-24px 0 70px rgba(0,0,0,.35);transform:translateX(100%);transition:transform .28s ease}
  .mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .mobile-nav-title{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:700;font-size:1.1rem}
  .mobile-nav-close{border:1px solid var(--line-strong);background:transparent;color:var(--ink);padding:7px 11px;font:inherit;cursor:pointer}
  .mobile-search{display:block;margin-top:20px}
  .mobile-search-label{display:block;margin-bottom:8px;color:var(--dim,var(--ink-dim));font-size:.78rem;font-weight:700}
  .mobile-search-row{position:relative;display:block}
  .mobile-search-row>svg{position:absolute;left:12px;color:var(--dim,var(--ink-dim))}
  .mobile-search-row .site-search-input{padding-left:38px}
  .mobile-search .site-search-results{position:relative;top:auto;right:auto;width:100%;margin-top:8px;box-sizing:border-box}
  .mobile-nav-links{display:grid;gap:4px;margin-top:20px}
  .mobile-nav-links a{padding:13px 0;color:var(--dim,var(--ink-dim));font-size:1rem;text-decoration:none;border-bottom:1px solid var(--line)}
  .mobile-nav-links a:hover,.mobile-nav-links a:focus-visible{color:var(--ink)}
  .mobile-nav-cta{margin-top:28px;text-align:center}
  body.nav-open{overflow:hidden}
  body.nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  body.nav-open .mobile-nav{transform:translateX(0)}
}

@media (prefers-reduced-motion:reduce){
  .mobile-nav-backdrop,.mobile-nav,.site-search-panel{transition:none}
}
