/* ismyroutersafe.com: calm report layer for guides and content pages.
   Loaded after theme.css on every page except the homepage and the
   check/brand pages (which have their own layers). Scoped to body.pg.
   Principles: hierarchy through type and space; neutral surfaces and
   hairlines; sentence-case labels; color only for meaning (grades,
   severity) and the primary action; Rio green only in Rio placements. */

.pg{--pg-red:color-mix(in srgb,var(--grade-f-fg) 82%,var(--ims-muted));--pg-amb:color-mix(in srgb,var(--ims-amber-fg) 85%,var(--ims-muted));--pg-grn:color-mix(in srgb,var(--ims-green-fg) 88%,var(--ims-muted));--pg-measure:68ch}
.pg .page-dot-grid,.pg .page-glow,.pg .hero-glow,.pg .bg-grid,.pg .grid-bg{display:none!important}

/* ── Labels: quiet sentence case instead of shouting caps ── */
.pg :is(.rio-card-eye,.related-section-title,.related-col-label,.hero-badge,.hstat-label,.ib-label,.toc-title,.toc-label,.section-label,.fcd-label,.sc-gov-badge,
  .art-tag-hero,.fb-title,.rio-box-eyebrow,.share-cta-eyebrow,.hero-eyebrow,.rc-brand,.rc-score-label,.rc-brand-label,.hero-stat-label,.filter-label,
  .ph-eyebrow,.sidebar-title,.legend-note,.map-hint,.seo-eyebrow,.wlf-title,.doc-label,.doc-grade-label,.sec-eyebrow,.tech-label,.editorial-kicker,
  .jump-label,.qf-label,.isp-policy-label,.cve-badge,.share-cta-eyebrow-new){
  text-transform:none!important;letter-spacing:0!important;font-family:var(--ds-sans)!important;font-size:14px!important;font-weight:500!important;color:var(--ims-muted)!important}
.pg :is(.hero-badge,.art-tag-hero,.hero-eyebrow,.editorial-kicker,.ph-eyebrow,.seo-eyebrow){background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;display:inline-block!important;margin-bottom:12px!important}
.pg .hero-badge svg,.pg .editorial-kicker svg{display:none!important}
.pg .rio-card-eye,.pg .rio-box-eyebrow{color:var(--rio-fg)!important}

/* Tags and pills: small text, color only where it carries meaning */
.pg :is(.cat-tag,.featured-badge,.cc-tag,.threat-sev,.fc-weight,.gc-tag,.rc-tag,.tag){background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;
  text-transform:none!important;letter-spacing:0!important;font-family:var(--ds-sans)!important;font-size:13px!important;font-weight:500!important;color:var(--ims-muted)!important}
.pg :is(.tag-red,.weight-high,.threat-sev.sev-critical,.threat-sev.sev-high){color:var(--pg-red)!important}
.pg :is(.tag-amber,.weight-medium){color:var(--pg-amb)!important}
.pg :is(.fc-weight,.cc-tag,.threat-sev)::before{width:7px!important;height:7px!important}

/* ── Surfaces: no gradients, glows or heavy shadows ── */
.pg :is(.toc,.rc-buy,.share-cta-icon,.rankings-table,.col-tip-box,.grade-circle,.share-cta-new,.share-cta,.rio-box,.cta-section,.tldr-box,
  .independence-banner,.fb,.fc-card,.limit-item,.sc-card,.grade-card,.art-card,.rc,.router-card,.key-dates,.callout,.info-box,.ib){box-shadow:none!important}
.pg :is(.share-cta-icon,.editorial-rule){background-image:none!important}
.pg .rc-buy{background:var(--rio-green)!important;color:var(--rio-green-ink)!important}
.pg .wl-dot,.pg .fc-bar-fill{background-image:none!important}
.pg .fc-bar-fill.fill-high{background:var(--pg-red)!important}
.pg .fc-bar-fill.fill-medium{background:var(--pg-amb)!important}
.pg .fc-bar-track{height:4px!important}
.pg .fc-icon,.pg .limit-icon,.pg .cta-alert-icon,.pg .shield-icon{display:none!important}

/* Thick accent borders become a thin rule */
.pg :is(.independence-banner,.tldr-box,.doc-grade,.plan-cta-alert,.verdict-text,.rio-note,.disclosure-box,.callout,.bluf,.verdict-card){border-left-width:2px!important;border-top-width:1px!important}
.pg :is(.tldr-box,.independence-banner){background:none!important;border:0!important;border-left:2px solid var(--ims-blue-line)!important;border-radius:0!important;padding:4px 0 4px 20px!important}

/* Callouts: subtle tint, thin rule, no loud boxes */
.pg :is(.callout,.bluf,.nuance,.note-box,.warn-box,.info-box){background:var(--ims-raised)!important;border:0!important;border-left:2px solid var(--ims-blue-line)!important;border-radius:0 8px 8px 0!important;box-shadow:none!important}
.pg .callout.warn,.pg .warn-box{border-left-color:var(--ims-amber-line)!important}
.pg .callout.red{border-left-color:var(--ims-red-line)!important}

