.mepf-projects-listing,.mepf-project-detail{font-family:var(--mepf-body-family,inherit);color:var(--mepf-body-color,inherit);box-sizing:border-box}.mepf-projects-listing *,.mepf-project-detail *{box-sizing:border-box}.mepf-projects-listing{display:grid;grid-template-columns:repeat(var(--mepf-cols-d,2),minmax(0,1fr));gap:28px;width:100%}.mepf-project-tile{color:inherit;text-decoration:none;display:block;min-width:0}.mepf-project-tile-media{position:relative;display:block;overflow:hidden;background:#f1f3f5;aspect-ratio:4/3}.mepf-project-tile-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .55s ease,transform .7s ease}.mepf-project-tile-media .front{opacity:1}.mepf-project-tile-media .back{opacity:0}.mepf-project-tile:hover .front{opacity:0;transform:scale(1.025)}.mepf-project-tile:hover .back{opacity:1;transform:scale(1.025)}.mepf-project-tile-info{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:12px}.mepf-project-tile-info strong{font-family:var(--mepf-lt-family,inherit);font-size:var(--mepf-lt-size,18px);font-weight:var(--mepf-lt-weight,700);color:var(--mepf-lt-color,#101828);line-height:1.18}.mepf-project-tile-info small{font-family:var(--mepf-lm-family,inherit);font-size:var(--mepf-lm-size,13px);font-weight:var(--mepf-lm-weight,400);color:var(--mepf-lm-color,#667085);text-align:right;line-height:1.35}.mepf-project-detail{position:relative;background:var(--mepf-detail-bg,#fff);color:var(--mepf-body-color,#344054);max-width:none!important;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}.mepf-project-detail-top{height:54px;display:flex;align-items:center;gap:22px;padding:0 24px;position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--mepf-detail-bg,#fff) 96%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.08)}.mepf-project-back{color:inherit;text-decoration:none;font-size:13px;white-space:nowrap}.mepf-project-progress{height:2px;background:#e5e7eb;flex:1;overflow:hidden}.mepf-project-progress span{display:block;height:100%;width:0;background:var(--mepf-progress,#111);transition:width .08s linear}.mepf-project-scroll-hint{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;white-space:nowrap}.mepf-project-horizontal{display:flex;align-items:stretch;gap:var(--mepf-proj-gap,0px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;min-height:var(--mepf-proj-h,720px);background:var(--mepf-detail-bg,#fff);cursor:grab;-webkit-overflow-scrolling:touch}.mepf-project-horizontal.is-dragging{cursor:grabbing;scroll-snap-type:none}.mepf-project-panel{flex:0 0 auto;scroll-snap-align:start;min-height:var(--mepf-proj-h,720px);margin:0}.mepf-project-panel.intro-panel{width:max(900px,100vw);display:grid;grid-template-columns:minmax(330px,36vw) minmax(520px,64vw);background:var(--mepf-detail-bg,#fff)}.mepf-project-title-block{display:flex;flex-direction:column;justify-content:flex-end;padding:64px 46px}.mepf-project-title-block h1{font-family:var(--mepf-dt-family,inherit);font-size:clamp(38px,5vw,var(--mepf-dt-size,64px));line-height:.98;font-weight:var(--mepf-dt-weight,500);color:var(--mepf-dt-color,#111);margin:0 0 42px;letter-spacing:-.04em}.mepf-project-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.mepf-project-meta div{display:flex;flex-direction:column;gap:4px}.mepf-project-meta span{font-family:var(--mepf-ml-family,inherit);font-size:var(--mepf-ml-size,11px);font-weight:var(--mepf-ml-weight,500);color:var(--mepf-ml-color,#667085);text-transform:uppercase;letter-spacing:.08em}.mepf-project-meta strong{font-family:var(--mepf-mv-family,inherit);font-size:var(--mepf-mv-size,13px);font-weight:var(--mepf-mv-weight,500);color:var(--mepf-mv-color,#111)}.mepf-project-hero{height:var(--mepf-proj-h,720px);margin:0;overflow:hidden}.mepf-project-hero img{width:100%;height:100%;object-fit:cover;display:block}.mepf-project-panel.text-panel{width:min(560px,45vw);display:flex;align-items:center;background:var(--mepf-detail-bg,#fff);padding:70px 48px}.mepf-project-copy{width:100%;max-width:100%}.mepf-project-copy h2{font-family:var(--mepf-st-family,inherit);font-size:var(--mepf-st-size,24px);font-weight:var(--mepf-st-weight,600);color:var(--mepf-st-color,#111);margin:0 0 28px;line-height:1.15}.mepf-project-overview-text,.mepf-project-copy li{font-family:var(--mepf-body-family,inherit);font-size:var(--mepf-body-size,14px);font-weight:var(--mepf-body-weight,400);color:var(--mepf-body-color,#344054);line-height:1.65}.mepf-project-overview-text{white-space:normal}.mepf-project-copy ul{list-style:none!important;margin:0;padding:0}.mepf-project-copy li{display:grid;grid-template-columns:20px 1fr;gap:9px;margin:0 0 11px}.mepf-project-copy .bullet{font-size:1.05em;line-height:1.55}.mepf-project-panel.image-panel{height:var(--mepf-proj-h,720px);width:auto;max-width:none;background:#f3f4f6;display:flex;align-items:stretch;overflow:hidden}.mepf-project-panel.image-panel img{height:100%;width:auto;max-width:none!important;display:block;object-fit:cover}.mepf-project-panel.image-panel.is-broken{display:none!important}.mepf-project-panel.next-panel{position:relative;width:min(760px,70vw);height:var(--mepf-proj-h,720px);overflow:hidden;color:#fff;text-decoration:none;background:var(--mepf-next-overlay,#111);padding:52px;display:flex;flex-direction:column;justify-content:flex-end}.mepf-project-panel.next-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .7s ease}.mepf-project-panel.next-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.72))}.mepf-project-panel.next-panel span,.mepf-project-panel.next-panel strong,.mepf-project-panel.next-panel em{position:relative;z-index:2}.mepf-project-panel.next-panel span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.mepf-project-panel.next-panel strong{font-family:var(--mepf-dt-family,inherit);font-size:clamp(34px,4vw,64px);font-weight:var(--mepf-dt-weight,500);margin:12px 0 20px;color:#fff}.mepf-project-panel.next-panel em{font-style:normal;font-size:14px}.mepf-project-panel.next-panel:hover img{transform:scale(1.035)}
@media(max-width:1024px){.mepf-projects-listing{grid-template-columns:repeat(var(--mepf-cols-t,2),minmax(0,1fr));gap:18px}.mepf-project-horizontal,.mepf-project-panel{min-height:var(--mepf-proj-h-t,520px)}.mepf-project-panel.intro-panel{width:100vw;grid-template-columns:42vw 58vw}.mepf-project-hero,.mepf-project-panel.image-panel,.mepf-project-panel.next-panel{height:var(--mepf-proj-h-t,520px)}.mepf-project-panel.text-panel{width:52vw;padding:44px 34px}.mepf-project-title-block{padding:42px 30px}.mepf-project-title-block h1{margin-bottom:28px}}
@media(max-width:700px){.mepf-projects-listing{grid-template-columns:repeat(var(--mepf-cols-m,1),minmax(0,1fr));gap:22px}.mepf-project-tile-info{align-items:flex-start}.mepf-project-detail-top{height:48px;padding:0 14px;gap:12px}.mepf-project-scroll-hint{display:none}.mepf-project-horizontal,.mepf-project-panel{min-height:var(--mepf-proj-h-m,360px)}.mepf-project-panel.intro-panel{width:100vw;display:flex;flex-direction:column;min-height:auto}.mepf-project-title-block{width:100vw;padding:30px 20px}.mepf-project-title-block h1{font-size:min(38px,var(--mepf-dt-size,64px));margin-bottom:24px}.mepf-project-meta{grid-template-columns:1fr 1fr}.mepf-project-hero{width:100vw;height:var(--mepf-proj-h-m,360px)}.mepf-project-panel.text-panel{width:88vw;min-height:var(--mepf-proj-h-m,360px);padding:30px 24px}.mepf-project-panel.image-panel{height:var(--mepf-proj-h-m,360px)}.mepf-project-panel.next-panel{width:88vw;height:var(--mepf-proj-h-m,360px);padding:30px}}
.mepf-project-horizontal.is-wheel-scrolling{scroll-snap-type:none!important;scroll-behavior:auto!important}
.mepf-project-types-list{display:grid;grid-template-columns:repeat(var(--mepf-cols-d,2),minmax(0,1fr));gap:18px;width:100%}
.mepf-project-type-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid rgba(0,0,0,.11);text-decoration:none;color:var(--mepf-lt-color,#101828);background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.mepf-project-type-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,40,.08)}
.mepf-project-type-card strong{font-family:var(--mepf-lt-family,inherit);font-size:var(--mepf-lt-size,18px);font-weight:var(--mepf-lt-weight,700)}
.mepf-project-type-card span{font-family:var(--mepf-lm-family,inherit);font-size:var(--mepf-lm-size,13px);color:var(--mepf-lm-color,#667085)}
@media(max-width:1024px){.mepf-project-types-list{grid-template-columns:repeat(var(--mepf-cols-t,2),minmax(0,1fr))}}
@media(max-width:700px){.mepf-project-types-list{grid-template-columns:repeat(var(--mepf-cols-m,1),minmax(0,1fr))}.mepf-project-type-card{padding:18px}}

/* v1.8.7: full available-viewport project presentation with top alignment */
.mepf-project-detail{--mepf-project-fit-h:100dvh!important;min-height:var(--mepf-project-fit-h)!important;height:var(--mepf-project-fit-h)!important;overflow:hidden!important;vertical-align:top!important}
.mepf-project-horizontal{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;align-items:flex-start!important;overflow-y:hidden!important}
.mepf-project-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;align-self:flex-start!important}
.mepf-project-panel.intro-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;align-items:stretch!important}
.mepf-project-title-block{justify-content:flex-start!important;align-items:flex-start!important;padding-top:42px!important;overflow-y:auto!important}
.mepf-project-hero{height:var(--mepf-project-fit-h)!important;min-height:0!important;max-height:var(--mepf-project-fit-h)!important;align-self:flex-start!important}
.mepf-project-panel.text-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;align-items:flex-start!important;padding-top:42px!important;overflow-y:auto!important}
.mepf-project-copy{align-self:flex-start!important}
.mepf-project-panel.image-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;align-items:flex-start!important}
.mepf-project-panel.image-panel img{height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;align-self:flex-start!important}
.mepf-project-panel.next-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important;justify-content:flex-start!important;padding-top:42px!important}
@media(max-width:700px){
  .mepf-project-panel.intro-panel{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;overflow:hidden!important}
  .mepf-project-title-block{width:100vw!important;max-height:48%;padding:24px 20px 18px!important;overflow-y:auto!important}
  .mepf-project-hero{width:100vw!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .mepf-project-hero img{width:100%!important;height:100%!important;object-fit:cover!important}
  .mepf-project-panel.text-panel,.mepf-project-panel.image-panel,.mepf-project-panel.next-panel{height:var(--mepf-project-fit-h)!important;min-height:var(--mepf-project-fit-h)!important;max-height:var(--mepf-project-fit-h)!important}
}

/* v1.8.8: detail-only full-height presentation + cleaner project cards */
body.mepf-project-detail-active .entry-header,
body.mepf-project-detail-active .page-header,
body.mepf-project-detail-active .page-title-area,
body.mepf-project-detail-active .page-title-wrap,
body.mepf-project-detail-active .page-banner,
body.mepf-project-detail-active .inner-banner,
body.mepf-project-detail-active .breadcrumb-area,
body.mepf-project-detail-active .breadcrumbs-wrap,
body.mepf-project-detail-active .titlebar,
body.mepf-project-detail-active .page-heading,
body.mepf-project-detail-active .page-title-section{display:none!important}
body.mepf-project-detail-active .entry-content,
body.mepf-project-detail-active .site-main,
body.mepf-project-detail-active .content-area{margin-top:0!important;padding-top:0!important}
.mepf-project-detail{margin-top:0!important;padding-top:0!important}
.mepf-project-title-block h1{font-size:clamp(28px,3.2vw,min(var(--mepf-dt-size,44px),48px))!important;line-height:1.04!important;margin-bottom:28px!important}
.mepf-project-tile-info{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;gap:4px!important;padding-top:10px!important}
.mepf-project-tile-info strong{line-height:1.12!important}
.mepf-project-tile-info small{display:block!important;width:100%!important;text-align:left!important;line-height:1.35!important}
@media(max-width:700px){
  .mepf-project-title-block h1{font-size:clamp(25px,7.2vw,36px)!important;margin-bottom:18px!important}
}


/* v1.8.9: strict detail viewport fit and project-type heading removal */
html.mepf-project-detail-active-html,
body.mepf-project-detail-active{overflow:hidden!important}
body.mepf-project-detail-active .mepf-project-detail{position:relative!important;top:0!important;margin-top:0!important;padding-top:0!important;height:var(--mepf-project-fit-h,100dvh)!important;min-height:var(--mepf-project-fit-h,100dvh)!important;max-height:var(--mepf-project-fit-h,100dvh)!important}
body.mepf-project-detail-active .mepf-project-horizontal{height:100%!important;min-height:100%!important;max-height:100%!important;align-items:flex-start!important}
body.mepf-project-detail-active .mepf-project-panel,
body.mepf-project-detail-active .mepf-project-panel.intro-panel,
body.mepf-project-detail-active .mepf-project-hero,
body.mepf-project-detail-active .mepf-project-panel.image-panel,
body.mepf-project-detail-active .mepf-project-panel.next-panel{height:100%!important;min-height:100%!important;max-height:100%!important;align-self:flex-start!important}
body.mepf-project-detail-active .mepf-project-title-block,
body.mepf-project-detail-active .mepf-project-panel.text-panel{align-items:flex-start!important;justify-content:flex-start!important}
body.mepf-project-detail-active .mepf-project-panel.text-panel{overflow-y:auto!important}
body.mepf-project-detail-active .mepf-project-title-block{overflow-y:auto!important}

/* v1.8.10: user-controlled viewport-safe project detail padding */
body.mepf-project-detail-active .mepf-project-detail{
  box-sizing:border-box!important;
  padding:var(--mepf-detail-pad-top,0px) var(--mepf-detail-pad-right,0px) var(--mepf-detail-pad-bottom,0px) var(--mepf-detail-pad-left,0px)!important;
}
body.mepf-project-detail-active .mepf-project-horizontal{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}
body.mepf-project-detail-active .mepf-project-title-block{padding-top:0!important;}
body.mepf-project-detail-active .mepf-project-panel.text-panel{padding-top:0!important;}
body.mepf-project-detail-active .mepf-project-panel.next-panel{padding-top:0!important;}


/* v1.8.11: remove theme-created empty/decorative strip above project detail */
body.mepf-project-detail-active [data-mepf-hidden-project-spacer="1"]{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
body.mepf-project-detail-active .entry-content,
body.mepf-project-detail-active .site-main,
body.mepf-project-detail-active .content-area,
body.mepf-project-detail-active .site-content,
body.mepf-project-detail-active main{padding-top:0!important;margin-top:0!important}
body.mepf-project-detail-active .mepf-project-detail{margin-top:0!important}
\n\n/* v1.8.12: flush, borderless viewport-mounted project detail */\nhtml.mepf-project-detail-active-html,\nbody.mepf-project-detail-active{margin:0!important;padding:0!important;overflow:hidden!important}\nbody.mepf-project-detail-active .mepf-project-detail{\n  position:fixed!important;\n  z-index:2147482000!important;\n  top:var(--mepf-project-screen-top,0px)!important;\n  left:0!important;right:0!important;bottom:0!important;\n  width:100vw!important;max-width:100vw!important;\n  margin:0!important;margin-left:0!important;margin-right:0!important;\n  border:0!important;outline:0!important;box-shadow:none!important;\n  background:var(--mepf-detail-bg,#fff)!important;\n}\nbody.mepf-project-detail-active .mepf-project-horizontal,\nbody.mepf-project-detail-active .mepf-project-panel,\nbody.mepf-project-detail-active .mepf-project-panel.intro-panel,\nbody.mepf-project-detail-active .mepf-project-title-block,\nbody.mepf-project-detail-active .mepf-project-hero,\nbody.mepf-project-detail-active .mepf-project-panel.text-panel,\nbody.mepf-project-detail-active .mepf-project-panel.image-panel,\nbody.mepf-project-detail-active .mepf-project-panel.next-panel{\n  border:0!important;outline:0!important;box-shadow:none!important;margin-top:0!important;\n}\nbody.mepf-project-detail-active .mepf-project-horizontal{margin:0!important;padding-top:0!important}\n
/* v1.8.13: true responsive Header -> Project -> Footer page flow */
html.mepf-project-detail-active-html,
body.mepf-project-detail-active{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
}
body.mepf-project-detail-active .mepf-project-detail{
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  z-index:1!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  margin-left:0!important;
  margin-right:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.mepf-project-detail-active .mepf-project-horizontal{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  margin:0!important;
  border:0!important;
}
body.mepf-project-detail-active footer,
body.mepf-project-detail-active .site-footer,
body.mepf-project-detail-active #colophon,
body.mepf-project-detail-active .elementor-location-footer{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-detail{width:100%!important;max-width:100%!important}
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-detail{min-height:280px!important}
}

/* v1.8.14: remove remaining project top gap and border line */
body.mepf-project-detail-active .mepf-project-detail,
body.mepf-project-detail-active .mepf-project-horizontal,
body.mepf-project-detail-active .mepf-project-panel,
body.mepf-project-detail-active .mepf-project-panel.intro-panel{
  border:0!important;
  border-top:0!important;
  outline:0!important;
  box-shadow:none!important;
  margin-top:0!important;
}
body.mepf-project-detail-active .mepf-project-detail{
  padding-top:0!important;
}
body.mepf-project-detail-active .entry-content,
body.mepf-project-detail-active .post-content,
body.mepf-project-detail-active .page-content,
body.mepf-project-detail-active .site-content,
body.mepf-project-detail-active .content-area,
body.mepf-project-detail-active .site-main,
body.mepf-project-detail-active main,
body.mepf-project-detail-active article{
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}
body.mepf-project-detail-active .mepf-project-detail:before,
body.mepf-project-detail-active .mepf-project-detail:after,
body.mepf-project-detail-active .mepf-project-horizontal:before,
body.mepf-project-detail-active .mepf-project-horizontal:after{
  display:none!important;
  content:none!important;
  border:0!important;
}


/* v1.8.15: user-controlled outer project margins; zero means flush */
body.mepf-project-detail-active .mepf-project-detail{
  margin-top:var(--mepf-detail-margin-top,0px)!important;
  margin-right:var(--mepf-detail-margin-right,0px)!important;
  margin-bottom:var(--mepf-detail-margin-bottom,0px)!important;
  margin-left:var(--mepf-detail-margin-left,0px)!important;
  width:calc(100% - var(--mepf-detail-margin-left,0px) - var(--mepf-detail-margin-right,0px))!important;
  max-width:none!important;
  border:0!important;outline:0!important;box-shadow:none!important;
}
body.mepf-project-detail-active .mepf-project-horizontal{border:0!important;outline:0!important;box-shadow:none!important;}

/* v1.8.16: collapse theme gap and keep every project panel inside the real viewport */
body.mepf-project-detail-active .mepf-project-detail{
  box-sizing:border-box!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.mepf-project-detail-active .mepf-project-horizontal{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:stretch!important;
}
body.mepf-project-detail-active .mepf-project-panel,
body.mepf-project-detail-active .mepf-project-panel.intro-panel,
body.mepf-project-detail-active .mepf-project-panel.text-panel,
body.mepf-project-detail-active .mepf-project-panel.image-panel,
body.mepf-project-detail-active .mepf-project-panel.next-panel,
body.mepf-project-detail-active .mepf-project-hero{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body.mepf-project-detail-active .mepf-project-panel.text-panel,
body.mepf-project-detail-active .mepf-project-title-block{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
body.mepf-project-detail-active .mepf-project-panel.image-panel img,
body.mepf-project-detail-active .mepf-project-hero img{
  display:block!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
}
/* The JS calculates the compensating top margin from the actual site header.
   Do not let theme/content wrappers reintroduce spacing around the renderer. */
body.mepf-project-detail-active .mepf-project-detail-host,
body.mepf-project-detail-active [data-mepf-project-host="1"]{
  padding-top:0!important;
  padding-bottom:0!important;
  border:0!important;
}

/* v1.8.17: global responsive project image heights from Project Settings */
body.mepf-project-detail-active .mepf-project-panel.image-panel,
body.mepf-project-detail-active .mepf-project-hero{
  height:min(var(--mepf-project-img-h-d,720px),100%)!important;
  min-height:0!important;
  max-height:100%!important;
  align-self:flex-start!important;
}
body.mepf-project-detail-active .mepf-project-panel.image-panel img,
body.mepf-project-detail-active .mepf-project-hero img{
  height:100%!important;
  max-height:100%!important;
  width:auto;
  object-fit:cover!important;
  display:block!important;
}
body.mepf-project-detail-active .mepf-project-hero{width:auto!important;max-width:none!important;overflow:hidden!important;}
body.mepf-project-detail-active .mepf-project-hero img{width:100%!important;}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-panel.image-panel,
  body.mepf-project-detail-active .mepf-project-hero{
    height:min(var(--mepf-project-img-h-t,520px),100%)!important;
  }
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-panel.image-panel,
  body.mepf-project-detail-active .mepf-project-hero{
    height:min(var(--mepf-project-img-h-m,360px),100%)!important;
  }
}
/* A configured height of 0 means: use all available project-section height. */
body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-d:0px"] .mepf-project-panel.image-panel,
body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-d:0px"] .mepf-project-hero{height:100%!important;}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-t:0px"] .mepf-project-panel.image-panel,
  body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-t:0px"] .mepf-project-hero{height:100%!important;}
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-m:0px"] .mepf-project-panel.image-panel,
  body.mepf-project-detail-active .mepf-project-detail[style*="--mepf-project-img-h-m:0px"] .mepf-project-hero{height:100%!important;}
}

/* v1.8.18: global scrolling gap, text alignment and reliable inner project padding */
body.mepf-project-detail-active .mepf-project-detail{
  box-sizing:border-box!important;
  padding-top:var(--mepf-detail-pad-top,0px)!important;
  padding-right:var(--mepf-detail-pad-right,0px)!important;
  padding-bottom:var(--mepf-detail-pad-bottom,0px)!important;
  padding-left:var(--mepf-detail-pad-left,0px)!important;
}
body.mepf-project-detail-active .mepf-project-horizontal{
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  gap:var(--mepf-project-img-gap,0px)!important;
  column-gap:var(--mepf-project-img-gap,0px)!important;
}
body.mepf-project-detail-active .description-panel .mepf-project-copy,
body.mepf-project-detail-active .description-panel .mepf-project-copy ul,
body.mepf-project-detail-active .description-panel .mepf-project-copy li{
  text-align:var(--mepf-description-align,left)!important;
}
body.mepf-project-detail-active .overview-panel .mepf-project-copy,
body.mepf-project-detail-active .overview-panel .mepf-project-overview-text{
  text-align:var(--mepf-overview-align,left)!important;
}
body.mepf-project-detail-active .description-panel .mepf-project-copy li{
  align-items:start;
}


/* v1.8.19: centered listing titles + animated project status badges */
.mepf-project-tile-info{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  gap:5px!important;
  padding-top:12px!important;
}
.mepf-project-tile-info strong,
.mepf-project-tile-info small{
  width:100%!important;
  text-align:center!important;
}
.mepf-project-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:88px!important;
  min-height:30px!important;
  padding:5px 13px!important;
  margin-top:5px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  animation:mepfProjectStatusBlink 1.15s ease-in-out infinite!important;
}
.mepf-project-status-completed{background:#16a34a!important;}
.mepf-project-status-ongoing{background:#f59e0b!important;color:#1f2937!important;}
.mepf-project-status-hold{background:#dc2626!important;}
.mepf-project-meta .mepf-project-status{margin-top:0!important;width:max-content!important;}
@keyframes mepfProjectStatusBlink{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.42;transform:scale(.97)}
}
@media (prefers-reduced-motion:reduce){
  .mepf-project-status{animation-duration:2.4s!important;}
}

/* v1.8.20: optional detail-status blink, no listing status, hidden project scrollbar, mobile/tablet horizontal touch parity */
.mepf-project-status-text{
  display:inline!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--mepf-mv-color,#111)!important;
  font-family:var(--mepf-mv-family,inherit)!important;
  font-size:var(--mepf-mv-size,13px)!important;
  font-weight:var(--mepf-mv-weight,500)!important;
  line-height:inherit!important;
  box-shadow:none!important;
  animation:none!important;
}
/* Internal project scroller remains functional, but its visual scrollbar/line is hidden on all devices. */
body.mepf-project-detail-active .mepf-project-horizontal{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
}
body.mepf-project-detail-active .mepf-project-horizontal::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}
body.mepf-project-detail-active .mepf-project-horizontal::-webkit-scrollbar-track,
body.mepf-project-detail-active .mepf-project-horizontal::-webkit-scrollbar-thumb{
  display:none!important;
  background:transparent!important;
  border:0!important;
}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-horizontal{
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    touch-action:pan-x!important;
    scroll-behavior:auto!important;
  }
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-horizontal{
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    touch-action:pan-x!important;
    scroll-snap-type:x proximity!important;
  }
  body.mepf-project-detail-active .mepf-project-panel{scroll-snap-align:start!important;}
}

/* v1.8.21: device-specific project spacing, smoother scrolling and frontend submission workflow */
body.mepf-project-detail-active .mepf-project-horizontal{
  scroll-behavior:smooth!important;
  scroll-snap-type:x proximity!important;
}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-detail{
    padding:var(--mepf-detail-pad-tablet-top,0px) var(--mepf-detail-pad-tablet-right,0px) var(--mepf-detail-pad-tablet-bottom,0px) var(--mepf-detail-pad-tablet-left,0px)!important;
    margin-top:var(--mepf-detail-margin-tablet-top,0px)!important;
    margin-right:var(--mepf-detail-margin-tablet-right,0px)!important;
    margin-bottom:var(--mepf-detail-margin-tablet-bottom,0px)!important;
    margin-left:var(--mepf-detail-margin-tablet-left,0px)!important;
    width:calc(100% - var(--mepf-detail-margin-tablet-left,0px) - var(--mepf-detail-margin-tablet-right,0px))!important;
  }
  body.mepf-project-detail-active .mepf-project-horizontal{scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;}
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-detail{
    padding:var(--mepf-detail-pad-mobile-top,0px) var(--mepf-detail-pad-mobile-right,0px) var(--mepf-detail-pad-mobile-bottom,0px) var(--mepf-detail-pad-mobile-left,0px)!important;
    margin-top:var(--mepf-detail-margin-mobile-top,0px)!important;
    margin-right:var(--mepf-detail-margin-mobile-right,0px)!important;
    margin-bottom:var(--mepf-detail-margin-mobile-bottom,0px)!important;
    margin-left:var(--mepf-detail-margin-mobile-left,0px)!important;
    width:calc(100% - var(--mepf-detail-margin-mobile-left,0px) - var(--mepf-detail-margin-mobile-right,0px))!important;
  }
  body.mepf-project-detail-active .mepf-project-horizontal{scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;}
}

.mepf-front-project-workflow{width:min(1120px,100%);margin:0 auto;font-family:var(--mepf-body-family,inherit);color:var(--mepf-body-color,#344054)}
.mepf-frontend-project-form,.mepf-project-reference-load{background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:24px;box-shadow:0 5px 20px rgba(16,24,40,.04)}
.mepf-front-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mepf-front-form-grid label,.mepf-project-reference-load label{display:flex;flex-direction:column;gap:7px;min-width:0;font-weight:600;font-size:13px}
.mepf-front-form-grid label.full{grid-column:1/-1}
.mepf-front-form-grid input,.mepf-front-form-grid select,.mepf-front-form-grid textarea,.mepf-project-reference-load input{width:100%!important;max-width:100%!important;min-height:44px;border:1px solid #d0d5dd;border-radius:8px;padding:9px 12px;background:#fff;color:#101828;box-sizing:border-box;font:inherit;font-weight:400}
.mepf-front-form-grid textarea{min-height:150px;resize:vertical;line-height:1.55}
.mepf-front-current-image{display:block;width:100%;max-width:260px;height:145px;object-fit:cover;border-radius:8px;margin:2px 0 5px;background:#f3f4f6}
.mepf-front-submit,.mepf-project-reference-load button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:10px 20px;border:0;border-radius:8px;background:#111827;color:#fff;font-weight:700;cursor:pointer}
.mepf-project-reference-load{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}
.mepf-project-reference-load button{margin:0;min-width:130px}
.mepf-project-message{padding:15px 17px;border-radius:9px;margin:0 0 18px;border:1px solid transparent;line-height:1.5}
.mepf-project-message.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.mepf-project-message.error{background:#fef3f2;border-color:#fecdca;color:#b42318}.mepf-project-message.warning{background:#fffaeb;border-color:#fedf89;color:#93370d}.mepf-project-message.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}
.mepf-project-message code{font-weight:800;color:inherit}
@media(max-width:700px){.mepf-frontend-project-form,.mepf-project-reference-load{padding:16px;border-radius:10px}.mepf-front-form-grid{grid-template-columns:1fr;gap:14px}.mepf-front-form-grid label.full{grid-column:auto}.mepf-project-reference-load{grid-template-columns:1fr}.mepf-project-reference-load button,.mepf-front-submit{width:100%}}

/* v1.8.28: one stable horizontal scrolling model for desktop, tablet and mobile. */
body.mepf-project-detail-active .mepf-project-horizontal{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pinch-zoom!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
body.mepf-project-detail-active .mepf-project-horizontal::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
body.mepf-project-detail-active .mepf-project-panel{scroll-snap-align:none!important;scroll-snap-stop:normal!important;}
body.mepf-project-detail-active .mepf-project-horizontal.is-wheel-scrolling,
body.mepf-project-detail-active .mepf-project-horizontal.is-dragging{scroll-behavior:auto!important;scroll-snap-type:none!important;}
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-horizontal{overflow-x:auto!important;touch-action:pan-x pinch-zoom!important;scroll-behavior:auto!important;scroll-snap-type:none!important;}
}
@media(max-width:700px){
  body.mepf-project-detail-active .mepf-project-horizontal{overflow-x:auto!important;touch-action:pan-x pinch-zoom!important;scroll-behavior:auto!important;scroll-snap-type:none!important;}
}


/* v1.8.29: reliable explicit mobile/tablet horizontal swipe controller. */
@media(max-width:1024px){
  body.mepf-project-detail-active .mepf-project-horizontal{
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior-x:contain!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:auto!important;
    scroll-snap-type:none!important;
  }
}

/* v1.8.30: Add Project gallery controls in a precise 30 / 50 / 20 responsive row. */
.mepf-front-form-grid .mepf-front-gallery-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,30fr) minmax(0,50fr) minmax(0,20fr);
  gap:18px;
  width:100%;
  min-width:0;
  align-items:end;
}
.mepf-front-gallery-row>label{min-width:0!important;width:100%!important;}
.mepf-front-gallery-row input,.mepf-front-gallery-row select{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
@media(max-width:900px){
  .mepf-front-form-grid .mepf-front-gallery-row{grid-template-columns:minmax(0,30fr) minmax(0,50fr) minmax(0,20fr);gap:12px;}
}
@media(max-width:700px){
  .mepf-front-form-grid .mepf-front-gallery-row{grid-column:auto;grid-template-columns:1fr;gap:14px;}
}
