/* Architecture page styles — extends brand.css */
@import url('brand.css');

/* Override shell for wider layout + less top padding */
.shell { max-width: var(--max-width-wide); padding-top: 48px; line-height: 1.7; }

/* Page-level h1 (not hero) */
h1 { font-size: var(--text-2xl); letter-spacing: -0.03em; line-height: 1.1; margin: 20px 0 6px; }
.tag { vertical-align: middle; margin-left: 10px; font-size: 0.55em; }

/* Architecture h2 — sans for clean technical headings */
h2 {
  font-family: var(--sans); font-size: 1.3em;
  font-weight: 700; letter-spacing: -0.01em;
  color: var(--ink);
  margin: 52px 0 16px; padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
h3 {
  font-family: var(--mono); font-size: 0.82em; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--accent); margin: 28px 0 10px;
}

/* Body text */
p { margin: 10px 0 18px; font-size: 0.95em; }
strong { color: #f0ece4; }
ul, ol { padding-left: 22px; margin: 10px 0 18px; }
li { margin: 5px 0; font-size: 0.95em; }

/* Diagrams */
pre.mermaid {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--border-radius); text-align: center;
  margin: 24px 0; padding: 20px 12px;
}

/* Code blocks */
pre.code {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--border-radius); padding: 18px 20px; overflow-x: auto;
  font-family: var(--mono); font-size: 0.82em;
  line-height: 1.6; color: var(--ink); margin: 18px 0;
}
code {
  background: var(--card); padding: 2px 7px; border-radius: 3px;
  font-family: var(--mono); font-size: 0.86em;
  border: 1px solid var(--border);
}

/* Tables */
table {
  border-collapse: collapse; width: 100%;
  margin: 18px 0; font-size: 0.88em;
}
th, td { border: 1px solid var(--border); padding: 10px 14px; text-align: left; }
th {
  background: var(--card); font-family: var(--mono);
  font-size: 0.78em; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent);
}
td code { font-size: 0.92em; border: none; background: transparent; padding: 0; }

/* Callout */
.callout {
  background: var(--card); border-left: 3px solid var(--accent);
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  padding: 18px 22px; margin: 24px 0;
}
.callout p { margin: 0; font-size: 0.92em; }

/* Footer nav */
.foot-nav { margin-top: 52px; }
.foot-nav a { color: var(--muted); text-decoration: none; font-family: var(--mono); font-size: var(--text-sm); transition: color 0.15s; }
.foot-nav a:hover { color: var(--accent); }
