/* Ingage animated cookie banner — styles for HubSpot's cookie consent banner.
   Pair with cookie-banner.js. Requires the HubSpot embed code with the cookie banner enabled. */
html body div#hs-eu-cookie-confirmation{--swell-green:#2AD4C0;--accent-hover:#25bfad;--whale-gray:#232329;--metro-white:#FAFAF7;--font-sans:"Calibre",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}

/* ===== HubSpot cookie banner (portal 6473060) =====
   Extra-specific selectors so these win over HubSpot's injected portal styles. */
html body div#hs-eu-cookie-confirmation{position:fixed !important;left:24px !important;right:auto !important;bottom:24px !important;top:auto !important;width:min(380px,calc(100vw - 32px)) !important;max-width:none !important;background:var(--whale-gray) !important;border:0 !important;outline:0 !important;border-radius:14px !important;box-shadow:0 24px 60px -12px rgba(0,0,0,.45) !important;font-family:var(--font-sans) !important;color:var(--metro-white) !important;z-index:2147483000 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{position:relative !important;background:transparent !important;border:0 !important;padding:16px 16px 14px 64px !important;max-width:none !important;color:inherit !important;font-family:inherit !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner::before{content:"" !important;position:absolute !important;left:16px !important;top:16px !important;width:34px !important;height:34px !important;display:block !important;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'><path d='M17 2a15 15 0 1 0 15 15 5 5 0 0 1-5-5 5 5 0 0 1-5-5 5 5 0 0 1-5-5z' fill='%232AD4C0'/><circle cx='11' cy='13' r='2.2' fill='%23232329'/><circle cx='19' cy='21' r='2.2' fill='%23232329'/><circle cx='10' cy='23' r='1.6' fill='%23232329'/><circle cx='24' cy='26' r='1.6' fill='%23232329'/><circle cx='16' cy='14' r='1.2' fill='%23232329'/></svg>") center/contain no-repeat !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-eu-policy-wording{font-size:13px !important;line-height:1.4 !important;font-weight:500 !important;color:var(--metro-white) !important;margin:0 0 6px !important;font-family:inherit !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p#hs-eu-cookie-disclaimer{font-size:11.5px !important;line-height:1.4 !important;color:rgba(255,255,255,.6) !important;margin:0 0 12px !important;font-family:inherit !important;text-align:left !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a:not([role=button]){color:var(--swell-green) !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{display:block !important;margin:0 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group{display:flex !important;flex-direction:row-reverse !important;gap:10px !important;margin:0 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-confirmation-button,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-decline-button{display:inline-flex !important;align-items:center !important;justify-content:center !important;flex:1 !important;height:36px !important;padding:0 14px !important;margin:0 !important;border:0 !important;outline:0 !important;border-radius:6px !important;box-shadow:none !important;font-family:var(--font-sans) !important;font-size:14px !important;line-height:1 !important;text-decoration:none !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-confirmation-button{background:var(--swell-green) !important;color:#000 !important;font-weight:800 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-confirmation-button:hover{background:var(--accent-hover) !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-decline-button{background:#4A4A52 !important;color:#fff !important;font-weight:600 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-decline-button:hover{background:#5A5A63 !important}
@media (max-width:520px){html body div#hs-eu-cookie-confirmation{left:16px !important;bottom:16px !important}}

/* Cookie banner: wider + bottom-right */
html body div#hs-eu-cookie-confirmation{left:auto !important;right:24px !important;width:min(520px,calc(100vw - 32px)) !important}
@media (max-width:520px){html body div#hs-eu-cookie-confirmation{right:16px !important;left:16px !important;width:auto !important}}



/* ===== Cookie banner v4: low + wide bar, Learn more, eaten-cookie animation ===== */
html body div#hs-eu-cookie-confirmation{left:16px !important;right:16px !important;bottom:16px !important;width:auto !important;max-width:1200px !important;margin:0 auto !important;border-radius:12px !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto !important;column-gap:16px !important;align-items:center !important;padding:12px 14px 12px 16px !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner::before{content:none !important;display:none !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck{grid-column:1;grid-row:1/span 2;position:relative;width:34px;height:34px;cursor:pointer;align-self:center}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-svg{width:34px;height:34px;display:block;overflow:visible}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-bite{transform-box:fill-box;transform-origin:center;transform:scale(0)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-bite{animation:ck-bite .14s ease-out forwards;animation-delay:var(--d)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-svg{animation:ck-chomp .12s ease-in-out 6 alternate}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-crumb{position:absolute;left:var(--sx);top:var(--sy);width:var(--s,3px);height:var(--s,3px);border-radius:1px;background:var(--c,#2AD4C0);opacity:0;pointer-events:none}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-crumb{animation:ck-crumb .7s cubic-bezier(.3,.6,.6,1) forwards;animation-delay:var(--d)}
@keyframes ck-bite{to{transform:scale(1)}}
@keyframes ck-chomp{from{transform:rotate(-6deg) scale(1)}to{transform:rotate(6deg) scale(.94)}}
@keyframes ck-crumb{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-eu-policy-wording{grid-column:2 !important;grid-row:1 !important;margin:0 !important;font-size:13px !important;line-height:1.4 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-more{appearance:none;background:none;border:0;padding:0;margin-left:6px;font:inherit;font-weight:700;color:var(--swell-green);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p#hs-eu-cookie-disclaimer{grid-column:2 !important;grid-row:2 !important;display:none !important;margin:6px 0 0 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner.ck-open p#hs-eu-cookie-disclaimer{display:block !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{grid-column:3 !important;grid-row:1/span 2 !important;margin:0 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group{flex-wrap:nowrap !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-confirmation-button,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-decline-button{flex:0 0 auto !important;padding:0 20px !important;white-space:nowrap !important}
@media (max-width:720px){
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{grid-template-columns:auto minmax(0,1fr) !important;row-gap:10px !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{grid-column:1/-1 !important;grid-row:3 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-confirmation-button,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area div#hs-eu-cookie-confirmation-button-group a#hs-eu-decline-button{flex:1 !important}
}
@media (prefers-reduced-motion:reduce){html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-bite,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-svg,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-crumb{animation-duration:.01ms !important}}

/* ===== Cookie banner v5: headline + intro animation (slide up, then one bite) ===== */
html body div#hs-eu-cookie-confirmation.ck-intro{animation:ck-in .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes ck-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck{grid-row:1/span 3 !important;width:40px !important;height:40px !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-svg{width:40px !important;height:40px !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-bite0{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .16s ease-out}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.bitten .ck-bite0{transform:scale(1)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.nibble .ck-svg{animation:ck-chomp .1s ease-in-out 2 alternate}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck .ck-crumb{animation:ck-crumb .7s cubic-bezier(.3,.6,.6,1) forwards;animation-delay:var(--d)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-title{grid-column:2;grid-row:1;font-size:15px;font-weight:700;line-height:1.2;color:var(--metro-white);margin:0 0 2px;letter-spacing:-.005em}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-eu-policy-wording{grid-row:2 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p#hs-eu-cookie-disclaimer{grid-row:3 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{grid-row:1/span 3 !important}
@media (max-width:720px){html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{grid-row:4 !important}}
@media (prefers-reduced-motion:reduce){html body div#hs-eu-cookie-confirmation.ck-intro{animation:none}html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck .ck-crumb{animation-duration:.01ms !important}}

/* Cookie banner v6: translucent frosted background */
html body div#hs-eu-cookie-confirmation{background:rgba(35,35,41,.72) !important;-webkit-backdrop-filter:blur(18px) saturate(140%) !important;backdrop-filter:blur(18px) saturate(140%) !important;border:1px solid rgba(255,255,255,.08) !important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html body div#hs-eu-cookie-confirmation{background:rgba(35,35,41,.96) !important}}

html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-more{text-decoration:none !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-more:hover{opacity:.85}

/* Cookie banner v7: scroll snacking */
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck .ck-bite{transition:transform .16s ease-out}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck .ck-bite.on{transform:scale(1)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.refill .ck-svg{animation:ck-refill .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes ck-refill{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}

/* Cookie banner v8: subtle scroll-linked nibbles (half cookie at page bottom) */
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-snack{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .18s ease-out}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-snack.on{transform:scale(1)}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.nibble .ck-svg{animation:ck-nib .09s ease-in-out 2 alternate}
@keyframes ck-nib{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg) scale(.97)}}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck .ck-crumb{animation-duration:.55s}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck{cursor:default}

/* Cookie banner v9: "Cookie policy" title w/ Learn more; wording clamped to one line until opened */
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-title{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-title .ck-more{font-size:13px;font-weight:600;margin-left:8px}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner:not(.ck-open) div#hs-eu-policy-wording{display:-webkit-box !important;-webkit-box-orient:vertical !important;-webkit-line-clamp:1 !important;overflow:hidden !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner:not(.ck-open) div#hs-eu-policy-wording p{display:inline !important;margin:0 !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner:not(.ck-open) div#hs-eu-policy-wording p + p::before{content:" "}

/* Cookie banner v10: Learn more on the second line */
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-line{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:8px;min-width:0}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-line div#hs-eu-policy-wording{flex:1 1 auto;min-width:0}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner:not(.ck-open) .ck-line div#hs-eu-policy-wording{display:block !important;-webkit-line-clamp:unset !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck-line .ck-more{flex:0 0 auto;margin-left:0;font-size:13px;font-weight:700}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner.ck-open .ck-line{display:block}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner.ck-open .ck-line .ck-more{margin-top:4px}

/* Cookie banner v11: bigger wobble */
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.nibble .ck-svg{animation:ck-nib2 .32s cubic-bezier(.3,1.4,.5,1)}
@keyframes ck-nib2{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-9deg) scale(.92)}45%{transform:rotate(7deg) scale(1.04)}70%{transform:rotate(-4deg) scale(.98)}100%{transform:rotate(0) scale(1)}}
html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-svg{animation:ck-chomp2 .14s ease-in-out 6 alternate}
@keyframes ck-chomp2{from{transform:rotate(-10deg) scale(1.02)}to{transform:rotate(10deg) scale(.9)}}
@media (prefers-reduced-motion:reduce){html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.nibble .ck-svg,html body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner .ck.eating .ck-svg{animation:none !important}}
