/* MS Arquitetura — Projetos (front) */
:root{
	--ms-g:clamp(10px,1.25vw,20px);
	--ms-hdr-h:79px;
	--ms-paper:#f3f2ee;
	--ms-ink:#161615;
	--ms-ink2:#4a4a46;
	--ms-ink3:#8d8c87;
	--ms-line:#d9d8d2;
	--ms-ease:cubic-bezier(.22,1,.36,1);
}
@media (max-width:1024px){:root{--ms-hdr-h:72px}}
@media (max-width:767px){:root{--ms-hdr-h:64px}}

/* ---------- Cabeçalho: garante os estados claro/sólido do script de interações
   (o fundo em degradê do Elementor tinha prioridade e ficava aparecendo) ---------- */
body .elementor-location-header .sg-hdr.is-light{background-image:none!important}
body .elementor-location-header .sg-hdr.is-solid{background-image:none!important;background-color:rgba(18,18,17,.6)!important}
body .elementor-location-header .sg-hdr.is-solid.is-light{background-color:rgba(243,242,238,.86)!important}

/* ---------- Home: hero com moldura branca ---------- */
.msp-hdrzone{position:absolute;top:0;left:0;right:0;height:var(--ms-hdr-h);pointer-events:none;visibility:hidden}
.sg-hero{background-color:var(--ms-paper)!important}
.sg-hero>.elementor-background-slideshow,
.sg-hero>.elementor-background-video-container,
.sg-hero>.elementor-background-overlay,
.sg-hero::before{
	top:var(--ms-hdr-h)!important;
	left:var(--ms-g)!important;
	right:var(--ms-g)!important;
	bottom:var(--ms-g)!important;
	width:auto!important;
	height:auto!important;
	inset:var(--ms-hdr-h) var(--ms-g) var(--ms-g) var(--ms-g)!important;
}
.sg-hero{
	padding-left:calc(var(--padding-left,0px) + var(--ms-g))!important;
	padding-right:calc(var(--padding-right,0px) + var(--ms-g))!important;
	padding-bottom:calc(var(--padding-bottom,0px) + var(--ms-g))!important;
}

/* ---------- Home: grade dinâmica [ms_portfolio] ---------- */
.elementor-widget-shortcode.msp-portfolio,
.elementor-widget-shortcode:has(.msp-bento){width:100%!important;max-width:100%;flex-shrink:0;align-self:stretch}
.msp-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:16px;width:100%}
@media (max-width:1024px){.msp-bento{gap:12px}}
@media (max-width:767px){.msp-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.msp-bento>.sg-card{display:flex;flex-direction:column;overflow:hidden;background:#e8e7e2}
.msp-bento .sg-cap{display:flex;flex-direction:column;gap:2px}
.msp-bento .sg-cap>.elementor-widget-heading{margin:0;padding:0}
.msp-bento .sg-cap h3.elementor-heading-title{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#efeeea}
.msp-bento .sg-cap p.elementor-heading-title{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:-.01em;color:rgba(239,238,234,.72)}
.elementor-widget-shortcode .msp-empty{padding:24px;border:1px dashed var(--ms-line);color:var(--ms-ink3)}

/* ---------- Página do projeto ---------- */
body.msp-single{background:var(--ms-paper)}
.msp{background:var(--ms-paper);color:var(--ms-ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;overflow-x:clip}
.msp *,.msp *::before,.msp *::after{box-sizing:border-box}
.msp a{color:inherit;text-decoration:none}
.msp-wrap{padding-left:var(--sg-inline,clamp(16px,4vw,56px));padding-right:var(--sg-inline,clamp(16px,4vw,56px))}
.msp-label{margin:0;font-size:13px;line-height:1.5;color:var(--ms-ink3)}

/* Cabeçalho do projeto */
.msp-head{padding-top:calc(var(--ms-hdr-h) + clamp(36px,6vw,96px));padding-bottom:clamp(28px,3.5vw,48px)}
.msp-crumbs{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(28px,5vw,72px);font-size:13px;line-height:1;color:var(--ms-ink3)}
.msp-back{position:relative;display:inline-flex;align-items:center;gap:10px;padding:6px 0;color:var(--ms-ink)!important}
.msp-back::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ms-ease)}
.msp-back:hover::after{transform:scaleX(1);transform-origin:left}
.msp-back__arrow{display:inline-block;transition:transform .45s var(--ms-ease)}
.msp-back:hover .msp-back__arrow{transform:translateX(-4px)}
.msp-count{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.msp-title{margin:0;max-width:18ch;font-family:inherit;font-size:clamp(40px,7vw,112px);font-weight:500;line-height:.96;letter-spacing:-.04em;color:var(--ms-ink);text-wrap:balance}
.msp-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px;margin:clamp(32px,4.5vw,64px) 0 0;padding:20px 0 0;border-top:1px solid var(--ms-line)}
.msp-spec{margin:0;min-width:0}
.msp-spec dt{margin:0 0 6px;font-size:12px;line-height:1.3;font-weight:400;color:var(--ms-ink3)}
.msp-spec dd{margin:0;font-size:15px;line-height:1.35;font-weight:500;color:var(--ms-ink)}
@media (max-width:767px){.msp-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Fotos: todas no mesmo formato, margens brancas iguais */
.msp-shot{position:relative;margin:0;overflow:hidden;aspect-ratio:3/2;background:#e8e7e2}
.msp-shot>a{display:block;width:100%;height:100%;cursor:zoom-in}
.msp-shot img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;transition:clip-path 1.1s var(--ms-ease),transform 1.4s var(--ms-ease);transition-delay:var(--d,0ms)}
.sg-js .msp-shot.sg-r{opacity:1;transform:none}
.sg-js .msp-shot.sg-r img{clip-path:inset(0 0 100% 0);transform:scale(1.12)}
.sg-js .msp-shot.sg-r.in img{clip-path:inset(0);transform:scale(1.001)}
@media (hover:hover){.msp-shot.in:hover img{transform:scale(1.025);transition-delay:0ms}}

.msp-cover{padding:0 var(--ms-g)}
.msp-cover__media{width:100%;aspect-ratio:16/9;max-height:calc(100svh - var(--ms-hdr-h) - var(--ms-g))}
@media (max-width:767px){.msp-cover__media{aspect-ratio:4/5;max-height:none}}

.msp-gallery{padding:0 var(--ms-g)}
.msp-cover+.msp-gallery{margin-top:var(--ms-g)}
.msp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ms-g)}
.msp-grid>.msp-shot:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - var(--ms-g)) / 2)}
@media (max-width:767px){
	.msp-grid{grid-template-columns:minmax(0,1fr)}
	.msp-grid>.msp-shot:last-child:nth-child(odd){justify-self:stretch;width:auto}
}

