/* ==========================================================================
   NexusSec — shared site chrome (header + footer + search)
   Used on all inner pages. Self-contained, sc- prefixed, no collisions.
   Edit here once to change the header/footer everywhere.
   ========================================================================== */
:root{
  --sc-bg:#eef3f9; --sc-card:#fff; --sc-card2:#f4f7fc;
  --sc-border:#dbe3ee; --sc-border2:#c6d2e2;
  --sc-text:#101a2b; --sc-text2:#46536a; --sc-text3:#78859a;
  --sc-brand:#2563eb; --sc-brand-strong:#1d4ed8; --sc-pill:#e9f0fa;
}
.sc-header *,.sc-footer *,.sc-search-overlay *{box-sizing:border-box}

/* Neutralise legacy bare `nav{position:fixed}` rules that leak onto in-page
   breadcrumb navs once the old header <nav> is removed. */
nav.crumbs{
  position:static !important; top:auto !important; left:auto !important; right:auto !important;
  height:auto !important; z-index:auto !important; display:block !important; padding:0 !important;
  background:transparent !important; border:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}

/* ── HEADER ─────────────────────────────────────────────────────────────── */
.sc-header{
  position:fixed; top:0; left:0; right:0; z-index:100; height:64px;
  background:rgba(255,255,255,.90);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sc-border);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
}
.sc-bar{
  max-width:1200px; height:100%; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.sc-logo{
  display:flex; align-items:center; gap:10px;
  font-size:17px; font-weight:700; letter-spacing:-.02em;
  color:var(--sc-text); text-decoration:none; white-space:nowrap;
}
.sc-logo img{height:32px; width:auto; display:block}
.sc-header .sc-primary{display:contents}
.sc-links{
  display:flex; gap:28px; list-style:none; margin:0; padding:0;
}
.sc-links a{color:var(--sc-text2); text-decoration:none; font-size:14px; transition:color .2s}
.sc-links a:hover{color:var(--sc-text)}
.sc-actions{display:flex; align-items:center; gap:12px}
.sc-search-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:transparent; color:var(--sc-text); cursor:pointer;
  border:1px solid var(--sc-border2);
  transition:background .2s, border-color .2s, color .2s, transform .3s cubic-bezier(.22,.61,.36,1);
}
.sc-search-btn svg{width:17px; height:17px}
.sc-search-btn:hover{background:var(--sc-pill); border-color:var(--sc-brand); color:var(--sc-brand); transform:translateY(-1px)}
.sc-cta{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:40px; white-space:nowrap;
  background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-strong)); color:#fff;
  font-size:13px; font-weight:600; text-decoration:none; transition:opacity .2s, transform .3s;
}
.sc-cta svg{width:14px; height:14px}
.sc-cta:hover{opacity:.9; transform:translateY(-1px)}
.sc-burger{
  display:none; width:40px; height:40px; border:1px solid var(--sc-border2);
  border-radius:10px; background:#fff; color:var(--sc-text); cursor:pointer;
  position:relative; flex-shrink:0;
}
.sc-burger span{
  position:absolute; left:11px; right:11px; height:2px; border-radius:2px;
  background:currentColor; transition:transform .28s cubic-bezier(.22,.61,.36,1), opacity .2s;
}
.sc-burger span:nth-child(1){top:13px}
.sc-burger span:nth-child(2){top:19px}
.sc-burger span:nth-child(3){top:25px}
.sc-header.sc-open .sc-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.sc-header.sc-open .sc-burger span:nth-child(2){opacity:0}
.sc-header.sc-open .sc-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* mobile panel */
.sc-mobile{
  position:absolute; top:56px; left:12px; right:12px;
  background:rgba(255,255,255,.98); border:1px solid var(--sc-border);
  border-radius:14px; box-shadow:0 24px 60px rgba(15,23,42,.18);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  padding:8px; display:flex; flex-direction:column; gap:2px; z-index:99;
}
.sc-mobile[hidden]{display:none}
.sc-mobile a,.sc-mobile-search{
  display:flex; align-items:center; gap:10px;
  padding:13px 14px; border-radius:9px; border:1px solid transparent;
  background:var(--sc-card2); color:var(--sc-text); text-decoration:none;
  font-size:15px; font-weight:500; font-family:inherit; text-align:left; cursor:pointer; width:100%;
}
.sc-mobile a:hover,.sc-mobile-search:hover{background:#e9eff7}
.sc-mobile-search svg{width:17px; height:17px; opacity:.7}
.sc-mobile-cta{
  justify-content:center !important; margin-top:4px;
  background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-strong)) !important; color:#fff !important;
  font-weight:600 !important;
}

