.soc2-page .soc2-visual { padding: 1.6rem; }
.soc2-page .soc2-visual-heading { color: #bca8cf; font-size: 1.4rem; letter-spacing: -.035em; line-height: 1.4; margin: 2.2rem 0 1.7rem; }
.soc2-page .soc2-visual-heading strong { color: #f3e8fc; font-weight: 600; }
.soc2-page .soc2-record { background: rgba(153, 91, 211, .06); border: 1px solid var(--bb-line); border-radius: .8rem; padding: 1.2rem; }
.soc2-page .soc2-record-top { align-items: center; display: flex; gap: .8rem; margin-bottom: 1.3rem; }
.soc2-page .soc2-record-top > i { color: #d3a3f6; font-size: 2rem; }
.soc2-page .soc2-record-top > span { color: #c3aad8; font: .56rem/1.7 ui-monospace, monospace; letter-spacing: .06em; }
.soc2-page .soc2-record dl { margin: 0; }
.soc2-page .soc2-record dl > div { border-top: 1px solid var(--bb-line); padding: .9rem 0; }
.soc2-page .soc2-record dl > div:last-child { padding-bottom: 0; }
.soc2-page .soc2-record dt { color: #b7cfe4; font: .57rem/1.7 ui-monospace, monospace; font-weight: 500; letter-spacing: .06em; margin-bottom: .35rem; }
.soc2-page .soc2-record dd { color: #e4d8ef; font-size: .83rem; line-height: 1.7; margin: 0; }
.soc2-page .soc2-visual-footer { color: #a790ba; font: .48rem/1.8 ui-monospace, monospace; letter-spacing: .04em; margin: 1.5rem 0 0; }
.soc2-page .soc2-note { color: #bdadcb; font-size: .9rem; line-height: 1.9; margin: 1.8rem 0 0; }
.soc2-page .soc2-note a, .soc2-page .soc2-source-note a { color: #dbb9f6; text-decoration: underline; }
.soc2-page .soc2-source-note, .soc2-page .bb-prose .soc2-source-note { color: #af9bc1; font-size: .78rem; line-height: 1.9; margin: 1.5rem 0 0; }
.soc2-page .soc2-label { color: #c99ae9; display: block; font: 600 .63rem/1.7 ui-monospace, monospace; letter-spacing: .08em; }
.soc2-page .soc2-services { background: radial-gradient(ellipse at 85% 15%, rgba(122, 43, 179, .2), transparent 65%), #100a1b; }
.soc2-page .soc2-service-grid, .soc2-page .soc2-mapping-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.soc2-page .soc2-service-card { background: linear-gradient(135deg, #261638, #120d20); border: 1px solid rgba(194, 131, 241, .25); border-radius: 1rem; display: flex; flex-direction: column; padding: 2rem; }
.soc2-page .soc2-card-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.8rem; }
.soc2-page .soc2-card-top > i { color: #d6a5fc; font-size: 2.3rem; }
.soc2-page .soc2-service-card h3 { font-size: 1.5rem; letter-spacing: -.03em; line-height: 1.4; margin: 0 0 1rem; }
.soc2-page .soc2-service-card p { color: #c3b2d1; font-size: .94rem; line-height: 1.9; margin: 0 0 1.5rem; }
.soc2-page .soc2-service-card .bb-text-link { align-self: flex-start; margin-top: auto; }
.soc2-page .soc2-mapping-card { border-left: 2px solid #7748a0; padding: .2rem 0 .2rem 1.6rem; }
.soc2-page .soc2-mapping-card h3 { font-size: 1.2rem; line-height: 1.4; margin: 1rem 0 .8rem; }
.soc2-page .soc2-mapping-card p { color: #bdaecc; font-size: .9rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-mapping-card > div { border-top: 1px solid var(--bb-line); margin-top: 1.2rem; padding-top: 1.2rem; }
.soc2-page .soc2-mapping-card h4 { color: #c9e0ee; font-size: .84rem; margin-bottom: .65rem; }
.soc2-page .soc2-timing { background: #100b1b; }
.soc2-page .soc2-type-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.soc2-page .soc2-type-card { background: linear-gradient(145deg, #241433, #120c1d); border: 1px solid var(--bb-line); border-radius: 1rem; padding: 2rem; }
.soc2-page .soc2-type-card h3 { font-size: 1.6rem; letter-spacing: -.03em; margin: 1rem 0; }
.soc2-page .soc2-type-card p { color: #c1b0cd; font-size: .94rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-timing-note { align-items: flex-start; display: flex; gap: 1.2rem; margin-top: 2.2rem; }
.soc2-page .soc2-timing-note > i { color: #cda0f0; flex-shrink: 0; font-size: 2rem; }
.soc2-page .soc2-timing-note h3 { font-size: 1.15rem; line-height: 1.4; margin-bottom: .8rem; }
.soc2-page .soc2-timing-note p { color: #bbabcb; font-size: .92rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-evidence { background: radial-gradient(ellipse at 5% 40%, rgba(105, 42, 153, .17), transparent 60%), #0c0816; }
.soc2-page .soc2-evidence-grid { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.soc2-page .soc2-evidence-grid > div { border-top: 1px solid rgba(185, 125, 234, .28); padding-top: 1.4rem; }
.soc2-page .soc2-evidence-grid h3 { font-size: 1.15rem; line-height: 1.4; margin: 1rem 0 .8rem; }
.soc2-page .soc2-evidence-grid p { color: #bcaccb; font-size: .9rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-case { background: #130b20; border-top: 1px solid var(--bb-line); }
.soc2-page .soc2-case-card { align-items: center; background: linear-gradient(120deg, #26143a, #111022); border: 1px solid rgba(195, 136, 236, .26); border-radius: 1rem; display: grid; gap: 3rem; grid-template-columns: .7fr 2fr; padding: 3rem; }
.soc2-page .soc2-case-logo { height: auto; margin: auto; max-width: 12rem; width: 100%; }
.soc2-page .soc2-case-card h2 { font-size: clamp(1.65rem, 2.5vw, 2.3rem); letter-spacing: -.035em; line-height: 1.2; margin: 1rem 0; }
.soc2-page .soc2-case-card p { color: #c1afce; font-size: .94rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-related { border-top: 1px solid var(--bb-line); display: grid; gap: 2.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 3rem; padding-top: 2.5rem; }
.soc2-page .soc2-related h3 { font-size: 1.3rem; line-height: 1.4; margin-bottom: .8rem; }
.soc2-page .soc2-related p { color: #baabc9; font-size: .91rem; line-height: 1.9; margin: 0; }
.soc2-page .soc2-sources { background: #110b1d; border-top: 1px solid var(--bb-line); }
.soc2-page .soc2-reviewed { color: #aa96bc; font: .68rem/1.8 ui-monospace, monospace; margin-top: 1.6rem; }
.soc2-page .soc2-source-list { list-style: none; margin: 0; padding: 0; }
.soc2-page .soc2-source-list li { border-top: 1px solid var(--bb-line); padding: 1.25rem 0; }
.soc2-page .soc2-source-list li:first-child { border-top: 0; padding-top: 0; }
.soc2-page .soc2-source-list a { color: #dfbdf7; display: flex; font-size: .96rem; gap: 1rem; justify-content: space-between; line-height: 1.7; }
.soc2-page .soc2-source-list li > span { color: #b19fc3; display: block; font-size: .81rem; line-height: 1.8; margin-top: .4rem; }
@media (max-width: 1199.98px) {
    .soc2-page .soc2-visual { padding: 1.4rem; }
    .soc2-page .soc2-visual-heading { font-size: 1.2rem; }
    .soc2-page .soc2-record { padding: 1rem; }
    .soc2-page .soc2-record dd { font-size: .77rem; }
    .soc2-page .soc2-case-card { gap: 2rem; padding: 2.3rem; }
}
@media (max-width: 991.98px) {
    .soc2-page .soc2-visual-heading { font-size: 1.45rem; }
    .soc2-page .soc2-record dd { font-size: .9rem; }
    .soc2-page .soc2-case-card { grid-template-columns: 1fr; }
    .soc2-page .soc2-case-logo { margin-left: 0; max-width: 10rem; }
}
@media (max-width: 575.98px) {
    .soc2-page .bb-hero h1 { font-size: clamp(2.2rem, 10.9vw, 2.8rem); }
    .soc2-page .bb-actions .btn, .soc2-page .bb-cta .btn { font-size: .83rem; max-width: 100%; padding-left: 1.1rem; padding-right: 1.1rem; white-space: normal; }
    .soc2-page .soc2-service-grid, .soc2-page .soc2-mapping-grid, .soc2-page .soc2-type-grid, .soc2-page .soc2-evidence-grid, .soc2-page .soc2-related { grid-template-columns: 1fr; }
    .soc2-page .soc2-service-card, .soc2-page .soc2-type-card, .soc2-page .soc2-case-card { padding: 1.5rem; }
    .soc2-page .soc2-service-card h3 { font-size: 1.35rem; }
    .soc2-page .soc2-visual-heading { font-size: 1.25rem; }
    .soc2-page .soc2-visual-footer { font-size: .44rem; letter-spacing: .02em; }
    .soc2-page .soc2-timing-note { gap: .8rem; }
    .soc2-page .soc2-timing-note > i { font-size: 1.6rem; }
}
