/* NIR.Systems shared page base — mirrors the homepage brand tokens. Used by /software/ and /industries/ pages. */
/* =====================================================================
   NIR.SYSTEMS — brand tokens unchanged. Dark primary.
   ===================================================================== */
:root,html[data-theme="dark"]{
  --paper:#0b0c0e;--paper2:#141619;--paper3:#1b1e22;
  --ink:#f2f2ef;--ink2:#c9cbd0;--muted:#a0a5ac;--faint:#858b93;
  --line:#25282d;--line2:#3a3e44;--signal:#4fbf8b;
  --glass:rgba(255,255,255,.04);--glass2:rgba(255,255,255,.07);
  --edge:rgba(255,255,255,.10);--edge-hi:rgba(255,255,255,.2);
  --lift:0 50px 120px rgba(0,0,0,.7),0 10px 30px rgba(0,0,0,.45);
  --inner:inset 0 1px 0 rgba(255,255,255,.07);
  --scrim:rgba(6,7,9,.72);--chrome:#15171b;
}
html[data-theme="light"]{
  --paper:#fff;--paper2:#f6f6f4;--paper3:#eeeeeb;
  --ink:#090a0c;--ink2:#3a3d42;--muted:#5e636a;--faint:#6f747b;
  --line:#e2e3e4;--line2:#c9cccf;--signal:#168967;
  --glass:rgba(255,255,255,.7);--glass2:rgba(255,255,255,.88);
  --edge:rgba(9,10,12,.12);--edge-hi:rgba(9,10,12,.22);
  --lift:0 40px 100px rgba(9,10,12,.14),0 8px 22px rgba(9,10,12,.07);
  --inner:inset 0 1px 0 rgba(255,255,255,.9);
  --scrim:rgba(255,255,255,.76);--chrome:#fafafa;
}
:root{
  --max:1380px;--gut:clamp(20px,4.2vw,56px);
  --mono:'IBM Plex Mono',ui-monospace,monospace;--serif:'Newsreader',Georgia,serif;
  --ease:cubic-bezier(.22,.78,.26,1);--bar:66px;
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%,transparent 38%,color-mix(in srgb,var(--paper) 72%,transparent) 100%)}
.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='150' height='150' filter='url(%23n)' opacity='.55'/></svg>")}
html[data-theme="light"] .grain{opacity:.02}
a{color:inherit}button,input{font:inherit;color:inherit}button{border:0;background:none}
img{max-width:100%}
::selection{background:var(--signal);color:#04120c}
:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.shell{width:min(var(--max),calc(100% - var(--gut)*2));margin:auto}
.mono,.eyebrow,.nav,.btn,.state,.chip,.tool,.key,.badge,.idx{font-family:var(--mono)}
.eyebrow{font:400 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.display{font-variation-settings:'opsz' 72}
body.locked{overflow:hidden}
.eyebrow{font-size:11.5px;letter-spacing:.06em}
.topbar{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--bar);display:flex;align-items:center;
  transition:background .5s var(--ease),border-color .5s var(--ease),backdrop-filter .5s}
.topbar.solid{background:color-mix(in srgb,var(--paper) 70%,transparent);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid var(--edge)}
.topbar-in{width:min(var(--max),calc(100% - var(--gut)*2));margin:auto;display:flex;align-items:center;gap:18px}
.brand{text-decoration:none;display:flex;align-items:center;gap:11px}
.brand-word{font-size:20px;font-weight:680;letter-spacing:-.032em;white-space:nowrap}
.brand-word em{font-style:normal;font-weight:320;color:var(--muted)}
.core{width:15px;height:15px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:2px;flex:none}
.core i{background:var(--line2);border-radius:.5px;transition:.5s var(--ease)}
.core i.on{background:var(--signal);box-shadow:0 0 9px var(--signal)}
.nav{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--muted);padding:6px 0;border-bottom:1px solid transparent;transition:.25s var(--ease)}
.nav a:hover,.nav a.here{color:var(--ink);border-bottom-color:var(--signal)}
.icon-btn{height:36px;min-width:36px;padding:0 11px;border:1px solid var(--edge);cursor:pointer;display:inline-flex;align-items:center;gap:7px;justify-content:center;font:500 10px var(--mono);letter-spacing:.08em;color:var(--muted);transition:.25s var(--ease);background:var(--glass)}
.icon-btn:hover{border-color:var(--edge-hi);color:var(--ink)}
.ask-btn{height:38px;padding:0 17px;border:1px solid var(--signal);color:var(--signal);cursor:pointer;display:inline-flex;align-items:center;gap:9px;font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase;transition:.28s var(--ease);background:transparent}
.ask-btn:hover{background:var(--signal);color:#04120c;box-shadow:0 0 34px color-mix(in srgb,var(--signal) 40%,transparent)}
.ask-btn i{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 9px var(--signal)}
.ask-btn:hover i{background:#04120c;box-shadow:none}
.blog-mini{display:none;text-decoration:none}
.mobile-ask,.mobile-menu-btn{display:none}
.mobile-ask i{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 9px var(--signal);flex:none}
.mobile-menu-btn{width:38px;padding:0;flex-direction:column;gap:5px}
.mobile-menu-btn span{display:block;width:15px;height:1px;background:currentColor;transition:transform .28s var(--ease),opacity .2s var(--ease)}
.mobile-menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.mobile-menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
.mobile-drawer{display:none}
@media(max-width:1100px){
  .nav,.icon-btn.cmd,.icon-btn.theme,.ask-btn{display:none}
  .topbar-in{gap:8px}
  .brand{margin-right:auto}
  .mobile-ask,.mobile-menu-btn{display:inline-flex}
  .mobile-drawer{display:flex;position:fixed;inset:var(--bar) 0 0;z-index:290;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);opacity:0;transform:translateX(100%);pointer-events:none;transition:transform .42s var(--ease),opacity .3s var(--ease)}
  .mobile-drawer.open{opacity:1;transform:none;pointer-events:auto}
  .mobile-drawer-in{width:min(var(--max),calc(100% - var(--gut)*2));height:100%;margin:auto;padding:clamp(30px,6vh,58px) 0 28px;display:flex;flex-direction:column;overflow:auto}
  .mobile-menu-label{font:500 11px var(--mono);letter-spacing:.08em;color:var(--signal);margin-bottom:14px}
  .mobile-nav{display:grid;border-top:1px solid var(--line)}
  .mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font:560 clamp(28px,6vw,44px)/1 var(--serif);letter-spacing:-.035em;color:var(--ink)}
  .mobile-nav a::after{content:"→";font:400 14px var(--mono);color:var(--faint)}
  .mobile-nav a:hover{color:var(--signal)}
  .mobile-drawer-bottom{margin-top:auto;padding-top:28px;display:grid;gap:12px}
  .mobile-own{min-height:64px;padding:0 18px;background:var(--signal);color:#04120c;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:18px;font:600 13px var(--mono)}
  .mobile-own span{display:flex;align-items:center;gap:9px}
  .mobile-own i{width:6px;height:6px;border-radius:50%;background:#04120c}
  .mobile-own b{font:600 13px var(--mono);white-space:nowrap}
  .mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:10px}
  .mobile-theme{min-height:40px;padding:0;border:0;background:transparent;color:var(--muted);font:500 12px var(--mono);display:inline-flex;align-items:center;gap:9px}
  .mobile-email{font:400 11px var(--mono);color:var(--muted);text-decoration:none}
  body.mobile-menu-open{overflow:hidden}
}
@media(max-width:560px){
  .topbar-in{gap:7px}
  .brand-word{font-size:17px}
  .brand{gap:8px}
  .core{width:13px;height:13px}
  .mobile-ask{height:36px;padding:0 10px;font-size:11px;letter-spacing:.02em}
  .mobile-menu-btn{height:36px;min-width:36px;width:36px}
  .mobile-nav a{font-size:clamp(29px,8vw,38px);padding:13px 0}
}
@media(max-width:390px){
  .brand-word{font-size:16px}
  .mobile-ask{padding:0 8px}
}

/* =========================== HERO =========================== */
.hero{position:relative;z-index:5;min-height:100svh;display:flex;align-items:center;padding:calc(var(--bar) + 30px) 0 120px;pointer-events:none}
.btn{min-height:50px;border:1px solid var(--edge-hi);display:inline-flex;align-items:center;justify-content:center;padding:0 22px;text-decoration:none;cursor:pointer;font-size:10px;letter-spacing:.13em;text-transform:uppercase;transition:.28s var(--ease);background:var(--glass);backdrop-filter:blur(8px)}
.btn:hover{border-color:var(--signal);color:var(--signal)}
.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.solid:hover{background:var(--signal);border-color:var(--signal);color:#04120c;box-shadow:0 0 44px color-mix(in srgb,var(--signal) 32%,transparent)}
.btn{font-size:12.5px;letter-spacing:.035em;text-transform:none;font-weight:600}
button.btn{font-family:var(--mono)}
.foot{margin-top:92px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:400 8px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.foot{font-size:12px;letter-spacing:.03em;text-transform:none;color:var(--muted)}
.foot a{color:var(--ink2)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
:root{--signal-ink:#04120c}
html[data-theme="light"]{--signal-ink:#ffffff}
body{font-size:17px}
.topbar{background:color-mix(in srgb,var(--paper) 70%,transparent);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid var(--edge)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--signal)}
.nav{font-size:11.5px;letter-spacing:.06em}
.btn.go{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}
.btn.go:hover{background:color-mix(in srgb,var(--signal) 82%,white);border-color:var(--signal);color:var(--signal-ink);box-shadow:0 0 44px color-mix(in srgb,var(--signal) 32%,transparent)}
main{position:relative;z-index:5}
.page-foot{position:relative;z-index:5;border-top:1px solid var(--line)}
.page-foot .foot{margin-top:0;padding:28px 0 44px;border-top:0}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
html,body{overflow-x:clip}
.nav{font-size:12px;letter-spacing:.045em;text-transform:none}
.nav a{color:var(--ink2)}
.icon-btn{font-size:12px;letter-spacing:.04em}
.icon-btn.cmd.ask-command{width:auto;min-width:0;padding:0 12px;text-transform:none;color:var(--ink2)}
.ask-command span{margin-left:7px;color:var(--muted);font:500 11px var(--mono)}
.ask-btn{background:var(--signal);color:#04120c;border-color:var(--signal);font-size:12px;letter-spacing:.045em;text-transform:none;font-weight:650}
.ask-btn i{background:#04120c;box-shadow:none}
.ask-btn:hover{background:color-mix(in srgb,var(--signal) 82%,white);color:#04120c}
.eyebrow,.idx,.lane-tag,.lane-note,.bay-head,.own-step .n,.ai-name span,.calc-out span,.final-links a,.contact-option span{
  font-size:12px;letter-spacing:.055em;text-transform:none;color:var(--ink2)
}
.ask-btn,.ask-btn:hover,.ask-btn:focus,a.icon-btn{text-decoration:none}
.mobile-ask{text-decoration:none}
