:root{--pld-max:1200px;--pld-gap:clamp(16px,2.4vw,32px);--pld-gutter:26px;--pld-ease:cubic-bezier(.2,.7,.2,1);--pld-text:#6b5a4d;--pld-label:#3b2f28}
body.pld-project-page{background:#fff}
.pld-project{overflow-x:clip}
.pld-project img{max-width:100%;height:auto;display:block}
.pld-c{margin:0 0 80px}

/* ---- Hero: full-height fading slideshow ---- */
.pld-c--hero{position:relative;overflow:hidden;background:#111;display:flex;align-items:flex-end;color:#fff;margin-bottom:53px}
.pld-slides,.pld-slide{position:absolute;inset:0}
.pld-slide{opacity:0;transition:opacity .5s ease}
.pld-slide.is-active{opacity:1}
.pld-slide img{width:100%;height:100%;object-fit:cover}
.pld-hero__txt{position:relative;z-index:1;padding:var(--pld-gap)}
.pld-hero__title{color:inherit;font-size:clamp(34px,6vw,84px);line-height:1.05;margin:0}

/* ---- Text + image (2/3 · 1/3) ---- */
.pld-c--text_image{display:grid;grid-template-columns:2fr 1fr;align-items:start}
.pld-c--text_image.pld-ratio-1-1{grid-template-columns:1fr 1fr}
.pld-ti__col--text{padding:20px 48px 0 43px;color:var(--pld-text)}
.pld-ti__col--img{padding:0 27px 0 17px}
.pld-c--text_image .pld-ti__col--img:first-child{padding:0 17px 0 26px}
.pld-c--text_image .pld-ti__col--img:first-child+.pld-ti__col--text{padding-left:48px}
.pld-ti__col--img{min-width:0}
.pld-ti__img img{width:100%}
.pld-ti__title{margin:0 0 76px;font-family:inherit;font-size:var(--pld-title-size,22px);line-height:1.3;font-weight:400;color:var(--pld-label)}
.pld-ti__title strong{font-weight:700}
.pld-ti__body{color:var(--pld-text);font-family:inherit;font-size:var(--pld-text-size,14px);line-height:1.65}
.pld-ti__body p{margin:0 0 72px;line-height:1.65}
.pld-ti__body p:last-child{margin-bottom:0}
.pld-ti__body strong,.pld-ti__body b{font-weight:700;color:var(--pld-label)}
.pld-c--text_image:not(.pld-ratio-1-1):has(.pld-ti__col--img:first-child){grid-template-columns:1fr 2fr}

/* ---- Image row ---- */
.pld-c--image_row{display:grid;gap:34px;padding:0 var(--pld-gutter)}
.pld-cols-1{grid-template-columns:1fr}.pld-cols-2{grid-template-columns:repeat(2,1fr)}
.pld-cols-3{grid-template-columns:repeat(3,1fr)}.pld-cols-4{grid-template-columns:repeat(4,1fr)}
.pld-row__item{min-width:0}
.pld-row__item img{width:100%}

/* ---- Text / image / video / quote ---- */
.pld-narrow{max-width:760px;margin:0 auto;padding:clamp(24px,5vw,70px) var(--pld-gap)}
.pld-narrow{color:var(--pld-text)}
.pld-narrow p{line-height:1.65;margin:0 0 2em}
.pld-narrow strong{color:var(--pld-label)}
.pld-align-center{text-align:center}
.pld-fig{margin:0}.pld-fig img{width:100%}
.pld-fig figcaption,.pld-cap{font-size:13px;opacity:.65;margin-top:8px;text-align:center}
.pld-video{position:relative;aspect-ratio:16/9;background:#000}
.pld-video iframe,.pld-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.pld-quote{margin:0 auto;max-width:860px;text-align:center;padding:clamp(24px,5vw,70px) var(--pld-gap);border:0}
.pld-quote>div{font-size:clamp(22px,3.4vw,40px);line-height:1.3;font-style:italic}
.pld-quote cite{display:block;margin-top:1em;font-size:14px;font-style:normal;letter-spacing:.1em;text-transform:uppercase;opacity:.65}

/* ---- Pager ---- */
.pld-pager{max-width:var(--pld-max);margin:0 auto;padding:var(--pld-gap);display:grid;grid-template-columns:1fr auto 1fr;gap:16px;border-top:1px solid rgba(128,128,128,.3)}
.pld-pager a{text-decoration:none}
.pld-pager__next{text-align:right}.pld-pager__all{text-align:center}

/* ---- Entrance animations (same motion as the reference page; 1.25s) ---- */
.pld-js [data-pld-anim]{visibility:hidden}
.pld-js [data-pld-anim].is-in{visibility:visible;animation-duration:1.25s;animation-fill-mode:both;animation-timing-function:ease}
.pld-js [data-pld-anim=fade-up].is-in{animation-name:pldFadeUp}
.pld-js [data-pld-anim=fade-in].is-in{animation-name:pldFadeIn}
.pld-js [data-pld-anim=fade-right].is-in{animation-name:pldFadeRight}
.pld-js [data-pld-anim=fade-left].is-in{animation-name:pldFadeLeft}
.pld-js [data-pld-anim=slide-up].is-in{animation-name:pldSlideUp}
.pld-js [data-pld-anim=slide-right].is-in{animation-name:pldSlideRight}
.pld-js [data-pld-anim=slide-left].is-in{animation-name:pldSlideLeft}
.pld-js [data-pld-anim=zoom-in].is-in{animation-name:pldZoomIn}
@keyframes pldFadeUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@keyframes pldFadeIn{from{opacity:0}to{opacity:1}}
@keyframes pldFadeRight{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}
@keyframes pldFadeLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}
@keyframes pldSlideUp{from{transform:translate3d(0,100%,0)}to{transform:none}}
@keyframes pldSlideRight{from{transform:translate3d(100%,0,0)}to{transform:none}}
@keyframes pldSlideLeft{from{transform:translate3d(-100%,0,0)}to{transform:none}}
@keyframes pldZoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}to{transform:none}}

/* ---- Works grid (3 per row) ---- */
.pld-works{max-width:var(--pld-max);margin:0 auto;padding:0 var(--pld-gap)}
.pld-works-title{margin:0 0 48px;font-family:inherit;font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:400;color:var(--pld-label,#3b2f28)}
.pld-works-hero{width:100vw;margin-left:calc(50% - 50vw);margin-bottom:53px}
.pld-works-hero .pld-c--hero{margin-bottom:0}
.pld-grid{display:grid;grid-template-columns:repeat(3,minmax(0,350px));justify-content:space-between;gap:48px var(--pld-gap)}
.pld-card a{display:block;text-decoration:none;color:inherit}
.pld-card__img{display:block;aspect-ratio:350/500;overflow:hidden;background:#e8e8e8}
.pld-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--pld-ease),opacity .6s}
.pld-card:hover .pld-card__img img{transform:scale(1.06)}
.pld-card__title{margin:.7em 0 0;font-size:1.05em;font-weight:500}
.pld-js .pld-card{opacity:0;transform:translateY(24px);transition:opacity .7s var(--pld-ease),transform .7s var(--pld-ease)}
.pld-js .pld-card.is-in{opacity:1;transform:none}
.pld-js .pld-card__img img:not(.is-loaded){opacity:0}
.pld-sentinel{display:flex;justify-content:center;padding:40px 0}
.pld-spinner{width:28px;height:28px;border:3px solid rgba(128,128,128,.3);border-top-color:currentColor;border-radius:50%;animation:pldSpin .8s linear infinite}
@keyframes pldSpin{to{transform:rotate(360deg)}}
.pld-works[data-done="1"] .pld-sentinel{display:none}

@media(max-width:900px){
	.pld-grid{grid-template-columns:repeat(2,minmax(0,350px))}
	.pld-cols-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
	.pld-ti__col--text{padding:12px 4px}
	.pld-c--image_row{gap:20px}
	.pld-c--text_image,.pld-c--text_image.pld-ratio-1-1,.pld-c--text_image:not(.pld-ratio-1-1):has(.pld-ti__col--img:first-child){grid-template-columns:1fr}
	.pld-cols-3{grid-template-columns:1fr}
	.pld-grid{grid-template-columns:minmax(0,350px);justify-content:center}
	.pld-pager{grid-template-columns:1fr;text-align:center}.pld-pager__next{text-align:center}
}
@media(prefers-reduced-motion:reduce){
	.pld-js [data-pld-anim]{visibility:visible!important;animation:none!important}
	.pld-js .pld-card{transition:none!important;opacity:1!important;transform:none!important}
	.pld-slide{transition:none}
}
