/* Robin Robins — cookie consent UI. WCAG 2.1 AA. */
.rr-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.rr-locked{overflow:hidden}

.rr-banner{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#fff;
  border-top:4px solid #CF0910;box-shadow:0 -12px 40px rgba(35,31,32,.22);
  font-family:'Inter Tight',system-ui,sans-serif;color:#333949}
.rr-banner-in{max-width:1180px;margin:0 auto;padding:22px clamp(20px,5vw,44px);
  display:grid;grid-template-columns:1fr auto;gap:clamp(18px,3vw,40px);align-items:center}
.rr-banner h2{font-family:'Archivo',system-ui,sans-serif;font-size:19px;font-weight:800;
  letter-spacing:-.022em;color:#231F20;margin:0 0 6px}
.rr-banner p{margin:0;font-size:15px;line-height:1.55;max-width:62em}
.rr-banner a{color:#CF0910;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rr-banner-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.rr-btn{font-family:'Inter Tight',system-ui,sans-serif;font-size:13.5px;font-weight:700;
  letter-spacing:.04em;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap;
  min-height:44px;transition:background .16s ease,color .16s ease,transform .16s ease}
.rr-primary{background:#CF0910;color:#fff}
.rr-primary:hover{background:#B00810;transform:translateY(-1px)}
.rr-ghost{background:#fff;color:#231F20;box-shadow:inset 0 0 0 2px #231F20}
.rr-ghost:hover{background:#231F20;color:#fff}
.rr-link{background:none;color:#333949;text-decoration:underline;text-underline-offset:3px;padding:14px 10px}
.rr-link:hover{color:#CF0910}
.rr-btn:focus-visible,.rr-close:focus-visible,.rr-switch input:focus-visible + .rr-track{
  outline:3px solid #CF0910;outline-offset:3px}

.rr-modal-wrap{position:fixed;inset:0;z-index:9100;background:rgba(35,31,32,.55);
  display:grid;place-items:center;padding:clamp(16px,4vw,40px);overflow:auto}
.rr-modal{background:#fff;border-radius:18px;max-width:620px;width:100%;
  box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:'Inter Tight',system-ui,sans-serif;color:#333949}
.rr-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 24px;border-bottom:1px solid #E5E8F0}
.rr-modal-head h2{font-family:'Archivo',system-ui,sans-serif;font-size:21px;font-weight:800;
  letter-spacing:-.024em;color:#231F20;margin:0}
.rr-close{background:none;border:0;font-size:30px;line-height:1;color:#6A7082;cursor:pointer;
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.rr-close:hover{background:#EBEEF5;color:#231F20}
.rr-modal-body{padding:6px 24px 4px;max-height:52vh;overflow:auto}
.rr-row{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;
  padding:20px 0;border-bottom:1px solid #E5E8F0}
.rr-row:last-child{border-bottom:0}
.rr-row h3{font-family:'Archivo',system-ui,sans-serif;font-size:16px;font-weight:700;
  color:#231F20;margin:0 0 5px;letter-spacing:-.015em}
.rr-row p{margin:0;font-size:14.5px;line-height:1.5;color:#6A7082}
.rr-switch{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}
.rr-switch.is-locked{cursor:default}
.rr-switch input{position:absolute;opacity:0;width:52px;height:30px;margin:0;cursor:inherit}
.rr-track{width:52px;height:30px;border-radius:999px;background:#C8CDDA;position:relative;
  transition:background .18s ease;display:block}
.rr-track::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;
  background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.3);transition:transform .18s ease}
.rr-switch input:checked + .rr-track{background:#CF0910}
.rr-switch input:checked + .rr-track::after{transform:translateX(22px)}
.rr-switch input:disabled + .rr-track{background:#333949;opacity:.55}
.rr-state{font-size:11.5px;font-weight:600;color:#6A7082;letter-spacing:.04em}
.rr-modal-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
  padding:18px 24px 22px;border-top:1px solid #E5E8F0}

@media(max-width:820px){
  .rr-banner-in{grid-template-columns:1fr}
  .rr-banner-btns{justify-content:stretch}
  .rr-banner-btns .rr-btn{flex:1 1 auto;justify-content:center}
  .rr-row{flex-direction:row}
}
@media (prefers-reduced-motion:reduce){
  .rr-btn,.rr-track,.rr-track::after{transition:none}
}
@media (prefers-contrast:more),(forced-colors:active){
  .rr-banner{border-top-width:6px}
  .rr-track{border:2px solid ButtonText}
}