/* ── Heroes: calm, left-aligned, no pills ── */
.pg :is(.hero,.article-hero,.page-hero,.editorial-hero,.explainer-hero){background:var(--ims-surface)!important;background-image:none!important;border-bottom:1px solid var(--ims-line)!important;box-shadow:none!important}
.pg :is(.hero,.article-hero,.page-hero,.explainer-hero) :is(h1,.hero-title,.page-h1){font-weight:700!important;letter-spacing:-.025em!important;line-height:1.12!important}
.pg :is(.hero-sub,.page-hero-sub,.art-sub,.hero-meta,.article-meta,.art-meta){color:var(--ims-muted)!important}
.pg .hero-img-wrap img{border-radius:12px!important;filter:none!important;box-shadow:none!important}
.pg :is(.hstat-num,.hero-stat-num){font-weight:700!important;color:var(--ims-text-strong)!important;font-variant-numeric:tabular-nums}

/* ── Reading column ── */
.pg :is(.article-wrap,.explainer-body,.page-body,.legal-wrap,.content) :is(p,li){font-size:17px;line-height:1.7}
.pg :is(.article-wrap,.explainer-body,.page-body) > :is(p,ul,ol){max-width:var(--pg-measure)}
.pg :is(.article-wrap,.explainer-body,.page-body) h2{font-weight:700!important;letter-spacing:-.02em!important;margin-top:56px!important}
.pg :is(.article-wrap,.explainer-body,.page-body) h3{font-weight:650!important;margin-top:32px!important}

/* Contents block: a quiet hairline list */
.pg .toc{background:none!important;border:0!important;border-top:1px solid var(--ims-line)!important;border-bottom:1px solid var(--ims-line)!important;border-radius:0!important;padding:16px 0!important}
.pg :is(.toc-num,.toc a::before){color:var(--ims-faint)!important;font-family:var(--ds-sans)!important;font-weight:500!important}

/* FAQ: hairline accordion */
.pg .faq-list{background:none!important;border:0!important;border-top:1px solid var(--ims-line)!important;border-radius:0!important;box-shadow:none!important}
.pg .faq-item{border:0!important;border-bottom:1px solid var(--ims-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.pg .faq-q{padding-left:0!important;padding-right:0!important;background:none!important}
.pg .faq-a p{padding-left:0!important;padding-right:0!important}

/* Sources: quiet numbered list */
.pg :is(.source-list,.sources-list,.bib-src-list) li,.pg :is(.source-list,.sources-list) li a{font-size:15px!important;color:var(--ims-muted)}
.pg :is(.source-list,.sources-list) li a{color:var(--ds-link)!important}

/* Rio card and box: the one green place, softly */
.pg :is(.rio-card,.rio-box){background:var(--ims-surface)!important;background-image:none!important;border:1px solid var(--rio-border)!important;border-radius:16px!important;box-shadow:none!important}
.pg .rio-card-img,.pg .rio-box img{box-shadow:none!important}
.pg .rio-card-h{font-size:21px!important;font-weight:700!important}
.pg .rio-card-list li::before{color:var(--rio-fg)!important}
.pg :is(.rio-card-btn,.rio-box-btn,.rio-btn){background:var(--rio-green)!important;background-image:none!important;color:var(--rio-green-ink)!important;box-shadow:none!important;transform:none!important;border-radius:12px!important}

/* Ranked lists and tables: small grade chips, tabular numbers */
.pg :is(.rankings-table,.seo-table,table) td{font-variant-numeric:tabular-nums}
.pg :is(.rankings-table,.seo-table) th{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:600!important;color:var(--ims-muted)!important}
.pg :is(.rc,.router-card,.rank-card){box-shadow:none!important;background-image:none!important}
.pg .rc-score-bar-fill,.pg .rc-bar-fill{background-image:none!important}

/* Share block and CTA: neutral */
.pg :is(.share-cta,.share-cta-new,.cta-section){background:var(--ims-surface)!important;background-image:none!important;border:1px solid var(--ims-line)!important;border-radius:16px!important}
.pg .share-cta-icon{background:var(--ims-raised)!important}

/* Sticky Rio bar: slim and quiet */
.pg .sticky-rio-bar{background:rgb(var(--ims-surface-rgb) / .97)!important;border-top:1px solid var(--ims-line)!important;box-shadow:none!important;color:var(--ims-text)!important;font-size:14px!important;padding:4px 16px calc(4px + env(safe-area-inset-bottom))!important}
.pg .sticky-rio-bar a{color:var(--rio-fg)!important;font-weight:600}

@media(max-width:640px){
  .pg .hero-img-wrap img{max-height:200px!important;object-fit:cover}
}

/* Heroes read left-aligned like a report */
.pg :is(.hero,.page-hero,.article-hero){text-align:left!important}
.pg :is(.hero,.page-hero,.article-hero) :is(.hero-inner,.page-hero-inner,.hero-content,.article-hero-inner){text-align:left!important;align-items:flex-start!important}
.pg :is(.hero-stats,.hero-meta){justify-content:flex-start!important}
.pg :is(.hero,.page-hero,.article-hero) :is(h1,p,.hero-sub,.page-hero-sub){margin-left:0!important;margin-right:auto!important}
.pg .editorial-hero h1{font-size:clamp(30px,4vw + 14px,44px)!important;font-weight:700!important;letter-spacing:-.025em!important;line-height:1.15!important}
.pg .cta-section>p:first-child{text-transform:none!important;letter-spacing:0!important;font-family:var(--ds-sans)!important;font-size:14px!important;color:var(--ims-muted)!important}
.pg .cta-section{text-align:left!important}
.pg :is(.rankings-table,.seo-table) *,.pg :is(.rankings-table,.seo-table) *::before{text-transform:none!important;letter-spacing:0!important}

/* Lab-report signature: dates and counts in quiet mono */
.pg .page-meta,.pg p.page-meta{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:12.5px!important;letter-spacing:0!important;color:var(--ims-muted)!important}
