.nis2-page .nis2-visual { padding: 1.5rem 1.7rem; }
.nis2-page .nis2-orbit-mark { align-items: center; border: 1px solid rgba(195, 138, 255, .3); border-radius: 50%; display: flex; height: 6rem; justify-content: center; margin: 2rem auto 1.4rem; position: relative; width: 6rem; }
.nis2-page .nis2-orbit-mark::before { border: 1px dashed rgba(195, 138, 255, .16); border-radius: 50%; content: ""; inset: -.7rem; position: absolute; }
.nis2-page .nis2-orbit-mark i { color: #d1a1ff; font-size: 3rem; text-shadow: 0 0 35px rgba(174, 97, 240, .6); }
.nis2-page .nis2-orbit-dot { background: #a6dfff; border-radius: 50%; box-shadow: 0 0 15px #8b65bf; height: .5rem; position: absolute; right: .5rem; top: .6rem; width: .5rem; }
.nis2-page .nis2-visual-title { color: #bfa7d4; font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.4; margin: 0 0 1.7rem; text-align: center; }
.nis2-page .nis2-visual-title strong { color: #f3e5ff; font-weight: 600; }
.nis2-page .nis2-visual-path { display: grid; gap: .7rem; list-style: none; margin: 0; padding: 0; }
.nis2-page .nis2-visual-path li { align-items: center; background: rgba(161, 101, 219, .05); border: 1px solid var(--bb-line); border-radius: .7rem; display: flex; gap: 1rem; padding: .9rem 1rem; }
.nis2-page .nis2-visual-path li > span { color: #bb86ed; font: .75rem ui-monospace, monospace; }
.nis2-page .nis2-visual-path strong { color: #eadcf7; display: block; font-size: .9rem; font-weight: 600; }
.nis2-page .nis2-visual-path p { color: #b4a4c4; font-size: .73rem; line-height: 1.7; margin: .2rem 0 0; }
.nis2-page .nis2-visual-footer { color: #a68cbb; font: .5rem/1.7 ui-monospace, monospace; letter-spacing: .05em; margin: 1.5rem 0 0; text-align: center; }
.nis2-page .nis2-note { color: #bcaecb; font-size: .9rem; line-height: 1.9; margin: 1.8rem 0 0; }
.nis2-page .nis2-note a, .nis2-page .nis2-source-note a { color: #d9b7f6; text-decoration: underline; }
.nis2-page .nis2-source-note, .nis2-page .bb-prose .nis2-source-note { color: #b09cc2; font-size: .78rem; line-height: 1.9; margin: 1.5rem 0 0; }
.nis2-page .nis2-scope-strip { align-items: center; background: linear-gradient(110deg, #21132f, #100b1d); border: 1px solid var(--bb-line); border-radius: 1rem; display: flex; gap: 1.5rem; margin-top: 3rem; padding: 1.8rem 2rem; }
.nis2-page .nis2-scope-strip > i { color: #ca99f6; flex-shrink: 0; font-size: 2.5rem; }
.nis2-page .nis2-scope-strip h3 { font-size: 1.1rem; margin-bottom: .5rem; }
.nis2-page .nis2-scope-strip p { color: #bfaecf; font-size: .87rem; line-height: 1.85; margin: 0; }
.nis2-page .nis2-scope-strip > a { color: #d8b6f5; flex-shrink: 0; font-size: .81rem; }
.nis2-page .nis2-services { background: radial-gradient(ellipse at 80% 15%, rgba(125, 42, 182, .19), transparent 60%), #100a1b; }
.nis2-page .nis2-service-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nis2-page .nis2-service-card { background: linear-gradient(140deg, #251535, #120d20); border: 1px solid rgba(192, 125, 242, .25); border-radius: 1rem; display: flex; flex-direction: column; padding: 2.2rem; }
.nis2-page .nis2-card-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.8rem; }
.nis2-page .nis2-card-top i { color: #d7a7fc; font-size: 2.4rem; }
.nis2-page .nis2-card-top > span, .nis2-page .nis2-service-fit > span, .nis2-page .nis2-reference { color: #c293e6; font: 600 .64rem/1.7 ui-monospace, monospace; letter-spacing: .08em; }
.nis2-page .nis2-service-card h3 { font-size: 1.65rem; letter-spacing: -.035em; margin: 0 0 1rem; }
.nis2-page .nis2-service-card p { color: #c1b1d0; font-size: .94rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-service-fit { border-top: 1px solid var(--bb-line); margin: 1.5rem 0 0; padding: 1.3rem 0 0; }
.nis2-page .nis2-service-fit p { color: #af9ec1; font-size: .85rem; margin: .5rem 0 1.3rem; }
.nis2-page .nis2-service-card .bb-text-link { align-self: flex-start; margin-top: auto; padding-top: .4rem; }
.nis2-page .nis2-mapping-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nis2-page .nis2-mapping-card { border-left: 2px solid #6f4298; padding: .25rem 0 .25rem 1.6rem; }
.nis2-page .nis2-mapping-card h3 { font-size: 1.2rem; letter-spacing: -.02em; line-height: 1.4; margin: 1.2rem 0 1rem; }
.nis2-page .nis2-mapping-card p { color: #baacc9; font-size: .88rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-mapping-card > div { border-top: 1px solid var(--bb-line); margin-top: 1.3rem; padding-top: 1.3rem; }
.nis2-page .nis2-mapping-card h4 { color: #d9b7f4; font-size: .85rem; margin-bottom: .65rem; }
.nis2-page .nis2-guidance { background: #161022; border: 1px solid var(--bb-line); border-radius: .9rem; margin-top: 3.5rem; padding: 2rem; }
.nis2-page .nis2-guidance h3 { font-size: 1.3rem; line-height: 1.45; margin: 1rem 0; }
.nis2-page .nis2-guidance p { color: #bfaecf; font-size: .92rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-evidence { background: radial-gradient(ellipse at 5% 50%, rgba(118, 54, 163, .16), transparent 65%), #0c0815; }
.nis2-page .nis2-evidence-grid { display: grid; gap: 2.3rem 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nis2-page .nis2-evidence-grid > div { border-top: 1px solid rgba(193, 137, 240, .3); padding-top: 1.4rem; }
.nis2-page .nis2-evidence-grid span { color: #c490e8; font: .62rem/1.7 ui-monospace, monospace; letter-spacing: .06em; }
.nis2-page .nis2-evidence-grid h3 { font-size: 1.15rem; line-height: 1.4; margin: 1rem 0 .8rem; }
.nis2-page .nis2-evidence-grid p { color: #bdaccd; font-size: .9rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-reporting { background: #110b1c; }
.nis2-page .nis2-clock-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nis2-page .nis2-clock-grid > div { background: linear-gradient(145deg, #29163b, #140e21); border: 1px solid rgba(191, 128, 239, .27); border-radius: 1rem; padding: 2rem; }
.nis2-page .nis2-clock-grid span { color: #d0a3ed; display: block; font: .61rem/1.7 ui-monospace, monospace; letter-spacing: .08em; }
.nis2-page .nis2-clock-grid strong { color: #edd5ff; display: block; font-size: 3rem; font-weight: 600; letter-spacing: -.045em; line-height: 1.2; margin: 1.4rem 0; }
.nis2-page .nis2-clock-grid p { color: #c2afcf; font-size: .9rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-reporting-note { align-items: flex-start; display: flex; gap: 1.2rem; margin-top: 2.5rem; }
.nis2-page .nis2-reporting-note > i { color: #cc9af1; flex-shrink: 0; font-size: 2rem; }
.nis2-page .nis2-reporting-note h3 { font-size: 1.15rem; line-height: 1.4; margin-bottom: .75rem; }
.nis2-page .nis2-reporting-note p { color: #baa7cb; font-size: .9rem; line-height: 1.9; margin: 0; }
.nis2-page .nis2-related { align-items: center; border-top: 1px solid var(--bb-line); display: flex; gap: 3rem; margin-top: 3rem; padding-top: 3rem; }
.nis2-page .nis2-related h3 { font-size: 1.45rem; letter-spacing: -.03em; line-height: 1.4; margin: 1rem 0 .8rem; }
.nis2-page .nis2-related p { color: #baabca; font-size: .9rem; line-height: 1.9; margin: 0; max-width: 46rem; }
.nis2-page .nis2-related > a { flex-shrink: 0; }
.nis2-page .nis2-sources { background: #100a1b; border-top: 1px solid var(--bb-line); }
.nis2-page .nis2-reviewed { color: #ab96bd; font: .68rem/1.8 ui-monospace, monospace; margin-top: 1.6rem; }
.nis2-page .nis2-source-list { list-style: none; margin: 0; padding: 0; }
.nis2-page .nis2-source-list li { border-top: 1px solid var(--bb-line); padding: 1.25rem 0; }
.nis2-page .nis2-source-list li:first-child { border-top: 0; padding-top: 0; }
.nis2-page .nis2-source-list a { color: #dfbdf7; display: flex; font-size: .96rem; gap: 1rem; justify-content: space-between; line-height: 1.7; }
.nis2-page .nis2-source-list li > span { color: #b19fc3; display: block; font-size: .81rem; line-height: 1.8; margin-top: .4rem; }
@media (max-width: 1199.98px) {
    .nis2-page .nis2-visual { padding: 1.4rem; }
    .nis2-page .nis2-visual-title { font-size: 1.25rem; }
    .nis2-page .nis2-visual-path li { gap: .8rem; padding: .85rem; }
    .nis2-page .nis2-visual-path strong { font-size: .8rem; }
    .nis2-page .nis2-visual-path p { font-size: .7rem; }
    .nis2-page .nis2-clock-grid > div { padding: 1.6rem; }
    .nis2-page .nis2-clock-grid strong { font-size: 2.5rem; }
}
@media (max-width: 991.98px) {
    .nis2-page .nis2-visual { max-width: 35rem; }
    .nis2-page .nis2-visual-path strong { font-size: .95rem; }
    .nis2-page .nis2-visual-path p { font-size: .8rem; }
    .nis2-page .nis2-scope-strip { align-items: flex-start; flex-wrap: wrap; }
    .nis2-page .nis2-scope-strip > div { flex: 1; }
    .nis2-page .nis2-scope-strip > a { flex-basis: 100%; }
    .nis2-page .nis2-mapping-grid { gap: 2rem; grid-template-columns: 1fr; }
    .nis2-page .nis2-clock-grid { gap: 1rem; }
    .nis2-page .nis2-clock-grid > div { padding: 1.3rem; }
    .nis2-page .nis2-clock-grid strong { font-size: 2.1rem; }
    .nis2-page .nis2-clock-grid span { font-size: .53rem; }
    .nis2-page .nis2-related { align-items: flex-start; flex-direction: column; gap: 1rem; }
}
@media (max-width: 575.98px) {
    .nis2-page .bb-hero h1 { font-size: clamp(2.2rem, 10.5vw, 2.8rem); }
    .nis2-page .bb-hero .bb-kicker { font-size: .61rem; letter-spacing: .08em; }
    .nis2-page .bb-actions .btn, .nis2-page .bb-cta .btn { font-size: .83rem; max-width: 100%; padding-left: 1.15rem; padding-right: 1.15rem; white-space: normal; }
    .nis2-page .nis2-service-grid, .nis2-page .nis2-evidence-grid, .nis2-page .nis2-clock-grid { grid-template-columns: 1fr; }
    .nis2-page .nis2-service-card { padding: 1.5rem; }
    .nis2-page .nis2-service-card h3 { font-size: 1.5rem; }
    .nis2-page .nis2-scope-strip { gap: 1rem; padding: 1.4rem; }
    .nis2-page .nis2-scope-strip > i { font-size: 1.7rem; }
    .nis2-page .nis2-scope-strip h3 { line-height: 1.5; }
    .nis2-page .nis2-guidance { padding: 1.5rem; }
    .nis2-page .nis2-clock-grid > div { padding: 1.5rem; }
    .nis2-page .nis2-clock-grid strong { font-size: 2.8rem; margin: 1rem 0; }
    .nis2-page .nis2-clock-grid span { font-size: .63rem; }
    .nis2-page .nis2-reporting-note { gap: .8rem; }
    .nis2-page .nis2-reporting-note > i { font-size: 1.6rem; }
}
