.elementor-kit-5{--e-global-color-primary:#EC3013;--e-global-color-secondary:#201E1D;--e-global-color-text:#201E1D;--e-global-color-accent:#CF2A10;--e-global-color-act_accent700:#A82410;--e-global-color-act_tint:#FBE3DE;--e-global-color-act_muted:rgba(32,30,29,0.72);--e-global-color-act_surface:#FFFFFF;--e-global-color-act_bg:#F3F2F2;--e-global-color-act_divider:#201E1D;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-act_h1-font-family:"Archivo";--e-global-typography-act_h1-font-size:84px;--e-global-typography-act_h1-font-weight:800;--e-global-typography-act_h1-line-height:1.06em;--e-global-typography-act_h1-letter-spacing:-0.02em;--e-global-typography-act_h2-font-family:"Archivo";--e-global-typography-act_h2-font-size:44px;--e-global-typography-act_h2-font-weight:800;--e-global-typography-act_h2-line-height:1.5em;--e-global-typography-act_h2-letter-spacing:-0.015em;--e-global-typography-act_h3-font-family:"Archivo";--e-global-typography-act_h3-font-size:30px;--e-global-typography-act_h3-font-weight:800;--e-global-typography-act_h3-line-height:1.35em;--e-global-typography-act_h4-font-family:"Archivo";--e-global-typography-act_h4-font-size:24px;--e-global-typography-act_h4-font-weight:800;--e-global-typography-act_h4-line-height:1.17em;--e-global-typography-act_h5-font-family:"Archivo";--e-global-typography-act_h5-font-size:21px;--e-global-typography-act_h5-font-weight:800;--e-global-typography-act_h5-line-height:1.33em;--e-global-typography-act_bodyl-font-family:"Archivo";--e-global-typography-act_bodyl-font-size:18px;--e-global-typography-act_bodyl-font-weight:400;--e-global-typography-act_bodyl-line-height:1.56em;--e-global-typography-act_bodys-font-family:"Archivo";--e-global-typography-act_bodys-font-size:14px;--e-global-typography-act_bodys-font-weight:400;--e-global-typography-act_bodys-line-height:1.7em;--e-global-typography-act_caption-font-family:"Archivo";--e-global-typography-act_caption-font-size:13px;--e-global-typography-act_caption-font-weight:500;--e-global-typography-act_caption-text-transform:uppercase;--e-global-typography-act_caption-letter-spacing:0.08em;background-color:#F3F2F2;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#EC3013;color:#F3F2F2;border-radius:0px 0px 0px 0px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#CF2A10;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-act_h1-font-size:64px;--e-global-typography-act_h2-font-size:36px;--e-global-typography-act_h3-font-size:26px;--e-global-typography-act_h4-font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-text-font-size:15.5px;--e-global-typography-act_h1-font-size:42px;--e-global-typography-act_h2-font-size:30px;--e-global-typography-act_h3-font-size:22px;--e-global-typography-act_h4-font-size:21px;--e-global-typography-act_h5-font-size:19px;--e-global-typography-act_bodyl-font-size:17px;--e-global-typography-act_caption-font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ACT — Tier 2 scoped CSS (Modernist system) */

/* Header glass: blur where supported, opaque fallback where not */
.act-header { background: rgba(243,242,242,0.97); }
@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
  .act-header {
    background: rgba(243,242,242,0.88);
    -webkit-backdrop-filter: saturate(1.2) blur(10px);
    backdrop-filter: saturate(1.2) blur(10px);
  }
}

/* Zero radius everywhere — Modernist is a 0-radius system */
.elementor img, .elementor .elementor-button, .elementor input, .elementor textarea, .elementor select { border-radius: 0 !important; }

/* Brand lockup: logo + wordmark optically centred */
.act-brand { align-items: center; }
.act-brand img { mix-blend-mode: multiply; display: block; }
.act-brand .elementor-widget-heading { display: flex; align-items: center; }
.act-brand .elementor-heading-title { margin: 0; }

/* Hamburger toggle: align to the wordmark baseline, no default chrome */
.act-header .elementor-menu-toggle {
  background: transparent;
  border: 0;
  padding: 6px 0 6px 6px;
  display: flex;
  align-items: center;
}
.act-header .elementor-menu-toggle:hover { background: transparent; }
.act-header .elementor-menu-toggle i,
.act-header .elementor-menu-toggle svg { display: block; }

/* Mobile dropdown panel: full-bleed, 2px rules, matches the design's open state */
.act-header .elementor-nav-menu--dropdown {
  border-top: 2px solid #201E1D;
  border-bottom: 2px solid #201E1D;
}
.act-header .elementor-nav-menu--dropdown a { font-family: Archivo, sans-serif; font-weight: 500; }

/* ---- Donate CTA in the menu (mobile only) ---- */
/* Hidden on desktop: the header Donate button covers that breakpoint */

@media (max-width: 1024px) {
  .act-header li.act-menu-cta { display: block; margin-top: 16px; }
  .act-header li.act-menu-cta a.elementor-item {
    background: #EC3013;
    color: #F3F2F2 !important;
    font-family: Archivo, sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.01em;
    padding: 15px 26px !important;
    text-align: center;
    justify-content: center;
    border: 0;
  }
  .act-header li.act-menu-cta a.elementor-item:hover,
  .act-header li.act-menu-cta a.elementor-item:focus,
  .act-header li.act-menu-cta a.elementor-item.elementor-item-active {
    background: #CF2A10;
    color: #F3F2F2 !important;
  }
  /* the CTA carries its own fill — suppress the underline pointer on it */
  .act-header li.act-menu-cta a.elementor-item::before,
  .act-header li.act-menu-cta a.elementor-item::after { display: none !important; }
}

