/* Pre-launch mobile navigation and ShadowScan sample-report alignment.
   Loaded after contrast_guard.css to resolve legacy override collisions. */

@media (max-width:980px) {
  .site-header .logo-wrap {
    width:52px !important;
    height:52px !important;
    display:grid;
    place-items:center;
    overflow:hidden;
    flex:0 0 52px;
  }
  .site-header .logo-wrap img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    transform:scale(1.12);
  }
  .site-header .navlinks {
    gap:5px !important;
    padding:18px 18px calc(30px + env(safe-area-inset-bottom)) !important;
    background:#fff !important;
    -webkit-overflow-scrolling:touch;
  }
  .site-header .navlinks > a:not(.nav-cta),
  .site-header .navdrop > .navdrop-trigger {
    min-height:52px;
    border:1px solid transparent !important;
    border-radius:12px !important;
    background:transparent !important;
    color:#222a35 !important;
    padding:12px 16px !important;
    font-size:16px !important;
    font-weight:750;
    box-shadow:none !important;
  }
  .site-header .navlinks > a:not(.nav-cta)::after,
  .site-header .navdrop > .navdrop-trigger::after {
    display:none !important;
  }
  .site-header .navlinks > a.active:not(.nav-cta),
  .site-header .navdrop.open > .navdrop-trigger {
    background:#f5f6f9 !important;
    border-color:#e1e5eb !important;
    color:#171c26 !important;
  }
  .site-header .navlinks > a[href="/exposure-check"] {
    border-color:#ead3d7 !important;
    background:#fff8f8 !important;
    color:#98131d !important;
  }
  .site-header .navlinks > a[href="/exposure-check"]:focus-visible,
  .site-header .navlinks > a:focus-visible,
  .site-header .navdrop-trigger:focus-visible,
  .site-header .navdrop-menu a:focus-visible {
    outline:3px solid #1b6dcc !important;
    outline-offset:2px;
  }
  .site-header .navdrop-menu {
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 8px !important;
  }
  .site-header .navdrop.open .navdrop-menu {
    max-height:650px;
    padding:4px 8px 12px !important;
  }
  .site-header .navdrop-menu a {
    min-height:44px;
    padding:11px 14px !important;
    border:0 !important;
    border-radius:9px !important;
    color:#3b4554 !important;
    background:transparent !important;
    font-size:15px !important;
    font-weight:650;
    line-height:1.4;
  }
  .site-header .navdrop-menu a:hover,
  .site-header .navdrop-menu a:focus-visible {
    background:#f4f6f8 !important;
    color:#171c26 !important;
  }
  .site-header .navlinks > a.nav-cta,
  .site-header .navlinks > a.nav-cta.active {
    min-height:55px !important;
    width:100% !important;
    margin:12px 0 8px !important;
    padding:14px 18px !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    background:linear-gradient(135deg,#c71b28,#9b1420) !important;
    color:#fff !important;
    border:1px solid #9b1420 !important;
    border-radius:13px !important;
    box-shadow:0 12px 26px rgba(155,20,32,.17) !important;
    font-size:16px !important;
    font-weight:850 !important;
  }
  .site-header .navlinks > a.nav-cta span {
    color:#fff !important;
  }
}
@media (max-width:480px) {
  .site-header .navlinks { padding-left:14px !important; padding-right:14px !important; }
  .site-header .brand .title strong { font-size:12.5px; }
}

