/* Doom Scroll — the cookie bar (Europe only, see consent.js) and the privacy line in the footer.
   The bar is the site's own dark glass, like the sound control: small, in a corner, never modal. */
.ds-consent{position:fixed;z-index:70;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));
  box-sizing:border-box;width:min(360px,calc(100vw - 32px));margin:0;padding:18px 20px 16px;
  color:#eee3ca;background:rgba(9,13,12,.86);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);
  border:1px solid rgba(238,227,202,.14);border-radius:2px;box-shadow:0 18px 50px -24px rgba(0,0,0,.7);
  opacity:0;transform:translateY(10px);transition:opacity 700ms cubic-bezier(.22,.61,.36,1),transform 700ms cubic-bezier(.22,.61,.36,1)}
.ds-consent.is-in{opacity:1;transform:none}
.ds-consent[hidden]{display:none}
.ds-consent-ask{margin:0 0 14px;font:400 15px/1.45 var(--lab-text,var(--serif,Georgia,'Times New Roman',serif));letter-spacing:-.005em;text-wrap:pretty}
.ds-consent-actions{display:flex;align-items:center;gap:8px}
/* Allow and No thanks carry the same weight: same size, same line, same color. */
.ds-consent button{all:unset;box-sizing:border-box;cursor:pointer;min-width:96px;min-height:40px;padding:13px 14px 12px;text-align:center;
  font:10px/1 var(--lab-ui,var(--sans,'Helvetica Neue',Helvetica,Arial,sans-serif));letter-spacing:.16em;text-transform:uppercase;
  color:#eee3ca;border:1px solid rgba(238,227,202,.3);border-radius:2px;transition:border-color 300ms ease,background-color 300ms ease}
.ds-consent button:hover{border-color:rgba(238,227,202,.62);background:rgba(238,227,202,.06)}
.ds-consent button:active{background:rgba(238,227,202,.1)}
.ds-consent button:focus-visible,.ds-consent-note:focus-visible{outline:1px solid #eee3ca;outline-offset:3px}
.ds-consent-note{margin-left:auto;padding:6px 0;font:11px/1.4 var(--lab-ui,var(--sans,'Helvetica Neue',Helvetica,Arial,sans-serif));letter-spacing:.02em;
  color:rgba(238,227,202,.66);text-decoration:underline;text-decoration-color:rgba(238,227,202,.3);text-underline-offset:3px;transition:color 300ms ease}
.ds-consent-note:hover{color:#eee3ca}
/* The note's hit area reaches 44px; the text and its focus ring keep their size. */
.ds-consent-note{position:relative}.ds-consent-note::before{content:'';position:absolute;inset:-9px -6px}

/* On a light page (linen, paper) the same bar is a paper card with ink. */
.ds-consent.is-light{color:#292920;background:rgba(244,238,226,.95);border-color:rgba(41,41,32,.12);box-shadow:0 1px 0 rgba(29,26,22,.04),0 22px 44px -28px rgba(58,34,16,.42)}
.ds-consent.is-light button{color:#292920;border-color:rgba(41,41,32,.3)}
.ds-consent.is-light button:hover{border-color:rgba(41,41,32,.6);background:rgba(41,41,32,.04)}
.ds-consent.is-light button:active{background:rgba(41,41,32,.08)}
.ds-consent.is-light button:focus-visible,.ds-consent.is-light .ds-consent-note:focus-visible{outline-color:#292920}
.ds-consent.is-light .ds-consent-note{color:rgba(41,41,32,.64);text-decoration-color:rgba(41,41,32,.3)}
.ds-consent.is-light .ds-consent-note:hover{color:#292920}

/* Phones: full-width buttons, and clear of the lab's own controls in the other corner. */
@media (max-width:560px){
  .ds-consent{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));padding:16px 16px 14px}
  .ds-consent button{flex:1 1 0;min-width:0;min-height:44px}
  body:has(.lab-present) .ds-consent,body:has(.lab-bar:not([hidden])) .ds-consent{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 56px)}
}
/* Narrow phones: the privacy note takes its own line, so "No thanks" stays on one. */
@media (max-width:400px){
  .ds-consent-actions{flex-wrap:wrap}
  .ds-consent button{flex:1 1 calc(50% - 4px);white-space:nowrap}
  .ds-consent-note{flex:1 1 100%;margin:0;padding:10px 0 2px;text-align:center}
}

/* While the bar is up the footer takes its height as extra room, so nothing ends up under it. */
html.ds-consent-open body footer{padding-bottom:calc(46px + var(--ds-consent-space,0px))}

/* The privacy line closes the footer, in small print. */
footer:has(> .privacy-note){flex-wrap:wrap}
footer .privacy-note{flex-basis:100%;margin:0;font:11px/1.6 var(--lab-ui,var(--sans,'Helvetica Neue',Helvetica,Arial,sans-serif));letter-spacing:.02em;
  text-transform:none;color:color-mix(in srgb,currentColor 74%,transparent)}
footer .privacy-label{margin-right:.7em;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
footer .privacy-note:focus{outline:none}
