/* Direction A — Foundry: Dark industrial */
:root {
  --a-bg: #0a0a0a;
  --a-bg-2: #131313;
  --a-bg-3: #1a1a1a;
  --a-fg: #f5f5f0;
  --a-fg-2: #b8b8b0;
  --a-fg-3: #6e6e68;
  --a-rule: #2a2a28;
  --a-accent: #ff6a13;
  --a-accent-2: #ffb088;
  --a-success: #6acf8a;
}

.dirA {
  background: var(--a-bg);
  color: var(--a-fg);
  font-family: "Inter Tight", "Inter", system-ui, sans-serif;
  font-feature-settings: "ss01", "cv11";
  font-size: 16px;
  line-height: 1.55;
  min-height: 100%;
}
.dirA .mono { font-family: "Geist Mono", "JetBrains Mono", ui-monospace, monospace; font-feature-settings: "zero", "ss02"; }
.dirA .serif { font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; letter-spacing: -0.01em; line-height: 1.02; }
.dirA .display {
  font-family: "Instrument Serif", "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.02;
}

.dirA h1, .dirA h2 { font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; letter-spacing: -0.015em; line-height: 1.02; }
.dirA h3 { font-family: "Inter Tight", sans-serif; font-weight: 500; letter-spacing: -0.02em; }
.dirA h1 em, .dirA h2 em, .dirA .display em { font-style: italic; color: var(--a-accent); font-family: "Instrument Serif", serif; }

/* Layout */
.dirA .container { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
.dirA .container-tight { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.dirA section { position: relative; }
.dirA .rule { border-top: 1px solid var(--a-rule); }
.dirA .rule-y { border-left: 1px solid var(--a-rule); }

/* Eyebrow / labels */
.dirA .eyebrow {
  font-family: "Geist Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--a-fg-3);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.dirA .eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--a-accent);
  display: inline-block;
}
.dirA .eyebrow.no-dot::before { display: none; }

/* Buttons */
.dirA .btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  font-size: 14px; font-weight: 500;
  border: 1px solid transparent;
  transition: all .2s ease;
  font-family: inherit;
  white-space: nowrap;
}
.dirA .btn-primary { background: var(--a-accent); color: #1a0d05; }
.dirA .btn-primary:hover { background: var(--a-fg); color: var(--a-bg); }
.dirA .btn-ghost { border-color: var(--a-rule); color: var(--a-fg); }
.dirA .btn-ghost:hover { border-color: var(--a-fg); }
.dirA .btn-link { color: var(--a-fg); padding: 0; gap: 8px; font-size: 14px; }
.dirA .btn-link:hover { color: var(--a-accent); }

/* Cards */
.dirA .card {
  background: var(--a-bg-2);
  border: 1px solid var(--a-rule);
  padding: 28px;
}
.dirA .card-bare { border: 1px solid var(--a-rule); padding: 28px; }

/* Hairline ticks (industrial gauge feel) */
.dirA .ticks {
  height: 12px;
  background-image: linear-gradient(90deg, var(--a-rule) 1px, transparent 1px);
  background-size: 12px 100%;
}

/* Hover dot indicator for nav */
.dirA .nav-link { position: relative; padding: 8px 0; color: var(--a-fg-2); font-size: 14px; transition: color .2s; }
.dirA .nav-link:hover, .dirA .nav-link.active { color: var(--a-fg); }
.dirA .nav-link.active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px; background: var(--a-accent);
}

/* Scrolling marquee */
.dirA .marquee { overflow: hidden; }
.dirA .marquee-track { display: flex; gap: 64px; animation: a-scroll 40s linear infinite; white-space: nowrap; }
@keyframes a-scroll { from { transform: translateX(0);} to { transform: translateX(-50%);} }

/* Pulse */
@keyframes a-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }
.dirA .pulse { animation: a-pulse 2s ease-in-out infinite; }

/* Numeric data */
.dirA .stat-num {
  font-family: "Geist Mono", monospace;
  font-size: 64px; font-weight: 400; letter-spacing: -0.04em;
  line-height: 1;
}
@media (max-width: 900px) { .dirA .stat-num { font-size: 44px; } }

/* Form */
.dirA input, .dirA textarea, .dirA select {
  background: var(--a-bg-2);
  border: 1px solid var(--a-rule);
  color: var(--a-fg);
  padding: 14px 16px;
  font: inherit;
  width: 100%;
}
.dirA input:focus, .dirA textarea:focus { outline: none; border-color: var(--a-accent); }
.dirA label { font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--a-fg-3); display: block; margin-bottom: 8px; }

/* Footer */
.dirA footer { background: var(--a-bg); border-top: 1px solid var(--a-rule); }

/* Small utility */
.dirA .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.dirA .grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.dirA .grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
@media (max-width: 900px) {
  .dirA .grid-2, .dirA .grid-3, .dirA .grid-4 { grid-template-columns: 1fr; }
}
