.elementor-kit-12488{--e-global-color-primary:#105F5F;--e-global-color-secondary:#319C9B;--e-global-color-text:#163737;--e-global-color-accent:#99CA43;--e-global-color-iedforest:#153B2B;--e-global-color-iedblue:#0080C0;--e-global-color-iedmist:#E5F1EF;--e-global-color-iedalt:#F4F8F5;--e-global-color-iedline:#DCE8E6;--e-global-typography-primary-font-family:"Red Hat Display";--e-global-typography-primary-font-size:54px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Red Hat Display";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;color:#163737;font-family:"Inter", sans-serif;font-size:16px;line-height:1.7em;}.elementor-kit-12488 button,.elementor-kit-12488 input[type="button"],.elementor-kit-12488 input[type="submit"],.elementor-kit-12488 .elementor-button{background-color:#105F5F;font-family:"Inter", sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:16px 30px 16px 30px;}.elementor-kit-12488 button:hover,.elementor-kit-12488 button:focus,.elementor-kit-12488 input[type="button"]:hover,.elementor-kit-12488 input[type="button"]:focus,.elementor-kit-12488 input[type="submit"]:hover,.elementor-kit-12488 input[type="submit"]:focus,.elementor-kit-12488 .elementor-button:hover,.elementor-kit-12488 .elementor-button:focus{background-color:#319C9B;color:#FFFFFF;}.elementor-kit-12488 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12488 a{color:var( --e-global-color-accent );}.elementor-kit-12488 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-12488 h1{color:#153B2B;font-family:"Red Hat Display", sans-serif;font-size:54px;font-weight:700;line-height:1.08em;}.elementor-kit-12488 h2{color:#153B2B;font-family:"Red Hat Display", sans-serif;font-size:42px;font-weight:700;line-height:1.05em;}.elementor-kit-12488 h3{color:#153B2B;font-family:"Red Hat Display", sans-serif;font-size:40px;font-weight:700;line-height:1.05em;}.elementor-kit-12488 h4{font-family:"Red Hat Display", sans-serif;font-size:22px;font-weight:700;line-height:1.2em;}.elementor-kit-12488 h5{font-family:"Red Hat Display", sans-serif;font-size:20px;font-weight:700;line-height:1.3em;}.elementor-kit-12488 h6{font-family:"Red Hat Display", sans-serif;font-size:13px;font-weight:700;line-height:1.4em;}.elementor-kit-12488 input:not([type="button"]):not([type="submit"]),.elementor-kit-12488 textarea,.elementor-kit-12488 .elementor-field-textual{font-family:"Inter", sans-serif;color:#163737;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#DCE8E6;border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-12488 h1{font-size:50px;}.elementor-kit-12488 h2{font-size:38px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-12488{--e-global-typography-primary-font-size:36px;--e-global-typography-secondary-font-size:27px;}.elementor-kit-12488 h1{font-size:36px;}.elementor-kit-12488 h2{font-size:28px;}.elementor-kit-12488 h3{font-size:27px;}.elementor-kit-12488 h4{font-size:20px;}.elementor-kit-12488 h5{font-size:18px;}.elementor-kit-12488 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Distinctive list bullet: filled circle-check in lime, replaces the plain check */
.elementor-widget-icon-list .elementor-icon-list-icon i.fas.fa-check::before,
.elementor-widget-icon-list .elementor-icon-list-icon i.fa-check::before{content:"\f058" !important}
.elementor-widget-icon-list .elementor-icon-list-icon i.fa-check{color:#99CA43 !important;font-size:16px}
.elementor-widget-icon-list .elementor-icon-list-item{align-items:flex-start}
/* ---- IED site-wide refinements ---- */

/* Post-content (CPT single) headings: smaller, tighter, on-brand */
.elementor-widget-theme-post-content h2{font-size:23px;line-height:1.3;font-weight:700;color:#163737;margin:34px 0 10px}
.elementor-widget-theme-post-content h3{font-size:19px;line-height:1.35;font-weight:700;color:#163737;margin:26px 0 8px}
.elementor-widget-theme-post-content h2:first-child,.elementor-widget-theme-post-content h3:first-child{margin-top:0}
.elementor-widget-theme-post-content p{margin:0 0 16px}
.elementor-widget-theme-post-content ul{margin:0 0 16px}
/* Loop grid: equal-height cards */
.elementor-loop-container{align-items:stretch}
.e-loop-item{height:100%;display:flex}
.e-loop-item > .elementor-section{width:100%}

/* ===== IED polish + motion pass ===== */

/* -- Eyebrow tracking (colour handled per-widget) -- */
h6.elementor-heading-title{letter-spacing:1.2px}

/* -- Micro-interactions -- */
.elementor-button{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background-color .25s ease,color .25s ease,border-color .25s ease}
.elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,95,95,.16)}
.elementor-button .elementor-button-icon{transition:transform .18s ease}
.elementor-button:hover .elementor-button-icon{transform:translateX(3px)}

.e-loop-item,.elementor-post,.elementor-widget-icon-box{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease}
.e-loop-item:hover,.elementor-post:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(16,95,95,.14)}
.elementor-widget-icon-box:hover{transform:translateY(-4px)}
.e-loop-item .elementor-widget-image,.elementor-post__thumbnail{overflow:hidden}
.e-loop-item .elementor-widget-image img,.elementor-post__thumbnail img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.e-loop-item:hover .elementor-widget-image img,.elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.05)}

