/* ============================================================
   TALOS / Partners (v2) — Bootstrap/HTML replica
   Loads AFTER bootstrap.min.css. Reproduces the Partner Portal
   design system and neutralises Bootstrap Reboot.
   ============================================================ */

:root {
  --background: #F9F9F9;
  --foreground: #000000;
  --bone: #F9F9F9;
  --ink: #000000;
  --maroon: #5C1D24;
  --maroon-foreground: #F9F9F9;
  --hairline: #000000;
  --muted: #EFEFEC;
  --muted-foreground: #5A5A57;
  --terminal: #141416;
  --radius: 0;
}

/* ---------- Reset (neutralise Bootstrap Reboot) ---------- */
*, *::before, *::after { box-sizing: border-box; border: 0 solid var(--hairline); }
html { -webkit-text-size-adjust: 100%; line-height: 1.5; }
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 1.5;
}
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; }
p, figure, blockquote, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; vertical-align: middle; }
button, input, select, textarea { font-family: inherit; font-size: 100%; line-height: inherit; color: inherit; margin: 0; }
button { background: transparent; text-transform: none; cursor: pointer; }
:focus { outline: none; }

.font-mono { font-family: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ---------- Design-system utilities (verbatim from source) ---------- */
.mono-tag {
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink);
}
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--maroon); color: var(--maroon-foreground);
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 1.15rem 1.75rem; border: 1px solid var(--maroon);
  transition: background 0.15s ease, color 0.15s ease;
}
.btn-primary:hover { background: #4a161c; }
.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; color: var(--ink);
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 1.15rem 1.75rem; border: 1px solid var(--ink);
  transition: background 0.15s ease, color 0.15s ease;
}
.btn-secondary:hover { background: var(--ink); color: var(--bone); }
.form-check-input{ border-color: #000 !important;}
/* ---------- Layout helpers ---------- */
.wrap { max-width: 1440px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
@media (min-width: 1024px) { .wrap { padding-left: 40px; padding-right: 40px; } }
.hover-60:hover { opacity: 0.6; }

.sec-pad { padding-top: 80px; padding-bottom: 80px; }
@media (min-width: 1024px) { .sec-pad { padding-top: 96px; padding-bottom: 96px; } }
.intake-pad { padding-top: 96px; padding-bottom: 96px; }
@media (min-width: 1024px) { .intake-pad { padding-top: 112px; padding-bottom: 112px; } }
.track-pad { padding: 32px; }
@media (min-width: 1024px) { .track-pad { padding: 48px; } }

/* sticky nav */
.pp-nav {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(0,0,0,0.9);
  background: rgba(249,249,249,0.8);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.nav-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.nav-center { display: none; }
@media (min-width: 768px) { .nav-center { display: flex; align-items: center; justify-content: center; gap: 40px; } }

/* responsive type bumps */
.p-hero { font-size: 1rem; }
@media (min-width: 1024px) { .p-hero { font-size: 1.05rem; } }
.h2-lg { font-size: 1.875rem; }
@media (min-width: 1024px) { .h2-lg { font-size: 2.25rem; } }
.h3-lg { font-size: 1.5rem; }
@media (min-width: 1024px) { .h3-lg { font-size: 1.875rem; } }
.hero-center { text-align: center; }
@media (min-width: 1024px) { .hero-center { text-align: left; } }

/* matrix cell borders (mirrors source) */
.track-left { border-bottom: 1px solid rgba(0,0,0,0.9); }
@media (min-width: 1024px) { .track-left { border-bottom: none; } }
.track-right { }
@media (min-width: 1024px) { .track-right { border-left: 1px solid rgba(0,0,0,0.9); } }

/* pipeline arrow direction */
.pipe-arrow-down { display: inline; }
.pipe-arrow-right { display: none; }
@media (min-width: 768px) { .pipe-arrow-down { display: none; } .pipe-arrow-right { display: inline; } }
.pipe-row { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 16px; }
@media (min-width: 768px) { .pipe-row { flex-direction: row; align-items: center; gap: 0; } }

/* form input */
.pp-input {
  margin-top: 12px; width: 100%; border: 0; border-bottom: 1px solid rgba(0,0,0,0.2);
  background: transparent; padding: 8px 0; font-size: 1rem; color: var(--ink);
}
.pp-input::placeholder { color: rgba(0,0,0,0.4); }
.pp-input:focus { border-color: var(--maroon); outline: none; }

/* ---------- Design-system keyframes carried from source stylesheet ---------- */
@keyframes talos-blink { 0%,60% { opacity:1 } 70%,100% { opacity:0.15 } }
@keyframes talos-marquee { 0% { transform:translateX(0) } 100% { transform:translateX(-50%) } }
.talos-blink { animation: talos-blink 1.2s steps(2, end) infinite; }
.talos-marquee { animation: talos-marquee 28s linear infinite; }

/* hero button row alignment */
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
@media (min-width: 1024px) { .btn-row { justify-content: flex-start; } }