/* Sobre o projeto */
.msp-about{padding:clamp(72px,11vw,176px) 0}
.msp-about__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:20px}
.msp-about__grid>.msp-label{grid-column:1/span 3}
.msp-about__body{grid-column:5/span 7}
.msp-about__text{font-size:clamp(18px,1.55vw,24px);line-height:1.55;letter-spacing:-.012em;color:var(--ms-ink)}
.msp-about__text>*{margin:0 0 1em}
.msp-about__text>*:last-child{margin-bottom:0}
.msp-about__text a{text-decoration:underline;text-underline-offset:3px}
.msp-credit{margin:32px 0 0;font-size:13px;color:var(--ms-ink3)}
@media (max-width:1024px){.msp-about__grid>.msp-label,.msp-about__body{grid-column:1/-1}}

/* Próximo projeto + rodapé da página */
.msp-next{padding:clamp(88px,12vw,192px) 0 clamp(48px,6vw,96px)}
.msp-next__link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:end;padding-top:24px;border-top:1px solid var(--ms-line)}
.msp-next__text{display:flex;flex-direction:column;gap:14px;min-width:0}
.msp-next__title{display:block;font-size:clamp(36px,5.6vw,88px);font-weight:500;line-height:.98;letter-spacing:-.04em;color:var(--ms-ink)}
.msp-next__arrow{display:inline-block;margin-left:.25em;font-weight:300;transition:transform .6s var(--ms-ease)}
.msp-next__link:hover .msp-next__arrow{transform:translateX(.18em)}
.msp-next__meta{font-size:13px;color:var(--ms-ink3)}
.msp-next__img{display:block;aspect-ratio:3/2;overflow:hidden;background:#e8e7e2}
.msp-next__img img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.2s var(--ms-ease)}
.msp-next__link:hover .msp-next__img img{transform:scale(1.04)}
@media (max-width:767px){.msp-next__link{grid-template-columns:minmax(0,1fr)}}

.msp-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:clamp(56px,7vw,112px)}
.msp-foot__cta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:16px}
.msp-foot__lead{font-size:14px;color:var(--ms-ink2)}
.msp-pill{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border:1px solid var(--ms-ink);border-radius:999px;font-size:14px;font-weight:500;line-height:1;color:var(--ms-ink)!important;transition:background-color .3s,color .3s}
.msp-pill:hover{background:var(--ms-ink);color:var(--ms-paper)!important}
.msp-pill--solid{background:var(--ms-ink);color:var(--ms-paper)!important}
.msp-pill--solid:hover{background:transparent;color:var(--ms-ink)!important}

@media (prefers-reduced-motion:reduce){
	.sg-js .msp-shot.sg-r img{clip-path:none;transform:none;transition:none}
}
