/* Cookie controls follow presence.css: charcoal surfaces, quiet borders, orange accents. */
.cookie-banner[hidden], [data-cookie-settings][hidden], [data-external-video-gate][hidden], [data-external-video-close][hidden] { display:none !important; }
.cookie-banner {
  position:fixed; z-index:1000; inset:auto 20px 20px auto;
  display:block; width:400px; max-width:calc(100% - 40px);
  margin:0; padding:20px; max-height:calc(100dvh - 40px); overflow-y:auto;
  background:var(--bg-raise); color:var(--text); border:1px solid var(--line-strong); border-radius:10px;
  box-shadow:0 14px 60px #0006; font-family:var(--font);
}
.cookie-copy { flex:1; min-width:0; }
.cookie-banner h2 { margin:0 0 8px; font-size:15px; font-weight:600; line-height:1.4; letter-spacing:-.015em; }
.cookie-banner p { max-width:64ch; margin:0; color:var(--dim); font-size:13px; line-height:1.75; }
:is(.cookie-banner,.cookie-dialog) a { color:var(--text); text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:4px; white-space:nowrap; }
:is(.cookie-banner,.cookie-dialog) a:hover { color:var(--orange-hi); text-decoration-color:currentColor; }
.cookie-links { display:flex; align-items:center; gap:18px; margin-top:10px; font-size:12px; line-height:1.5; }
.cookie-links button { border:0; padding:0; background:none; color:var(--dim); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--line-strong); }
.cookie-links button:hover { color:var(--orange-hi); }
.cookie-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.marketing-page .cookie-actions .btn { padding:9px 12px; min-width:0; min-height:40px; font-size:13px; background:#ffffff04; }
.marketing-page .cookie-actions .btn:hover { color:#fff; border-color:var(--orange-hi); background:#ffffff0a; }
.marketing-page .cookie-actions .btn-primary { color:#1b1005; background:var(--orange); border-color:var(--orange); }
.marketing-page .cookie-actions .btn-primary:hover { color:#1b1005; background:var(--orange-hi); border-color:var(--orange-hi); }
.cookie-dialog {
  position:fixed; inset:0; margin:auto; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 48px);
  overflow:auto; overscroll-behavior:contain; padding:28px;
  border:1px solid var(--line-strong); border-radius:12px; background:var(--bg-raise); color:var(--text);
  font-family:var(--font); box-shadow:0 24px 100px #0009;
}
.cookie-dialog::backdrop { background:#090c11b8; backdrop-filter:blur(5px); }
.cookie-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.cookie-dialog h2 { font-size:22px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.cookie-dialog p { margin:0; font-size:14px; line-height:1.75; color:var(--dim); }
.cookie-close { display:grid; place-content:center; flex-shrink:0; width:36px; height:36px; margin:-6px -8px -6px 0; border:0; border-radius:6px; background:transparent; color:var(--dim); font:400 26px/1 var(--font); cursor:pointer; }
.cookie-close:hover { background:#ffffff0a; color:var(--text); }
.cookie-category { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.cookie-category-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:8px; font-size:15px; line-height:1.5; font-weight:550; }
.cookie-category-heading h3 { font:inherit; }
.cookie-category label { cursor:pointer; }
.cookie-always { color:var(--dim-2); font-size:12px; font-weight:400; }
.cookie-switch { position:relative; display:inline-flex; width:42px; height:24px; flex-shrink:0; }
.cookie-switch input { position:absolute; inset:0; margin:0; opacity:0; width:100%; height:100%; z-index:1; cursor:pointer; }
.cookie-switch-track { width:42px; height:24px; border:1px solid var(--line-strong); border-radius:16px; background:#ffffff0d; transition:background-color 160ms ease; }
.cookie-switch-track::after { content:''; display:block; width:16px; height:16px; border-radius:50%; background:#abb4bf; transform:translate(3px,3px); transition:transform 160ms ease,background-color 160ms ease; }
.cookie-switch input:checked + .cookie-switch-track { background:var(--orange); border-color:var(--orange); }
.cookie-switch input:checked + .cookie-switch-track::after { background:#1b1005; transform:translate(21px,3px); }
.cookie-switch input:focus-visible + .cookie-switch-track { outline:2px solid var(--orange-hi); outline-offset:4px; }
.cookie-dialog-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line); font-size:13px; }
[data-cookie-settings] { border:0; padding:0; background:none; color:inherit; font:inherit; text-align:start; cursor:pointer; }
[data-cookie-settings]:hover { color:var(--orange-hi); }
.external-video-notice { font-size:13px; line-height:1.6; color:var(--dim); }
.external-video-gate { display:grid; place-content:center; gap:16px; padding:24px; text-align:center; background:var(--bg-raise); }
.external-video-gate button, [data-external-video-close] { justify-self:center; min-height:44px; padding:10px 20px; border:1px solid var(--line-strong); border-radius:6px; background:#ffffff07; color:var(--text); font:inherit; font-size:14px; cursor:pointer; }
.external-video-gate p { max-width:52ch; margin:0; }
.explainer-video .external-video-gate { position:absolute; inset:0; width:100%; height:100%; overflow:auto; }
[data-external-video-close] { margin-top:10px; }
@media (max-width:600px) {
  .cookie-banner { inset:auto 12px 12px auto; max-width:calc(100% - 24px); padding:18px; max-height:calc(100dvh - 24px); }
  .marketing-page .cookie-actions .btn { padding:9px 8px; }
  .cookie-dialog { padding:22px; max-height:calc(100dvh - 24px); }
  .cookie-dialog-footer { gap:14px; }
  .external-video-gate { padding:14px; gap:10px; }
  .external-video-gate p { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .cookie-switch-track,.cookie-switch-track::after { transition:none; } }
