/* DSAR Engine — Phase-0 held stub. Brand-correct: graphite ground, steel-teal punctuation,
   Archivo wordmark. Palette painted via brand-kit tokens (var(--brand-*)); one-off rgba
   only for shadow/overlay. Restrained — a calibrated control room at rest. */

*, *::before, *::after { box-sizing: border-box; }
:root {
  --ease: cubic-bezier(.2,.7,.2,1);
  --gutter: clamp(22px, 6vw, 40px);
}
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--brand-ground);
  color: var(--brand-ink);
  font-family: 'Inter','Inter Fallback', system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
a { color: var(--brand-primary); text-decoration: none; }
h1, h2 { font-family: 'Archivo','Archivo Fallback', system-ui, sans-serif; font-weight: 700; letter-spacing: -.02em; margin: 0; }
.mono { font-family: 'JetBrains Mono','JBMono Fallback', ui-monospace, monospace; }

/* atmosphere */
.field {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(820px 480px at 76% -6%, rgba(95,198,207,.12), transparent 60%),
    radial-gradient(680px 460px at 6% 10%, rgba(127,168,196,.06), transparent 58%),
    linear-gradient(180deg, #0C1416 0%, var(--brand-ground) 44%);
}
.grid-lines {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .5;
  background-image:
    linear-gradient(var(--brand-rule) 1px, transparent 1px),
    linear-gradient(90deg, var(--brand-rule) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(110% 70% at 50% 8%, #000 32%, transparent 76%);
  mask-image: radial-gradient(110% 70% at 50% 8%, #000 32%, transparent 76%);
}

/* Phase-0 banner */
.status-banner {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap;
  text-align: center;
  background: color-mix(in srgb, var(--brand-surface) 80%, transparent);
  border-bottom: 1px solid var(--brand-rule);
  backdrop-filter: blur(8px);
  padding: 11px 18px;
  font-family: 'JetBrains Mono','JBMono Fallback', ui-monospace, monospace;
  font-size: .74rem; letter-spacing: .04em; color: var(--brand-ink-dim);
}
.status-banner strong {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--brand-primary); font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
}
.status-banner strong::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--status-warn); box-shadow: 0 0 9px var(--status-warn);
}

/* main */
.stub-main { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: clamp(48px,9vw,96px) var(--gutter); }
.stub-card { width: min(620px, 100%); max-width: 100%; text-align: center; }
.stub-card .stamp, .contact { overflow-wrap: anywhere; }

.brandline { display: inline-flex; align-items: center; gap: 13px; margin-bottom: 30px; }
.brandline .glyph {
  width: 34px; height: 34px; position: relative; flex: none;
  border: 1.6px solid var(--brand-primary); border-radius: 9px;
  box-shadow: 0 0 22px -4px rgba(95,198,207,.6);
}
.brandline .glyph::before {
  content: ""; position: absolute; inset: 0; margin: auto;
  width: 12px; height: 12px; border-radius: 50%;
  border: 1.6px solid var(--brand-primary);
  border-right-color: transparent; border-bottom-color: transparent;
  transform: rotate(-45deg);
}
.brandline .wm {
  font-family: 'Archivo','Archivo Fallback', system-ui, sans-serif;
  font-weight: 700; font-size: 1.65rem; letter-spacing: -.01em; color: var(--brand-ink);
}
.brandline .wm b { color: var(--brand-primary); font-weight: 700; }

.stamp {
  font-family: 'JetBrains Mono','JBMono Fallback', ui-monospace, monospace;
  font-size: .7rem; letter-spacing: .26em; text-transform: uppercase;
  color: var(--brand-ink-dim); margin: 0 0 26px;
}

h1.headline {
  font-size: clamp(2rem, 5.2vw, 3.1rem); line-height: 1.08; letter-spacing: -.03em;
  color: var(--brand-ink); margin: 0 auto; max-width: 16ch;
}
h1.headline .teal { color: var(--brand-primary); }

.lede {
  margin: 22px auto 0; max-width: 44ch;
  font-size: clamp(1.02rem, 1.5vw, 1.16rem); color: var(--brand-ink-soft);
}

/* restrained clock echo — brand motif at rest (no live count on the held stub) */
.clock-echo {
  margin: 34px auto 0; display: inline-flex; align-items: center; gap: 14px;
  padding: 12px 18px; border-radius: 14px;
  background: color-mix(in srgb, var(--brand-surface) 92%, transparent);
  border: 1px solid var(--brand-rule);
}
.clock-echo .num {
  font-family: 'JetBrains Mono','JBMono Fallback', ui-monospace, monospace;
  font-weight: 700; font-size: 2.1rem; line-height: 1; color: var(--brand-primary);
  text-shadow: 0 0 22px rgba(95,198,207,.26);
}
.clock-echo .txt { text-align: left; }
.clock-echo .txt .a { font-family: 'JetBrains Mono','JBMono Fallback', monospace; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-ink-dim); }
.clock-echo .txt .b { font-size: .9rem; color: var(--brand-ink-soft); }

/* contact — plain inquiries line, no capture mechanism */
.contact { margin: 36px auto 0; font-size: .92rem; color: var(--brand-ink-soft); }
.contact a { color: var(--brand-primary); font-weight: 600; }

/* disclaimers */
.disclaimers {
  position: relative; z-index: 1; max-width: 760px; margin: 0 auto; width: 100%;
  padding: 0 var(--gutter) clamp(40px,6vw,64px);
}
.disclaimers .rail { border-top: 1px solid var(--brand-rule); padding-top: 28px; }
.disclaimers .dhead {
  font-family: 'JetBrains Mono','JBMono Fallback', monospace;
  font-size: .68rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--brand-ink-dim); text-align: center; margin: 0 0 18px;
}
.disclaimers ol { list-style: none; counter-reset: d; padding: 0; margin: 0; display: grid; gap: 12px; }
.disclaimers li {
  counter-increment: d; position: relative; padding: 16px 18px 16px 46px;
  border-radius: 12px; background: color-mix(in srgb, var(--brand-surface) 70%, transparent);
  border: 1px solid var(--brand-rule);
  font-size: .88rem; color: var(--brand-ink-soft); line-height: 1.6;
}
.disclaimers li::before {
  content: counter(d, lower-alpha); position: absolute; left: 16px; top: 15px;
  font-family: 'JetBrains Mono','JBMono Fallback', monospace; font-size: .8rem;
  color: var(--brand-primary); font-weight: 700;
}

/* footer */
.stub-foot { position: relative; z-index: 1; text-align: center; padding: 30px var(--gutter) 40px; border-top: 1px solid var(--brand-rule); }
.stub-foot .dba { font-family: 'JetBrains Mono','JBMono Fallback', monospace; font-size: .72rem; letter-spacing: .12em; color: var(--brand-ink-soft); margin: 0 0 6px; }
.stub-foot .note { font-size: .78rem; color: var(--brand-ink-dim); margin: 0; }

@media (prefers-reduced-motion: no-preference) {
  .clock-echo .num { animation: glow 3.4s var(--ease) infinite; }
  @keyframes glow { 0%,100%{ text-shadow: 0 0 22px rgba(95,198,207,.26);} 50%{ text-shadow: 0 0 30px rgba(95,198,207,.5);} }
}
