/* Page-specific styles (consent-manager). Loaded last. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- legal deadline cards ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fact-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;background:var(--white)}
.fact-card .amt{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--brand-text);letter-spacing:-.01em}
.fact-card .amt small{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--slate);margin-left:6px}
.fact-card .org{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 8px;font-weight:600}
.fact-card p{font-size:13.5px;line-height:1.55}

/* ---------- how it works ---------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.flow-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:30px 26px 32px}
.flow-card .num{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--brand-text);font-weight:600;margin-bottom:16px}
.flow-card h3{font-size:19px;margin-bottom:10px}
.flow-card p{font-size:14.5px;margin-bottom:16px}
.flow-card .tag{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:5px 9px;color:var(--ink-soft)}

/* ---------- deep dives ---------- */
.dive h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:16px;letter-spacing:-.01em}
.dive p{margin-bottom:14px}
.dive ul{list-style:none;margin:22px 0 28px}
.dive li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;font-size:15px;color:var(--ink-soft)}
.dive li svg{width:17px;height:17px;flex:none;margin-top:3px}

/* customer profile */
.profile-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.profile-head .av{width:40px;height:40px;border-radius:50%;background:var(--surface-dark);color:#92D04F;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:700;flex:none}
.profile-head .pn{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:15px}
.profile-head .pe{font-family:var(--font-mono);font-size:11px;color:var(--slate)}
.profile-head .pill-ok{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.05em;color:var(--brand-text);background:var(--brand-tint);border-radius:99px;padding:4px 10px;white-space:nowrap}
.srcrow{display:grid;grid-template-columns:128px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.srcrow:last-child{border-bottom:none}
.srcrow .nm{font-weight:600;color:var(--ink-soft)}
.srcrow .nm em{font-style:normal;font-weight:400;color:var(--slate);font-size:12px}
.srcrow .fields{color:var(--slate)}
.srcrow .ts{font-family:var(--font-mono);font-size:11px;color:var(--slate);white-space:nowrap}

/* consent matrix */
.cmatrix-wrap{overflow-x:auto}
.cmatrix{width:100%;border-collapse:collapse;font-size:12.5px}
.cmatrix th,.cmatrix td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:center}
.cmatrix thead th{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-weight:600}
.cmatrix thead th:first-child{text-align:left}
.cmatrix tbody th{text-align:left;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.cmatrix tr.conflict th,.cmatrix tr.conflict td{background:var(--red-tint)}
.cs{display:inline-block;min-width:46px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;border-radius:99px;padding:3px 8px}
.cs.yes{background:var(--green-tint);color:var(--green)}
.cs.no{background:var(--paper);color:var(--slate);border:1px solid var(--line)}
.cs.na{color:var(--slate);opacity:.6}
.cs.warn{background:var(--red-tint);color:var(--red-soft);border:1px solid var(--red-line)}
.alert-row{margin-top:14px;font-size:13px;line-height:1.55;border:1px solid var(--red-line);background:var(--red-tint);border-radius:var(--radius-sm);padding:12px 14px;color:var(--ink-soft)}
.alert-row strong{color:var(--red-soft)}
.alert-row .act{display:block;margin-top:6px;font-family:var(--font-display);font-weight:600;color:var(--brand-text)}

/* rights request tracker */
.req-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:var(--slate);margin-bottom:10px}
.req-meta .due{color:var(--amber);font-weight:600}
.progress{height:8px;border-radius:99px;background:var(--track);overflow:hidden;margin-bottom:12px}
.progress span{display:block;height:100%;background:var(--brand);border-radius:99px}
.reqrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.reqrow:last-child{border-bottom:none}
.reqrow .dot{width:9px;height:9px;border-radius:50%;flex:none}
.reqrow.done .dot{background:var(--green)}
.reqrow.pending .dot{background:var(--amber)}
.reqrow .nm{flex:1;font-size:13.5px;color:var(--ink-soft)}
.reqrow .st{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.05em;border-radius:99px;padding:4px 10px}
.reqrow.done .st{color:var(--green);background:var(--green-tint)}
.reqrow.pending .st{color:var(--amber);background:var(--amber-tint)}

/* ---------- platform links ---------- */
.linkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.link-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:26px 24px;display:flex;flex-direction:column;transition:all .2s ease}
.link-card:hover{border-color:var(--brand-line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}
.link-card h3{font-size:17px;margin-bottom:8px}
.link-card p{font-size:14px;flex:1;margin-bottom:14px}
.link-card span{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--brand-text);display:inline-flex;align-items:center;gap:6px}
.link-card span svg{width:13px;height:13px}

.cta-band h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px}
.cta-band p{font-size:17px;margin-bottom:32px}

@media (max-width:1020px){
  .facts{grid-template-columns:repeat(2,1fr)}
  .flow,.linkgrid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .facts{grid-template-columns:1fr}
  .srcrow{grid-template-columns:1fr auto}
  .srcrow .fields{grid-column:1 / -1;grid-row:2}
}
