:root{--p2-ink:#101015;--p2-paper:#f5f1ea;--p2-line:rgba(16,16,21,.18);--p2-accent:#ff4b2b}
.work-editorial,.case-editorial{background:var(--p2-paper);color:var(--p2-ink)}
.work-editorial .eyebrow,.case-editorial .eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:700}
.work-intro{padding:clamp(7rem,13vw,12rem) 0 clamp(4rem,8vw,8rem);background:var(--p2-ink);color:#fff}
.work-intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr);gap:clamp(2rem,8vw,9rem);align-items:end}
.work-intro h1{font-size:clamp(3.4rem,8.3vw,8.8rem);line-height:.88;letter-spacing:-.065em;max-width:11ch;margin:.35em 0}
.work-intro .lead{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;max-width:32rem;color:rgba(255,255,255,.78)}
.work-manifesto{border-top:1px solid rgba(255,255,255,.25);padding-top:1.4rem;font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.68)}
.portfolio-field{padding:clamp(4.5rem,9vw,9rem) 0}
.portfolio-section-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}
.portfolio-section-head h2{font-size:clamp(2.5rem,5vw,5.4rem);line-height:.96;letter-spacing:-.05em;margin:.15em 0;max-width:11ch}
.portfolio-section-head p:last-child{max-width:35rem;justify-self:end;line-height:1.65}
.flagship-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem)}
.project-panel{position:relative;display:block;color:inherit;text-decoration:none;margin-bottom:clamp(3rem,7vw,7rem)}
.project-panel:nth-child(1),.project-panel:nth-child(4){grid-column:span 8}.project-panel:nth-child(2),.project-panel:nth-child(3){grid-column:span 4}
.project-panel:nth-child(2){margin-top:16vw}.project-panel:nth-child(4){margin-left:auto}
.project-visual{overflow:hidden;background:#d8d3ca;aspect-ratio:4/3}
.project-panel.wide .project-visual{aspect-ratio:16/10}.project-panel.tall .project-visual{aspect-ratio:3/4}
.project-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.project-panel:hover .project-visual img{transform:scale(1.018)}
.project-label{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-top:1.15rem;border-top:1px solid var(--p2-line);margin-top:1.1rem}
.project-label h3{font-size:clamp(1.55rem,2.6vw,2.7rem);letter-spacing:-.04em;margin:0}.project-label p{margin:.45rem 0 0;color:#5a5650}
.project-index{font-size:.8rem;letter-spacing:.12em}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2.5rem)}
.support-card{color:inherit;text-decoration:none;border-top:1px solid var(--p2-line);padding-top:1rem}.support-card:nth-child(2){margin-top:8rem}.support-card:nth-child(3){margin-top:3rem}
.support-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:1.2rem}.support-card h3{font-size:1.65rem;margin:.25rem 0}.support-card p{color:#5a5650;line-height:1.55}
.archive-list{border-top:1px solid var(--p2-line)}.archive-row{display:grid;grid-template-columns:4rem 1fr 1fr auto;gap:1rem;align-items:center;color:inherit;text-decoration:none;padding:1.35rem 0;border-bottom:1px solid var(--p2-line)}.archive-row strong{font-size:clamp(1.25rem,2vw,2rem)}.archive-row span{color:#6a655e}
.case-mast{padding:clamp(7rem,13vw,11rem) 0 2rem;background:var(--p2-ink);color:#fff}.case-title-row{display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;align-items:end}.case-mast h1{font-size:clamp(4rem,10vw,10rem);line-height:.82;letter-spacing:-.07em;margin:.2em 0}.case-mast .case-deck{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6;color:rgba(255,255,255,.72);max-width:30rem;justify-self:end}.case-hero-visual{background:var(--p2-ink);padding-bottom:clamp(2rem,5vw,5rem)}.case-hero-visual img{display:block;width:100%;max-height:82vh;object-fit:cover}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--p2-line);border-top:1px solid var(--p2-line);border-bottom:1px solid var(--p2-line)}.case-meta div{background:var(--p2-paper);padding:1.5rem}.case-meta span{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#716c64;margin-bottom:.45rem}.case-meta strong{font-size:.95rem;line-height:1.45}.case-story{padding:clamp(5rem,10vw,10rem) 0}.case-copy-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,10vw,10rem);max-width:1200px}.case-copy-grid h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.95;letter-spacing:-.05em;margin:.2em 0}.case-copy-grid .prose{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.72;max-width:46rem}.case-copy-grid .prose p{margin:0 0 1.5rem}.case-full{margin:0;padding:0}.case-full img{display:block;width:100%;height:auto}.case-caption{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0;font-size:.78rem;color:#6b665f;border-bottom:1px solid var(--p2-line)}.case-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,2rem)}.case-duo figure,.case-full figure{margin:0}.case-duo img{display:block;width:100%;height:100%;object-fit:cover}.case-dark{background:var(--p2-ink);color:#fff;padding:clamp(5rem,9vw,9rem) 0}.case-dark .case-copy-grid .prose,.case-dark .eyebrow{color:rgba(255,255,255,.72)}.case-outcome{padding:clamp(5rem,9vw,9rem) 0}.case-outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem)}.case-outcome h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.95;letter-spacing:-.05em}.outcome-points{display:grid;gap:0}.outcome-points p{border-top:1px solid var(--p2-line);padding:1.25rem 0;margin:0;font-size:1.08rem}.case-next{background:#ff4b2b;color:#101015;padding:clamp(4rem,8vw,8rem) 0}.case-next a{color:inherit;text-decoration:none;display:flex;justify-content:space-between;align-items:end;gap:2rem}.case-next h2{font-size:clamp(3rem,8vw,8rem);letter-spacing:-.06em;line-height:.88;margin:.2em 0}.case-next .next-arrow{font-size:clamp(3rem,8vw,8rem);line-height:1}
@media(max-width:900px){.work-intro-grid,.portfolio-section-head,.case-title-row,.case-copy-grid,.case-outcome-grid{grid-template-columns:1fr}.work-manifesto,.portfolio-section-head p:last-child,.case-mast .case-deck{justify-self:start}.flagship-grid{display:block}.project-panel:nth-child(n){margin:0 0 4rem}.project-panel.tall .project-visual{aspect-ratio:4/3}.support-grid{grid-template-columns:1fr 1fr}.support-card:nth-child(n){margin-top:0}.case-meta{grid-template-columns:1fr 1fr}.archive-row{grid-template-columns:2.5rem 1fr auto}.archive-row span:nth-child(3){display:none}}
@media(max-width:620px){.work-intro h1{font-size:clamp(3rem,15vw,5rem)}.support-grid,.case-duo{grid-template-columns:1fr}.case-meta{grid-template-columns:1fr}.archive-row{grid-template-columns:2rem 1fr}.archive-row>span:last-child{display:none}.case-mast h1{font-size:clamp(3.5rem,18vw,6rem)}.case-caption{display:block}.case-caption span{display:block;margin-top:.25rem}}
@media(prefers-reduced-motion:reduce){.project-visual img{transition:none}.project-panel:hover .project-visual img{transform:none}}
.case-breadcrumb{display:flex;gap:.65rem;align-items:center;padding-top:1.1rem;font-size:.78rem;color:#6a655e}.case-breadcrumb a{color:inherit;text-decoration:none}.case-breadcrumb a:focus-visible,.related-capability a:focus-visible,.archive-row:focus-visible{outline:2px solid currentColor;outline-offset:4px}.case-editorial video{display:block;width:100%;height:auto}.case-editorial blockquote{margin:0}.hero-dark,.hero-editorial{background:var(--p2-ink);color:#fff}

/* Portfolio imagery should show the complete design rather than crop it. */
.project-visual img,
.support-card img,
.case-hero-visual img,
.case-duo img {
  object-fit: contain;
  object-position: center;
  background-color: #f6f1e8;
}
