/* ---------- Nexus Shield page ---------- */

.sh-hero { position: relative; overflow: hidden; padding-top: calc(var(--header-h) + 64px); padding-bottom: 84px; }
.sh-hero__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 30px; align-items: center; }
.sh-hbadge { margin-bottom: 20px; }
.sh-icon { width: 56px; height: 56px; border-radius: var(--r-lg); display: grid; place-items: center; background: color-mix(in srgb, var(--nx-green) 14%, transparent); border: 1px solid color-mix(in srgb, var(--nx-green) 30%, transparent); color: var(--nx-green); margin-bottom: 22px; }
.sh-icon svg { width: 28px; height: 28px; }
.sh-hero h1 { font-size: clamp(36px, 5vw, 58px); letter-spacing: -0.025em; line-height: 1.02; }
.sh-claim { font-size: clamp(18px, 2.2vw, 24px); font-weight: 700; color: var(--nx-green); margin-top: 12px; letter-spacing: -0.01em; }
.sh-hero__lead { margin-top: 20px; max-width: 56ch; }
.sh-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.sh-hstats { display: flex; flex-wrap: wrap; gap: 14px 36px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--border); }
.sh-hstat { display: flex; flex-direction: column; gap: 3px; }
.sh-hstat .n { font-size: 20px; font-weight: 700; color: var(--fg-strong); letter-spacing: -0.01em; }
.sh-hstat .d { font-size: 12.5px; color: var(--fg-subtle); max-width: 24ch; }

.sh-hero__visual { display: flex; align-items: center; justify-content: center; min-width: 0; }
.sh-hero__visual img { display: block; width: 100%; max-width: 760px; height: auto; flex: 0 0 auto; mix-blend-mode: lighten; filter: drop-shadow(0 24px 45px rgba(0, 15, 35, .18)); -webkit-mask-image: radial-gradient(ellipse 72% 78% at 50% 51%, #000 62%, rgba(0,0,0,.92) 78%, transparent 100%); mask-image: radial-gradient(ellipse 72% 78% at 50% 51%, #000 62%, rgba(0,0,0,.92) 78%, transparent 100%); }
[data-theme="light"] .sh-hero { color: #fff; background: radial-gradient(circle at 72% 48%, rgba(22,139,220,.18), transparent 34%), linear-gradient(135deg, #03172c, #082a4c 62%, #041c35); border-bottom: 1px solid rgba(77,199,255,.18); }
[data-theme="light"] .sh-hero .nx-breadcrumb a { color: #8fa5bd; }
[data-theme="light"] .sh-hero .nx-breadcrumb a:hover { color: #75ee55; }
[data-theme="light"] .sh-hero .nx-breadcrumb .sep { color: rgba(255,255,255,.24); }
[data-theme="light"] .sh-hero .nx-breadcrumb .cur { color: #b9c7d7; }
[data-theme="light"] .sh-hero .sh-hbadge { color: #72ec53; border-color: rgba(103,224,91,.36); background: rgba(64,172,75,.12); }
[data-theme="light"] .sh-hero h1 { color: #fff; }
[data-theme="light"] .sh-hero__lead { color: #b5c5d8; }
[data-theme="light"] .sh-hero .sh-icon { background: rgba(66,184,83,.13); border-color: rgba(94,221,103,.3); color: #72ec53; }
[data-theme="light"] .sh-hero .sh-hstats { border-top-color: rgba(255,255,255,.14); }
[data-theme="light"] .sh-hero .sh-hstat .n { color: #fff; }
[data-theme="light"] .sh-hero .sh-hstat .d { color: #91a5bd; }
[data-theme="light"] .sh-hero__cta .btn-primary { background: #f5f6f7; color: #001a3b; box-shadow: 0 10px 24px rgba(0,0,0,.2); }
[data-theme="light"] .sh-hero__cta .btn-primary:hover { background: #dfe5ed; }
[data-theme="light"] .sh-hero__cta .btn-outline { color: #f5f6f7; border-color: rgba(255,255,255,.3); background: rgba(2,24,52,.3); }
[data-theme="light"] .sh-hero__cta .btn-outline:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }
[data-theme="light"] .sh-hero__visual img { mix-blend-mode: lighten; border-radius: 0; box-shadow: none; -webkit-mask-image: radial-gradient(ellipse 72% 78% at 50% 51%, #000 62%, rgba(0,0,0,.92) 78%, transparent 100%); mask-image: radial-gradient(ellipse 72% 78% at 50% 51%, #000 62%, rgba(0,0,0,.92) 78%, transparent 100%); }

.sh-head { max-width: 700px; }
.sh-head .nx-h2 { margin-top: 14px; }
.sh-head .nx-lead { margin-top: 16px; }

.sh-solve { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.sh-solve .c { padding: 26px; }
.sh-solve .ic { width: 42px; height: 42px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--surface-inset); border: 1px solid var(--border); color: var(--nx-green); margin-bottom: 16px; }
.sh-solve .ic svg { width: 21px; height: 21px; }
.sh-solve h3 { font-size: 17px; margin-bottom: 8px; }
.sh-solve p { font-size: 14px; color: var(--fg-muted); line-height: 1.55; }

.sh-cov { background: var(--surface-2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.sh-cov-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.sh-ccard { padding: 24px; }
.sh-ccard .ic { width: 40px; height: 40px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--surface-inset); border: 1px solid var(--border); color: var(--nx-green); margin-bottom: 16px; }
.sh-ccard .ic svg { width: 20px; height: 20px; }
.sh-ccard h3 { font-size: 16px; margin-bottom: 7px; }
.sh-ccard p { font-size: 13.5px; color: var(--fg-muted); line-height: 1.55; }
.sh-security-proof { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 18px; padding: 26px; border-color: color-mix(in srgb, var(--nx-green) 32%, var(--border)); }
.sh-security-proof .ic { width: 46px; height: 46px; border-radius: var(--r-lg); display: grid; place-items: center; color: var(--nx-green); background: var(--icon-tile-bg); border: 1px solid var(--icon-tile-border); }
.sh-security-proof .ic svg { width: 23px; height: 23px; }
.sh-security-proof h3 { margin-top: 8px; font-size: 18px; }
.sh-security-proof p { margin-top: 8px; max-width: 78ch; color: var(--fg-muted); font-size: 14px; line-height: 1.6; }

.sh-final-card { position: relative; overflow: hidden; text-align: center; padding: 72px 32px; border-radius: var(--r-xl); border: 1px solid var(--border); background: var(--surface); box-shadow: var(--shadow-2); }
.sh-final-card::before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: .5;
  background-image: linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px); background-size: 40px 40px;
  -webkit-mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000, transparent 72%); mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000, transparent 72%); }
.sh-final-card > * { position: relative; z-index: 1; }
.sh-final-card .nx-rule { margin: 0 auto 22px; }
.sh-final-card h2 { font-size: clamp(28px, 3.6vw, 42px); max-width: 18ch; margin: 0 auto; }
.sh-final-card .nx-lead { margin: 18px auto 0; text-align: center; }
.sh-final-card .cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.sh-final-card .note { margin-top: 22px; font-size: 13px; color: var(--fg-subtle); }

@media (max-width: 940px){ .sh-hero__grid { grid-template-columns: 1fr; gap: 44px; } .sh-hero__visual img { width: min(100%, 760px); } }
@media (max-width: 880px){ .sh-solve, .sh-cov-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .sh-solve, .sh-cov-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px){ .sh-security-proof { grid-template-columns: 1fr; } }
