.elementor-5289 .elementor-element.elementor-element-a75b9f2{--display:flex;--position:fixed;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:40px;--padding-bottom:40px;--padding-left:112px;--padding-right:112px;top:0px;--z-index:99;}body:not(.rtl) .elementor-5289 .elementor-element.elementor-element-a75b9f2{left:0px;}body.rtl .elementor-5289 .elementor-element.elementor-element-a75b9f2{right:0px;}.elementor-5289 .elementor-element.elementor-element-2442a63.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5289 .elementor-element.elementor-element-df9411c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button{background-color:var( --e-global-color-ad507b6 );font-family:var( --e-global-typography-4e37e95-font-family ), Sans-serif;font-size:var( --e-global-typography-4e37e95-font-size );font-weight:var( --e-global-typography-4e37e95-font-weight );line-height:var( --e-global-typography-4e37e95-line-height );letter-spacing:var( --e-global-typography-4e37e95-letter-spacing );fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-ad507b6 );border-radius:999px 999px 999px 999px;padding:12px 26px 12px 26px;}.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button:hover, .elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button:focus{background-color:var( --e-global-color-15496cd );color:var( --e-global-color-primary );border-color:var( --e-global-color-15496cd );}.elementor-5289 .elementor-element.elementor-element-c7a1b3e{width:auto;max-width:auto;}.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button:hover svg, .elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-5289 .elementor-element.elementor-element-a75b9f2{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:32px;--padding-left:40px;--padding-right:40px;}.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button{font-size:var( --e-global-typography-4e37e95-font-size );line-height:var( --e-global-typography-4e37e95-line-height );letter-spacing:var( --e-global-typography-4e37e95-letter-spacing );}}@media(max-width:767px){.elementor-5289 .elementor-element.elementor-element-a75b9f2{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--flex-wrap:nowrap;--padding-top:32px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-5289 .elementor-element.elementor-element-df9411c{--width:auto;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-5289 .elementor-element.elementor-element-df9411c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button{font-size:var( --e-global-typography-4e37e95-font-size );line-height:var( --e-global-typography-4e37e95-line-height );letter-spacing:var( --e-global-typography-4e37e95-letter-spacing );padding:9px 16px 9px 16px;}}@media(min-width:768px){.elementor-5289 .elementor-element.elementor-element-df9411c{--width:auto;}}@media(max-width:1024px) and (min-width:768px){.elementor-5289 .elementor-element.elementor-element-df9411c{--width:auto;}}/* Start custom CSS for button, class: .elementor-element-c7a1b3e *//* Fixed line-height so the pill is exactly 48px tall (12+22+12 plus 1px borders) and 40px on mobile (9+20+9+2), whatever the fluid font size does. The nav overlay's header row is held at the same 48/40, so the wordmark sits in the same place with the menu open or closed. 22 Sep 2026. */
.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button{line-height:22px;}
@media(max-width:767px){.elementor-5289 .elementor-element.elementor-element-c7a1b3e .elementor-button{line-height:20px;}}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-81423c9 *//* Burger to X. The three bars morph while body.crush-menu-open is set (script in the widget HTML, on Elementor's popup show/hide events); the overlay's close mark (5260 ae4aab0) runs the same morph in step, so the bars appear to carry through the fade. 22 Sep 2026. */
.elementor-5289 .elementor-element.elementor-element-81423c9 i{background:var(--crush-ink,#EDEFF1);}
.elementor-5289 .elementor-element.elementor-element-81423c9 i{display:block;width:36px;height:2px;transform-origin:50% 50%;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .15s ease;}
body.crush-menu-open .elementor-5289 .elementor-element.elementor-element-81423c9 i:nth-child(1){transform:translateY(8px) rotate(45deg);}
body.crush-menu-open .elementor-5289 .elementor-element.elementor-element-81423c9 i:nth-child(2){opacity:0;transform:scaleX(0);}
body.crush-menu-open .elementor-5289 .elementor-element.elementor-element-81423c9 i:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
@media(prefers-reduced-motion:reduce){.elementor-5289 .elementor-element.elementor-element-81423c9 i{transition:none;}}/* End custom CSS */
/* Start custom CSS *//* Crushing site header (2026). Ink: light by default, dark on the light-ground pages (journal posts; the legal pages went to the black ground 25 Sep 2026). To switch a page, add its body class to the second rule. */
body { --crush-ink: #EDEFF1; }
body.single-post { --crush-ink: #0E0C0A; } /* case studies went to the black ground 22 Sep 2026, so they take the default light ink */
/* A case study with a dark hero: Header ink = Light on the case study (mu-plugin crushing-header-ink.php), 16 Sep 2026. */
body.single-case_study.crush-ink-light { --crush-ink: #EDEFF1; }
.crush-ink .elementor-heading-title, .crush-ink .elementor-heading-title a { color: var(--crush-ink); }
/* The theme's own header and footer stay hidden; every new page carries its own footer. */
body > header.site-header, body > footer.site-footer, footer.site-footer { display: none !important; }
/* Wordmark sizes per Figma: 150 desktop, 130 tablet, 110 mobile. */
@media (max-width:1024px){ .elementor-element-2442a63 span{ width:130px !important; } }
@media (max-width:767px){ .elementor-element-2442a63 span{ width:110px !important; } }
/* Site content width: boxed sections cap at 1696px (1920 screen minus 112px margins). Sections with their own width keep it. */
body { --container-max-width: 1696px; }
/* Keep the scrollbar gutter when the Nav overlay locks scrolling, so the burger and the overlay close button sit on the same x (15 Sep 2026). */
html{scrollbar-gutter:stable;}
/* Logged-in only: drop the Nav overlay below the admin bar so it lines up with the header while reviewing. */
body.admin-bar .elementor-popup-modal{top:32px;height:calc(100% - 32px);}

/* The header is fixed, and its ink follows the section under it (18 Sep 2026).
   The switching is done by crushing-header-ink-auto.php, which sets --crush-ink on this
   container to #EDEFF1 or #0E0C0A, whichever has the higher contrast ratio against the
   ground it is over. The wordmark, Work, Studio and the burger bars all read --crush-ink,
   so nothing else needs to know.
   The mix-blend-mode:difference version that sat here earlier today is gone: difference on
   a saturated ground is a hue flip, not a light/dark flip, so it went green over the violet
   hero and cyan over the heat orange band.
   The --crush-ink rules above stay as the no-JS fallback, and are what the header shows
   before the observer's first callback. */
.elementor-element.elementor-element-a75b9f2 svg path,
.elementor-element.elementor-element-a75b9f2 .elementor-heading-title,
.elementor-element.elementor-element-a75b9f2 .elementor-heading-title a{
  transition: fill .25s ease, color .25s ease;
}
.elementor-element.elementor-element-a75b9f2 button i{
  transition: background-color .25s ease;
}

/* Cookie banner, 15 Sep 2026 */
/* Crushing Creative: Complianz cookie banner on the design system.
   Written 15 Sep 2026. Applied through Elementor > Site Settings > Custom CSS (kit 3187).
   Targets Complianz 7.5.5, banner 1, bottom-right box, "View preferences" categories,
   slider toggles. Selectors come from the plugin's own markup and CSS:
   cookiebanner/templates/cookiebanner.php, cookiebanner/css/cookiebanner.css,
   cookiebanner/css/positions/bottom-right.css and the generated
   uploads/complianz/css/banner-1-optin.css, which sets the --cmplz_* variables on :root.
   Those variables are re-declared here on the banner itself, then the layout and type
   are set directly. !important is used where the generated file would otherwise win.
   Colours: ground #0E0C0A, light #EDEFF1, grey 1 #484747, hairline #8C8782, grey 5 #BDBDB6,
   straw #C8A02E. Type: Instrument Sans; Geist Mono 600 for the one label. Buttons match the
   enquiry form: pill, Instrument Sans 600 15px, 14px 28px padding, Accept and Deny identical. */

/* 1. Variables, re-declared on the banner and the manage-consent tab */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent .cmplz-manage-consent {
  --cmplz_banner_width: 440px !important;
  --cmplz_banner_background_color: #0E0C0A !important;
  --cmplz_banner_border_color: #8C8782 !important;
  --cmplz_banner_border_width: 1px !important;
  --cmplz_banner_border_radius: 0 !important;
  --cmplz_banner_margin: 12px !important;
  --cmplz_text_color: #EDEFF1 !important;
  --cmplz_hyperlink_color: #C8A02E !important;
  --cmplz_title_font_size: 17px !important;
  --cmplz_text_font_size: 14px !important;
  --cmplz_text_line_height: 1.42 !important;
  --cmplz_link_font_size: 14px !important;
  --cmplz_category_body_font_size: 13px !important;
  --cmplz_category_header_title_font_size: 14px !important;
  --cmplz_category_header_active_font_size: 11px !important;
  --cmplz_category_header_always_active_color: #BDBDB6 !important;
  --cmplz_button_font_size: 15px !important;
  --cmplz_button_border_radius: 999px !important;
  --cmplz_button_accept_background_color: #EDEFF1 !important;
  --cmplz_button_accept_border_color: #EDEFF1 !important;
  --cmplz_button_accept_text_color: #0E0C0A !important;
  --cmplz_button_deny_background_color: #EDEFF1 !important;
  --cmplz_button_deny_border_color: #EDEFF1 !important;
  --cmplz_button_deny_text_color: #0E0C0A !important;
  --cmplz_button_settings_background_color: #EDEFF1 !important;
  --cmplz_button_settings_border_color: #EDEFF1 !important;
  --cmplz_button_settings_text_color: #0E0C0A !important;
  --cmplz_slider_active_color: #C8A02E !important;
  --cmplz_slider_inactive_color: #484747 !important;
  --cmplz_slider_bullet_color: #EDEFF1 !important;
  --cmplz-manage-consent-height: 40px !important;
  --cmplz-manage-consent-offset: -20px !important;
}

/* 2. The box */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  font-family: var(--e-global-typography-23eaad6-font-family), sans-serif;
  background: #0E0C0A !important;
  color: #EDEFF1 !important;
  border: 1px solid #8C8782 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 28px !important;
  grid-gap: 16px !important;
  gap: 16px !important;
  width: min(440px, calc(100vw - 2 * clamp(20px, 1.9vw, 48px))) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 2 * clamp(20px, 1.9vw, 48px)) !important;
  right: clamp(20px, 1.9vw, 48px) !important;
  bottom: clamp(20px, 1.9vw, 48px) !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:hover {
  box-shadow: none !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider {
  display: none !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
  min-width: 0 !important;
  max-height: 60vh !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb {
  background-color: #484747 !important;
  border-radius: 0 !important;
}
/* bottom-right.css sets the message and category width from the banner width on desktop;
   let them fill the padded box instead */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
  width: 100% !important;
  max-width: 100% !important;
}

/* 3. Header: title left, close right, no logo */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  grid-template-columns: 1fr auto !important;
  align-items: start !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo {
  display: none !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  grid-column-start: 1 !important;
  justify-self: start !important;
  font-family: inherit !important;
  font-size: var(--e-global-typography-4e37e95-font-size) !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
  color: #EDEFF1 !important;
  margin: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
  grid-column-start: 2 !important;
  justify-self: end !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  font-size: var(--e-global-typography-23eaad6-font-size) !important;
  color: #BDBDB6 !important;
  margin-top: 1px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible {
  color: #EDEFF1 !important;
  font-size: var(--e-global-typography-23eaad6-font-size) !important;
  line-height: 20px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg {
  width: 16px !important;
  height: 16px !important;
}
@media (max-width: 425px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-title {
    display: block !important;
  }
}

/* 4. Message */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
  font-family: inherit !important;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  color: #EDEFF1 !important;
  margin: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description a {
  color: #C8A02E !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

/* 5. Categories (shown after View preferences) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
  margin-top: 16px !important;
  border-top: 1px solid #484747 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background: transparent !important;
  border-bottom: 1px solid #484747 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
  grid-template-columns: 1fr auto 18px !important;
  grid-gap: 12px !important;
  gap: 12px !important;
  padding: 12px 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
  font-family: inherit !important;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  color: #EDEFF1 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active {
  font-family: var(--e-global-typography-a7e1b30-font-family), sans-serif !important;
  font-size: var(--e-global-typography-2f9d5e7-font-size) !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.35 !important;
  text-transform:none;
  color: #BDBDB6 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle {
  color: #BDBDB6 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle svg {
  fill: #BDBDB6 !important; /* the chevron path carries no fill attribute, so it would render black on the dark panel */
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle:hover svg,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle:focus-visible svg {
  fill: #EDEFF1 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
  font-family: inherit !important;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  line-height: 1.42 !important;
  color: #BDBDB6 !important;
  padding: 0 0 12px !important;
}

/* Slider toggles: track grey 1 off, straw on; bullet light off, near-black on */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before {
  background-color: #484747 !important;
  width: 32px !important;
  height: 18px !important;
  top: -9px !important;
  border-radius: 999px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after {
  background: #EDEFF1 !important;
  width: 12px !important;
  height: 12px !important;
  left: 3px !important;
  top: -6px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before {
  background-color: #C8A02E !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after {
  background: #0E0C0A !important;
  left: 17px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label:before {
  box-shadow: 0 0 0 2px #0E0C0A, 0 0 0 4px #C8A02E !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
  width: 32px !important;
  height: 18px !important;
  margin-top: -9px !important;
}

/* 6. Buttons: Accept and Deny identical pills, View preferences a text link beneath,
   Save preferences the same pill at full width */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 4px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  font-family: var(--e-global-typography-23eaad6-font-family), sans-serif;
  font-size: var(--e-global-typography-4e37e95-font-size) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 14px 28px !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
  flex: 1 1 0 !important;
  width: auto !important;
  background-color: #EDEFF1 !important;
  border: 1px solid #EDEFF1 !important;
  color: #0E0C0A !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
  flex: 1 1 100% !important;
  width: 100% !important;
  background-color: #EDEFF1 !important;
  border: 1px solid #EDEFF1 !important;
  color: #0E0C0A !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #0E0C0A !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible {
  outline: 2px solid #C8A02E !important;
  outline-offset: 2px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
  flex: 0 0 100% !important;
  width: auto !important;
  align-self: flex-start !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 4px 0 0 !important;
  min-height: 0 !important;
  text-align: left !important;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  font-weight: 500 !important;
  color: #C8A02E !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover {
  color: #EDEFF1 !important;
  text-decoration: underline !important;
}

/* 7. Document links: Cookie Policy, Privacy Statement */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-documents {
  justify-content: flex-start !important;
  margin-top: -8px !important; /* 22 Sep 2026: 8px under View preferences */
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul {
  justify-content: flex-start !important;
  gap: 16px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link {
  font-family: inherit !important;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  color: #C8A02E !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link:hover {
  color: #EDEFF1 !important;
}

/* 8. Mobile: full width, sits on the bottom edge, one button per row */
@media (max-width: 768px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    width: 100% !important;
    max-width: 100% !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    padding: 24px 20px !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
    flex-direction: column !important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
}

/* 9. The persistent Manage consent tab (after a choice, desktop only per the plugin setting) */
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: var(--e-global-typography-23eaad6-font-family), sans-serif;
  font-size: var(--e-global-typography-bc43e73-font-size) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #EDEFF1 !important;
  background: #0E0C0A !important;
  border: 1px solid #8C8782 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 40px !important;
  padding: 12px 16px !important;
  right: clamp(20px, 1.9vw, 48px) !important;
}
#cmplz-manage-consent .cmplz-manage-consent:hover,
#cmplz-manage-consent .cmplz-manage-consent:focus-visible {
  color: #C8A02E !important;
}

/* Footer cookie settings control, 15 Sep 2026 */
.cc-footer-link{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;font-family: var(--e-global-typography-23eaad6-font-family), sans-serif;font-size: var(--e-global-typography-bc43e73-font-size);font-weight:400;line-height:1.42;color:#BDBDB6;text-align:left;}
.cc-footer-link:hover,.cc-footer-link:focus-visible{color:#EDEFF1;outline:none;text-decoration:underline;}


/* Case study chapters, 15 Sep 2026 */
.cs-chapter{display:flex;flex-direction:column;gap:40px;margin-top:48px;}
.cs-chapter:first-child{margin-top:0;}
/* Chapter titles in the case study body: Heading 21, Instrument Serif, per Foz 22 Sep 2026 (were the mono Caption stamp). The !importants outrank the shortcode's own inline styles. */
.cs-chapter p.cs-label,.cs-label{font-family:var(--e-global-typography-48656b6-font-family),serif !important;font-weight:var(--e-global-typography-48656b6-font-weight,400) !important;font-size:var(--e-global-typography-48656b6-font-size) !important;line-height:var(--e-global-typography-48656b6-line-height) !important;letter-spacing:var(--e-global-typography-48656b6-letter-spacing,-0.01em) !important;text-transform:none;color:#EDEFF1;margin:0;}
.cs-chapter p{font-family: var(--e-global-typography-23eaad6-font-family), sans-serif;font-size: var(--e-global-typography-23eaad6-font-size);line-height:1.5;color:#D6D8D8;margin:0;max-width:900px;}
.cs-chapter figure{margin:0;overflow:hidden;border-radius:5px;background:#6F6A67;}
.cs-chapter figure img{display:block;width:100%;height:100%;object-fit:cover;}
.cs-full{aspect-ratio:16/9;}
.cs-pair,.cs-grid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));}
.cs-pair figure{aspect-ratio:1/1;}
.cs-grid figure{aspect-ratio:3/2;}
@media (max-width:767px){.cs-pair,.cs-grid{grid-template-columns:1fr;}.cs-chapter{gap:24px;margin-top:40px;}.cs-chapter p{font-size: var(--e-global-typography-4e37e95-font-size);}}

/* View preferences was off the right edge of a phone (19 Sep 2026). The desktop rule above gives it flex:0 0 100%, and the
   mobile block turns .cmplz-buttons into a column, so that basis became a height and the link
   wrapped into a second column at left 367 on a 375 screen: the only route into the preferences
   panel was unreachable on a phone. This templates CSS loads after the kits, so the fix has to
   live here. */
@media (max-width: 768px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
    flex: 0 0 auto !important;
    width: 100% !important;
    align-self: stretch !important;
    text-align: left !important;
  }
}

/* Scrolled state: once the page has moved, a solid near-black panel fades in behind the bar (Foz, 22 Sep 2026: no blur, just black; the frosted panel of 21 Sep is history). The bar itself does not move. Because the panel is opaque, the ink is forced light while scrolled, whatever the page under it, outranking the auto-ink plugin's inline variable. */
.elementor-5289 .elementor-element.elementor-element-a75b9f2::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s ease;background:#0E0C0A;}
.elementor-5289 .elementor-element.elementor-element-a75b9f2.crush-scrolled{--crush-ink:#EDEFF1 !important;}
.elementor-5289 .elementor-element.elementor-element-a75b9f2.crush-scrolled::after{opacity:1;}
@media (prefers-reduced-motion:reduce){.elementor-5289 .elementor-element.elementor-element-a75b9f2::after{transition:none;}}/* End custom CSS */