:root {
  --bg: #07111f;
  --surface: rgba(14, 28, 46, 0.74);
  --surface-border: rgba(255, 255, 255, 0.09);
  --text: #f5f8fb;
  --muted: #93a3b8;
  --lime: #b9f34c;
  --cyan: #44d7e8;
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    var(--bg);
  background-size: 40px 40px;
  font-family: var(--font-body);
  overflow-x: hidden;
}

a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ambient { position: fixed; width: 520px; height: 520px; border-radius: 50%; filter: blur(110px); opacity: .12; pointer-events: none; z-index: -1; }
.ambient-one { background: #21c7d9; top: -250px; right: -120px; }
.ambient-two { background: #9fd83b; bottom: -360px; left: -180px; }

.site-header, main, footer { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.site-header { height: 94px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; background: var(--lime); color: #0b1721; border-radius: 13px 13px 13px 4px; font: 800 21px/1 var(--font-display); box-shadow: 0 9px 30px rgba(185,243,76,.16); }
.brand-copy { display: grid; line-height: 1.03; }
.brand-copy strong { font: 800 18px/1 var(--font-display); letter-spacing: .1em; }
.brand-copy small { color: var(--muted); font-size: 12px; letter-spacing: .05em; margin-top: 5px; }
.header-meta { display: flex; gap: 9px; align-items: center; color: #b5c2d1; font-size: 13px; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(185,243,76,.1); }

.hero { padding: 76px 0 62px; max-width: 770px; }
.eyebrow, .section-kicker, .card-label { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 700; }
.eyebrow { color: var(--lime); display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.eyebrow span { display: block; width: 24px; height: 1px; background: var(--lime); }
h1 { margin: 0; font: 700 clamp(42px, 6vw, 72px)/1.03 var(--font-display); letter-spacing: -.055em; }
h1 em { color: #9bacc0; font-style: normal; font-weight: 500; }
.hero > p { max-width: 600px; color: var(--muted); font-size: 18px; line-height: 1.65; margin: 25px 0 32px; }
.search-wrap { width: min(560px, 100%); height: 58px; position: relative; display: flex; align-items: center; }
.search-wrap svg { position: absolute; left: 19px; width: 19px; fill: none; stroke: #8294a9; stroke-width: 1.8; stroke-linecap: round; }
.search-wrap input { width: 100%; height: 100%; padding: 0 56px 0 51px; color: var(--text); font: 500 15px var(--font-body); background: rgba(15,30,49,.8); border: 1px solid rgba(255,255,255,.12); border-radius: 15px; outline: none; transition: .2s ease; }
.search-wrap input::placeholder { color: #78899d; }
.search-wrap input:focus { border-color: rgba(185,243,76,.55); box-shadow: 0 0 0 4px rgba(185,243,76,.08); }
kbd { position: absolute; right: 17px; display: grid; place-items: center; width: 25px; height: 25px; color: #8294a9; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.04); font: 500 12px var(--font-body); }

.tools-section { padding-bottom: 85px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 24px; }
.section-kicker { color: #71849a; }
h2 { font: 700 28px/1.2 var(--font-display); letter-spacing: -.035em; margin: 6px 0 0; }
.tool-count { color: #71849a; font-size: 13px; }
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: 16px; }
.tool-card { min-height: 280px; padding: 24px; display: flex; flex-direction: column; text-decoration: none; background: var(--surface); border: 1px solid var(--surface-border); border-radius: 20px; backdrop-filter: blur(12px); position: relative; overflow: hidden; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tool-card::before { content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; right: -95px; top: -95px; background: var(--accent); filter: blur(60px); opacity: .09; transition: opacity .2s ease; }
.tool-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--accent) 45%, transparent); box-shadow: 0 22px 55px rgba(0,0,0,.22); }
.tool-card:hover::before { opacity: .18; }
.tool-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.card-production { --accent: #b9f34c; }
.card-dispatch { --accent: #46d8e9; }
.card-po { --accent: #ffd166; }
.card-parts { --accent: #8a9cff; }
.card-store { --accent: #ff8cad; }
.card-decal { --accent: #61dfad; }
.featured { background: linear-gradient(120deg, rgba(21,43,61,.93), rgba(14,28,46,.76)); }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; }
.icon-box { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent); }
.icon-box svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.open-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #687b90; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transition: .2s ease; }
.tool-card:hover .open-icon { color: #07111f; background: var(--accent); border-color: var(--accent); transform: rotate(8deg); }
.card-copy { margin-top: auto; }
.card-label { color: var(--accent); display: block; margin-bottom: 7px; }
.card-copy h3 { margin: 0; font: 700 23px/1.25 var(--font-display); letter-spacing: -.025em; }
.card-copy p { color: #8fa1b5; font-size: 14px; line-height: 1.5; margin: 8px 0 18px; }
.domain { color: #64778c; font-size: 12px; }
.tool-card[hidden] { display: none; }
.empty-state { padding: 50px; text-align: center; color: var(--muted); border: 1px dashed rgba(255,255,255,.12); border-radius: 20px; }
.empty-state strong, .empty-state span { display: block; }
.empty-state strong { color: var(--text); font: 700 19px var(--font-display); margin-bottom: 6px; }

footer { min-height: 90px; padding: 26px 0; display: flex; align-items: center; justify-content: space-between; color: #5e7187; font-size: 12px; border-top: 1px solid rgba(255,255,255,.07); }
footer span:first-child { color: #8697aa; font-weight: 700; letter-spacing: .06em; }

@media (max-width: 820px) {
  .tool-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .site-header, main, footer { width: min(100% - 28px, 1180px); }
  .site-header { height: 78px; }
  .header-meta { font-size: 0; }
  .hero { padding: 54px 0 46px; }
  .hero > p { font-size: 16px; }
  .tool-grid { grid-template-columns: 1fr; }
  .tool-card { min-height: 258px; }
  footer { align-items: flex-start; gap: 8px; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