.elementor-nav-menu .elementor-item{transition:color .2s ease}
.elementor-widget-text-editor a,.elementor-widget-theme-post-content a,.elementor-icon-list-item a{transition:color .18s ease}

.elementor-field-group input,.elementor-field-group textarea,.elementor-field-group select{transition:border-color .2s ease,box-shadow .2s ease}
.elementor-field-group input:focus,.elementor-field-group textarea:focus,.elementor-field-group select:focus{border-color:#319C9B;box-shadow:0 0 0 3px rgba(49,156,155,.16)}

/* -- Focus visibility (keyboard) -- */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.elementor-nav-menu a:focus-visible,summary:focus-visible{outline:2px solid #0C5551;outline-offset:3px;border-radius:2px}

/* -- Touch targets on mobile -- */
@media (max-width:767px){
  .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .elementor-icon-list-item{min-height:40px}
}

/* -- Header: gentle condense; keep client logo size but cap height -- */
.elementor-location-header .elementor-widget-image img{max-height:58px;width:auto}
.elementor-location-header.elementor-sticky--effects .elementor-widget-image img{max-height:46px;transition:max-height .28s ease}
.elementor-location-header .elementor-widget-image img{transition:max-height .28s ease}

/* -- Respect reduced motion -- */
@media (prefers-reduced-motion:reduce){
  .elementor-button,.e-loop-item,.elementor-post,.elementor-widget-icon-box,
  .e-loop-item .elementor-widget-image img,.elementor-post__thumbnail img,
  .elementor-button .elementor-button-icon{transition:none !important;transform:none !important}
}

/* hide Partner voice section on case studies with no testimonial */
.elementor-element-66fb78f3:not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-blockquote)):not(:has(blockquote)){display:none}

