/* Homepage below the poster wall: calm, white and premium so the hero stays the loud moment */
.pm{--ink:var(--green);--soft:#5d6b63;--rule:#e2e7e4;background:#fff;color:var(--ink)}
.pm h2{font:400 clamp(2.6rem,5.4vw,5.6rem)/.92 var(--display);text-transform:uppercase;letter-spacing:.004em;color:var(--ink);margin:0}
.pm-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:clamp(22px,3vw,34px);border-bottom:1px solid var(--rule);margin-bottom:clamp(34px,4.5vw,60px)}
.pm-link{display:inline-block;font-weight:600;color:var(--ink);text-decoration:none;padding-bottom:4px;background:linear-gradient(var(--pink),var(--pink)) 0 100%/100% 2px no-repeat;transition:background-size .35s var(--ease),color .2s;white-space:nowrap}
.pm-link:hover{color:var(--pink);background-size:40% 2px}
.pm-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}

/* intro statement */
.pm-intro{padding:clamp(90px,11vw,170px) 0 clamp(70px,8vw,120px)}
.pm-intro .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.36fr);gap:clamp(30px,6vw,110px);align-items:end}
.pm-statement{font:500 clamp(1.9rem,3.5vw,3.4rem)/1.18 var(--sans);letter-spacing:-.025em;margin:0;max-width:22ch}
.pm-side p{color:var(--soft);line-height:1.6;margin:0 0 18px;max-width:30ch}

/* selected work */
.pm-work{padding:0 0 clamp(100px,12vw,180px)}
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,90px) clamp(22px,3vw,44px)}
.pm-project.big{grid-column:1/-1}
.pm-shot{display:block;overflow:hidden;border-radius:10px;background:#eef2ef;padding:clamp(16px,3.4vw,54px) clamp(16px,3.4vw,54px) 0}
.pm-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:6px 6px 0 0;box-shadow:0 30px 60px -30px #0f322066;transform-origin:50% 100%;transition:transform 1.1s var(--ease)}
.pm-project.big .pm-shot img{aspect-ratio:16/8.4}
.pm-shot:hover img{transform:scale(1.025)}
.pm-cap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px clamp(20px,3vw,48px);align-items:baseline;padding-top:20px}
.pm-cap h3{font:400 clamp(1.7rem,2.4vw,2.4rem)/1 var(--display);text-transform:uppercase;margin:0}
.pm-cap p{margin:0;color:var(--soft);line-height:1.55;max-width:52ch}
.pm-tags{font-size:.86rem;font-weight:600;color:var(--soft);white-space:nowrap}
.pm-project:not(.big) .pm-cap{grid-template-columns:1fr auto}
.pm-project:not(.big) .pm-cap p{grid-column:1/-1;grid-row:2}

