.prototype-nav { padding-block: 1rem; background: var(--blue-100); border-bottom: 1px solid var(--line); }
.prototype-nav .cluster { gap: .5rem 1rem; }
.prototype-nav a { font-size: .78rem; font-weight: 800; }
.page-hero { padding-block: clamp(4.5rem, 8vw, 8rem); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.page-hero-panel { min-height: 22rem; display: grid; align-content: end; padding: clamp(1.5rem, 4vw, 3rem); color: var(--white); background: linear-gradient(145deg, var(--navy-900), var(--navy-700)); border-radius: var(--radius-panel); box-shadow: var(--shadow-lg); }
.page-hero-panel h2 { color: var(--white); }
.page-hero-panel p { color: rgba(255,255,255,.74); }
.metric-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin-top: 1.4rem; }
.metric { padding: 1rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; }
.metric strong { display: block; color: var(--white); font-size: 1.4rem; }
.hub-pricing { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.hub-pricing table { width: 100%; border-collapse: collapse; }
.hub-pricing th, .hub-pricing td { padding: .8rem .4rem; text-align: left; border-bottom: 1px solid var(--line); }
.hub-pricing th { color: var(--navy-900); font-size: .8rem; }
.hub-pricing td { color: var(--muted); }
.career-city-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.career-city-card { display: grid; gap: .85rem; }
.career-city-card .status { width: fit-content; padding: .28rem .55rem; color: var(--success); background: #e4f4ec; border-radius: 999px; font-size: .7rem; font-weight: 850; }
.legal-layout { display: grid; grid-template-columns: minmax(12rem, .28fr) minmax(0, .72fr); gap: 3rem; align-items: start; }
.legal-toc { position: sticky; top: 6rem; display: grid; gap: .55rem; padding: 1.2rem; background: var(--white); border: 1px solid var(--line); border-radius: 1rem; }
.legal-toc a { font-size: .82rem; font-weight: 750; text-decoration: none; }
.legal-copy { display: grid; gap: 2rem; }
.legal-copy section { display: grid; gap: .8rem; scroll-margin-top: 6rem; }
.legal-copy :is(p, li) { max-width: 74ch; color: #435b6e; }
.partner-list { display: grid; gap: 1rem; }
.partner-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 1rem; align-items: center; }
.partner-row span { color: var(--muted); }
.not-found { min-height: calc(100vh - 14rem); display: grid; place-items: center; text-align: center; }
.not-found-code { color: var(--gold-500); font-size: clamp(5rem, 18vw, 12rem); font-weight: 900; line-height: .75; letter-spacing: -.09em; }
.conditional-note { padding: 1rem 1.2rem; color: var(--muted); background: var(--blue-100); border-left: .25rem solid var(--navy-700); border-radius: 0 .8rem .8rem 0; }

@media (max-width: 850px) {
  .page-hero-grid, .legal-layout { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
  .career-city-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .hub-pricing, .career-city-list, .metric-row { grid-template-columns: 1fr; }
  .partner-row { grid-template-columns: 1fr; }
}