/* back to Impact & Stories link (single case study / story) */
.elementor a.ied-backlink,a.ied-backlink{display:inline-flex;align-items:center;gap:7px;font-family:var(--e-global-typography-text-font-family,"Inter"),sans-serif;font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#0C5551 !important;text-decoration:none;transition:color .15s ease}
.ied-backlink::before{content:"\2190";font-size:15px;line-height:1;position:relative;top:-1px}
.elementor a.ied-backlink:hover,a.ied-backlink:hover{color:#153B2B !important}

/* branded treatment for content photos */
.ied-photo{position:relative;display:block;line-height:0}
.ied-photo .elementor-widget-container{position:relative}
.ied-photo img{border-radius:5px;border-bottom:4px solid #99CA43;box-shadow:0 26px 50px -24px rgba(16,95,95,.45);display:block;width:100%}
.ied-photo .elementor-widget-container::after{content:"";position:absolute;left:0;right:0;top:0;bottom:4px;border-radius:5px;pointer-events:none;background:linear-gradient(178deg,rgba(16,95,95,0) 52%,rgba(11,40,32,.34));mix-blend-mode:multiply}

/* ---- partner logos ---- */
.ied-logo-card > .elementor-widget-container,
.ied-logo-card > .elementor-widget-container > a{display:flex;align-items:center;justify-content:center}
.ied-logo-card > .elementor-widget-container{background:#fff;border:1px solid #E3EDEB;border-radius:8px;height:150px;padding:14px 20px;transition:box-shadow .2s ease,border-color .2s ease}
.ied-logo-card:hover > .elementor-widget-container{border-color:#CBE0DC;box-shadow:0 14px 30px -16px rgba(16,95,95,.22)}
.ied-logo-card img{max-height:96px;width:auto!important;object-fit:contain;display:block}
.ied-partner-carousel .swiper-slide,
.ied-partner-carousel .elementor-carousel-image{background:#fff;border:1px solid #E3EDEB;border-radius:8px;height:150px!important;display:flex!important;align-items:center;justify-content:center;padding:14px 20px;background-size:contain!important;background-repeat:no-repeat;background-position:center}
.ied-partner-carousel .swiper-slide img{max-height:96px;width:auto!important;object-fit:contain}
.ied-partner-carousel .elementor-swiper-button{color:#0C5551;background:#fff;border:1px solid #E3EDEB;width:40px;height:40px;border-radius:50%;font-size:16px}
.ied-partner-carousel .elementor-swiper-button:hover{background:#0C5551;color:#fff}
.ied-partner-name{font-family:var(--e-global-typography-primary-font-family,"Red Hat Display"),sans-serif;font-weight:700;font-size:15px;color:#163737;margin:14px 0 4px}
.ied-partner-meta{font-family:var(--e-global-typography-text-font-family,"Inter"),sans-serif;font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#0C5551;margin-bottom:6px}

/* focus-area pills (team detail) */
.ied-pill-row{display:flex;flex-wrap:wrap;gap:10px}
.ied-pill{display:inline-block;padding:8px 16px;border-radius:999px;background:#EAF3F1;color:#0C5551;font-family:var(--e-global-typography-text-font-family,"Inter"),sans-serif;font-weight:600;font-size:13px;line-height:1.2}

/* taste pass: restrain the templated eyebrow rhythm + tighten display type */
h6.elementor-heading-title{font-size:16px !important;letter-spacing:1.1px !important}
.ied-partner-name{letter-spacing:0 !important}
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{letter-spacing:-.02em}
/* footer column labels stay legible despite smaller eyebrow size */
.elementor-location-footer h6.elementor-heading-title,
#ied-global-footer h6.elementor-heading-title{font-size:14px !important;letter-spacing:1.2px !important}

/* content-list bullets: match the site's lime circle-check on plain <ul> in body copy */
.elementor-widget-theme-post-content .elementor-widget-container ul,
.elementor-widget-text-editor .elementor-widget-container ul{list-style:none;margin:0 0 18px;padding:0}
.elementor-widget-theme-post-content .elementor-widget-container ul > li,
.elementor-widget-text-editor .elementor-widget-container ul > li{position:relative;padding-left:30px;margin:0 0 9px}
.elementor-widget-theme-post-content .elementor-widget-container ul > li::before,
.elementor-widget-text-editor .elementor-widget-container ul > li::before{
  content:"\f058";font-family:"Font Awesome 5 Free";font-weight:900;
  position:absolute;left:0;top:.12em;color:#99CA43;font-size:14px;line-height:1.6}
.elementor-widget-theme-post-content .elementor-widget-container ul ul{margin:8px 0 0}

/* posts-widget thumbnail: force cover, kill the rogue transform that shoves it to a corner */
.elementor-widget-posts .elementor-post__thumbnail{position:relative;overflow:hidden}
.elementor-widget-posts .elementor-post__thumbnail img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;object-position:center!important;transform:none!important}
.elementor-widget-posts .elementor-post__thumbnail__link:hover img{transform:scale(1.04)!important;transition:transform .4s ease}

/* equal-height card rows (id-scoped: _css_classes doesn't emit on sections here) */
.elementor-element-0f56f110 > .elementor-container > .elementor-column,
.elementor-element-f66e051c > .elementor-container > .elementor-column{display:flex}
.elementor-element-0f56f110 > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-element-f66e051c > .elementor-container > .elementor-column > .elementor-widget-wrap{width:100%;height:100%;display:flex;flex-direction:column}
.elementor-element-0f56f110 .elementor-column > .elementor-widget-wrap > .elementor-inner-section,
.elementor-element-f66e051c .elementor-column > .elementor-widget-wrap > .elementor-inner-section{flex:1 0 auto;display:flex}
.elementor-element-0f56f110 .elementor-inner-section .elementor-widget-wrap,
.elementor-element-f66e051c .elementor-inner-section .elementor-widget-wrap{width:100%}



/* what-we-do programme groups */
.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px 34px;margin:4px 0 24px}
.elementor-widget-text-editor .elementor-widget-container .ied-prog-group h4{font-family:"Red Hat Display",-apple-system,sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0C5551;margin:0 0 10px;line-height:1.3}
.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups ul{list-style:none;margin:0;padding:0}
.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups ul>li{position:relative;padding-left:26px;margin:0 0 8px;font-family:"Inter",-apple-system,sans-serif;font-size:14px;line-height:1.45;color:#3d4d4b}
.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups ul>li:last-child{margin-bottom:0}
.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups ul>li::before{content:"" !important;font-family:"Font Awesome 5 Free" !important;font-weight:900;position:absolute;left:0;top:.05em;color:#99CA43;font-size:13px;line-height:1.45}
@media(max-width:1024px){.elementor-widget-text-editor .elementor-widget-container .ied-prog-groups{grid-template-columns:1fr;gap:16px}}/* End custom CSS */