/* Mountain Studio Portfolio */
.mspj-wrap{--mspj-primary:#075565;--mspj-secondary:#8fcbd7;--mspj-accent:#b9e0e7;--mspj-bg:#f7fbfc;--mspj-text:#101d22;--mspj-heading:Georgia,serif;--mspj-body:Arial,sans-serif;color:var(--mspj-text);font-family:var(--mspj-body);font-size:16px;line-height:1.55;width:100%;max-width:100%;margin:0 auto;background:transparent}
.mspj-wrap *{box-sizing:border-box}
.mspj-wrap a{color:inherit;text-decoration:none}
.mspj-wrap h1,.mspj-wrap h2,.mspj-wrap h3{font-family:var(--mspj-heading);color:var(--mspj-text);line-height:1.15;margin:0 0 12px;font-weight:700}

/* Portfolio listing: visual style matched to Mountain Studio reference */
.mspj-portfolio{padding:0}
.mspj-filter-area{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 28px}.mspj-filters{display:flex;align-items:center;justify-content:center;gap:8px 12px;flex-wrap:wrap;margin:0 auto}
.mspj-filter{appearance:none;border:0;border-radius:999px;padding:10px 19px;background:transparent;color:var(--mspj-text);font:600 14px/1.35 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.mspj-filter:hover{color:var(--mspj-primary);background:rgba(143,203,215,.15)}
.mspj-filter.is-active{background:#075565;color:#fff;padding-left:22px;padding-right:22px}
.mspj-project-grid{display:grid;grid-template-columns:repeat(var(--mspj-portfolio-cols,3),minmax(0,1fr));gap:14px 16px}
.mspj-project-card{min-width:0;background:#fff;border:1px solid #dce9ec;border-radius:12px;overflow:hidden;position:relative;transition:transform .22s ease,box-shadow .22s ease}
.mspj-project-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(8,54,65,.09)}
.mspj-card-image{display:block;position:relative;overflow:hidden;background:linear-gradient(135deg,#c6e5e9,#467d8c);aspect-ratio:1.92/1}
.mspj-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.mspj-card-image:hover img{transform:scale(1.035)}
.mspj-image-placeholder{display:block;width:100%;height:100%;min-height:120px;background:linear-gradient(145deg,#b9e0e7 0%,#5b9aaa 45%,#064957 100%)}
.mspj-card-content{min-height:66px;padding:12px 14px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.mspj-card-content h3{font-family:'Manrope',sans-serif;font-size:18px;line-height:1.25;margin:0 0 4px;font-weight:800;letter-spacing:-.35px}
.mspj-card-content p{font-family:'Inter',sans-serif;font-size:12px;line-height:1.45;margin:0;color:#52666b}
.mspj-round-arrow{display:inline-flex;flex:0 0 25px;width:25px;height:25px;border-radius:50%;align-items:center;justify-content:center;background:#8fcbd7;color:#075565!important;font:700 16px/1 'DM Sans',sans-serif;transition:background .2s,color .2s;line-height:1;padding:0;text-align:center}
.mspj-round-arrow:hover{background:#075565;color:#fff!important}
.mspj-project-card[hidden]{display:none!important}
.mspj-load-more-wrap{text-align:center;margin:28px auto 8px}
.mspj-load-more{border:0;border-radius:999px;padding:13px 26px;background:#075565;color:#fff;font:700 14px/1.35 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,background .2s}
.mspj-load-more:hover{background:#043e4b;transform:translateY(-2px)}.mspj-categories-toggle{border:1px solid #dce9ec;background:#fff;color:#075565;border-radius:999px;padding:8px 17px;font:600 14px/1.35 'DM Sans',sans-serif;cursor:pointer;transition:all .2s}.mspj-categories-toggle:hover{background:#075565;color:#fff;border-color:#075565}.mspj-categories-toggle span{margin-left:5px;font-size:16px}
.mspj-load-more span{margin-left:8px;font-size:15px}
.mspj-empty{grid-column:1/-1;padding:24px;text-align:center;background:#fff;border-radius:var(--mspj-radius)}
/* Single project page */
.mspj-single-project-content{width:100%;margin:0 auto;padding:25px 0 0}
.mspj-single-project-heading{width:min(1280px,calc(100% - 48px));margin:0 auto 25px}
.mspj-single-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:#6c8085;font-size:12px;margin-bottom:18px}
.mspj-single-breadcrumb a{color:var(--mspj-primary)}
.mspj-single-kicker{display:block;color:var(--mspj-primary);font:800 11px/1.4 var(--mspj-body);letter-spacing:1.3px;text-transform:uppercase;margin:0 0 8px}
.mspj-single-project-heading h1{font-family:'Manrope',sans-serif;font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-1px;margin:0 0 7px}
.mspj-single-project-heading>p{font-family:'Inter',sans-serif;margin:0;color:#52666b;font-size:16px;line-height:1.7}
.mspj-full-site-image{width:min(1280px,calc(100% - 48px));margin:0 auto 42px;background:#fff;border-radius:var(--mspj-radius);overflow:hidden;box-shadow:0 10px 35px rgba(7,55,66,.08)}
.mspj-full-site-image img{display:block;width:100%;height:auto;max-width:100%}
.mspj-full-site-fallback img{object-fit:contain}
.mspj-project-details-bottom{width:min(1280px,calc(100% - 48px));margin:0 auto 42px;padding:28px 0;border-top:1px solid #dce9ec;border-bottom:1px solid #dce9ec;display:grid;grid-template-columns:1fr 1.2fr;gap:45px;align-items:start}
.mspj-project-details-intro h2{font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;letter-spacing:-.6px;margin-bottom:8px}
.mspj-project-details-intro p{font-family:'Inter',sans-serif;font-size:15px;line-height:1.75;color:#53676d;margin:0 0 14px}
.mspj-live-link{display:inline-flex;gap:8px;align-items:center;color:var(--mspj-primary);font-weight:800;font-size:13px}
.mspj-project-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 25px}
.mspj-project-detail-list>div{border-bottom:1px solid #e3edef;padding-bottom:10px}
.mspj-project-detail-list span,.mspj-project-detail-list strong{display:block}
.mspj-project-detail-list span{font:700 10px var(--mspj-body);letter-spacing:1px;text-transform:uppercase;color:#71868b;margin-bottom:5px}
.mspj-project-detail-list strong{font:600 13px/1.5 var(--mspj-body);color:var(--mspj-text)}
/* User-provided Mountain Studio CTA, scoped to the single project template */
.mspj-single-project .mountain-cta{width:min(1280px,calc(100% - 48px));min-height:130px;margin:0 auto 45px;padding:25px 45px;border-radius:12px;background:linear-gradient(110deg,rgba(4,75,88,.98),rgba(5,105,119,.92)),#075361;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden;box-sizing:border-box;font-family:'Inter',sans-serif}
.mspj-single-project .mountain-cta:before{content:"";position:absolute;right:0;bottom:0;width:32%;height:100%;opacity:.22;background:#002e3b;clip-path:polygon(0 100%,12% 75%,22% 84%,38% 48%,48% 68%,62% 25%,73% 55%,84% 35%,100% 65%,100% 100%)}
.mspj-single-project .cta-content{position:relative;z-index:1}
.mspj-single-project .cta-content h2{font-family:'Manrope',sans-serif;font-size:23px;font-weight:800;line-height:1.3;color:#fff;margin:0 0 5px}
.mspj-single-project .cta-content p{font-family:'Inter',sans-serif;font-size:13px;font-weight:400;color:#e5f1f3;margin:0;line-height:1.6}
.mspj-single-project .cta-button{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 23px;background:#fff;color:#064b58;text-decoration:none;border-radius:12px;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;white-space:nowrap;transition:all .3s ease}
.mspj-single-project .cta-button span{font-size:17px;line-height:1}
.mspj-single-project .cta-button:hover{background:#e5f1f3;color:#064b58;transform:translateY(-2px)}
@media(max-width:900px){.mspj-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mspj-project-details-bottom{gap:25px}}
@media(max-width:600px){.mspj-project-grid{grid-template-columns:1fr;gap:16px}.mspj-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;margin-bottom:20px}.mspj-filter{white-space:nowrap;padding:10px 15px}.mspj-single-project-heading,.mspj-full-site-image,.mspj-project-details-bottom{width:calc(100% - 32px)}.mspj-single-project-content{padding-top:18px}.mspj-project-details-bottom{grid-template-columns:1fr;gap:20px;padding:22px 0}.mspj-project-detail-list{grid-template-columns:1fr 1fr;gap:13px}.mspj-single-project .mountain-cta{width:calc(100% - 32px);flex-direction:column;align-items:flex-start;padding:28px 22px;gap:18px}.mspj-single-project .cta-content h2{font-size:20px}.mspj-single-project .cta-content p{font-size:12px}}

/* v1.3.0 typography and project overview */
.mspj-project-story{width:min(1280px,calc(100% - 48px));margin:0 auto 36px;padding:30px 34px;background:#f4f9fa;border:1px solid #e2eef0;border-radius:14px}
.mspj-project-story-inner{max-width:920px}
.mspj-project-story h2{font-family:'Manrope',sans-serif;font-size:25px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}
.mspj-project-story-copy{font-family:'Inter',sans-serif;font-size:15px;line-height:1.85;color:#52666b}
.mspj-project-story-copy p{margin:0 0 10px}
.mspj-project-story-copy p:last-child{margin-bottom:0}
.mspj-project-detail-list strong{font-family:'Inter',sans-serif}
.mspj-single-project .cta-content h2{font-family:'Manrope',sans-serif}
.mspj-single-project .cta-content p{font-family:'Inter',sans-serif}
@media(max-width:600px){.mspj-project-story{width:calc(100% - 32px);padding:22px 18px}.mspj-project-story h2{font-size:21px}.mspj-project-story-copy{font-size:14px}}

/* Homepage featured-project carousel shortcode */
.mspj-home-slider{width:100%;max-width:100%;margin:0 auto}
.mspj-slider-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}
.mspj-slider-eyebrow{display:block;font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:1.2px;color:#075565;margin-bottom:5px}
.mspj-slider-heading h2{font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;letter-spacing:-.6px;margin:0}
.mspj-slider-controls{display:flex;gap:8px;flex:0 0 auto}
.mspj-slider-controls button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d8e7ea;border-radius:50%;background:#fff;color:#075565;font:700 18px/1 'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.mspj-slider-controls button:hover:not(:disabled){background:#075565;border-color:#075565;color:#fff}
.mspj-slider-controls button:disabled{opacity:.35;cursor:not-allowed}
.mspj-slider-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.mspj-slider-viewport::-webkit-scrollbar{display:none}
.mspj-slider-track{display:flex;gap:16px;align-items:stretch}
.mspj-slider-card{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.mspj-slider-card .mspj-card-image{aspect-ratio:1.92/1}
.mspj-slider-card .mspj-card-content h3{font-family:'Manrope',sans-serif;font-size:18px;font-weight:800}
.mspj-slider-card .mspj-card-content p{font-family:'Inter',sans-serif;font-size:12px}
@media(max-width:900px){.mspj-slider-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:600px){.mspj-slider-heading h2{font-size:23px}.mspj-slider-card{flex-basis:100%}.mspj-slider-track{gap:12px}}

/* v1.4.1: enforce category reveal and Mountain Studio arrow colors */
.mspj-wrap .mspj-filter[hidden],
.mspj-wrap .mspj-filter-extra[hidden]{display:none!important}
.mspj-wrap .mspj-filter{font-family:'DM Sans',sans-serif;font-size:14px}
.mspj-wrap .mspj-categories-toggle{font-family:'DM Sans',sans-serif;font-size:14px;color:#075565!important}
.mspj-wrap a.mspj-round-arrow,
.mspj-wrap a.mspj-round-arrow:link,
.mspj-wrap a.mspj-round-arrow:visited{background:#8fcbd7!important;color:#075565!important;-webkit-text-fill-color:#075565!important;font-family:'DM Sans',sans-serif;font-size:17px;font-weight:800;line-height:1;text-decoration:none!important}
.mspj-wrap a.mspj-round-arrow:hover,
.mspj-wrap a.mspj-round-arrow:focus{background:#075565!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.mspj-slider-heading{display:flex;justify-content:flex-end;align-items:center;min-height:38px;margin:0 0 16px}
.mspj-slider-controls button{background:#fff!important;color:#075565!important;-webkit-text-fill-color:#075565!important;border:1px solid #c7e0e5!important;opacity:1!important}
.mspj-slider-controls button:hover:not(:disabled){background:#075565!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#075565!important}
.mspj-slider-controls button:disabled{background:#f0f7f8!important;color:#075565!important;-webkit-text-fill-color:#075565!important;opacity:.72!important}

/* v1.4.3 — final explicit component styling */
.mspj-wrap .mspj-filter-extra[hidden],
.mspj-wrap .mspj-filter[hidden] { display:none !important; }

.mspj-wrap button.mspj-categories-toggle {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-width: 176px !important;
  min-height: 42px !important;
  margin: 12px auto 0 !important;
  padding: 10px 20px !important;
  border: 1px solid #075565 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #075565 !important;
  box-shadow: 0 2px 8px rgba(7,85,101,.08) !important;
  font: 700 14px/1.2 'DM Sans', sans-serif !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.mspj-wrap button.mspj-categories-toggle .mspj-categories-label,
.mspj-wrap button.mspj-categories-toggle .mspj-categories-icon {
  display: inline-block !important;
  color: #075565 !important;
  -webkit-text-fill-color: #075565 !important;
  font: 700 14px/1.2 'DM Sans', sans-serif !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.mspj-wrap button.mspj-categories-toggle .mspj-categories-icon { font-size:17px !important; }
.mspj-wrap button.mspj-categories-toggle:hover {
  background:#075565 !important;
  border-color:#075565 !important;
}
.mspj-wrap button.mspj-categories-toggle:hover .mspj-categories-label,
.mspj-wrap button.mspj-categories-toggle:hover .mspj-categories-icon {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Force both sets of arrows to use the actual brand teal. */
.mspj-home-slider .mspj-slider-controls button {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 42px !important;
  width:42px !important;
  height:42px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #075565 !important;
  border-radius:50% !important;
  background:#075565 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:none !important;
  font:700 20px/1 'DM Sans',sans-serif !important;
  cursor:pointer !important;
  opacity:1 !important;
}
.mspj-home-slider .mspj-slider-controls button:hover,
.mspj-home-slider .mspj-slider-controls button:focus {
  background:#043f4b !important;
  border-color:#043f4b !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.mspj-home-slider .mspj-slider-controls button:disabled {
  background:#075565 !important;
  border-color:#075565 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:.55 !important;
}

.mspj-wrap a.mspj-round-arrow {
  all: unset !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 27px !important;
  width:27px !important;
  height:27px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #075565 !important;
  border-radius:50% !important;
  background:#075565 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:none !important;
  font:700 16px/1 'DM Sans',sans-serif !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.mspj-wrap a.mspj-round-arrow:hover,
.mspj-wrap a.mspj-round-arrow:focus {
  background:#043f4b !important;
  border-color:#043f4b !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Single project layout: a true 1280px maximum-width content canvas. */
body .mspj-single-project {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
body .mspj-single-project .mspj-single-project-heading,
body .mspj-single-project .mspj-full-site-image,
body .mspj-single-project .mspj-project-story,
body .mspj-single-project .mspj-project-details-bottom {
  width:calc(100% - 48px) !important;
  max-width:1280px !important;
  box-sizing:border-box !important;
}
@media(max-width:600px) {
  body .mspj-single-project .mspj-single-project-heading,
  body .mspj-single-project .mspj-full-site-image,
  body .mspj-single-project .mspj-project-story,
  body .mspj-single-project .mspj-project-details-bottom {
    width:calc(100% - 32px) !important;
  }
}

body .mspj-single-project .mountain-cta {
  width:calc(100% - 48px) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
@media(max-width:600px) {
  body .mspj-single-project .mountain-cta { width:calc(100% - 32px) !important; }
}
