/* site.css — page chrome for jorgensons.com, on top of tokens.css + tjc.css */

.site-header { border-bottom: var(--tjc-rule); background: var(--tjc-bg); }
.site-header .tjc-nav { border-bottom: 0; }
.brand-lockup { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand-lockup img { height: 44px; }
.brand-lockup span { font-family: var(--tjc-font-display); font-size: 21px; color: var(--tjc-ink); }
.brand-lockup:hover span { color: var(--tjc-ink); }

.hero { text-align: center; padding: var(--tjc-space-24) 0 var(--tjc-space-16); }
.hero img.shield { height: 120px; margin-bottom: var(--tjc-space-8); }
.hero h1 { font-size: clamp(40px, 6vw, 60px); line-height: 1.08; max-width: 15em; margin: 0 auto var(--tjc-space-6); }
.hero .sub { font-size: var(--tjc-text-lead); color: var(--tjc-text-muted); max-width: 36em; margin: 0 auto var(--tjc-space-8); }

.page-title { padding: var(--tjc-space-16) 0 0; }
.page-title h1 { max-width: 20em; }
.prose { max-width: var(--tjc-measure); }
.prose h2 { margin-top: var(--tjc-space-12); }
.prose ul { line-height: var(--tjc-leading-body); padding-left: 1.2em; }
.prose li { margin-bottom: var(--tjc-space-2); }

.two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--tjc-space-12); align-items: start; }

.criteria { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--tjc-space-6); margin: var(--tjc-space-8) 0; }

.steps { counter-reset: step; max-width: var(--tjc-measure); }
.step { display: flex; gap: var(--tjc-space-6); padding: var(--tjc-space-6) 0; border-bottom: var(--tjc-rule); }
.step:last-child { border-bottom: 0; }
.step::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  font-family: var(--tjc-font-display); font-size: var(--tjc-text-h2);
  color: var(--tjc-taupe); line-height: 1.1; min-width: 1.6em;
}

.portrait { width: 100%; max-width: 380px; border-radius: var(--tjc-radius); border: 1px solid var(--tjc-taupe); }

.applied-card { display: flex; flex-wrap: wrap; gap: var(--tjc-space-8); align-items: center; justify-content: space-between; }
.applied-card .tjc-btn { flex-shrink: 0; }

.footer-nav { display: flex; gap: var(--tjc-space-6); justify-content: center; flex-wrap: wrap; margin-top: var(--tjc-space-6); }
.footer-nav a { font-family: var(--tjc-font-sans); font-size: var(--tjc-text-small); color: var(--tjc-text-muted); text-decoration: none; }
.footer-nav a:hover { color: var(--tjc-text-strong); }

@media (max-width: 720px) {
  .tjc-nav { flex-direction: column; gap: var(--tjc-space-4); }
  .tjc-nav-links { gap: var(--tjc-space-4); flex-wrap: wrap; justify-content: center; }
  .hero { padding-top: var(--tjc-space-16); }
}

/* ---- peterjorgenson.com additions ---- */
.pj-hero { padding: var(--tjc-space-16) 0; }
.pj-hero-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: var(--tjc-space-16); align-items: center; }
@media (max-width: 820px) { .pj-hero-grid { grid-template-columns: 1fr; } }
.pj-hero h1 { font-size: clamp(38px, 5.5vw, 56px); line-height: 1.12; }
.pj-hero .office { display: block; font-style: italic; }
.pj-portrait { width: 100%; border-radius: var(--tjc-radius); border: 1px solid var(--tjc-taupe); }
.pj-portrait-frame { border: 1px solid var(--tjc-taupe); outline: 1px solid var(--tjc-taupe); outline-offset: 6px; padding: 12px; background: var(--tjc-paper); }

.pj-section-label { display: block; text-align: center; margin-bottom: var(--tjc-space-8); }
.pj-divider-mark { text-align: center; margin: var(--tjc-space-16) 0; }
.pj-divider-mark img { height: 40px; opacity: 0.85; }

.role { padding: var(--tjc-space-8) 0; border-bottom: var(--tjc-rule); }
.role:last-child { border-bottom: 0; }
.role-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--tjc-space-6); flex-wrap: wrap; }
.role-head h3 { margin-bottom: 4px; }
.role-dates { font-family: var(--tjc-font-sans); font-size: var(--tjc-text-small); color: var(--tjc-stone); white-space: nowrap; }
.role ul { line-height: var(--tjc-leading-body); padding-left: 1.2em; margin: var(--tjc-space-3) 0 0; }
.role li { margin-bottom: var(--tjc-space-2); }

.stat-block { padding: var(--tjc-space-6) 0; border-bottom: var(--tjc-rule); max-width: var(--tjc-measure); }
.stat-block:last-child { border-bottom: 0; }
.stat-block h3 { margin-bottom: var(--tjc-space-3); }
.stat-block ul { list-style: none; padding: 0; margin: 0; line-height: var(--tjc-leading-body); }
.stat-block li { margin-bottom: var(--tjc-space-2); padding-left: 1.1em; text-indent: -1.1em; }
.stat-block .src { font-family: var(--tjc-font-sans); font-size: var(--tjc-text-small); color: var(--tjc-stone); }