/* ShadowScan report preview: match the dark, evidence-led executive output. */
.report-viewer-section.dark {
  background:#090c13;
  color:#e9eef8;
  padding:42px 0 76px;
}
.report-viewer-section .report-viewer-shell {
  background:#0d111a;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 90px rgba(0,0,0,.35);
  min-height:0;
  grid-template-columns:220px minmax(0,1fr);
}
.report-viewer-section .report-sidebar {
  background:#0b0e15;
  border-right:1px solid rgba(255,255,255,.10);
}
.report-viewer-section .report-sidebar a { color:#b9c5d8; }
.report-viewer-section .report-sidebar a.active,
.report-viewer-section .report-sidebar a:hover { background:#9b1420;color:#fff; }
.report-viewer-section .report-content { padding:30px; min-width:0; }
.report-viewer-section .srp-doc-top {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.report-viewer-section .srp-title {
  font-size:clamp(21px,2.5vw,31px);
  letter-spacing:-.025em;
  margin:0 0 6px;
  color:#f7f9fd !important;
}
.report-viewer-section .srp-muted,
.report-viewer-section .srp-meta { color:#b5c1d4 !important;font-size:13px;line-height:1.55; }
.report-viewer-section .srp-meta { overflow-wrap:anywhere; }
.report-viewer-section .srp-demo {
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.21);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#f2f5fb !important;
  font-size:11px;
  font-weight:800;
  padding:8px 12px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.report-viewer-section .srp-block {
  padding:25px 0 28px;
  border-bottom:1px solid rgba(255,255,255,.1);
  scroll-margin-top:110px;
}
.report-viewer-section .srp-block:last-child {border-bottom:0}
.report-viewer-section .srp-kicker {
  color:#ff8690 !important;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:850;
  margin:0 0 7px;
}
.report-viewer-section .srp-block h2 {
  font-size:clamp(20px,2.3vw,28px);
  letter-spacing:-.025em;
  color:#f7f9fd !important;
  margin:0 0 15px;
}
.report-viewer-section .srp-block h3 {
  color:#f7f9fd !important;
  font-size:16px;
  margin:0 0 8px;
}
.report-viewer-section .srp-block p,
.report-viewer-section .srp-block li {
  color:#c2cbda !important;
  line-height:1.65;
}
.report-viewer-section .srp-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.report-viewer-section .srp-metrics > div,
.report-viewer-section .srp-context > div,
.report-viewer-section .srp-card {
  border:1px solid rgba(255,255,255,.11);
  background:#161c28;
  border-radius:14px;
  padding:15px;
  min-width:0;
}
.report-viewer-section .srp-metrics span,
.report-viewer-section .srp-context span {
  display:block;
  color:#bdc8d8 !important;
  font-size:12px;
}
.report-viewer-section .srp-metrics strong {
  display:block;
  color:#fff !important;
  font-size:28px;
  line-height:1.1;
  margin:8px 0;
}
.report-viewer-section .srp-context {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.report-viewer-section .srp-context strong {
  color:#f7f9fd !important;
  font-size:15px;
  display:block;
  margin-top:10px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.report-viewer-section .srp-risk {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  align-items:center;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(110deg,#1a202d,#151923);
  border-radius:16px;
}
.report-viewer-section .srp-risk-score {font-size:52px;line-height:1;font-weight:900;color:#ff727e}
.report-viewer-section .srp-risk-score small{font-size:14px;color:#bcc9d9}
.report-viewer-section .srp-severity {
  display:inline-flex;
  color:#ffe4e7 !important;
  border:1px solid rgba(255,112,126,.45);
  border-left:4px solid #ff6676;
  background:rgba(197,28,51,.14);
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
  line-height:1.4;
  flex-shrink:0;
}
.report-viewer-section .srp-severity.medium{background:rgba(251,188,67,.12);border-color:#d39e4e;color:#ffe4ad!important}
.report-viewer-section .srp-list {display:grid;gap:10px}
.report-viewer-section .srp-finding,
.report-viewer-section .srp-action {
  display:flex;
  gap:14px;
  align-items:flex-start;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.035);
  border-radius:13px;
  padding:15px;
}
.report-viewer-section .srp-finding > div,
.report-viewer-section .srp-action > div:last-child {min-width:0}
.report-viewer-section .srp-finding p,
.report-viewer-section .srp-action p {margin:6px 0 0}
.report-viewer-section .srp-step {
  display:grid;
  place-items:center;
  flex:0 0 33px;
  height:33px;
  border-radius:9px;
  color:#fff;
  background:#a51a28;
  font-weight:900;
}
.report-viewer-section .srp-path {
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:8px;
}
.report-viewer-section .srp-path-node {
  flex:1 1 130px;
  padding:15px;
  background:#161c28;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  min-width:0;
}
.report-viewer-section .srp-path-node span{display:block;color:#aab8cd!important;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.report-viewer-section .srp-path-node strong{color:#f7f9fd!important;display:block;margin-top:7px;overflow-wrap:anywhere}
.report-viewer-section .srp-path-arrow{align-self:center;font-size:19px;color:#ff8690}
.report-viewer-section .srp-disclaimer{color:#c1ccdc!important;font-size:13px;max-width:none}
@media(max-width:980px) {
  .report-viewer-section .report-viewer-shell {grid-template-columns:minmax(0,1fr)}
  .report-viewer-section .report-sidebar {display:flex;flex-direction:row;overflow-x:auto;gap:4px;padding:14px}
  .report-viewer-section .report-sidebar a {flex:0 0 auto;white-space:nowrap;padding:8px 10px}
  .report-viewer-section .report-logo {display:none}
  .report-viewer-section .srp-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px) {
  .report-viewer-section .report-content {padding:17px}
  .report-viewer-section .srp-context{grid-template-columns:minmax(0,1fr)}
  .report-viewer-section .srp-risk-score{font-size:42px}
  .report-viewer-section .srp-finding{flex-wrap:wrap}
  .report-viewer-section .srp-path-arrow{display:none}
}
@media print {
  .site-header,.footer,.report-sidebar,.home-final-cta,.report-preview-hero{display:none !important}
  .report-viewer-section.dark{background:#fff!important;padding:0!important}
  .report-viewer-section .report-viewer-shell{border:0;box-shadow:none}
  .report-viewer-section .report-content{padding:0}
  .report-viewer-section .srp-block{break-inside:avoid}
}

/* Report preview hero contrast was previously overridden by the global light-section rule. */
.report-preview-hero { background:#10131b; }
.report-preview-hero h1 {color:#f8fafc !important;}
.report-preview-hero p {color:#c7d0de !important;}
.report-preview-hero .home-kicker {color:#ff8b98 !important;}
@media(max-width:640px) {
  .report-preview-hero { padding:70px 0 48px; }
  .report-preview-hero h1 {font-size:clamp(34px,9vw,49px);}
}

/* Report preview readability refinements */
.report-preview-hero{background:#10131b!important;color:#f8fafc!important}
.report-preview-hero h1{color:#fff!important;opacity:1!important;text-shadow:none!important}
.report-preview-hero p{color:#d6deeb!important;opacity:1!important}
.report-preview-hero .home-kicker{color:#ff8a94!important}
.report-viewer-section .report-sidebar a:focus-visible{outline:2px solid #ff8a94;outline-offset:3px}
@media(max-width:768px){.report-preview-hero{padding:60px 0 48px}.report-preview-hero h1{font-size:clamp(32px,8vw,48px);line-height:1.12}}


/* ShadowScan detail pages: override light-theme global heading rules. */
body.route-platform-shadowscan_detail .platform-page-hero,
body.route-platform-shadowscan-detail .platform-page-hero {background:linear-gradient(135deg,#0b0e16,#171d2b 70%,#290e18)!important;color:#fff!important}
body.route-platform-shadowscan-detail .platform-page-hero h1,
body.route-platform-shadowscan_detail .platform-page-hero h1,
.platform-page-hero .platform-page-grid h1 {color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:none!important;line-height:1.08!important}
.platform-page-hero .platform-page-grid p{color:#d9e1ed!important;-webkit-text-fill-color:#d9e1ed!important;opacity:1!important}
.platform-page-hero .platform-page-grid .home-kicker{color:#ff8792!important;-webkit-text-fill-color:#ff8792!important}
.platform-page-hero .feature-console{transform:none}
.report-preview-hero .container h1{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;visibility:visible!important;line-height:1.1!important}
.report-preview-hero .container p{color:#d9e1ed!important;-webkit-text-fill-color:#d9e1ed!important}
.report-viewer-section.dark .report-viewer-shell{background:#0d111a!important;color:#f5f7fb!important}
.report-viewer-section.dark .report-content{background:#0d111a!important;color:#f5f7fb!important}
.report-viewer-section.dark .report-content strong{color:#f8fafc}
.report-viewer-section.dark .report-sidebar{background:#0b0e15!important}
.report-viewer-section.dark .srp-block,.report-viewer-section.dark .srp-doc-top{opacity:1!important;visibility:visible!important;transform:none!important}
.report-viewer-section.dark .srp-risk,.report-viewer-section.dark .srp-path-node{background:#161c28!important;color:#f8fafc!important}
.report-viewer-section.dark .srp-block h2,.report-viewer-section.dark .srp-block h3{color:#fff!important;-webkit-text-fill-color:#fff!important}
@media(max-width:980px){.report-viewer-section.dark .report-sidebar{display:flex!important;flex-direction:row;overflow-x:auto}.report-viewer-section.dark .report-viewer-shell{grid-template-columns:minmax(0,1fr)!important}}
@media print{.report-viewer-section.dark .report-content,.report-viewer-section.dark .report-viewer-shell{background:#fff!important;color:#111!important}}


/* Unboxed, prominent QSB shield in the site header. */
.site-header .brand .logo-wrap{
  width:72px!important;height:72px!important;flex:0 0 72px!important;
  padding:0!important;margin:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;
  box-shadow:none!important;outline:0!important;
  display:flex!important;align-items:center;justify-content:center;
  overflow:visible!important;
}
.site-header .brand .logo-wrap::before,.site-header .brand .logo-wrap::after{display:none!important}
.site-header .brand .logo-wrap img{
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;transform:scale(1.12)!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
@media(max-width:980px){
 .site-header .brand .logo-wrap{width:58px!important;height:58px!important;flex-basis:58px!important}
}
@media(max-width:480px){
 .site-header .brand .logo-wrap{width:54px!important;height:54px!important;flex-basis:54px!important}
}
