/* Global notices use the existing black, white and blue identity. */
#site-notices{position:relative;z-index:120}
.cookie-notice[hidden]{display:none}
.cookie-notice{position:fixed;z-index:120;inset:auto 24px 24px;max-width:1200px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:25px 30px;background:#111317;border:1px solid #3a424a;box-shadow:0 15px 70px #0008;text-align:left}
.cookie-notice h2{font-size:19px;line-height:1.3;letter-spacing:-.025em;margin:0 0 7px;font-weight:400}
.cookie-notice p{font-size:12px;line-height:1.65;max-width:580px;color:var(--muted);margin:0}
.cookie-notice p a,.notice-policy{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.notice-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;flex-shrink:0}
.cookie-notice .notice-actions{max-width:300px}
.notice-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:46px;border:1px solid #6aafd078;padding:12px 20px;background:transparent;color:var(--text);font:inherit;font-size:12px;line-height:1.4;text-decoration:none;transition:background .25s,border-color .25s,color .25s;cursor:pointer}
.notice-button-accent{background:var(--accent);color:#090a0c;border-color:var(--accent)}
.notice-button:hover{background:#6aafd01c;border-color:var(--accent)}
.notice-button-accent:hover{background:#9bc8de;color:#090a0c}
.notice-button svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;transition:transform .25s}
.notice-button:hover svg{transform:translateX(4px)}
.notice-text-button{border:0;background:transparent;font-size:12px;min-height:44px;padding:8px 0;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.notice-text-button:hover,.notice-close:hover,.footer-cookie:hover{color:var(--accent)}
.notice-dialog{position:fixed;inset:0;width:calc(100% - 40px);max-width:560px;max-height:calc(100dvh - 40px);margin:auto;overflow-y:auto;overscroll-behavior:contain;border:1px solid #3a424a;padding:65px 42px 38px;color:var(--text);background:#111317;box-shadow:0 30px 100px #0008;text-align:left}
.notice-dialog::backdrop{background:#050608bd;backdrop-filter:blur(8px)}
.notice-dialog h2{font-size:clamp(32px,4.5vw,50px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 22px}
.notice-dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.notice-dialog .notice-eyebrow{color:var(--accent);font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:18px}
.notice-close{position:absolute;top:14px;right:20px;display:flex;gap:12px;align-items:center;min-height:44px;border:0;background:none;padding:8px 0;font-size:11px;color:var(--muted)}
.notice-close span{font-size:23px;line-height:1}
.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 0;border-top:1px solid var(--line);font-size:13px}
.cookie-option strong{font-weight:400;color:var(--text)}
.cookie-option p,.cookie-option-description{display:block;margin:5px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.cookie-required{flex-shrink:0;font-size:10px;color:var(--accent)}
.cookie-option input{width:22px;height:22px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
.cookie-preferences .notice-actions{margin-top:18px}
.notice-policy{display:inline-block;margin-top:24px;font-size:11px}
.notice-dialog.promotion-notice{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;overflow:hidden;background:transparent;box-shadow:none}
.promotion-notice[open]{display:grid;place-items:center}
.promotion-panel{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:72px 42px 42px;border:1px solid #3a424a;background:#111317;box-shadow:0 30px 100px #0008}
.promotion-panel h2{font-size:clamp(30px,4vw,40px);line-height:1.15;letter-spacing:-.035em;margin-bottom:22px}
.promotion-panel #promotion-description{font-size:16px;line-height:1.75;margin-bottom:30px;max-width:420px}
.promotion-inline-code{font-weight:500;color:var(--accent);white-space:nowrap;user-select:all}
.promotion-panel .primary-link{min-width:190px}
.promotion-context-cursor{display:none;border:1px solid var(--accent);z-index:2;opacity:0;transition:opacity .16s;will-change:transform}
@media(hover:hover) and (pointer:fine){.promotion-context-cursor{display:grid}.promotion-context-cursor.is-active{opacity:1}.promotion-notice.has-promotion-cursor{cursor:none}.promotion-panel{cursor:auto}}
.footer-cookie{border:0;padding:0;background:none;font:inherit;color:inherit;min-height:44px;white-space:nowrap;text-decoration:underline;text-decoration-color:#6aafd04f;text-underline-offset:4px}
.notice-button:focus-visible,.notice-close:focus-visible,.notice-text-button:focus-visible,.footer-cookie:focus-visible,.cookie-option input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1100px){.site-footer{gap:16px}.site-footer .footer-legal{gap:16px}}
@media(max-width:900px){.cookie-notice{align-items:flex-start;gap:20px}.cookie-notice .notice-actions{max-width:240px}.site-footer .footer-legal{flex-wrap:wrap}}
@media(max-width:600px){
  .cookie-notice{inset:auto 12px max(12px,env(safe-area-inset-bottom));padding:22px;display:block;text-align:center;max-height:70dvh;overflow-y:auto}
  .cookie-notice h2{font-size:18px}.cookie-notice .notice-actions{max-width:none;justify-content:center;margin-top:18px;gap:8px 12px}.cookie-notice .notice-text-button{width:100%;min-height:36px}
  .notice-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:60px 25px 28px}
  .notice-dialog.promotion-notice{padding:12px;text-align:center}.promotion-panel{max-height:calc(100dvh - 24px);padding:66px 25px 30px}.notice-dialog .promotion-panel h2{font-size:32px}.promotion-panel #promotion-description{font-size:15px}.notice-dialog h2{font-size:36px}.cookie-preferences .notice-actions{justify-content:center}.cookie-preferences .notice-button{flex:1;white-space:nowrap;font-size:11px;padding-inline:12px}
  .footer-cookie{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.notice-button,.notice-button svg,.promotion-context-cursor{transition:none}.notice-button:hover svg{transform:none}}
html.motion-reduced .promotion-context-cursor{transition:none}
