/* The bundle asks for Orbitron, so the bundle loads it. Without this the headings
   fall back silently wherever the host page does not happen to load the font. */
.nsa-card,.nsa-results{font-family:inherit;color:#141414;max-width:820px;margin:24px auto;box-sizing:border-box}
.nsa-card{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:26px 26px 22px;box-shadow:0 1px 3px rgba(20,20,20,.06)}
.nsa-card *,.nsa-results *{box-sizing:border-box}
.nsa-h{font-size:24px;line-height:1.25;margin:0 0 8px;color:#141414;font-weight:700}
.nsa-h-page{font-size:28px;margin-bottom:16px;font-family:Orbitron,'Roboto Slab',system-ui,sans-serif;letter-spacing:-.01em}
/* The domain carries the heading, so it takes the brand face at full weight; the
   label beside it stays lighter so the site name is what the eye lands on. */
.nsa-h-domain{font-weight:800}
.nsa-h-label{font-family:Orbitron,'Roboto Slab',system-ui,sans-serif}
.nsa-sub{font-size:15px;line-height:1.55;color:#4a5158;margin:0 0 20px}
.nsa-field{margin-bottom:16px}
.nsa-field label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#4a5158;margin-bottom:6px}
.nsa-field input{width:100%;padding:12px 14px;font-size:16px;border:1px solid #cfd6dd;border-radius:6px;background:#fff;color:#141414}
.nsa-field input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.15)}
.nsa-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nsa-btn{display:inline-block;background:#007bff;color:#fff;border:0;border-radius:6px;padding:13px 28px;font-size:16px;font-weight:700;cursor:pointer;line-height:1.2}
.nsa-btn:hover{background:#0069d9}
.nsa-btn[disabled]{background:#8fa6bd;cursor:not-allowed}
.nsa-btn-sec{background:#141414}
.nsa-btn-sec:hover{background:#262626}
.nsa-msg{font-size:14px;margin:14px 0 0;color:#c0392b;min-height:1px}
.nsa-msg.nsa-ok{color:#1c7c39}
.nsa-quota{font-size:13px;color:#6b747c;margin:18px 0 0;padding-top:14px;border-top:1px solid #eef1f4}
.nsa-quota strong{color:#141414}
.nsa-error{border-color:#f0c2bd;background:#fdf4f3;color:#8c2f22}
.nsa-run{text-align:center;padding:34px 20px}
.nsa-run .nsa-dom{font-size:19px;font-weight:700;margin-bottom:6px;word-break:break-all}
.nsa-run .nsa-timer{font-size:14px;color:#6b747c;margin-bottom:22px}
.nsa-bar{height:6px;border-radius:3px;background:#e9edf1;overflow:hidden;max-width:420px;margin:0 auto 22px}
.nsa-bar i{display:block;height:100%;width:38%;background:#007bff;border-radius:3px;animation:nsaSlide 1.5s ease-in-out infinite}
@keyframes nsaSlide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.nsa-scan-frame{position:relative;width:100%;max-width:520px;margin:0 auto 24px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#0f1216;border:1px solid #d7dde3}
.nsa-scan-shot{position:absolute;inset:0;background-size:cover;background-position:top center;opacity:0;transition:opacity .5s ease}
.nsa-scan-shot.on{opacity:1}
/* The scan beam, copied from SEOScanPRO (its .scan-beam style,
   2026-10-20): one vertical beam with a white-hot core, a green glow either side, ends that
   fade out, sweeping left to right and back. Animates `left` so the travel resolves against
   the frame, not the 4px beam. */
.nsa-scan-beamwrap{position:absolute;inset:0;overflow:hidden;pointer-events:none}
@keyframes nsaScanbeam{0%{left:0}50%{left:calc(100% - 4px)}100%{left:0}}
.nsa-scan-beam{position:absolute;top:0;bottom:0;left:0;width:4px;border-radius:2px;
  background:linear-gradient(to bottom,rgba(57,255,110,0) 0%,rgba(150,255,175,.95) 14%,#fff 50%,rgba(150,255,175,.95) 86%,rgba(57,255,110,0) 100%);
  box-shadow:0 0 6px 2px rgba(57,255,110,.95),0 0 18px 6px rgba(57,255,110,.55),0 0 42px 14px rgba(57,255,110,.22);
  animation:nsaScanbeam 3.2s ease-in-out infinite}
.nsa-scan-beam:after{content:"";position:absolute;top:8%;bottom:8%;left:-34px;width:72px;background:radial-gradient(ellipse at center,rgba(57,255,110,.20) 0%,rgba(57,255,110,0) 70%)}
@media(prefers-reduced-motion:reduce){.nsa-scan-beam{animation:none;left:50%}}
/* Credit: the scan engine is SEOScanPRO. White logo, so it sits on a dark badge. */
.nsa-powered{display:flex;justify-content:center;margin:18px auto 0}
.nsa-powered a{display:inline-flex;align-items:center;gap:10px;background:#141414;border-radius:8px;padding:8px 14px;text-decoration:none!important;color:#b9c2cc!important;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1}
.nsa-powered a:hover,.nsa-powered a:focus-visible{background:#1f1f1f}
.nsa-powered a:focus-visible{outline:2px solid #61ce70;outline-offset:2px}
.nsa-powered img{display:block;height:29px!important;width:auto!important;max-width:none;margin:0}
.nsa-checks{list-style:none;padding:0;margin:0 auto;max-width:420px;text-align:left}
.nsa-checks li{font-size:14px;color:#4a5158;padding:7px 0 7px 26px;position:relative}
.nsa-checks li:before{content:"";position:absolute;left:6px;top:13px;width:8px;height:8px;border-radius:50%;background:#c8d0d8}
.nsa-checks li.on:before{background:#28a745}
.nsa-grade{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.nsa-score{width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}
.nsa-score b{font-size:38px;line-height:1}
.nsa-score span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-top:2px}
.nsa-pillars{flex:1 1 300px;min-width:260px}
.nsa-pillar{margin-bottom:11px}
.nsa-pillar .nsa-pl{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:#4a5158;margin-bottom:4px}
.nsa-pillar .nsa-pt{height:8px;border-radius:4px;background:#e9edf1;overflow:hidden}
.nsa-pillar .nsa-pt i{display:block;height:100%;border-radius:4px}
.nsa-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}
.nsa-tile{border:1px solid #e3e6ea;border-radius:8px;padding:12px 10px;text-align:center}
.nsa-tile b{display:block;font-size:26px;line-height:1}
.nsa-tile span{display:block;font-size:12px;color:#4a5158;margin-top:5px;font-weight:600}
.nsa-tile em{display:block;font-size:11px;color:#8d97a1;font-style:normal;margin-top:2px}
.nsa-rows{border-top:1px solid #eef1f4}
.nsa-row{display:flex;align-items:flex-start;gap:9px;padding:9px 2px;border-bottom:1px solid #eef1f4;font-size:14px;line-height:1.5}
.nsa-row .nsa-dot{margin-top:6px}
.nsa-dot-none{background:#dfe4e9!important}
.nsa-row-l{flex:0 0 215px;color:#4a5158;font-weight:600}
.nsa-row-v{flex:1 1 auto;color:#141414;min-width:0;overflow-wrap:anywhere}
.nsa-row-v em{color:#8d97a1;font-style:normal}
.nsa-sub{font-size:13px;color:#8d97a1;margin-top:3px;overflow-wrap:anywhere}
.nsa-sub2{font-size:15px;color:#4a5158;margin:14px 0 0}
.nsa-note{font-size:12px;font-weight:400;color:#8d97a1}
@media(max-width:620px){.nsa-row{flex-wrap:wrap}.nsa-row-l{flex:1 1 100%}}
.nsa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:6px}
.nsa-fact{border:1px solid #e3e6ea;border-radius:7px;padding:11px 13px;font-size:14px}
.nsa-fact b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#6b747c;font-weight:600;margin-bottom:3px}
.nsa-yes{color:#1c7c39;font-weight:700}
.nsa-no{color:#c0392b;font-weight:700}
.nsa-issue{border:1px solid #e3e6ea;border-left-width:4px;border-radius:7px;padding:13px 15px;margin-bottom:10px}
.nsa-issue h4{margin:0 0 4px;font-size:16px;font-weight:700;color:#141414}
.nsa-issue p{margin:0;font-size:14px;line-height:1.5;color:#4a5158}
.nsa-issue .nsa-fix{margin-top:7px;font-size:14px;color:#1c3d5a;background:#f2f7fc;border-radius:5px;padding:9px 11px}
.nsa-issue .nsa-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:4px;margin-bottom:6px}
.nsa-p-high{border-left-color:#dc3545}.nsa-p-high .nsa-tag{background:#fdecea;color:#c0392b}
.nsa-p-medium{border-left-color:#f0ad4e}.nsa-p-medium .nsa-tag{background:#fdf6e8;color:#9a6a10}
.nsa-p-low{border-left-color:#28a745}.nsa-p-low .nsa-tag{background:#eaf7ee;color:#1c7c39}
.nsa-locked{background:#f7f9fb;border:1px dashed #c8d0d8;border-radius:8px;padding:20px;text-align:center;margin-top:6px}
.nsa-locked p{margin:0 0 14px;font-size:15px;color:#4a5158}
.nsa-unlock{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:flex-end}
.nsa-unlock .nsa-field{margin:0;text-align:left}
.nsa-unlock input{width:190px;letter-spacing:5px;font-size:19px;text-align:center;font-weight:700}
.nsa-link{background:none;border:0;color:#007bff;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}
.nsa-claim{display:flex;align-items:center;gap:26px;border:1px solid #262626;background:#141414;border-radius:10px;padding:24px 28px;margin-top:22px}
.nsa-claim-text{flex:1 1 auto;min-width:0}
.nsa-claim .nsa-claim-logo{flex:0 0 auto;display:block;height:58px!important;width:auto!important;max-width:36%;margin:0}
.nsa-claim h3{margin:0 0 6px;font-size:19px;color:#fff}
.nsa-claim p{margin:0 0 16px;font-size:15px;line-height:1.55;color:#b9c2cc}
.nsa-claim .nsa-btn:hover{background:#0069d9}
@media(max-width:700px){.nsa-claim{flex-direction:column-reverse;align-items:flex-start;gap:18px}.nsa-claim .nsa-claim-logo{max-width:70%}}
.nsa-sec{margin-top:30px}
.nsa-sec>h3{font-size:20px;margin:0 0 12px;color:#141414;font-weight:700}
.nsa-check{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #eef1f4;font-size:14px;line-height:1.5}
.nsa-check:last-child{border-bottom:0}
.nsa-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-top:6px}
.nsa-check b{display:block;color:#141414}
.nsa-check span{color:#4a5158}
.nsa-count{display:inline-block;background:#141414;color:#fff;border-radius:20px;padding:3px 12px;font-size:13px;font-weight:700;margin-left:8px;vertical-align:middle}
.nsa-band{background:#4a7dfd;width:100%;margin:0;padding:13px 0}
.nsa-band .nsa-band-inner{max-width:1200px;margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:none;border:0;box-shadow:none;border-radius:0}
.nsa-band h3{color:#fff;font-size:21px;font-weight:800;text-transform:uppercase;line-height:1.2;margin:0 14px 0 0;flex:0 0 auto;white-space:nowrap}
.nsa-band form{display:flex;align-items:center;gap:14px;flex:1 1 540px;flex-wrap:wrap;margin:0}
.nsa-band .nsa-field{flex:1 1 190px;margin:0}
.nsa-band .nsa-field input::placeholder{color:#8d97a1;opacity:1}
.nsa-band .nsa-field input{border:0;border-radius:4px;height:48px;font-size:16px}
.nsa-band .nsa-btn{height:48px;background:transparent;border:2px solid #fff;border-radius:4px;text-transform:uppercase;letter-spacing:.02em;padding:0 24px;flex:0 0 auto}
.nsa-band .nsa-btn:hover{background:#fff;color:#4a7dfd}
.nsa-band .nsa-btn[disabled]{opacity:.55;background:transparent}
.nsa-band .nsa-msg{color:#fff;font-weight:600;flex:1 1 100%;margin:10px 0 0}
@media(max-width:860px){.nsa-band .nsa-band-inner{display:block}.nsa-band h3{margin:0 0 14px}.nsa-band form{display:block}.nsa-band .nsa-field{margin-bottom:12px}.nsa-band .nsa-btn{width:100%}}
/* 2026-10-20: AA contrast and visible labels. White on #4a7dfd was 3.72:1; #2f5fd0 is 5.7:1,
   close enough in hue that the band still reads as the same blue. Labels replace the
   placeholder text, and one line says what the free scan returns. */
/* 2026-10-22: Joe chose the live newsunseo.com band blue #4a7dfd over the AA-tuned #2f5fd0. */
.nsa-band{background:#4a7dfd}
.nsa-band .nsa-btn:hover{color:#4a7dfd}
.nsa-band-head{flex:0 0 auto;margin:0 14px 0 0}
.nsa-band-what{max-width:360px}
.nsa-band .nsa-band-head h3{margin:0}
.nsa-band-what{color:#fff;font-size:13px;line-height:1.45;margin:6px 0 0;opacity:.95}
.nsa-band form{align-items:flex-end}
.nsa-band .nsa-field label{display:block;color:#fff;font-size:13px;font-weight:700;margin:0 0 5px;letter-spacing:.02em}
/* Field names live inside the fields on the band; the label stays for screen readers only. */
.nsa-band .nsa-field label.nsa-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nsa-band form{align-items:center}
@media(max-width:860px){.nsa-band-head{max-width:none;margin:0 0 14px}.nsa-band .nsa-band-head h3{white-space:normal}}
body:not(.home) #pxl-main{padding-top:0}
body:not(.home) .elementor-element-nsaudbar1+.e-con>.e-con-inner,body:not(.home) .elementor-element-nsaudpost1+.e-con>.e-con-inner{padding-block-start:24px}
body:not(.home) .elementor-element-nsaudbar1+.e-con-full,body:not(.home) .elementor-element-nsaudpost1+.e-con-full{padding-block-start:24px}
.nsa-band .nsa-msg:empty{display:none}
body.nsa-audit-results .nsa-results{margin-top:0}
body.nsa-audit-results .nsa-results .nsa-card:first-child{margin-top:14px}
@media(max-width:600px){.nsa-card{padding:20px 18px}.nsa-btn{width:100%}.nsa-grade{gap:18px}.nsa-unlock input{width:100%}}

/* ---------------- REPORT WIDTH + CARD TREATMENT (appended 2026-07-28) ----------------
   Overrides only. Everything above is untouched: an earlier attempt replaced this whole
   stylesheet and silently dropped .nsa-band (the blue form bar) and inverted .nsa-grade
   (flex row) with .nsa-score (the circle), which broke the page. Append, never replace.

   Full width: the results page hides the theme's left nav container so the report gets the
   whole row. Matched structurally rather than by Elementor element id, because ids change
   when the template is rebuilt and a dead id fails silently. Observed on dev6: d8dc94c is
   the AI-SEO nav, 51bf989 holds the report. */
/* Scoped to the ONE row that contains the report. An earlier version matched every
   .e-con-inner on the page and also hid the page hero (the "Free SEO Audit Results" title
   and breadcrumb, container f19d4c3), because that row has no .nsa-results in it either. */
body.nsa-audit-results .e-con-inner:has(> .e-con .nsa-results) > .e-con:not(:has(.nsa-results)){
  display:none!important}
body.nsa-audit-results .e-con-inner:has(> .e-con .nsa-results) > .e-con:has(.nsa-results){
  width:100%!important;max-width:100%!important;flex-basis:100%!important}
body.nsa-audit-results .nsa-results,
body.nsa-audit-results .nsa-results .nsa-card{max-width:1180px}

/* Each report section becomes its own card instead of a run of headings on one flat sheet. */
body.nsa-audit-results .nsa-results .nsa-sec{
  background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:22px 24px;margin-top:16px;
  box-shadow:0 1px 3px rgba(20,20,20,.06)}
body.nsa-audit-results .nsa-results .nsa-sec>h3{
  font-size:18px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #eef1f4}

/* More room per tile now that the row is not squeezed beside the nav. */
.nsa-headline{font-size:14px;color:#4a5158;margin:0 0 16px;font-weight:600}
.nsa-embed-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;flex:0 1 430px;padding:14px 18px;border:1px solid #ffd9a8;border-radius:10px;background:#fff8ef;text-decoration:none;color:#141414;transition:border-color .12s,background-color .12s}
.nsa-embed-cta:hover,.nsa-embed-cta:focus-visible{border-color:#F5911E;background:#fff3e2}
.nsa-embed-cta:focus-visible{outline:2px solid #F5911E;outline-offset:2px}
.nsa-embed-cta-main{font-weight:800;font-size:17px;flex:1 1 auto}
.nsa-embed-cta-by{display:inline-flex;align-items:center;gap:7px;background:#141414;color:#fff;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.nsa-embed-cta-by img{display:block;height:30px!important;width:auto!important;margin:0}
.nsa-h-page{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.nsa-h-by{display:inline-flex;align-items:center;background:#141414;border-radius:8px;padding:8px 14px;line-height:0}
.nsa-h-by img{display:block;height:34px!important;width:auto!important;margin:0}
.nsa-h-page .nsa-h-label{font-size:.78em}
.nsa-h-wl{font-family:Roboto,system-ui,sans-serif;font-size:14px;font-weight:600;letter-spacing:0;color:#F5911E;text-decoration:none;margin-left:6px;white-space:nowrap}
.nsa-h-wl u{text-decoration:underline}
.nsa-h-wl:hover,.nsa-h-wl:focus-visible{color:#c26f0c}
@media(max-width:900px){.nsa-h-wl{flex:1 1 100%;margin-left:0;white-space:normal}}
.nsa-pagehead-main{flex:1 1 auto}
.nsa-h-by{padding:6px 12px}
@media(max-width:600px){.nsa-h-by img{height:32px!important}}
.nsa-embed-cta-sub{font-size:13px;color:#4a5158;flex:1 1 100%;order:3}
.nsa-embed-cta-go{font-weight:700;font-size:14px;color:#F5911E;white-space:nowrap;order:4}
.nsa-pagehead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:18px}
.nsa-pagehead-main{flex:1 1 380px;min-width:0}
.nsa-pagehead-main .nsa-page-meta{margin-top:8px}
@media(max-width:860px){.nsa-embed-cta{flex:1 1 100%}}
.nsa-pagehead .nsa-h-page{margin-bottom:0}
/* In the header row the tally is a summary beside the title, so it drops its own
   stacked margins and sits on the baseline of the heading. */
.nsa-page-meta .nsa-headline{margin:0;text-align:left}
.nsa-headline strong{color:#141414;font-size:16px}
.nsa-secount{display:block;font-size:12px;font-weight:600;color:#8d97a1;margin-top:5px;letter-spacing:.01em}
.nsa-sec>h3 .nsa-secount span{font-weight:700}
body.nsa-audit-results .nsa-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
body.nsa-audit-results .nsa-tile{padding:16px 12px}

/* Wider label column reads better across a full-width row. */
@media(min-width:1000px){
  body.nsa-audit-results .nsa-row-l{flex:0 0 280px}
  body.nsa-audit-results .nsa-row{padding:10px 2px}
}

/* ---------------- SEOSCANPRO ADMIN LOOK (appended 2026-08-10) ----------------
   The report now mirrors the SEOScanPro admin Site Audit card for card: the same
   tokens (canvas #f4f6f9, hairline #e6eaf0, brand blue #4586f5, Roboto body,
   Roboto Slab numbers, Orbitron headings - all three already loaded by the theme),
   the same SVG ring dials with the same five-step colour scale, and the same
   section anatomy (title + section ring + verdict counts, check rows beneath).
   Append-only, per the 2026-07-28 note above. The JS renderers emit the nsx-*
   structure; the old nsa-grade / nsa-tiles / nsa-pillar blocks above are no longer
   emitted on the results page but their CSS stays for the band and older markup. */
body.nsa-audit-results #pxl-main{background:#f4f6f9;padding-bottom:40px}
body.nsa-audit-results .nsa-results{color:#5d666f;font-family:Roboto,system-ui,sans-serif}
body.nsa-audit-results .nsa-results .nsa-card,
body.nsa-audit-results .nsa-results .nsa-sec{background:#fff;border:1px solid #e6eaf0;border-radius:8px;box-shadow:0 1px 2px rgba(27,27,27,.06),0 1px 3px rgba(27,27,27,.04);padding:24px;margin-top:16px}
body.nsa-audit-results .nsa-results .nsa-sec>h3,
body.nsa-audit-results .nsa-results .nsa-sec .nsx-left>h3{font-family:Orbitron,'Roboto Slab',system-ui,sans-serif;font-size:18px;font-weight:700;color:#1b1b1b;border-bottom:0;padding-bottom:0;margin:0}
.nsx-domain{font-family:Orbitron,'Roboto Slab',system-ui,sans-serif;font-size:24px;font-weight:700;color:#1b1b1b;margin:18px 0 0;word-break:break-word}
body.nsa-audit-results .nsa-headline{margin:6px 0 0}
/* The header's breadcrumb trail renders empty on this page but its container still
   takes 63px, pushing the report down. Hidden here only; breadcrumbs elsewhere are
   untouched. */
body.nsa-audit-results .elementor-widget-breadcrumbs{display:none}
/* The breadcrumb widget outputs nothing on this page, so only its empty container
   is left, still holding 63px above the report. Hidden on the results page only. */
body.nsa-audit-results .elementor-element-8774c14{display:none}
body.nsa-audit-results .elementor-widget-breadcrumbs,
body.nsa-audit-results .elementor-element:has(> .elementor-widget-container > .elementor-widget-breadcrumbs){display:none}
.nsx-ring{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.nsx-face{position:relative}
.nsx-face svg{transform:rotate(-90deg);display:block}
.nsx-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Roboto Slab',Georgia,serif;font-weight:700;color:#1b1b1b;font-size:24px}
.nsx-sm .nsx-num{font-size:17px}
.nsx-lab{margin-top:4px;text-align:center;font-size:12px;font-weight:500;color:rgba(93,102,111,.7);line-height:1.25}
.nsx-sm .nsx-lab{font-size:10px}
.nsx-hint{font-size:10px;color:rgba(93,102,111,.55);font-variant-numeric:tabular-nums}
.nsx-cell{display:flex;width:25%;justify-content:center;border-radius:8px;padding:8px 4px}
@media(min-width:640px){.nsx-cell{width:16.6667%}}
@media(min-width:1024px){.nsx-cell{width:12.5%}}
@media(min-width:1280px){.nsx-cell{width:11.11%}}
.nsx-ringgrid{display:flex;flex-wrap:wrap;row-gap:4px;justify-content:flex-start}
.nsx-ringgrid .nsx-cell{flex:0 0 10%}
@media(max-width:1100px){.nsx-ringgrid .nsx-cell{flex:0 0 20%}}
@media(max-width:640px){.nsx-ringgrid .nsx-cell{flex:0 0 33.333%}}
/* Per-factor rings under a section score, the admin's layout. */
.nsx-factorgrid{display:flex;flex-wrap:wrap;row-gap:10px;margin:4px 0 16px;justify-content:center}
.nsa-sec[id]{scroll-margin-top:90px}
/* A ring that leads somewhere should look like it does. */
.nsx-cell-link{text-decoration:none;color:inherit;display:inline-block;border-radius:8px;transition:background-color .12s}
.nsx-cell-plain{display:inline-block}
.nsx-about{margin-top:18px;padding-top:14px;border-top:1px solid #eef1f4;font-size:13px;line-height:1.55;color:#4b5563;text-align:left;width:100%}
.nsx-about p{margin:0 0 8px;padding:4px 8px;border-radius:6px}
.nsx-about p:target{background:#fff6e5}
.nsx-cell-link:hover,.nsx-cell-link:focus-visible{background:#f1f4f8}
.nsx-cell-link:focus-visible{outline:2px solid #007bff;outline-offset:2px}
.nsx-factorgrid .nsx-cell{flex:0 0 10%}
.nsa-h-domain{word-break:break-word}
.nsa-h-label{font-weight:400;opacity:.75}
.nsa-h-dash{font-family:Orbitron,'Roboto Slab',system-ui,sans-serif;font-weight:400;opacity:.75;font-size:.78em}
@media(max-width:1100px){.nsx-factorgrid .nsx-cell{flex:0 0 20%}}
@media(max-width:640px){.nsx-factorgrid .nsx-cell{flex:0 0 33.333%}}
.nsx-split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.nsx-left{width:13rem;flex:0 0 auto}
.nsx-right{flex:1 1 300px;min-width:0}
.nsx-serp{border:1px solid #e6eaf0;border-radius:8px;padding:16px}
.nsx-serp .nsx-url{font-size:12px;color:rgba(93,102,111,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.nsx-serp .nsx-title{font-size:18px;line-height:1.35;color:#1a0dab;margin:4px 0 0;font-family:Roboto,system-ui,sans-serif;font-weight:400}
.nsx-serp .nsx-desc{font-size:14px;line-height:1.4;color:#5d666f;margin:4px 0 0}
.nsx-shot{width:100%;max-width:24rem;flex:0 0 auto}
.nsx-shot img{width:100%;border-radius:8px;border:1px solid #e6eaf0;display:block}
body.nsa-audit-results .nsa-rows{border-top:0;margin-top:16px}
body.nsa-audit-results .nsa-row{display:grid;grid-template-columns:14px minmax(150px,260px) 1fr;gap:12px;border-bottom:0;border-top:1px solid #e6eaf0;padding:10px 0;font-size:14px;line-height:1.5}
body.nsa-audit-results .nsa-rows .nsa-row:first-child{border-top:0}
body.nsa-audit-results .nsa-row-l{flex:none;color:#5d666f;font-weight:400}
body.nsa-audit-results .nsa-row-v{color:#1b1b1b}
body.nsa-audit-results .nsa-row-v em{color:rgba(93,102,111,.7)}
body.nsa-audit-results .nsa-row .nsa-dot{margin-top:7px;width:8px;height:8px}
@media(max-width:620px){body.nsa-audit-results .nsa-row{grid-template-columns:14px 1fr}body.nsa-audit-results .nsa-row-v{grid-column:2}}
.nsx-counts{font-size:12px;font-weight:600;color:rgba(93,102,111,.7);margin:8px 0 0}
.nsx-counts .f{color:#C93B3F}.nsx-counts .w{color:#B96A08}.nsx-counts .p{color:#3E9E4B}
body.nsa-audit-results .nsa-note{display:block;font-size:12px;color:rgba(93,102,111,.7);font-weight:400;margin-top:2px}
.nsx-cwvrings{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
@media(min-width:640px){.nsx-cwvrings{grid-template-columns:repeat(5,1fr)}}
.nsx-cwvrings .nsx-ring{margin:0 auto}
.nsx-vitals{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
@media(min-width:640px){.nsx-vitals{grid-template-columns:repeat(3,1fr)}}
.nsx-vital{border:1px solid #e6eaf0;border-radius:8px;padding:16px;text-align:center}
.nsx-vital b{display:block;font-family:'Roboto Slab',Georgia,serif;font-size:24px;font-weight:700;line-height:1}
.nsx-vital span{display:block;font-size:12px;color:rgba(93,102,111,.7);margin-top:6px}
body.nsa-audit-results .nsa-issue{border:1px solid #e6eaf0;border-left-width:4px;border-radius:8px}
body.nsa-audit-results .nsa-p-low{border-left-color:#4586f5}
body.nsa-audit-results .nsa-p-low .nsa-tag{background:#E9F1FF;color:#2F6BD1}
body.nsa-audit-results .nsa-p-medium{border-left-color:#F5911E}
body.nsa-audit-results .nsa-p-medium .nsa-tag{background:#FFF3E3;color:#B96A08}
body.nsa-audit-results .nsa-p-high{border-left-color:#E5484D}
body.nsa-audit-results .nsa-p-high .nsa-tag{background:#FDECEC;color:#C93B3F}
body.nsa-audit-results .nsa-results .nsa-btn{background:#4586f5;border-radius:6px}
body.nsa-audit-results .nsa-results .nsa-btn:hover{background:#3574e0}
body.nsa-audit-results .nsa-results .nsa-link{color:#4586f5}
body.nsa-audit-results .nsa-results .nsa-quota{border-top:1px solid #e6eaf0}

/* ---------------- SEOSCANPRO RINGS + CARDS (appended 2026-10-20) ----------------
   Copied from SEOScanPRO: ScoreCircle.jsx (ring sizes, 8/100 stroke, 5-step
   colours, 1s ease-out transition, label type), SiteAudit.jsx (RING_CELL widths, headline
   card with the letter grade, Section card order, Core Web Vitals grid, Row grid, Dot
   colours). Append-only, as above. */
.nsx-ring{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%;flex-shrink:0}
.nsx-ring.nsx-fill{width:100%}
.nsx-face{position:relative;flex-shrink:0}
.nsx-face svg{display:block;width:100%;height:100%;transform:none}
.nsx-arc{transition:all 1s cubic-bezier(0,0,.2,1)}
.nsx-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Roboto Slab',Georgia,serif;font-weight:700;color:#1b1b1b;font-size:24px;line-height:32px}
.nsx-sm .nsx-num{font-size:18px;line-height:28px}
.nsx-num-none{color:rgba(93,102,111,.35)}
.nsx-lab{display:block;width:100%;max-width:100%;margin-top:4px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;line-height:1.25;letter-spacing:normal;color:rgba(93,102,111,.7)}
@media(min-width:640px){.nsx-lab{font-size:11px}}
.nsx-lab-lg{display:block;max-width:100%;margin-top:4px;text-align:center;font-size:14px;font-weight:700;text-transform:uppercase;line-height:1.25;letter-spacing:.025em;color:rgba(93,102,111,.7);hyphens:auto;overflow-wrap:anywhere}
.nsx-hint{font-size:10px;color:rgba(93,102,111,.55);font-variant-numeric:tabular-nums}
.nsx-dash{display:flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:50%;border:5px solid #e6eaf0;box-sizing:border-box}
.nsx-dash span{font-family:'Roboto Slab',Georgia,serif;font-size:18px;font-weight:700;color:rgba(93,102,111,.35)}
.nsx-ringgrid,.nsx-factorgrid{display:flex;flex-wrap:wrap;row-gap:4px;margin:0}
.nsx-ringgrid{justify-content:flex-start}
.nsx-factorgrid{justify-content:center}
.nsx-ringgrid .nsx-cell,.nsx-factorgrid .nsx-cell,.nsx-cell{display:flex;flex:0 0 auto;width:33.3333%;justify-content:center;border-radius:8px;padding:8px 4px;box-sizing:border-box}
@media(min-width:640px){.nsx-ringgrid .nsx-cell,.nsx-factorgrid .nsx-cell,.nsx-cell{width:16.6667%}}
@media(min-width:1024px){.nsx-ringgrid .nsx-cell,.nsx-factorgrid .nsx-cell,.nsx-cell{width:12.5%}}
@media(min-width:1280px){.nsx-ringgrid .nsx-cell,.nsx-factorgrid .nsx-cell,.nsx-cell{width:10%}}
.nsx-cell-link{display:flex;width:100%;justify-content:center}
.nsx-cell-link:hover{background:#f4f6f9}
.nsx-split{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}
.nsx-left{width:13rem;flex-shrink:0}
.nsx-right{min-width:0;flex:1 1 0%}
@media(min-width:1024px){.nsx-right{padding-left:8px}}
.nsx-right-head{flex:1 1 100%}
@media(min-width:1024px){.nsx-right-head{flex-basis:0%}}
/* Phones: the factor rings drop below the title block instead of squeezing into ~90px beside it. */
@media(max-width:639px){.nsx-split>.nsx-left{width:100%}.nsx-split>.nsx-right{flex:1 1 100%}}
.nsx-overall{display:flex;align-items:center;gap:12px}
.nsx-band{display:flex;flex-direction:column;align-items:center;line-height:1}
.nsx-band-l{font-family:'Roboto Slab',Georgia,serif;font-size:48px;font-weight:700;line-height:1}
.nsx-band-t{margin-top:4px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:rgba(93,102,111,.45)}
body.nsa-audit-results .nsa-results .nsa-sec>h3,
body.nsa-audit-results .nsa-results .nsa-sec .nsx-left>h3{font-size:18px;line-height:28px}
body.nsa-audit-results .nsa-note{margin-top:2px;font-size:12px;line-height:16px}
.nsx-note2{display:block;margin-top:4px;font-size:12px;line-height:16px;color:rgba(93,102,111,.55)}
.nsx-secring{margin-top:12px}
.nsx-secgrade{margin:8px 0 0;font-size:12px;font-weight:600;color:rgba(93,102,111,.7)}
.nsx-counts{margin:8px 0 0}
body.nsa-audit-results .nsa-rows{margin-top:16px}
.nsx-cwvrings{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
@media(min-width:640px){.nsx-cwvrings{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.nsx-cwvrings{grid-template-columns:repeat(5,1fr)}}
.nsx-cwvcell{display:flex;justify-content:center}
.nsx-vitals{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
@media(min-width:640px){.nsx-vitals{grid-template-columns:repeat(3,1fr)}}
.nsx-vital{border:1px solid #e6eaf0;border-radius:8px;padding:16px;text-align:center}
.nsx-vital b{font-size:24px;line-height:32px}
.nsx-vital span{margin-top:4px;font-size:12px;color:rgba(93,102,111,.7)}
body.nsa-audit-results .nsa-row{column-gap:12px;row-gap:12px}
@media(max-width:639px){body.nsa-audit-results .nsa-row{grid-template-columns:14px 1fr;row-gap:2px}body.nsa-audit-results .nsa-row-v{grid-column:2}}
/* The code box on the locked view. */
.nsa-lockcard .nsa-unlock{justify-content:flex-start;margin-top:18px}
.nsa-lockcard .nsa-field label{display:block;font-weight:700;font-size:14px;color:#1b1b1b;margin:0 0 6px;text-transform:none;letter-spacing:normal}
.nsa-lockcard .nsa-msg{margin-top:10px}
.nsa-lockcard .nsa-resend{margin-top:6px}
.nsa-lockcard .nsa-quota{margin-top:16px}
/* Joe 2026-10-21: the code card leads the locked report, centered and large enough to be
   the first thing seen on a 32 inch screen. The overall card below it is centered too. */
body.nsa-audit-results .nsa-results .nsa-sec.nsa-lockcard{max-width:760px;margin:24px auto 0;padding:36px 32px;text-align:center;border:2px solid #4586f5;box-shadow:0 6px 24px rgba(69,134,245,.18)}
body.nsa-audit-results .nsa-results .nsa-sec.nsa-lockcard>h3{font-size:30px;line-height:1.25;margin:0 0 12px}
body.nsa-audit-results .nsa-lockcard .nsa-note{display:block;font-size:16px;line-height:1.5;color:#3d454d;max-width:560px;margin:0 auto}
.nsa-lockcard .nsa-unlock{justify-content:center;margin-top:24px}
.nsa-lockcard .nsa-field label{font-size:15px}
.nsa-lockcard .nsa-unlock input{width:240px;height:58px;font-size:26px;letter-spacing:8px}
.nsa-lockcard .nsa-unlock .nsa-btn{height:58px;padding:0 32px;font-size:17px}
.nsa-lockcard .nsa-resend{margin-top:12px;font-size:14px}
@media(max-width:600px){body.nsa-audit-results .nsa-results .nsa-sec.nsa-lockcard{padding:26px 18px}body.nsa-audit-results .nsa-results .nsa-sec.nsa-lockcard>h3{font-size:24px}.nsa-lockcard .nsa-unlock .nsa-field{flex:1 1 100%}.nsa-lockcard .nsa-unlock input{width:100%}.nsa-lockcard .nsa-unlock .nsa-btn{width:100%}}
/* Joe 2026-11-02: the scores card mirrors the SEOScanPRO admin. Desktop: the overall ring and its
   letter grade sit on the left, the category rings fill the right. Under 1024px it stacks, as the
   admin does on a phone. */
@media(max-width:1023px){
.nsx-headcard .nsx-split{flex-direction:column;align-items:center;gap:20px}
.nsx-headcard .nsx-left{width:auto}
.nsx-headcard .nsx-right,.nsx-headcard .nsx-right-head{flex:0 0 auto;width:100%;padding-left:0}
.nsx-headcard .nsx-ringgrid{justify-content:center}
}
@media(min-width:1024px){
.nsx-headcard .nsx-split{flex-wrap:nowrap;align-items:flex-start;gap:24px}
.nsx-headcard .nsx-left{width:13rem;flex:0 0 13rem}
.nsx-headcard .nsx-overall{display:flex;flex-direction:row;align-items:center;gap:14px;padding-top:8px}
.nsx-headcard .nsx-right-head{flex:1 1 0%;min-width:0;padding-left:8px}
.nsx-headcard .nsx-ringgrid{justify-content:flex-start}
}
/* ---------------- TECHNICAL DETAIL CARD (appended 2026-10-21) ----------------
   Category groups in a packed multi-column flow so short and tall groups sit together
   without empty boxes: 3 columns on desktop, 2 on tablets, 1 on phones. */
body.nsa-audit-results .nsa-results .nsa-sec.nsx-tech>h3{margin-bottom:10px}
.nsx-tech-desc{font-size:14px;line-height:1.5;color:#5d666f;margin:0 0 18px}
.nsx-tech-grid{column-count:3;column-gap:16px}
@media(max-width:1000px){.nsx-tech-grid{column-count:2}}
@media(max-width:640px){.nsx-tech-grid{column-count:1}}
.nsx-tech-group{break-inside:avoid;-webkit-column-break-inside:avoid;display:block;border:1px solid #e3e6ea;border-radius:8px;padding:14px 16px 12px;margin:0 0 16px;background:#fff}
.nsx-tech-h{font-family:Roboto,system-ui,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#141414;margin:0 0 10px;padding-left:9px;border-left:3px solid #F5911E;line-height:1.3}
.nsx-tech-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.nsx-tech-chips+.nsx-tech-rows{margin-top:10px}
.nsx-tech-chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:4px 10px;border:1px solid #e3e6ea;border-radius:999px;background:#f6f7f9;font-size:13px;font-weight:500;color:#141414;line-height:1.4;overflow-wrap:anywhere}
.nsx-tech-chip small{font-size:11px;font-weight:400;color:#8d97a1}
.nsx-tech-rows{margin:0;padding:0}
.nsx-tech-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-top:1px solid #eef1f4;font-size:14px;line-height:1.45}
.nsx-tech-row:first-child{border-top:0;padding-top:0}
.nsx-tech-row dt{flex:0 0 auto;color:#5d666f;font-weight:400;margin:0}
.nsx-tech-row dd{flex:1 1 auto;min-width:0;margin:0;text-align:right;color:#141414;font-weight:500;overflow-wrap:anywhere;white-space:pre-line}
body.nsa-audit-results .nsa-results .nsx-tech-row dt{text-transform:none;letter-spacing:normal;font-size:14px;font-family:Roboto,system-ui,sans-serif}
@media(max-width:640px){.nsx-tech-row.nsx-tech-long{flex-wrap:wrap;gap:2px 12px}.nsx-tech-row.nsx-tech-long dd{flex:1 1 100%;text-align:left}}
/* Pass 4 (2026-10-21): fix call to action, paid-plan line, factor counts. #2f5fd0 keeps white
   button text above 4.5:1. */
.nsa-fixcta{margin:18px 0 0}
body.nsa-audit-results .nsa-results .nsa-btn.nsa-btn-fix{background:#2f5fd0;color:#fff;text-decoration:none;display:inline-block}
body.nsa-audit-results .nsa-results .nsa-btn.nsa-btn-fix:hover{background:#244bab}
.nsa-paid{font-size:14px;line-height:1.55;color:#4a5158;margin:16px 0 0}
.nsa-paid a{color:#2f5fd0}
.nsx-counts .nsx-fct{display:block;margin-top:2px}