/* Guide-only layout, using existing SentraGuard design tokens. */
.followup-record{margin:20px 0 32px;border:1px solid var(--border);background:var(--mist)}
.followup-row{display:grid;grid-template-columns:minmax(140px, 24%) 1fr;gap:20px;padding:17px 22px;align-items:baseline}
.followup-row+.followup-row{border-top:1px solid var(--border)}
.followup-row dt{color:var(--mint);font-size:.8rem;font-weight:700;letter-spacing:.035em}
.followup-row dd{margin:0;line-height:1.55}
.followup-status{display:inline-block;padding:3px 10px;border:1px solid var(--border);background:var(--raised);font-size:.9rem;font-weight:700}
@media(max-width:700px){.followup-row{grid-template-columns:1fr;gap:5px;padding:15px 18px}.followup-row dt{font-size:.8rem}}
.privacy-flow{margin:36px 0;padding:28px;background:var(--mist);border:1px solid var(--border)}
.privacy-flow-kicker{color:var(--mint);font-size:.75rem;font-weight:700;letter-spacing:.12em}
.privacy-flow figcaption h3{margin:10px 0}.privacy-flow figcaption p{margin:0 0 24px}
.privacy-flow-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.guide-body .privacy-flow-steps li{position:relative;margin:0;padding:16px 14px;background:var(--raised);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.privacy-flow-steps li:not(:last-child)::after{content:'→';position:absolute;right:-17px;top:50%;transform:translateY(-50%);color:var(--mint);font-weight:700}
.flow-number{color:var(--mint);font-size:.75rem;font-weight:700;letter-spacing:.08em}
.privacy-flow-steps strong{line-height:1.25}.privacy-flow-steps span:not(.flow-number),.privacy-flow-steps small{font-size:.88rem;line-height:1.5}.privacy-flow-steps small{margin-top:auto}
.privacy-flow-note{font-size:.9rem;line-height:1.5;margin:22px 0 0}
@media(max-width:700px){.privacy-flow{padding:20px}.privacy-flow-steps{grid-template-columns:1fr;gap:20px}.privacy-flow-steps li:not(:last-child)::after{content:'↓';right:auto;left:22px;top:auto;bottom:-22px;transform:none}.privacy-flow-steps small{margin-top:0}}
.guide{max-width:960px}.guide h1{max-width:25ch}.guide-card{margin-top:40px;max-width:800px}.guide-card h2{font-size:var(--s3)}.guide-body{max-width:800px;margin-top:40px}.guide-body h2{margin-top:48px}.guide-body li{margin-bottom:8px}.guide-body blockquote{margin:24px 0;padding:20px 24px;background:var(--mist);border-left:3px solid var(--mint)}.guide-table{overflow-x:auto;border:1px solid var(--border)}.guide-table:focus-visible{outline:2px solid var(--mint);outline-offset:5px}.guide-table table{border-collapse:collapse;min-width:680px;width:100%;font-size:var(--s0)}.guide-table th,.guide-table td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.guide-table th{color:var(--mint)}.guide-back{margin-top:48px}@media(max-width:700px){.guide-body h2{margin-top:36px}.guide-body blockquote{padding:16px}.guide-table table{min-width:0;table-layout:fixed}.guide-table th,.guide-table td{padding:10px 6px;overflow-wrap:anywhere}}

.guide-overview,.guide-next{max-width:800px;margin-top:36px;padding:24px;background:var(--mist);border-left:3px solid var(--mint)}
.guide-overview h2,.guide-next h2{font-size:var(--s3)}
@media(max-width:700px){.guide-table table,.guide-table tbody{display:block;width:100%}.guide-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.guide-table tr{display:block}.guide-table tbody th,.guide-table tbody td{display:block;width:100%;padding:12px 16px;overflow-wrap:break-word}.guide-table tbody th{background:var(--raised)}.guide-table td::before{content:attr(data-label);display:block;color:var(--mint);font-weight:700;margin-bottom:4px}.guide-table tbody td{font-size:1rem}.guide-overview,.guide-next{padding:20px}}

/* PP 33/2026 framework section. Uses existing tokens; no inline styles because CSP style-src is 'self'. */
.pp33{margin:48px 0;padding:28px;background:var(--mist);border:1px solid var(--border)}
.pp33-kicker{color:var(--mint);font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0}
.guide-body .pp33 h2{margin:10px 0 12px;font-size:var(--s3);line-height:1.25;max-width:30ch}
.pp33-lead{margin:0 0 24px;color:var(--slate);max-width:60ch}
.pp33-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 28px}
.pp33-card{padding:18px;background:var(--raised);border:1px solid var(--border);border-top:3px solid var(--mint);display:flex;flex-direction:column;gap:8px}
.pp33-label{color:var(--mint);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0}
.pp33-big{font-family:var(--serif);font-size:var(--s4);font-weight:700;line-height:1.1;margin:0;color:var(--ink)}
.pp33-big small{font-size:.9rem;font-weight:700;color:var(--slate);display:block;margin-top:4px;font-family:var(--sans)}
.pp33-card p:not(.pp33-label):not(.pp33-big){margin:0;font-size:.9rem;line-height:1.5}
.pp33-tag{display:inline-block;align-self:flex-start;padding:3px 10px;border:1px dashed var(--ochre);color:var(--ochre);font-size:.75rem;font-weight:700;letter-spacing:.06em}
.pp33-timeline{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--border)}
.guide-body .pp33-timeline li{position:relative;margin:0;padding:16px 14px 0 0}
.pp33-timeline li::before{content:'';position:absolute;top:-8px;left:0;width:14px;height:14px;background:var(--mint);border-radius:50%}
.pp33-timeline li.is-open::before{background:var(--mist);border:2px dashed var(--ochre)}
.pp33-date{display:block;font-family:var(--serif);font-weight:700;margin-top:6px}
.pp33-timeline span:not(.pp33-date){display:block;font-size:.88rem;line-height:1.5;color:var(--slate)}
.pp33-sub{font-size:var(--s2);margin:0 0 6px}
.pp33-intro{margin:0 0 16px;color:var(--slate);font-size:.95rem}
.pp33-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px}
.pp33-group{background:var(--raised);border:1px solid var(--border);padding:16px 14px}
.pp33-group h4{margin:0 0 4px;font-size:.95rem;line-height:1.3;color:var(--ink)}
.pp33-count{color:var(--mint);font-size:.75rem;font-weight:700;letter-spacing:.08em;display:block;margin-bottom:10px}
.guide-body .pp33-group ul{list-style:none;padding:0;margin:0}
.guide-body .pp33-group li{margin:0 0 8px;padding-left:26px;position:relative;font-size:.88rem;line-height:1.45}
.pp33-group li b{position:absolute;left:0;top:0;color:var(--mint);font-family:var(--serif);font-size:.8rem}
.pp33-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}
.pp33-rule{padding:12px 14px;border:1px solid var(--border);background:var(--paper);font-size:.88rem;line-height:1.45}
.pp33-rule strong{display:block;color:var(--mint);font-size:.75rem;letter-spacing:.08em;margin-bottom:4px}
.pp33-sowhat{margin:0 0 18px;padding:18px 20px;background:var(--paper);border-left:3px solid var(--mint)}
.pp33-sowhat strong{display:block;color:var(--mint);font-size:.75rem;letter-spacing:.1em;margin-bottom:6px}
.pp33-sowhat p{margin:0}
.pp33-source{margin:0;font-size:.8rem;line-height:1.5;color:var(--slate)}
@media(max-width:900px){.pp33-matrix,.pp33-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pp33{padding:20px}.pp33-cards,.pp33-matrix,.pp33-rules{grid-template-columns:1fr}.pp33-timeline{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--border);padding-left:18px}.guide-body .pp33-timeline li{padding:0 0 18px 0}.pp33-timeline li::before{top:2px;left:-27px}}
