.nem-portfolio-site{background:#000;color:#fff;overflow:hidden}.nem-portfolio-site a{color:inherit}.nem-portfolio-wrap{max-width:1240px;margin:0 auto;padding:0 18px}.nem-portfolio-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;margin:58px auto 70px;background:#fff;color:#000}.nem-portfolio-hero-text{display:flex;flex-direction:column;justify-content:center;padding:64px}.nem-portfolio-hero-text h1{font-size:30px;line-height:1.15;margin:0 0 22px}.nem-portfolio-hero-text p{font-size:16px;line-height:1.65;margin:0}.nem-portfolio-hero-image{min-height:520px;background:#111 center/cover no-repeat}.nem-portfolio-single .nem-portfolio-wrap{max-width:100%;padding:0}.nem-portfolio-single .nem-portfolio-hero{max-width:100%;margin:0;background:#000;color:#fff;grid-template-columns:39.5% 60.5%;border-bottom:0}.nem-portfolio-single .nem-portfolio-hero-text{padding:120px 7vw 110px}.nem-portfolio-single .nem-portfolio-hero-text h1{font-size:34px;font-weight:700}.nem-portfolio-single .nem-portfolio-hero-image{min-height:640px}.nem-portfolio-ribbon{position:absolute;left:-44px;top:40px;transform:rotate(-45deg);background:#000;color:#fff;padding:8px 58px;font-size:12px;font-weight:700;text-transform:uppercase;z-index:2}.nem-portfolio-single-hero{position:relative;overflow:hidden}.nem-portfolio-meta{display:flex;justify-content:center;gap:70px;flex-wrap:wrap;background:#fff;color:#111;padding:25px 18px;margin:0 0 94px;font-weight:700}.nem-portfolio-intro{text-align:center;max-width:980px;margin:0 auto 42px;padding:0 18px}.nem-portfolio-intro h2{font-size:34px;margin:0 0 18px}.nem-portfolio-intro p{line-height:1.7;color:#f3f3f3}.nem-portfolio-gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 auto 130px;max-width:1500px;padding:0 18px}.nem-portfolio-gallery-strip img{width:100%;height:330px;object-fit:cover;display:block}.nem-portfolio-gallery-strip img:nth-child(n+5){height:260px}.nem-portfolio-story{display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:1240px;margin:0 auto 130px;padding:0 18px}.nem-portfolio-story h2{font-size:28px}.nem-portfolio-story p,.nem-portfolio-feature p{line-height:1.7;color:#eee}.nem-portfolio-features{display:grid;grid-template-columns:1fr 1fr;gap:26px}.nem-portfolio-feature{border:1px solid rgba(255,255,255,.24);padding:28px}.nem-portfolio-feature h3{font-size:24px;margin:0 0 12px}.nem-portfolio-cta{text-align:center;margin:30px 0 130px}.nem-portfolio-button{display:inline-block;background:#fff;color:#000!important;padding:12px 38px;text-decoration:none;font-weight:700}.nem-portfolio-grid{display:grid;grid-template-columns:1.15fr .75fr .75fr;grid-auto-flow:dense;gap:28px;margin:90px auto}.nem-portfolio-card{display:block;background:#fff;color:#000;text-decoration:none;overflow:hidden}.nem-portfolio-card:nth-child(1),.nem-portfolio-card:nth-child(6n){grid-row:span 2}.nem-portfolio-card img{width:100%;height:270px;object-fit:cover;display:block}.nem-portfolio-card:nth-child(1) img,.nem-portfolio-card:nth-child(6n) img{height:450px}.nem-portfolio-card-body{display:block;padding:22px;text-align:center}.nem-portfolio-card h3{margin:0 0 8px;font-size:22px}.nem-portfolio-card p{margin:0;color:#333}.nem-portfolio-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;margin:100px auto 150px}.nem-portfolio-counter strong{display:block;font-size:54px;line-height:1}.nem-portfolio-filter-gallery{display:flex;gap:8px;justify-content:center;align-items:flex-start;flex-wrap:wrap;margin:0 auto 120px}.nem-portfolio-filter-gallery img{width:190px;height:150px;object-fit:cover}.nem-portfolio-empty{text-align:center;padding:120px 20px}body.nem-portfolio-template{overflow-x:hidden}body.nem-portfolio-template footer,body.nem-portfolio-template .elementor-location-footer{background:#000!important;color:#fff!important;min-height:0!important;height:auto!important;margin:0!important;overflow:hidden!important}body.nem-portfolio-template footer.elementor-location-footer,body.nem-portfolio-template .elementor-location-footer{padding:0 0 28px!important}body.nem-portfolio-template footer.elementor-location-footer .e-con,body.nem-portfolio-template .elementor-location-footer .e-con,body.nem-portfolio-template footer.elementor-location-footer .elementor-element,body.nem-portfolio-template .elementor-location-footer .elementor-element{--min-height:0!important;min-height:0!important;height:auto!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;background:#000!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-gallery,body.nem-portfolio-template .elementor-location-footer .elementor-widget-gallery{margin:0 0 58px!important;max-height:120px!important;overflow:hidden!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-gallery__container,body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container{height:108px!important;min-height:0!important}body.nem-portfolio-template footer.elementor-location-footer .e-gallery-item,body.nem-portfolio-template .elementor-location-footer .e-gallery-item{height:108px!important;min-height:0!important;padding-bottom:0!important}body.nem-portfolio-template footer.elementor-location-footer .e-gallery-image,body.nem-portfolio-template .elementor-location-footer .e-gallery-image{height:108px!important;min-height:108px!important;background-size:cover!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-image,body.nem-portfolio-template .elementor-location-footer .elementor-widget-image{margin:0 auto 34px!important;text-align:center!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-image img,body.nem-portfolio-template .elementor-location-footer .elementor-widget-image img{width:150px!important;max-width:150px!important;height:auto!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-text-editor,body.nem-portfolio-template .elementor-location-footer .elementor-widget-text-editor,body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-heading,body.nem-portfolio-template .elementor-location-footer .elementor-widget-heading{margin:0!important;color:#fff!important}@media(min-width:901px){.nem-portfolio-single .nem-portfolio-hero{grid-template-columns:39.5vw 60.5vw}.nem-portfolio-single .nem-portfolio-hero-text{padding-left:8vw;padding-right:5vw}.nem-portfolio-single .nem-portfolio-hero-image{min-height:620px}.nem-portfolio-single .nem-portfolio-meta{font-size:17px}}@media(max-width:900px){.nem-portfolio-wrap{overflow:hidden}.nem-portfolio-hero{grid-template-columns:1fr;margin-top:28px}.nem-portfolio-hero-text{padding:34px}.nem-portfolio-hero-image{min-height:360px}.nem-portfolio-single .nem-portfolio-hero{grid-template-columns:1fr;margin:0}.nem-portfolio-single .nem-portfolio-hero-text{padding:54px 28px 32px}.nem-portfolio-single .nem-portfolio-hero-image{min-height:360px}.nem-portfolio-ribbon{left:0;top:0;transform:none;padding:7px 16px;font-size:11px}.nem-portfolio-meta{gap:18px;display:grid;grid-template-columns:1fr;margin-bottom:70px}.nem-portfolio-gallery-strip{grid-template-columns:1fr 1fr;margin-bottom:80px}.nem-portfolio-gallery-strip img,.nem-portfolio-gallery-strip img:nth-child(n+5){height:210px}.nem-portfolio-story{grid-template-columns:1fr;gap:36px}.nem-portfolio-grid{grid-template-columns:1fr}.nem-portfolio-card:nth-child(1),.nem-portfolio-card:nth-child(6n){grid-row:auto}.nem-portfolio-card img,.nem-portfolio-card:nth-child(1) img,.nem-portfolio-card:nth-child(6n) img{height:360px}.nem-portfolio-counters{grid-template-columns:1fr 1fr;margin:70px auto}.nem-portfolio-filter-gallery img{width:calc(50% - 8px);height:130px}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-gallery,body.nem-portfolio-template .elementor-location-footer .elementor-widget-gallery{max-height:92px!important;margin-bottom:36px!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-gallery__container,body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container,body.nem-portfolio-template footer.elementor-location-footer .e-gallery-item,body.nem-portfolio-template .elementor-location-footer .e-gallery-item,body.nem-portfolio-template footer.elementor-location-footer .e-gallery-image,body.nem-portfolio-template .elementor-location-footer .e-gallery-image{height:86px!important;min-height:86px!important}body.nem-portfolio-template footer.elementor-location-footer .elementor-widget-image img,body.nem-portfolio-template .elementor-location-footer .elementor-widget-image img{width:120px!important;max-width:120px!important}}
/* Portfolio footer recovery: match the live centered footer layout without touching the global Elementor footer. */
body.nem-portfolio-template .elementor-location-footer{
  background:#000!important;
  color:#fff!important;
  padding:0 0 64px!important;
  text-align:center!important;
}
body.nem-portfolio-template .elementor-location-footer .e-con,
body.nem-portfolio-template .elementor-location-footer .elementor-container,
body.nem-portfolio-template .elementor-location-footer .elementor-widget-wrap{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-gallery{
  width:100%!important;
  max-height:none!important;
  height:auto!important;
  margin:0 0 120px!important;
  overflow:hidden!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container{
  width:100%!important;
  height:150px!important;
  min-height:150px!important;
}
body.nem-portfolio-template .elementor-location-footer .e-gallery-item,
body.nem-portfolio-template .elementor-location-footer .e-gallery-image{
  height:150px!important;
  min-height:150px!important;
  padding-bottom:0!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-image{
  width:100%!important;
  margin:0 auto 92px!important;
  text-align:center!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-image img{
  display:inline-block!important;
  width:210px!important;
  max-width:210px!important;
  height:auto!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-social-icons,
body.nem-portfolio-template .elementor-location-footer .elementor-social-icons-wrapper{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:24px!important;
  margin:0 auto 46px!important;
  text-align:center!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-social-icon{
  margin:0!important;
  background:transparent!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-icon-list,
body.nem-portfolio-template .elementor-location-footer .elementor-widget-nav-menu{
  width:100%!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-icon-list-items,
body.nem-portfolio-template .elementor-location-footer .elementor-nav-menu{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:26px!important;
  margin:0 auto!important;
  padding:0!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-icon-list-item,
body.nem-portfolio-template .elementor-location-footer .elementor-nav-menu li{
  width:auto!important;
  margin:0!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-widget-text-editor,
body.nem-portfolio-template .elementor-location-footer .elementor-widget-text-editor *{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  color:#fff!important;
}
@media(max-width:900px){
  body.nem-portfolio-template .elementor-location-footer{padding-bottom:44px!important;}
  body.nem-portfolio-template .elementor-location-footer .elementor-widget-gallery{margin-bottom:76px!important;}
  body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container,
  body.nem-portfolio-template .elementor-location-footer .e-gallery-item,
  body.nem-portfolio-template .elementor-location-footer .e-gallery-image{height:92px!important;min-height:92px!important;}
  body.nem-portfolio-template .elementor-location-footer .elementor-widget-image{margin-bottom:54px!important;}
  body.nem-portfolio-template .elementor-location-footer .elementor-widget-image img{width:150px!important;max-width:150px!important;}
  body.nem-portfolio-template .elementor-location-footer .elementor-widget-social-icons,
  body.nem-portfolio-template .elementor-location-footer .elementor-social-icons-wrapper{margin-bottom:30px!important;gap:18px!important;}
}
body.nem-portfolio-template .nem-footer-policy-links{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:34px!important;
  margin:0 auto 12px!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.4!important;
  text-align:center!important;
}
body.nem-portfolio-template .nem-footer-policy-links a{
  color:#fff!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.nem-portfolio-template .nem-footer-policy-links a:before{
  content:'›';
  font-size:22px!important;
  line-height:1!important;
}
@media(max-width:900px){body.nem-portfolio-template .nem-footer-policy-links{gap:18px!important;font-size:14px!important;}}
/* Portfolio footer image proportions: match live square strip tiles. */
body.nem-portfolio-template .elementor-location-footer .elementor-widget-gallery{
  margin-bottom:120px!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:4px!important;
  height:220px!important;
  min-height:220px!important;
  overflow:hidden!important;
}
body.nem-portfolio-template .elementor-location-footer .e-gallery-item{
  flex:0 0 220px!important;
  width:220px!important;
  max-width:220px!important;
  height:220px!important;
  min-height:220px!important;
  padding-bottom:0!important;
}
body.nem-portfolio-template .elementor-location-footer .e-gallery-image{
  width:220px!important;
  height:220px!important;
  min-height:220px!important;
  background-size:cover!important;
  background-position:center!important;
}
body.nem-portfolio-template .elementor-location-footer .e-gallery-image img,
body.nem-portfolio-template .elementor-location-footer .e-gallery-item img{
  width:220px!important;
  height:220px!important;
  object-fit:cover!important;
}

/* Portfolio sticky header: keep the menu block right-aligned like the live site. */
body.nem-portfolio-template .elementor-location-header .header-scroll{
  width:min(1320px, calc(100vw - 72px))!important;
  max-width:min(1320px, calc(100vw - 72px))!important;
  margin-left:auto!important;
  margin-right:32px!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
body.nem-portfolio-template .elementor-location-header .header-scroll.elementor-sticky--active{
  left:auto!important;
  right:32px!important;
  transform:none!important;
}
body.nem-portfolio-template .elementor-location-header .header-scroll .elementor-widget-nav-menu,
body.nem-portfolio-template .elementor-location-header .header-scroll .elementor-nav-menu--main,
body.nem-portfolio-template .elementor-location-header .header-scroll .elementor-nav-menu{
  margin-left:auto!important;
  margin-right:0!important;
  justify-content:flex-end!important;
  text-align:right!important;
}
@media(max-width:900px){
  body.nem-portfolio-template .elementor-location-footer .elementor-gallery__container{height:120px!important;min-height:120px!important;justify-content:flex-start!important;}
  body.nem-portfolio-template .elementor-location-footer .e-gallery-item,
  body.nem-portfolio-template .elementor-location-footer .e-gallery-image,
  body.nem-portfolio-template .elementor-location-footer .e-gallery-image img,
  body.nem-portfolio-template .elementor-location-footer .e-gallery-item img{width:120px!important;max-width:120px!important;height:120px!important;min-height:120px!important;flex-basis:120px!important;}
  body.nem-portfolio-template .elementor-location-header .header-scroll{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin-right:14px!important;}
  body.nem-portfolio-template .elementor-location-header .header-scroll.elementor-sticky--active{right:14px!important;}
}
/* Final portfolio footer strip: Elementor gallery must remain 1:1 square, not panoramic. */
body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .elementor-gallery__container{
  --aspect-ratio:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:repeat(8, minmax(0, 1fr))!important;
  gap:5px!important;
  overflow:hidden!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .e-gallery-item{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  flex:initial!important;
  padding:0!important;
  overflow:hidden!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .e-gallery-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  background-size:cover!important;
  background-position:center!important;
}
body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .e-gallery-image:before,
body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .e-gallery-image:after{
  display:none!important;
}

/* Final portfolio sticky menu alignment: live site keeps the scrolled white pill to the right. */
body.nem-portfolio-template.is-scrolled .elementor-location-header .header-scroll,
body.nem-portfolio-template body.is-scrolled .elementor-location-header .header-scroll,
body.is-scrolled.nem-portfolio-template .elementor-location-header .header-scroll{
  width:min(1200px, calc(100vw - 64px))!important;
  max-width:min(1200px, calc(100vw - 64px))!important;
  margin:10px 32px 10px auto!important;
  left:auto!important;
  right:32px!important;
  transform:none!important;
}
body.is-scrolled.nem-portfolio-template .elementor-location-header .header-scroll .elementor-widget-nav-menu{
  margin-left:auto!important;
  margin-right:0!important;
}
@media(max-width:900px){
  body.nem-portfolio-template .elementor-location-footer .elementor-element-347b81d1 .elementor-gallery__container{grid-template-columns:repeat(4, minmax(0, 1fr))!important;gap:3px!important;}
  body.nem-portfolio-template.is-scrolled .elementor-location-header .header-scroll,
  body.is-scrolled.nem-portfolio-template .elementor-location-header .header-scroll{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin:10px 14px 10px auto!important;right:14px!important;}
}