:root{
  --cc-navy:#061426;
  --cc-navy-soft:#0d2744;
  --cc-blue:#1977d2;
  --cc-blue-light:#8fc1f4;
  --cc-white:#fff;
  --cc-text:#d9e6f3;
  --cc-line:rgba(255,255,255,.16);
  --cc-shadow:0 28px 90px rgba(0,9,20,.44);
}
.cc-banner[hidden],.cc-backdrop[hidden]{display:none!important}
.cc-banner,.cc-dialog{font-family:"IBM Plex Sans",Arial,sans-serif}
.cc-banner{
  position:fixed;z-index:1200;left:clamp(12px,2vw,28px);right:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:clamp(24px,4vw,58px);align-items:end;
  width:min(1080px,calc(100% - clamp(24px,4vw,56px)));margin-inline:auto;padding:clamp(23px,3.5vw,40px);
  color:var(--cc-white);background:linear-gradient(135deg,rgba(6,20,38,.985),rgba(13,39,68,.985));
  border:1px solid rgba(143,193,244,.3);box-shadow:var(--cc-shadow);isolation:isolate;
  animation:cc-rise .42s cubic-bezier(.2,.75,.25,1) both;
}
.cc-banner:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(25,119,210,.17),transparent 42%);pointer-events:none}
.cc-kicker{display:block;margin:0 0 10px;color:var(--cc-blue-light);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-banner h2,.cc-dialog h2{margin:0;font-family:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1}
.cc-banner h2{font-size:clamp(1.85rem,3.5vw,3rem)}
.cc-banner p{max-width:720px;margin:14px 0 10px;color:var(--cc-text);font-size:.83rem;line-height:1.65}
.cc-banner a,.cc-dialog a{color:var(--cc-blue-light);font-size:.74rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cc-banner__actions{display:grid;gap:9px}
.cc-button{min-height:46px;padding:11px 16px;border:1px solid transparent;border-radius:0;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.cc-button:hover{transform:translateY(-1px)}
.cc-button:active{transform:translateY(0)}
.cc-button:focus-visible,.cc-close:focus-visible,.cc-switch input:focus-visible+span{outline:3px solid #f4b53f;outline-offset:3px}
.cc-button--primary{background:var(--cc-blue);border-color:var(--cc-blue);color:#fff;box-shadow:0 10px 30px rgba(25,119,210,.25)}
.cc-button--primary:hover{background:#2389e7;border-color:#2389e7}
.cc-button--secondary{background:transparent;border-color:rgba(255,255,255,.42);color:#fff}
.cc-button--secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.cc-button--text{min-height:38px;padding-block:7px;background:transparent;color:#b8d4ef;text-decoration:underline;text-underline-offset:3px}
.cc-backdrop{position:fixed;z-index:1250;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,9,20,.76);backdrop-filter:blur(8px);animation:cc-fade .22s ease both}
.cc-dialog{width:min(720px,100%);max-height:min(800px,calc(100vh - 36px));overflow:auto;padding:clamp(23px,4vw,42px);color:#162b42;background:#fff;border:1px solid rgba(25,119,210,.3);box-shadow:var(--cc-shadow);animation:cc-pop .28s cubic-bezier(.2,.75,.25,1) both}
.cc-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid #dce5ee}
.cc-dialog h2{font-size:clamp(2rem,5vw,3.35rem)}
.cc-dialog .cc-kicker{color:#1b639f}
.cc-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #aebdcd;background:#fff;color:#173a61;font:300 1.9rem/1 Arial,sans-serif;cursor:pointer}
.cc-close:hover{border-color:var(--cc-blue);color:var(--cc-blue)}
.cc-dialog__intro{margin:20px 0;color:#526174;font-size:.87rem;line-height:1.65}
.cc-options{display:grid;border-top:1px solid #dce5ee}
.cc-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid #dce5ee}
.cc-option strong{display:block;margin-bottom:5px;color:#112b47;font-size:.9rem}
.cc-option p{margin:0;color:#617083;font-size:.76rem;line-height:1.55}
.cc-option--selectable{cursor:pointer}
.cc-required{padding:7px 9px;background:#e5f5ec;color:#185b39;font-size:.65rem;font-weight:800;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}
.cc-switch{position:relative;display:inline-flex;flex:0 0 auto}
.cc-switch input{position:absolute;width:1px;height:1px;opacity:0}
.cc-switch span{position:relative;display:block;width:54px;height:30px;border-radius:99px;background:#b8c5d2;box-shadow:inset 0 0 0 1px rgba(5,31,57,.12);transition:background-color .2s ease}
.cc-switch span:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.22);transition:transform .2s ease}
.cc-switch input:checked+span{background:var(--cc-blue)}
.cc-switch input:checked+span:after{transform:translateX(24px)}
.cc-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.cc-dialog .cc-button--secondary{border-color:#8fa5bb;color:#173a61}
.cc-dialog .cc-button--secondary:hover{border-color:var(--cc-blue);background:#eef6fd}
.cc-dialog__note{margin:17px 0 0;color:#6d7987;font-size:.7rem;line-height:1.55}
body.cc-modal-open{overflow:hidden}
@keyframes cc-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes cc-fade{from{opacity:0}to{opacity:1}}
@keyframes cc-pop{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .cc-banner{left:8px;right:8px;bottom:8px;width:auto;grid-template-columns:1fr;gap:20px;padding:21px 18px;max-height:calc(100vh - 16px);overflow:auto}
  .cc-banner h2{font-size:2rem}.cc-banner p{font-size:.78rem}
  .cc-banner__actions{grid-template-columns:1fr 1fr}.cc-button--text{grid-column:1/-1}
  .cc-backdrop{padding:8px;align-items:end}
  .cc-dialog{max-height:calc(100vh - 16px);padding:24px 18px}
  .cc-option{gap:14px}.cc-dialog__actions{grid-template-columns:1fr}
}
@media(max-width:430px){.cc-banner__actions{grid-template-columns:1fr}.cc-button--text{grid-column:auto}.cc-option{grid-template-columns:1fr}.cc-required,.cc-switch{justify-self:start}}
@media(prefers-reduced-motion:reduce){.cc-banner,.cc-backdrop,.cc-dialog{animation:none}.cc-button,.cc-switch span,.cc-switch span:after{transition:none}}