@media(max-width:860px){
  .sc-links,.sc-cta{display:none}
  .sc-burger{display:inline-flex; align-items:center; justify-content:center}
}
@media(min-width:861px){ .sc-mobile{display:none !important} }

/* ── SEARCH OVERLAY ─────────────────────────────────────────────────────── */
.sc-search-overlay{
  position:fixed; inset:0; z-index:200; display:flex; align-items:flex-start; justify-content:center;
  padding:11vh 20px 20px; background:rgba(8,13,24,.55);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .2s ease; font-family:'Inter',system-ui,sans-serif;
}
.sc-search-overlay[hidden]{display:none}
.sc-search-overlay.sc-visible{opacity:1}
.sc-modal{
  width:min(640px,100%); background:var(--sc-card); border:1px solid var(--sc-border);
  border-radius:18px; box-shadow:0 30px 80px rgba(8,13,24,.4); overflow:hidden;
  transform:translateY(-8px) scale(.99); transition:transform .2s ease;
}
.sc-search-overlay.sc-visible .sc-modal{transform:none}
.sc-input-row{display:flex; align-items:center; gap:12px; padding:15px 16px; border-bottom:1px solid var(--sc-border)}
.sc-input-icon{width:20px; height:20px; color:var(--sc-text3); flex-shrink:0}
.sc-input{flex:1; border:none; outline:none; background:transparent; font-size:16px; color:var(--sc-text); font-family:inherit; min-width:0}
.sc-input::placeholder{color:var(--sc-text3)}
.sc-input::-webkit-search-cancel-button{-webkit-appearance:none}
.sc-esc{font-size:11px; color:var(--sc-text3); border:1px solid var(--sc-border2); border-radius:6px; padding:3px 8px; background:var(--sc-card2); cursor:pointer; flex-shrink:0; font-family:inherit}
.sc-esc:hover{color:var(--sc-text); border-color:var(--sc-brand)}
.sc-results{max-height:54vh; overflow-y:auto; padding:8px}
.sc-result{display:block; text-decoration:none; color:inherit; padding:11px 14px; border-radius:12px; border:1px solid transparent; transition:background .15s, border-color .15s}
.sc-result:hover,.sc-result.sc-active{background:var(--sc-card2); border-color:var(--sc-border)}
.sc-result-head{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:4px}
.sc-result-title{font-size:14.5px; font-weight:700; color:var(--sc-text)}
.sc-badge{flex-shrink:0; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:20px; border:1px solid transparent; white-space:nowrap}
.sc-badge.b-service{color:#1d4ed8; background:rgba(37,99,235,.10); border-color:rgba(37,99,235,.22)}
.sc-badge.b-guide{color:#7c3aed; background:rgba(124,58,237,.10); border-color:rgba(124,58,237,.22)}
.sc-badge.b-technology{color:#0e7490; background:rgba(6,182,212,.12); border-color:rgba(6,182,212,.26)}
.sc-badge.b-page{color:var(--sc-text3); background:var(--sc-card2); border-color:var(--sc-border)}
.sc-result-url{font-size:11px; color:var(--sc-brand-strong); margin-bottom:5px; word-break:break-all}
.sc-result-snippet{font-size:12.5px; color:var(--sc-text2); line-height:1.5}
.sc-result mark{background:rgba(37,99,235,.18); color:var(--sc-brand-strong); border-radius:3px; padding:0 2px}
.sc-count{font-size:11px; color:var(--sc-text3); padding:4px 10px 8px}
.sc-empty{padding:30px 18px; text-align:center; color:var(--sc-text3); font-size:13.5px; line-height:1.6}
.sc-empty b{color:var(--sc-text2)}
.sc-suggest{padding:18px 14px 22px}
.sc-suggest-label{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--sc-text3); margin-bottom:12px; font-weight:600}
.sc-chips{display:flex; flex-wrap:wrap; gap:8px}
.sc-chip{font:inherit; font-size:13px; cursor:pointer; padding:7px 14px; border-radius:20px; background:var(--sc-card2); color:var(--sc-text2); border:1px solid var(--sc-border); transition:background .15s,color .15s,border-color .15s,transform .2s}
.sc-chip:hover{background:var(--sc-pill); color:var(--sc-brand-strong); border-color:var(--sc-brand); transform:translateY(-1px)}
.sc-foot{display:flex; gap:16px; align-items:center; flex-wrap:wrap; padding:10px 16px; border-top:1px solid var(--sc-border); font-size:11px; color:var(--sc-text3)}
.sc-foot .k{border:1px solid var(--sc-border2); border-radius:5px; padding:1px 6px; margin-right:3px; background:var(--sc-card2); color:var(--sc-text2)}
@media(max-width:640px){ .sc-search-overlay{padding:8vh 12px 12px} .sc-foot{display:none} }

/* ── FOOTER ─────────────────────────────────────────────────────────────── */
.sc-footer{
  background:#0b1220; color:#aab6c9; margin-top:80px;
  font-family:'Inter',system-ui,sans-serif;
}
.sc-footer a{color:inherit; text-decoration:none}
.sc-footer-inner{max-width:1200px; margin:0 auto; padding:64px 24px 0}
.sc-fgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px}
.sc-fbrand .sc-logo{color:#fff; margin-bottom:16px}
.sc-fbrand .sc-logo img{filter:brightness(0) invert(1)}
.sc-fbrand p{font-size:13.5px; line-height:1.6; color:#8f9db4; max-width:34ch; margin:0 0 14px}
.sc-fcontact{display:flex; flex-direction:column; gap:6px; margin-bottom:6px}
.sc-fcontact a{font-size:13px; color:#aab6c9; width:fit-content; transition:color .2s}
.sc-fcontact a:hover{color:#fff}
.sc-fcontact span{font-size:12px; color:#6b7688; line-height:1.5; margin-top:4px}
.sc-fcol h4{font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#fff; margin:0 0 16px}
.sc-fcol a{display:block; font-size:13.5px; color:#8f9db4; padding:5px 0; transition:color .2s}
.sc-fcol a:hover{color:#fff}
.sc-fbot{
  max-width:1200px; margin:40px auto 0; padding:20px 24px;
  border-top:1px solid #1c2740; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px; font-size:12px; color:#6b7688;
}
.sc-socials{display:flex; gap:14px}
.sc-socials a{color:#8f9db4; font-size:15px; transition:color .2s}
.sc-socials a:hover{color:#fff}
.sc-flegal{display:flex; gap:16px}
.sc-flegal a{color:#8f9db4; transition:color .2s}
.sc-flegal a:hover{color:#fff}
@media(max-width:860px){
  .sc-fgrid{grid-template-columns:1fr 1fr; gap:32px}
  .sc-fbrand{grid-column:1 / -1}
}
@media(max-width:520px){
  .sc-fgrid{grid-template-columns:1fr}
  .sc-fbot{flex-direction:column; align-items:flex-start}
}
