/* Cookie choice bar (consent.js): a slim full-width strip at the bottom on every screen size. Self-contained so it
   looks the same on the app, content and legal pages. */
.ffc-cc{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;margin:0;background:#fbfaf6;color:#14211f;border:0;border-top:1px solid #d9d6cb;border-radius:0;box-shadow:0 -6px 22px rgba(12,20,22,.12);font:400 14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;text-align:left;padding-bottom:env(safe-area-inset-bottom,0px)}
.ffc-cc[hidden]{display:none}
.ffc-cc-in{display:flex;align-items:center;gap:20px;max-width:1180px;margin:0 auto;padding:10px 24px;flex-wrap:nowrap}
.ffc-cc-copy{flex:1 1 auto;min-width:0}
.ffc-cc .ffc-cc-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ffc-cc p{margin:0;font-size:14px;line-height:1.45;color:#3b4846}
.ffc-cc a{color:#0a7562;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ffc-cc-btns{display:flex;gap:10px;flex:0 0 auto}
.ffc-cc-btn{width:112px;min-height:44px;padding:10px 14px;border:2px solid #14211f;border-radius:10px;background:#14211f;color:#fff;font:700 15px/1 Inter,system-ui,sans-serif;cursor:pointer;margin:0}
.ffc-cc-btn:hover{background:#0a7562;border-color:#0a7562}
.ffc-cc-btn:focus-visible,.ffc-cc a:focus-visible{outline:3px solid #0e806b;outline-offset:2px}
.ffc-cc-btn[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #fbfaf6}
.ffc-cc-status{flex-basis:100%;font-size:13px!important}
.ffc-cc-status:empty{display:none}
.ffc-cc-in:has(.ffc-cc-status:not(:empty)){flex-wrap:wrap}
.ffc-cc-space{height:0}
/* While the strip is open the page keeps a bottom padding equal to its live height, so nothing ends up hidden under it */
html.ffc-cc-on body{padding-bottom:var(--ffc-cc-pad,0px)!important}
/* While the bar is open, keep windows and sheets clear of it so nothing important sits underneath */
html.ffc-cc-on .modal-backdrop{padding-bottom:var(--ffc-cc-h,20px)}
html.ffc-cc-on dialog:modal{bottom:var(--ffc-cc-h,0px);max-height:calc(100vh - var(--ffc-cc-h,0px) - 16px);max-height:calc(100dvh - var(--ffc-cc-h,0px) - 16px)}
html.ffc-cc-on .qw-backdrop,html.ffc-cc-on .exercise-guide-modal{padding-bottom:var(--ffc-cc-h,20px)}
html.ffc-cc-on .auth-modal{max-height:calc(100vh - var(--ffc-cc-h,0px) - 20px);max-height:calc(100dvh - var(--ffc-cc-h,0px) - 20px)}
[data-cookie-settings]{cursor:pointer}
/* Anchor jumps and keyboard focus scroll things clear of the bar. No scroll anchoring while the bar shows: Chrome saves
   the history scroll anchor inside the scroll-padding area, so Back/Forward to a reloaded page landed one bar height low */
html.ffc-cc-on{scroll-padding-bottom:var(--ffc-cc-h,0px);scroll-padding-top:var(--ffc-cc-th,0px);overflow-anchor:none}
@media print{.ffc-cc,.ffc-cc-space{display:none!important}}
.ffc-cc-open{min-height:44px;padding:10px 18px;border:2px solid #14211f;border-radius:10px;background:#14211f;color:#fff;font:700 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
.ffc-cc-open:hover{background:#0a7562;border-color:#0a7562}
.ffc-cc-open:focus-visible{outline:3px solid #0e806b;outline-offset:2px}
/* Toasts and the sync badge sit above the cookie bar while it is showing, so Undo stays tappable */
html.ffc-cc-on .fd-toast,html.ffc-cc-on .sync-badge{bottom:var(--ffc-cc-h,18px)}
/* When a button in view would be under the bottom strip, the strip moves to the top edge for that moment */
.ffc-cc.ffc-cc-top{bottom:auto;border-top:0;border-bottom:1px solid #d9d6cb;box-shadow:0 6px 22px rgba(12,20,22,.12);padding-bottom:0}
/* Phones and small tablets: text on one row, the two equal buttons side by side underneath */
@media (max-width:700px){
  .ffc-cc-in{flex-wrap:wrap;gap:8px;padding:9px 12px 10px}
  .ffc-cc-copy{flex:1 1 100%}
  .ffc-cc p{font-size:13px;line-height:1.4}
  .ffc-cc-btns{flex:1 1 100%;gap:8px}
  .ffc-cc-btn{flex:1 1 0;width:auto;min-width:0}
}
/* Compact one-line version, only used for a moment when a button would otherwise be under the strip at either edge.
   The full text stays in place for screen readers. */
.ffc-cc-short{display:none}
.ffc-cc.ffc-cc-mini .ffc-cc-in{flex-wrap:nowrap;gap:10px;padding-top:6px;padding-bottom:6px}
.ffc-cc.ffc-cc-mini .ffc-cc-copy{flex:1 1 auto}
.ffc-cc.ffc-cc-mini #ffcCcText{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
.ffc-cc.ffc-cc-mini #ffcCcText a{visibility:hidden}
.ffc-cc.ffc-cc-mini .ffc-cc-short{display:block;font-size:13px;line-height:1.35}
.ffc-cc.ffc-cc-mini .ffc-cc-short a{white-space:normal}
.ffc-cc.ffc-cc-mini .ffc-cc-btns{flex:0 0 auto;gap:8px}
.ffc-cc.ffc-cc-mini .ffc-cc-btn{flex:0 0 auto;width:84px}
/* In the reserved slot above the header (short screens at load only): scrolls with the page */
.ffc-cc.ffc-cc-inslot{position:absolute;bottom:auto;border-top:0;border-bottom:1px solid #d9d6cb;box-shadow:none;padding-bottom:0}
.ffc-cc-slot{display:block;width:100%}
@media print{.ffc-cc-slot{display:none!important}}
/* Tucked below the screen for a moment while a button sits at both edges */
.ffc-cc.ffc-cc-parked{transform:translateY(calc(100% + 24px));pointer-events:none}
.ffc-cc{transition:transform .18s ease-out}
@media (prefers-reduced-motion:reduce){.ffc-cc{transition:none}}
/* Shared tap targets (every page loads this sheet): footer, nav, breadcrumb and in-text links get a hit area at least
   24px tall with space around it. Padding only, so the text looks the same and lines don't move apart much */
@media (max-width:900px),(pointer:coarse){
  footer a,footer .link-button,nav a,.c-crumbs a,.breadcrumb a{display:inline-block;padding-top:6px;padding-bottom:6px}
  :is(p,li,td,dd,aside,small,figcaption) a:not([class]),footer p a,.hp-link,.c-more,.legal-contact a,.legal-footer a,.hp-blog-head a,.link-button{padding-top:5px;padding-bottom:5px}
}
@media (min-width:901px){.desktop-nav a,.c-nav a{padding-top:5px;padding-bottom:5px}}
/* qa-1019: a window opened under a top strip (desktop /join) starts below it instead of underneath it */
html.ffc-cc-on.ffc-cc-attop .modal-backdrop{padding-top:calc(var(--ffc-cc-tb,0px) + 12px)}
html.ffc-cc-on.ffc-cc-attop .auth-modal{max-height:calc(100vh - var(--ffc-cc-tb,0px) - 32px);max-height:calc(100dvh - var(--ffc-cc-tb,0px) - 32px)}