/* Modernist prints B&W: photographs render grayscale */
.act-grayscale img { filter: grayscale(1); transition: filter 300ms ease; }

/* Area-of-work cells: accent tint on hover */
.act-area-cell { transition: background-color 250ms ease; }
.act-area-cell:hover { background-color: #FBE3DE; }

/* 2px structural rules */
.act-rule-top { border-top: 2px solid #201E1D; }

/* Reversed type on the accent poster field */
.act-reversed, .act-reversed .elementor-heading-title,
.act-reversed p, .act-reversed .elementor-icon-list-text { color: #F3F2F2; }

/* Respect reduced-motion for every entrance + counter */
@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
  .elementor *, .elementor *::before, .elementor *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
/* ---- Header mobile corrections ---- */
/* one row, always: brand left, hamburger hard right */
.act-header { flex-wrap: nowrap !important; }
.act-header > .e-con-inner { flex-wrap: nowrap !important; }
.act-brand { flex-wrap: nowrap; min-width: 0; }
.act-brand .elementor-heading-title { white-space: nowrap; }

/* hamburger + close icon in ink, accent only on hover */
.act-header .elementor-menu-toggle,
.act-header .elementor-menu-toggle i,
.act-header .elementor-menu-toggle svg { color: #201E1D !important; fill: #201E1D !important; }
.act-header .elementor-menu-toggle:hover,
.act-header .elementor-menu-toggle:hover i,
.act-header .elementor-menu-toggle:hover svg { color: #EC3013 !important; fill: #EC3013 !important; }

/* dropdown panel sits on the page ground, not white */
.act-header .elementor-nav-menu--dropdown { background-color: #F3F2F2 !important; }
.act-header .elementor-nav-menu--dropdown a.elementor-item {
  background-color: transparent !important;
  color: #201E1D !important;
}
/* active page: accent text, no dark fill */
.act-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
  background-color: transparent !important;
  color: #EC3013 !important;
}
.act-header .elementor-nav-menu--dropdown a.elementor-item:hover {
  background-color: #FBE3DE !important;
  color: #EC3013 !important;
}
/* the Donate CTA keeps its accent fill and reversed label */
.act-header .elementor-nav-menu--dropdown li.act-menu-cta a.elementor-item,
.act-header .elementor-nav-menu--dropdown li.act-menu-cta a.elementor-item.elementor-item-active {
  background-color: #EC3013 !important;
  color: #F3F2F2 !important;
}
.act-header .elementor-nav-menu--dropdown li.act-menu-cta a.elementor-item:hover {
  background-color: #CF2A10 !important;
  color: #F3F2F2 !important;
}
/* ---- Brand logo: never crop the circular mark ---- */
.act-brand .elementor-widget-image { flex: 0 0 auto; line-height: 0; }
.act-brand img {
  height: auto !important;
  max-width: 100%;
  object-fit: contain;
  aspect-ratio: 1 / 1;
}

/* ---- Mobile dropdown: full-bleed panel under the header ---- */
@media (max-width: 1024px) {
  .act-header .elementor-nav-menu--dropdown a.elementor-item { padding-left: 20px; padding-right: 20px; }
  .act-header li.act-menu-cta { margin: 16px 20px 20px; }
}

/* very narrow phones: logo alone, wordmark stands down */
@media (max-width: 380px) {
  .act-brand .elementor-widget-heading { display: none; }
}
/* dropdown anchors to the header, full width of it, never off-viewport */
@media (max-width: 1024px) {
  .act-header { position: sticky; }
  .act-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
  }
}
/* ---- Dropdown anchoring: pin to the header, not the narrow nav column ---- */
@media (max-width: 1024px) {
  /* header is the positioning context */
  .act-header { position: sticky; }
  /* neutralise intermediate positioned ancestors so the panel measures off the header */
  .act-header > .e-con-inner,
  .act-header .elementor-widget-nav-menu,
  .act-header .elementor-widget-nav-menu > .elementor-widget-container { position: static !important; }

  .act-header nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    margin: 0 !important;
    background-color: #F3F2F2 !important;
    border-top: 2px solid #201E1D;
    border-bottom: 2px solid #201E1D;
    z-index: 100;
  }
}
/* ---- Exactly one Donate CTA per breakpoint ---- */
/* DESKTOP: menu CTA off (header button carries it).
   Selector must outrank Elementor's .elementor-nav-menu--layout-horizontal > ul > li { display:flex } */
.act-header .elementor-nav-menu--main > ul > li.act-menu-cta,
.act-header nav.elementor-nav-menu--dropdown > ul > li.act-menu-cta,
.act-header ul.elementor-nav-menu > li.act-menu-cta {
  display: none !important;
}

/* TABLET + MOBILE: menu CTA on, inside the dropdown only */
@media (max-width: 1024px) {
  .act-header nav.elementor-nav-menu--dropdown > ul > li.act-menu-cta,
  .act-header .elementor-nav-menu--dropdown ul.elementor-nav-menu > li.act-menu-cta {
    display: block !important;
  }
  /* the main (horizontal) nav is hidden at this breakpoint anyway — keep its CTA off */
  .act-header .elementor-nav-menu--main > ul > li.act-menu-cta { display: none !important; }
}
/* ---- Dropdown: neutralise EVERY positioned ancestor inside the header ---- */
@media (max-width: 1024px) {
  /* Elementor containers default to position:relative — that nested right-hand
     column was the containing block, which is why the panel hugged the toggle. */
  .act-header .e-con,
  .act-header .e-con-inner,
  .act-header .elementor-element.e-con,
  .act-header .elementor-widget,
  .act-header .elementor-widget-container {
    position: static !important;
  }

  .act-header nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    margin: 0 !important;
  }
}/* End custom CSS */