/* Viridian Builds: the same family as Studio Viridian, turned toward the job site.
   Drafting-paper grid, chalk-line orange for highlights, blueprint navy underfoot. */
:root {
  --paper: #f1ecdf;
  --hl: #ee7a3a;
  --foot: #1d2b48;
}
body {
  background-image:
    linear-gradient(rgba(39, 56, 107, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(39, 56, 107, .055) 1px, transparent 1px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .26 0 0 0 0 .14 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 30px 30px, 30px 30px, 260px 260px;
}
.foot-nav h2, .site-foot a { color: inherit; }
.foot-nav h2 { color: var(--hl); }

/* eight stages, in order: four to a row, each numbered */
.theme-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: stage; }
.theme-card { counter-increment: stage; }
.theme-card h3 { font-size: 1.45rem; }
.theme-card h3::before { content: counter(stage, decimal-leading-zero); display: block; font: 400 .78rem var(--mono); letter-spacing: .08em; color: var(--ink-2); margin-bottom: .25rem; }
.theme-card p { font-size: .96rem; }
@media (max-width: 62rem) { .theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .theme-grid { grid-template-columns: minmax(0, 1fr); } }

/* tables carry real content here (ladders, schedules): give them room and a ledger look */
.prose .table-wrap { margin-left: -1rem; margin-right: -1rem; background: var(--paper-3); padding: .4rem 1rem .2rem; filter: drop-shadow(0 3px 5px rgba(40, 32, 14, .1)); }
.prose table { font-size: .93rem; }
.prose td:first-child { font-weight: 600; white-space: nowrap; }
@media (max-width: 40rem) {
  .prose .table-wrap { margin-left: 0; margin-right: 0; padding-left: .6rem; padding-right: .6rem; }
  .prose table { font-size: .84rem; }
  .prose th, .prose td { padding-left: .3rem; padding-right: .3rem; overflow-wrap: anywhere; }
  .prose td:first-child { white-space: normal; }
}
