/* Scoped controls: independent of each case study's display typography. */
.privacy-banner,.privacy-dialog{font-family:'Helvetica Now Display',Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:#343434;background:#fff;border:1px solid #e5e5e5;border-radius:20px;padding:24px;box-shadow:0 20px 80px #0002;box-sizing:border-box;text-align:left}
.privacy-banner{position:fixed;z-index:10000;bottom:max(16px,env(safe-area-inset-bottom));left:16px;max-width:480px;width:calc(100% - 32px);max-height:80dvh;overflow:auto}
.privacy-banner[hidden]{display:none}
.privacy-banner p,.privacy-dialog p{font:inherit;margin:0 0 12px;color:#626262}
.privacy-banner strong{font-weight:500;color:#282828}
.privacy-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;overflow:auto}
.privacy-dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.privacy-dialog .privacy-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.privacy-dialog h2{font-family:inherit;font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.5px;margin:0;color:#222}
.privacy-dialog .privacy-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;margin:-10px -10px -10px 0;border:0;border-radius:50%;background:transparent;color:#555;font:26px/1 Arial,sans-serif;cursor:pointer}
.privacy-dialog .privacy-close:hover{background:#f3f3f3}
.privacy-dialog .privacy-intro{margin-bottom:24px}
.privacy-dialog .privacy-essential{display:flex;justify-content:space-between;gap:16px;padding:0 0 18px;border-bottom:1px solid #eee;margin-bottom:18px}
.privacy-dialog .privacy-essential strong,.privacy-dialog .privacy-option strong{display:block;font-size:14px;font-weight:500;color:#222;margin-bottom:4px}
.privacy-dialog .privacy-essential p{font-size:13px;margin:0;max-width:265px}
.privacy-dialog .privacy-required{font-size:11px;white-space:nowrap;color:#626262;background:#f3f3f3;border-radius:20px;padding:4px 8px;align-self:flex-start}
.privacy-dialog .privacy-option{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#f7f7f7;border:1px solid #e8e8e8;border-radius:12px;cursor:pointer}
.privacy-dialog .privacy-option input{appearance:auto;flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#343434;cursor:pointer}
.privacy-dialog .privacy-option span{display:block;font-size:13px;line-height:1.55;color:#626262}
.privacy-dialog .privacy-note{font-size:12px;line-height:1.5;margin:14px 0 24px;color:#666}
.privacy-actions{display:flex;flex-wrap:wrap;gap:8px}
.privacy-actions button{flex:1;min-height:44px;padding:10px 14px;border:1px solid #d3d3d3;border-radius:24px;background:#fff;color:#343434;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;cursor:pointer}
.privacy-actions button:hover{background:#f1f1f1}
.privacy-dialog .privacy-actions button[data-choice=save]{background:#292929;border-color:#292929;color:#fff}
.privacy-dialog .privacy-actions button[data-choice=save]:hover{background:#454545}
.privacy-banner a,.privacy-dialog a{color:#555;text-decoration:underline;text-underline-offset:3px}
.privacy-dialog .privacy-policy{margin:18px 0 0;font-size:12px;text-align:center}
.privacy-actions button:focus-visible,.privacy-dialog :is(input,button,a):focus-visible,[data-privacy-settings]:focus-visible{outline:2px solid #1263a8;outline-offset:4px}
[data-privacy-settings]{cursor:pointer}
@media(max-width:360px){.privacy-dialog,.privacy-banner{padding:20px}.privacy-dialog .privacy-actions{flex-direction:column}.privacy-dialog h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.privacy-dialog::backdrop{backdrop-filter:none}}
