/* New portrait brick scene. */
.lego.lego-v5 { height:auto;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,48%);gap:clamp(25px,4vw,70px);align-items:center;padding:105px var(--gut) 75px;background:#f2f0ef; }
.lego-v5__copy { position:relative;z-index:2;max-width:680px; }
.lego-v5__copy .eyebrow,.drop-v5 .eyebrow { text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600; }
.lego-v5__copy h2 { font:700 clamp(4.5rem,9vw,11rem)/.83 var(--font-display);letter-spacing:-.08em;margin:38px 0 50px; }
.lego-v5__copy h2 span,.drop-v5 h2 span { color:#e30f14; }
.lego-v5__copy>p:not(.eyebrow) { font-size:clamp(1.2rem,2vw,2rem);line-height:1.2;max-width:28ch; }
.lego-v5__copy>span { display:block;margin-top:45px;border-top:1px solid #111;padding-top:10px;font-size:.9rem; }
.lego-v5__stage { position:relative;aspect-ratio:1/1;max-height:min(78svh,760px);width:100%;max-width:760px;background:#111;overflow:hidden;isolation:isolate; }
.lego-v5__portrait,.lego-v5__portrait img { position:absolute;inset:0;width:100%;height:100%; }
.lego-v5__portrait img { object-fit:cover;object-position:50% 0;filter:grayscale(1) contrast(1.15); }
.lego-v5__wall { position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px; }
.lego-v5__brick { position:relative;border:0;padding:0;background:var(--brick);color:transparent;cursor:pointer;transition:transform .8s cubic-bezier(.18,.85,.23,1),opacity .8s,filter .25s;box-shadow:inset -5px -5px 0 #0002,inset 3px 3px 0 #fff4; }
.lego-v5__brick:before,.lego-v5__brick:after { content:'';position:absolute;top:12%;width:22%;height:20%;border-radius:50%;background:color-mix(in srgb,var(--brick) 80%,white);box-shadow:inset -2px -2px 0 #0002; }
.lego-v5__brick:before { left:18%; }.lego-v5__brick:after { right:18%; }
.lego-v5__brick:hover { filter:brightness(1.13); }
.lego-v5__brick.is-gone { transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0;pointer-events:none; }
.lego-v5__caption { position:absolute;bottom:12px;left:12px;padding:7px 10px;background:#f2f0ef;color:#111;font-size:.7rem;z-index:2; }
@media (max-width: 820px) { .lego.lego-v5 { display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:95px var(--gut) 65px; } .lego-v5__copy h2 { font-size:clamp(4rem,15vw,7rem);margin:25px 0; } .lego-v5__copy>span { margin:25px 0; } .lego-v5__stage { align-self:center; } }
/* Four real portfolio images fan across the Selected Works intro. */
.drop.drop-v5 { height:auto;min-height:100svh;padding:105px var(--gut) 65px;overflow:hidden; }
.drop-v5__top { display:flex;justify-content:space-between;gap:20px;border-top:1px solid #111;padding-top:14px; }
.drop-v5__top>span { font-size:.8rem; }
.drop-v5 h2 { position:relative;z-index:1;font:700 clamp(5rem,11vw,13rem)/.8 var(--font-display);letter-spacing:-.085em;margin:65px 0 -60px;pointer-events:none; }
.drop-v5__gallery { position:relative;height:clamp(430px,55vw,760px);perspective:1100px; }
.discovery-card { position:absolute;left:var(--x);top:var(--y);width:clamp(155px,22vw,340px);padding:10px;background:#fff;color:#111;text-decoration:none;box-shadow:0 18px 40px #0004;transform:rotate(var(--angle)) translateY(0);transition:transform .28s ease,box-shadow .28s ease;touch-action:none;cursor:grab; }
.discovery-card:hover,.discovery-card:focus-visible,.discovery-card.is-dragging { z-index:5;transform:rotate(0deg) translateY(-24px) scale(1.08);box-shadow:0 28px 65px #0006; }
.discovery-card.is-dragging { cursor:grabbing;transition:none; }
.discovery-card img { display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--accent); }
.discovery-card span { display:block;padding:11px 2px 2px;font:600 .78rem var(--font-text); }
.drop-v5__hint { font-size:.85rem;margin-top:20px; }
@media (max-width: 820px) { .drop.drop-v5 { min-height:0; } .drop-v5 h2 { font-size:clamp(4.3rem,16vw,8rem);margin:50px 0 20px; } .drop-v5__gallery { height:auto;display:flex;gap:15px;overflow-x:auto;padding:30px 10px 40px;scroll-snap-type:x mandatory; } .discovery-card { position:relative;left:auto;top:auto;width:min(64vw,300px);flex:none;transform:rotate(var(--angle));scroll-snap-align:center; } .drop-v5__top>span { display:none; } }
@media (prefers-reduced-motion:reduce) { .lego-v5__brick,.discovery-card { transition:none; } }
.close__stage { grid-template-rows:1fr;padding-bottom:30px; }
.site-footer__bottom .theme-toggle { color:#fff;font:inherit; }
