/* ====================================================================
   MAYATRAIL - Shared base styles
   Color tokens, typography scale, nav, console-bar, footer, primitives.
   Page-specific styles live inline in each page's <style> block.
   ==================================================================== */

:root {
  --bg:        #06070a;
  --bg-1:      #0b0d12;
  --bg-2:      #11141c;
  --bg-3:      #181c26;
  --rule:      #1d212c;
  --rule-2:    #2a3040;
  --rule-3:    #3a4256;

  --ink:       #e8eaf0;
  --ink-2:     #aab0bf;
  --ink-3:     #6c7385;
  --ink-4:     #404654;

  --hot:       #ff4b6e;
  --hot-dim:   rgba(255,75,110,0.22);
  --cool:      #6aa8ff;
  --cool-dim:  rgba(106,168,255,0.18);
  --warm:      #f5b454;
  --ok:        #6fb35f;

  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --serif: 'Instrument Serif', Georgia, serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(ellipse 1200px 600px at 75% -200px, rgba(106,168,255,0.05), transparent 60%),
    radial-gradient(ellipse 800px 500px at 10% 80%, rgba(255,75,110,0.03), transparent 60%);
}
body::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image: radial-gradient(rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: 28px 28px;
}
main { position: relative; z-index: 1; }

/* ============== NAV ============== */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(6,7,10,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rule);
}
.nav-inner {
  max-width: 1320px; margin: 0 auto;
  display: flex; align-items: center; gap: 28px;
  padding: 14px 28px;
}
.brand {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--sans); font-weight: 600; font-size: 15px;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-decoration: none;
}
.brand .mark {
  width: 18px; height: 18px;
  border: 1.5px solid var(--cool);
  transform: rotate(45deg);
  position: relative;
}
.brand .mark::after {
  content: ''; position: absolute; inset: 3px;
  background: var(--cool);
  box-shadow: 0 0 12px var(--cool-dim);
}
/* node-mark brand lockup */
.brand-mark { display: block; flex: 0 0 auto; }
.brand-wm { display: inline-flex; align-items: center; font-family: var(--sans); font-weight: 600; font-size: 17px; letter-spacing: -0.02em; line-height: 1; }
.brand-wm .bm-maya { color: var(--ink); }
.brand-wm .bm-trail {
  color: var(--cool);
  -webkit-mask-image: linear-gradient(90deg,#000 0%,#000 78%,rgba(0,0,0,0.62) 100%);
          mask-image: linear-gradient(90deg,#000 0%,#000 78%,rgba(0,0,0,0.62) 100%);
}
.nav-links { display: flex; gap: 2px; flex: 1; }
.nav-links a {
  color: var(--ink-2); text-decoration: none;
  font-size: 13px; font-weight: 500;
  padding: 6px 12px;
  cursor: pointer;
  transition: color 0.15s;
}
.nav-links a:hover { color: var(--ink); }
.nav-links a.active { color: var(--cool); }
.nav-readout {
  display: flex; align-items: center; gap: 14px;
  font-family: var(--mono); font-size: 10.5px;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ink-3);
}
.nav-readout .stat { display: inline-flex; align-items: center; gap: 6px; }
.nav-readout .stat::before {
  content:''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--ok); box-shadow: 0 0 6px var(--ok);
}
.nav-cta {
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  background: var(--ink); color: var(--bg);
  border: 1px solid var(--ink);
  padding: 8px 14px;
  cursor: pointer;
  text-decoration: none;
}

/* ============== CONSOLE BAR (page chrome) ============== */
.console {
  max-width: 1320px; margin: 0 auto;
  padding: 0 28px;
}
.console-bar {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--mono); font-size: 10.5px;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--ink-3);
}
.console-bar .lbl { color: var(--ink-2); }
.console-bar .sep { opacity: 0.4; }
.console-bar .right { margin-left: auto; display: flex; gap: 14px; align-items: center; }
.console-bar .pulse {
  width: 8px; height: 8px; background: var(--cool); border-radius: 50%;
  box-shadow: 0 0 10px var(--cool);
  animation: pulse-dot 2s ease-out infinite;
}
@keyframes pulse-dot { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }

