/* Portfolio map page (/map/) and project Location card. Vector map, recoloured in map.js. */
.ppm{padding:150px var(--pad,clamp(16px,4.5vw,72px)) clamp(56px,8vw,110px);max-width:1440px;margin:0 auto}
.ppm-head{margin-bottom:28px}
.ppm-sub{color:rgba(234,242,228,.72);font-size:15px;margin:14px 0 0}
.ppm-map{height:min(70vh,660px);min-height:380px}
.ppm-map,.ppl-map{position:relative;z-index:0;background:#0d342c;border:1px solid rgba(201,155,116,.18)}
.ppm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ppm-chip{background:none;border:1px solid rgba(201,155,116,.18);color:#eaf2e4;font:400 13px var(--sans,Inter,sans-serif);padding:8px 14px;cursor:pointer}
.ppm-chip small{color:#E2BB96;margin-left:4px}
.ppm-chip.active,.ppm-chip:hover{border-color:#C99B74;background:rgba(201,155,116,.12)}
.ppm-fine{color:rgba(234,242,228,.6);font-size:12px;margin:14px 0 0}
.maplibregl-ctrl-group{background:#06322A!important;border:1px solid rgba(201,155,116,.35);border-radius:0!important;box-shadow:none!important}
.maplibregl-ctrl-group button+button{border-top:1px solid rgba(201,155,116,.25)!important}
.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(82%) sepia(20%) saturate(500%) hue-rotate(340deg)}
.maplibregl-ctrl-attrib{background:rgba(6,50,42,.85)!important;color:rgba(234,242,228,.7)}
.maplibregl-ctrl-attrib a{color:#E2BB96!important}
.maplibregl-ctrl-attrib-button{filter:invert(1)}
.ppm-popup .maplibregl-popup-content{background:#06322A;color:#eaf2e4;border-radius:0;padding:0;box-shadow:0 10px 30px rgba(0,0,0,.45);width:240px}
.ppm-popup .maplibregl-popup-tip{border-top-color:#06322A!important;border-bottom-color:#06322A!important}
.ppm-popup .maplibregl-popup-close-button{color:#eaf2e4;font-size:20px;padding:2px 8px;background:rgba(6,50,42,.7)}
.ppm-pop img{display:block;width:100%;height:150px;object-fit:cover}
.ppm-pop div{padding:12px 14px 14px}
.ppm-pop b{display:block;font:400 22px var(--serif,'Cormorant Garamond',serif)}
.ppm-pop span{display:block;color:rgba(234,242,228,.72);font-size:12px;margin:4px 0 10px}
.ppm-pop a{color:#E2BB96;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.ppm-cooperative{}
.maplibregl-cooperative-gesture-screen{background:rgba(6,50,42,.75)!important;color:#eaf2e4;font:400 15px var(--sans,Inter,sans-serif)}

/* Project page: Location */
.ppl-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.ppl-map{height:360px}
.ppl-drive{font:400 22px var(--serif,'Cormorant Garamond',serif);color:#E2BB96;margin:16px 0 0}
.ppl-copy{color:rgba(234,242,228,.72);font-size:15px;line-height:1.7;margin:14px 0 22px}
.ppl-link{color:#E2BB96;font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(201,155,116,.3);padding-bottom:4px}
@media (max-width:820px){.ppl-inner{grid-template-columns:1fr}.ppl-map{height:260px}}
.ppm-tour{margin-top:20px;background:none;border:1px solid #C99B74;color:#E2BB96;font:500 12px var(--sans,Inter,sans-serif);letter-spacing:.18em;text-transform:uppercase;padding:13px 22px;cursor:pointer;transition:background .3s,color .3s}
.ppm-tour:hover,.ppm-tour.on{background:#C99B74;color:#06322A}
.ppm-popup .maplibregl-popup-content{animation:ppmIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes ppmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ppm-popup .maplibregl-popup-content{animation:none}}

/* Card slideshow: crossfade with a slow zoom-out, dots in the corner */
.ppm-sl{position:relative;height:150px;overflow:hidden;background:#0b2e27}
.ppm-pop .ppm-sl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .8s ease,transform 3.4s ease}
.ppm-pop .ppm-sl img.on{opacity:1;transform:scale(1)}
.ppm-dots{position:absolute;left:12px;bottom:10px;display:flex;gap:6px}
.ppm-dots b{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .3s}
.ppm-dots b.on{background:#E2BB96}
@media (prefers-reduced-motion:reduce){.ppm-pop .ppm-sl img{transition:none;transform:none}}