/* brands and rebrands */
.pm-brands{padding:clamp(100px,12vw,170px) 0;border-top:1px solid var(--rule)}
.pm-brands-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,120px);align-items:start}
.pm-brands-lead{position:sticky;top:120px}
.pm-brands-lead p{font-size:clamp(1.08rem,1.35vw,1.25rem);line-height:1.6;color:var(--soft);margin:26px 0 0;max-width:38ch}
.pm-brands-lead .pm-sign{font-size:.95rem;font-weight:600;color:var(--ink);margin-top:16px}
.pm-fears{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.pm-fears li{padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--rule)}
.pm-fears s{display:inline;font:500 clamp(1.5rem,2.5vw,2.3rem)/1.25 var(--sans);letter-spacing:-.02em;color:#9aa7a0;text-decoration:none;background:linear-gradient(var(--pink),var(--pink)) 0 58%/0% 3px no-repeat;transition:background-size .9s cubic-bezier(.6,.1,.2,1)}
.pm-fears .in s{background-size:100% 3px}
.pm-fears p{margin:14px 0 0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.55;color:var(--ink);max-width:44ch}
.pm-kit{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(12px,1.6vw,22px);margin-top:clamp(70px,8vw,120px)}
.pm-kit figure{margin:0;overflow:hidden;border-radius:10px;background:#eef1ef}
.pm-kit img{display:block;width:100%;height:100%;aspect-ratio:4/3.2;object-fit:cover;transition:transform 1.1s var(--ease)}
.pm-kit figure:hover img{transform:scale(1.04)}
.pm-kit figure:first-child{background:var(--kit-bg,#faf4ea)}
.pm-kit figure:first-child img{object-fit:contain;padding:6%}
.pm-brands-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;margin-top:clamp(28px,3vw,40px)}
.pm-brands-foot p{margin:0;color:var(--soft);max-width:46ch}

/* services */
.pm-svc{padding:clamp(100px,12vw,170px) 0;border-top:1px solid var(--rule)}
.svc-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:clamp(16px,2vw,24px) 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.svc-row:first-child{padding-top:0}
.svc-row strong{font:400 clamp(2.2rem,4.6vw,4.6rem)/1 var(--display);text-transform:uppercase;font-weight:400;transition:color .25s,transform .45s var(--ease)}
.svc-row span{color:var(--soft);font-size:1rem;text-align:right}
.svc-row:hover strong,.svc-row:focus-visible strong{color:var(--pink);transform:translateX(10px)}
.svc-row img{position:absolute;right:30%;top:50%;width:clamp(140px,13vw,190px);aspect-ratio:4/5;object-fit:cover;border-radius:6px;box-shadow:0 30px 50px -24px #0f322090;opacity:0;transform:translateY(-50%) rotate(-4deg) scale(.9);transition:opacity .25s,transform .45s var(--ease);pointer-events:none;z-index:2}
.svc-row:hover img,.svc-row:focus-visible img{opacity:1;transform:translateY(-50%) rotate(-2deg) scale(1)}

/* closing, a green bookend to the hero */
.pm-end{background:var(--green);color:#fff;padding:clamp(100px,12vw,180px) 0}
.pm-end .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,6vw,100px);align-items:end}
.pm-end h2{color:#fff;font-size:clamp(3rem,7vw,7.4rem)}
.pm-end p{color:#cddbd3;line-height:1.6;margin:0 0 26px;max-width:34ch}
.pm-mail{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid var(--pink);padding-bottom:3px}

/* images settle in once as they arrive */
.js .pm-reveal{clip-path:inset(8% 0 0 0 round 10px);opacity:.001;transition:clip-path 1s var(--ease),opacity .6s}
.js .pm-reveal.in{clip-path:inset(0 0 0 0 round 10px);opacity:1}

@media(max-width:900px){
 .pm-intro .wrap,.pm-brands-top,.pm-end .wrap{grid-template-columns:1fr}
 .pm-brands-lead{position:static}
 .pm-grid{grid-template-columns:1fr}
 .pm-cap{grid-template-columns:1fr auto}
 .pm-cap p{grid-column:1/-1;grid-row:2}
 .pm-project.big .pm-shot img,.pm-shot img{aspect-ratio:4/5}
 .pm-kit{grid-template-columns:1fr 1fr}
 .pm-kit figure:first-child{grid-column:1/-1}
 .svc-row{grid-template-columns:1fr}
 .svc-row span{text-align:left}
 .svc-row img{display:none}
}
@media(prefers-reduced-motion:reduce){.pm-fears s{transition:none;background-size:100% 3px}.js .pm-reveal{clip-path:none;opacity:1;transition:none}.pm-shot img,.pm-kit img{transition:none}}

/* Keystone feature: desktop site with the phone version beside it */
.pm-grid{grid-template-columns:repeat(3,1fr)}
.pm-project.feature .pm-shot.ks{position:relative;background:#C0D6FF;padding:clamp(18px,3.6vw,58px) 26% 0 clamp(18px,3.6vw,58px)}
.pm-project.feature .pm-shot.ks>img:first-child{aspect-ratio:16/10}
.pm-phone{position:absolute;right:clamp(16px,3.2vw,52px);bottom:0;width:20%!important;height:auto!important;aspect-ratio:555/1200!important;border-radius:18px 18px 0 0!important;border:6px solid #2a0a0a;border-bottom:0;box-shadow:0 30px 60px -20px #6d010188!important;object-position:top}
.pm-shot:hover .pm-phone{transform:translateY(-6px) scale(1.01)}
@media(max-width:900px){.pm-grid{grid-template-columns:1fr}.pm-project.feature .pm-shot.ks{padding:16px 16px 0}.pm-project.feature .pm-shot.ks>img:first-child{display:none}.pm-phone{position:static;display:block;width:100%!important;aspect-ratio:4/5!important;object-fit:cover;border:0;border-radius:6px 6px 0 0!important}}
