/* Final military readability layer. Load after the existing military styles.
   Rules name the affected components; dark surfaces and semantic grade colors
   continue to own their foregrounds. Twelve pixels is this site's label floor.
   School-card padding belongs to military-interior.css. */

/* Guide metadata and small navigational labels. */
body.pmh-interior-v2 .pmh-destination-hero .pmh-kicker,
body.pmh-interior-v2 main .pmh-kicker,
body.pmh-interior-v2 main .quick-answer .qa-label,
body.pmh-interior-v2 main .author-card .ac-updated,
body.pmh-interior-v2 main :is(.post-topmeta,.blog-card) .cat {
  font-size:12px!important;
  line-height:1.65;
}

body.pmh-visual .pmh-pdf-link {
  font-size:12px;
  line-height:1.65;
}
body.pmh-visual .pmh-file-tag {
  font-size:12px;
  line-height:1.5;
  letter-spacing:.04em;
  flex-shrink:0;
}

/* School guides: size the remaining method and header labels explicitly. */
body.pmh-interior-v2.pmh-kind-school main .sg-comparison thead th {
  font-size:12px!important;
  line-height:1.65;
  letter-spacing:.025em;
}
body.pmh-interior-v2.pmh-kind-school main .sg-academic-reading .sg-method {
  font-size:12px;
  line-height:1.75;
  color:#536874;
}
body.pmh-interior-v2.pmh-kind-school main .school-resource .school-resource-label {
  font-size:12px;
  line-height:1.65;
  color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sg-table-hint {
  color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sg-table-scroll:focus-visible {
  outline-color:#126b70;
}

/* Brand accents on known surfaces. The school comparison caption and nearby
   alternatives are dark; their gold text must not become a light-page teal. */
body.pmh-interior-v2.pmh-kind-school main .sg-comparison caption,
body.pmh-interior-v2.pmh-kind-school main .sg-alternative-top,
body.pmh-interior-v2.pmh-kind-school main .sg-alternatives .sg-peer-span {
  color:#e3be68;
}
body.pmh-interior-v2.pmh-kind-school main .sg-alternatives h3 a:hover {
  text-decoration-color:#e3be68;
}
body.pmh-interior-v2.pmh-kind-school main :is(.sg-summary,.sg-perspective) {
  border-top-color:#e3be68;
}
body.pmh-interior-v2.pmh-kind-school main :is(.sg-note,.sg-academic-reading),
body.pmh-interior-v2.pmh-kind-school main .sg-highlights>div {
  border-left-color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sg-perspective .sg-local-detail {
  border-left-color:#e3be68;
}

/* Finder labels include address/drive states that are absent before use.
   No grade, warning, error, address-flag or marker colors are overridden. */
body.pmh-interior-v2.pmh-kind-school main .sf .sf-map-tools .sf-button,
body.pmh-interior-v2.pmh-kind-school main .sf .sf-home-active .sf-text-button,
body.pmh-interior-v2.pmh-kind-school main .sf .sf-drive .sf-text-button {
  font-size:12px!important;
  line-height:1.6;
}
body.pmh-interior-v2.pmh-kind-school main .sf :is(
  .sf-school-insight-body small,.sf-campus-note,.sf-home-active strong,
  .sf-home-active [data-sf-home-label],.sf-home-popup small,
  .sf-drive-eyebrow,.sf-drive-method,.sf-drive-error
) {
  font-size:12px!important;
  line-height:1.7;
}
body.pmh-interior-v2.pmh-kind-school main .sf :is(
  .sf-drive-eyebrow,.sf-popup-distance,.sf-school-insight-body a
) {
  color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sf .sf-school-insight summary {
  color:#183343;
}
body.pmh-interior-v2.pmh-kind-school main .sf .sf-school-insight summary:focus-visible {
  outline-color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sf .sf-address-choice:hover {
  background:#e8f0ed;
  border-color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sf .sf-drive,
body.pmh-interior-v2.pmh-kind-school main .sf .sf-map-status[data-sf-driving-map-status] {
  background:#e8f0ed;
  border-left-color:#126b70;
}
body.pmh-interior-v2.pmh-kind-school main .sf .sf-legend :is(.sf-grade,.sf-cluster-key) {
  font-size:12px;
}
body.pmh-interior-v2.pmh-kind-school main .sf .leaflet-container .leaflet-control-attribution {
  font-size:12px;
  line-height:1.5;
}

/* Community eyebrows share the light palette; the final dark CTA retains gold. */
body.pmh-interior-v2 main.cg-guide .cg-eyebrow {
  font-size:12px!important;
  line-height:1.65;
  letter-spacing:.08em;
  color:#126b70;
}
body.pmh-interior-v2 main.cg-guide .cg-cta .cg-eyebrow {
  color:#e3be68!important;
}
body.pmh-interior-v2 main.cg-guide .cg-school small {
  font-size:12px;
  line-height:1.7;
  color:#536874;
}
body.pmh-interior-v2.pmh-kind-community main .bah-table thead th {
  font-size:12px!important;
  line-height:1.65;
}

/* Named static tools and consent explanations. */
body.pmh-interior-v2 main :is(.va-calc-label,.va-calc-result-label,.va-calc-result-hint),
body.pmh-interior-v2 main .val-wrap .vf-fine,
body.pmh-interior-v2 main .val-wrap .vf-fine a,
body.pmh-interior-v2.pmh-kind-guide main .zbadge {
  font-size:12px;
  line-height:1.65;
}
body.pmh-interior-v2.flood-page .fz-eyebrow {
  font-size:12px!important;
  line-height:1.6;
  letter-spacing:.08em;
  color:#126b70!important;
}
body.pmh-interior-v2.flood-page .fz-provider small,
body.pmh-interior-v2.flood-page .fz-embed-tools .fz-button,
body.pmh-interior-v2.flood-page .fz-embed-tools #flood-reload {
  font-size:12px!important;
  line-height:1.6;
}
/* Provider copy inherits white from its dark selected panel, teal from its
   light link. Changing only size preserves that distinction. */

/* The homepage is outside pmh-interior-v2, so its proof and card labels need
   explicit home scopes. Colors for aqua-on-navy sections remain untouched. */
body.pmh-visual .pmh-home .pmh-kicker,
body.pmh-visual .pmh-proof-label,
body.pmh-visual .pmh-proof-detail,
body.pmh-visual .pmh-home .trust-card>div:first-child {
  font-size:12px!important;
  line-height:1.6;
  letter-spacing:.06em!important;
}
body.pmh-visual .pmh-home .hero-pill {
  font-size:12px!important;
  line-height:1.5;
  letter-spacing:.08em;
  color:#e3be68!important;
}
body.pmh-visual .pmh-home .pmh-primary-action {
  background:#e3be68!important;
  color:#183343!important;
  border-color:#e3be68!important;
}
body.pmh-visual .pmh-home .pmh-primary-action:hover {
  background:#edce88!important;
}
body.pmh-visual .pmh-home .pmh-cta-banner h2>span,
body.pmh-visual .pmh-home :is(.pmh-eyebrow,.pmh-review-source,.pmh-review-stars) {
  color:#e3be68!important;
}

/* Exact navigation controls retain their layout and hover behavior. Existing
   compact desktop/mobile rules use !important, so these sizes must too. */
body.pmh-visual .main-banner .banner-tabs>a,
body.pmh-visual .main-banner .banner-tabs>button,
body.pmh-visual .main-banner .dropdown>button,
body.pmh-visual .main-banner .dropdown>a,
body.pmh-visual .spa-nav .tabbar>a,
body.pmh-visual .spa-nav .tabbar>button,
body.pmh-visual .spa-nav .spa-drop>button,
body.pmh-visual .spa-nav .spa-drop>a {
  font-size:12px!important;
  line-height:1.5!important;
  letter-spacing:.035em!important;
  min-height:36px!important;
}
body.pmh-visual .main-banner .banner-email,
body.pmh-visual.pmh-interior-v2 .main-banner .banner-email,
body.pmh-visual .spa-nav .banner-email {
  font-size:12px!important;
  line-height:1.6!important;
  letter-spacing:0!important;
}
body.pmh-visual .main-banner .banner-search-label,
body.pmh-visual .spa-nav button[aria-label="Search the site"]>span {
  font-size:12px!important;
  line-height:1.5;
}
body.pmh-visual .main-banner :is(.banner-phone,.banner-email,.banner-search),
body.pmh-visual .spa-nav :is(a[href^="tel:"],.banner-email,button[aria-label="Search the site"]),
body.pmh-visual .main-banner .banner-tabs [aria-current="page"],
body.pmh-visual .spa-nav .tabbar [aria-current="page"],
body.pmh-visual :is(.main-banner,.spa-nav) .pmh-nav-active {
  color:#e3be68!important;
}
body.pmh-visual .main-banner .banner-search,
body.pmh-visual .spa-nav button[aria-label="Search the site"] {
  border-color:#e3be6866!important;
}

/* Footer hooks target only the small legal/identity text and old gold accents.
   Primary links and column headings keep their larger original sizes. */
body.pmh-visual footer :is(.pmh-footer-legal,.pmh-footer-meta,[data-legal="disclaimer"],[data-costin-sites]) {
  font-size:12px!important;
  line-height:1.7!important;
}
body.pmh-visual footer :is(.pmh-footer-legal,.pmh-footer-meta) :is(a,strong,b) {
  font-size:inherit;
}
body.pmh-visual footer :is(.pmh-footer-heading,.pmh-footer-phone) {
  color:#e3be68!important;
}
body.pmh-visual .sticky-mobile-cta .smc-call {
  background:#e3be68;
  color:#183343;
}
body.pmh-visual .sticky-mobile-cta :is(.smc-text,.smc-email) {
  border-color:#e3be68;
}

/* React role hooks replace fragile font-size/style-string selectors. These
   deliberately set typography only, retaining selected/error/dark state colors. */
body.pmh-visual .pmh-spa :is(.pmh-eyebrow,.pmh-micro-label),
body.pmh-visual .pmh-spa :is(.pmh-calc-label,.pmh-calc-help,.pmh-calc-option) {
  font-size:12px!important;
  line-height:1.65!important;
}
body.pmh-visual .pmh-spa :is(.pmh-eyebrow,.pmh-micro-label,.pmh-calc-label) {
  letter-spacing:.06em!important;
}
body.pmh-visual .pmh-spa :is(.pmh-calc-table,.pmh-pcs-table) thead th {
  font-size:12px!important;
  line-height:1.65;
}
body.pmh-visual .pmh-spa .pmh-calc-chart text {
  font-size:12px!important;
}
body.pmh-visual .pmh-spa .pmh-calc-tooltip,
body.pmh-visual .pmh-spa .pmh-calc-tooltip :is(.pmh-calc-label,.pmh-calc-help) {
  font-size:12px!important;
  line-height:1.65!important;
}

@media(max-width:760px) {
  body.pmh-visual .main-banner .banner-tabs>a,
  body.pmh-visual .main-banner .banner-tabs>button,
  body.pmh-visual .main-banner .dropdown>button,
  body.pmh-visual .main-banner .dropdown>a,
  body.pmh-visual .spa-nav .tabbar>a,
  body.pmh-visual .spa-nav .tabbar>button,
  body.pmh-visual .spa-nav .spa-drop>button,
  body.pmh-visual .spa-nav .spa-drop>a {
    letter-spacing:0!important;
  }
  body.pmh-visual .pmh-home .hero-pill {
    letter-spacing:.025em;
  }
  body.pmh-interior-v2.flood-page .fz-provider>span,
  body.pmh-interior-v2.flood-page .fz-provider>a {
    font-size:12px;
  }
}
