/* FedM8 - Open Field (open-field.html). Navy/gold, phone-first. */
.of-wrap { max-width: 1060px; margin: 0 auto; }
.of-loading { color: #3d4b5f; padding: 24px 0; }
/* small shared bits (the OS shell defines its own; the public page needs these) */
.pill { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 4px 12px; border-radius: 999px; background: #e8eef6; color: #1b3a5c; margin-bottom: 10px; }
.btn.sm { font-size: 13px; padding: 8px 14px; }
.btn.ghost { background: transparent; border: 1px solid #b79b59; color: #142537; }
.of-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; color: #b79b59; margin: 0 0 6px; font-weight: 700; }
.of-title { font-family: "Source Serif 4", Georgia, serif; font-size: 30px; line-height: 1.15; color: #060d18; margin: 0 0 8px; }
.of-sub { color: #3d4b5f; font-size: 15px; margin: 0 0 18px; max-width: 640px; }
.of-tabs { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.of-tab { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid #c5d2e0; color: #142537; text-decoration: none; font-weight: 600; font-size: 14px; background: #fff; }
.of-tab.on { background: #142537; border-color: #142537; color: #fff; }
.of-subtabs { display: flex; gap: 6px; margin-bottom: 16px; }
.of-subtab { padding: 7px 14px; border-radius: 8px; color: #3d4b5f; text-decoration: none; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
.of-subtab.on { background: #e8eef6; border-color: #c5d2e0; color: #060d18; }
.of-note { background: #f5f1e8; border: 1px solid #e4c577; border-radius: 10px; padding: 12px 14px; font-size: 14px; color: #4a3f28; margin: 0 0 16px; }
.of-note a { color: #142537; font-weight: 700; }
.of-status { padding: 14px; border-radius: 10px; background: #f4f6f8; color: #3d4b5f; margin-bottom: 12px; }
.of-status.err { background: #fdf0ef; color: #8a2b1f; border: 1px solid #eec5c0; }
.of-gate { background: #fff; border: 1px solid #c5d2e0; border-radius: 14px; padding: 28px 24px; text-align: left; margin-bottom: 16px; }
.of-gate h2 { font-family: "Source Serif 4", Georgia, serif; margin: 10px 0 8px; color: #060d18; }
.of-gate p { color: #3d4b5f; margin: 0 0 16px; }
.of-list { display: grid; gap: 12px; }
.of-card { background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; padding: 16px; border-left-width: 5px; }
.of-card.v-chase { border-left-color: #2e7d4f; }
.of-card.v-consider { border-left-color: #b79b59; }
.of-card.v-unscored { border-left-color: #8fa3b8; }
.of-card.v-pass { border-left-color: #c5d2e0; opacity: .85; }
.of-card-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.of-verdict { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 4px 10px; border-radius: 999px; background: #e8eef6; color: #3d4b5f; }
.of-verdict.chase { background: #e2f2e8; color: #1f6a3d; }
.of-verdict.consider { background: #faf3df; color: #8a6d1f; }
.of-verdict.pass { background: #eef1f5; color: #6b7a8d; }
.of-fit { font-size: 13px; font-weight: 700; color: #142537; background: #fff; border: 1px solid #b79b59; border-radius: 999px; padding: 4px 12px; cursor: pointer; }
.of-due { font-size: 13px; color: #6b7a8d; margin-left: auto; }
.of-title { display: block; font-size: 17px; font-weight: 700; color: #060d18; text-decoration: none; margin: 0 0 6px; line-height: 1.3; }
a.of-title:hover { text-decoration: underline; }
div.of-title { cursor: default; }
.of-meta { font-size: 13px; color: #5a6a7e; margin-bottom: 8px; }
.of-naics { display: inline-block; background: #e8eef6; border-radius: 6px; padding: 1px 8px; font-weight: 600; margin-left: 6px; }
.of-amt { font-weight: 700; color: #142537; margin-left: 6px; }
.of-sigs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.of-sig { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: #f4f6f8; color: #3d4b5f; border: 1px solid #dfe6ef; }
.of-sig.sig-chase { background: #e2f2e8; border-color: #bfe3cd; color: #1f6a3d; }
.of-sig.sig-amended { background: #faf3df; border-color: #e4c577; color: #8a6d1f; }
.of-sig.sig-research { background: #e8eef6; border-color: #b9c9dc; color: #1b3a5c; }
.of-lics { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.of-lic { font-size: 12px; padding: 3px 10px; border-radius: 999px; background: #f5f1e8; border: 1px dashed #b79b59; color: #5a4d22; text-decoration: none; }
.of-acts { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.of-breakdown { margin-top: 10px; background: #fbfcfe; border: 1px solid #dfe6ef; border-radius: 10px; padding: 10px 12px; }
.of-dim-head { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #6b7a8d; margin-bottom: 6px; }
.of-dim { display: flex; justify-content: space-between; font-size: 13px; padding: 3px 0; color: #3d4b5f; }
.of-dim b { color: #060d18; }
.of-h { font-family: "Source Serif 4", Georgia, serif; font-size: 20px; color: #060d18; margin: 22px 0 10px; }
.of-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.of-tile { display: block; background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; padding: 16px; text-decoration: none; color: inherit; }
.of-tile:hover { border-color: #b79b59; }
.of-tile-top { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.of-kind { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 3px 10px; border-radius: 999px; background: #e8eef6; color: #1b3a5c; }
.of-kind.k-license { background: #e7effe; color: #1e3fae; }
.of-kind.k-certification { background: #e2f2e8; color: #1f6a3d; }
.of-kind.k-registration { background: #f4f6f8; color: #3d4b5f; }
.of-kind.k-clearance { background: #fbe9e7; color: #a03a1f; }
.of-kind.k-standard { background: #faf3df; color: #8a6d1f; }
.of-new { font-size: 11px; font-weight: 700; color: #1f6a3d; }
.of-tile-name { font-size: 16px; font-weight: 700; color: #060d18; margin-bottom: 4px; line-height: 1.3; }
.of-tile-issuer { font-size: 13px; color: #6b7a8d; margin-bottom: 8px; }
.of-tile-counts { font-size: 13px; color: #3d4b5f; }
.of-tile-counts b { color: #060d18; }
.of-back { display: inline-block; font-size: 14px; color: #1b3a5c; margin-bottom: 12px; text-decoration: none; font-weight: 600; }
.of-acad-hero { background: #142537; color: #fff; border-radius: 16px; padding: 24px; margin-bottom: 16px; }
.of-acad-hero .of-kind { background: rgba(255,255,255,.14); color: #efcf82; }
.of-acad-name { font-family: "Source Serif 4", Georgia, serif; font-size: 26px; margin: 12px 0 6px; line-height: 1.2; }
.of-acad-hero .of-tile-issuer { color: #a8b8c9; }
.of-acad-desc { color: #dfe6ef; font-size: 15px; line-height: 1.55; margin: 10px 0 0; max-width: 640px; }
.of-acad-sec { background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; padding: 18px; margin-bottom: 12px; }
.of-acad-sec h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 18px; color: #060d18; margin: 0 0 10px; }
.of-acad-sec ol { margin: 0; padding-left: 22px; color: #3d4b5f; }
.of-acad-sec li { margin-bottom: 6px; line-height: 1.5; }
.of-acad-sec p { color: #3d4b5f; margin: 0 0 8px; line-height: 1.55; }
.of-acad-off { margin: 4px 0 16px; }
@media (max-width: 640px) {
  .of-title { font-size: 26px; }
  .of-acad-name { font-size: 22px; }
  .of-card { padding: 14px; }
}
/* Figma 02 refinements: filter chips + fit bars */
.of-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.of-f-label { font-size: 13px; font-weight: 700; color: #3d4b5f; }
.of-chip { display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid #c5d2e0; background: #fff; color: #3d4b5f; font-size: 13px; font-weight: 600; text-decoration: none; }
.of-chip.on { background: #142537; border-color: #142537; color: #fff; }
.of-fitbar { display: inline-block; width: 72px; height: 8px; border-radius: 999px; background: #e8eef6; overflow: hidden; vertical-align: middle; }
.of-fitfill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #b79b59, #efcf82); }

.of-tile { color: inherit; }
.of-tile-name { display: block; text-decoration: none; }
.of-tile-applies, .of-tile-relevance, .of-tile-count-note { margin: 6px 0; color: #526174; font-size: 12px; line-height: 1.45; }
.of-tile-source { display: inline-block; margin-top: 8px; color: #1b3a5c; font-weight: 700; font-size: 13px; }
.of-tile-count-note { font-size: 11px; }