/* ============== PAGE HEAD ============== */
.page-head {
  padding: 70px 0 50px;
  max-width: 1320px; margin: 0 auto;
}
.eyebrow {
  font-family: var(--mono); font-size: 10.5px;
  text-transform: uppercase; letter-spacing: 0.18em;
  color: var(--cool);
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 14px;
}
.eyebrow::before { content: ''; width: 18px; height: 1px; background: var(--cool); }

.h-1 {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(38px, 4.4vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 18px;
}
.h-1 .em {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  color: var(--cool);
  letter-spacing: -0.005em;
}
.h-2 {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.1; letter-spacing: -0.025em;
  color: var(--ink); margin: 0;
}
.h-2 .em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--cool); letter-spacing: -0.005em; }
.h-3 {
  font-family: var(--sans); font-weight: 600;
  font-size: 17px; margin: 0; letter-spacing: -0.01em;
}

.lede {
  font-family: var(--sans); font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 620px;
  margin: 0;
}

/* ============== BUTTONS ============== */
.btn {
  font-family: var(--sans); font-size: 13px; font-weight: 500;
  background: var(--ink); color: var(--bg);
  border: 1px solid var(--ink);
  padding: 11px 18px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all 0.15s;
}
.btn:hover { background: var(--cool); border-color: var(--cool); color: var(--bg); }
.btn.outline { background: transparent; color: var(--ink); border-color: var(--rule-2); }
.btn.outline:hover { background: transparent; color: var(--cool); border-color: var(--cool); }
.btn.sm { padding: 7px 12px; font-size: 12px; }
.btn .arrow { transition: transform 0.18s; }
.btn:hover .arrow { transform: translateX(3px); }

/* ============== TAGS ============== */
.tag {
  font-family: var(--mono); font-size: 10px;
  text-transform: uppercase; letter-spacing: 0.12em;
  padding: 3px 8px;
  border: 1px solid var(--rule-2);
  color: var(--ink-2);
  display: inline-block;
}
.tag.cool { border-color: var(--cool); color: var(--cool); background: rgba(106,168,255,0.06); }
.tag.warm { border-color: var(--warm); color: var(--warm); background: rgba(245,180,84,0.06); }
.tag.hot  { border-color: var(--hot);  color: var(--hot);  background: rgba(255,75,110,0.06); }
.tag.ok   { border-color: var(--ok);   color: var(--ok);   background: rgba(111,179,95,0.06); }

.sev {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  padding: 2px 7px;
  border: 1px solid currentColor;
  display: inline-block;
}
.sev.crit { color: var(--hot); }
.sev.high { color: var(--warm); }
.sev.med  { color: var(--ink-2); }
.sev.low  { color: var(--ink-3); }

/* ============== FOOTER ============== */
footer {
  border-top: 1px solid var(--rule);
  padding: 32px 28px 50px;
  max-width: 1320px; margin: 80px auto 0;
  display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap;
  font-family: var(--mono); font-size: 11px;
  color: var(--ink-3);
  text-transform: uppercase; letter-spacing: 0.12em;
}
footer .links { display: flex; gap: 20px; }
footer a { color: var(--ink-3); text-decoration: none; }
footer a:hover { color: var(--cool); }

/* ============== SECTION ============== */
section.s {
  max-width: 1320px; margin: 0 auto; padding: 60px 28px;
  position: relative;
}
.section-head {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: flex-end;
  margin-bottom: 36px;
}
.section-head p {
  font-family: var(--sans); font-size: 15px; line-height: 1.6;
  color: var(--ink-2); max-width: 460px; margin: 0;
}

/* ============== RESPONSIVE ============== */
@media (max-width: 1080px) {
  .section-head { grid-template-columns: 1fr; gap: 16px; }
  .nav-readout { display: none; }
}
