.project-interactive{position:relative}.project-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--ink);padding:0;z-index:3}.project-open>span{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:18px;background:#fffffff2;border:1px solid #ffffff80;padding:10px 14px;border-radius:3px;font-size:14px;box-shadow:0 2px 12px #0000000a}.project-open b{font-size:21px;font-weight:400;line-height:1}.project-open:hover>span{background:#fff}.project-open:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:2px}.project-dialog-open{overflow:hidden}.project-dialog{width:min(1000px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);margin:auto;padding:0;border:0;border-radius:8px;background:white;color:var(--ink);box-shadow:0 24px 100px #00000030;overflow:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#111a16a6;backdrop-filter:blur(5px)}.project-dialog-shell{position:relative}.project-dialog-close{position:sticky;top:16px;float:right;margin:16px 16px -60px 0;z-index:4;width:44px;height:44px;border:1px solid #dce0da;background:#fffffff5;border-radius:50%;font-size:28px;font-weight:400;line-height:1;color:#1d1d1f;cursor:pointer}.project-dialog-close:focus-visible{outline:3px solid #344d3f;outline-offset:3px}.project-dialog-image{position:relative;background:#edf0eb}.project-dialog-image img{display:block;width:100%;height:auto;max-height:380px;object-fit:cover}.project-dialog-disclosure{position:absolute;bottom:16px;left:32px;font-size:12px;background:#17221ae6;color:white;padding:6px 10px}.project-dialog-copy{padding:32px 44px 40px}.project-dialog-copy h2{font-size:clamp(30px,4vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:12px 0 14px}.project-draft-note{font-size:14px;color:var(--muted);margin:0 0 26px}.project-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;margin:0}.project-facts>div{padding:15px 0;border-top:1px solid #dce0da}.project-facts dt{font-size:14px;color:var(--muted);margin-bottom:6px}.project-facts dd{font-size:16px;line-height:1.5;margin:0}.project-contribution{border-top:1px solid #dce0da;margin-top:8px;padding-top:20px}.project-contribution h3{font-size:14px;color:var(--muted);font-weight:400;margin:0 0 8px}.project-contribution p{font-size:16px;line-height:1.6;margin:0}.project-contribution .project-practice{font-size:14px;margin-top:8px;color:var(--muted)}.project-dialog [hidden]{display:none}
@media(max-width:650px){.project-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:6px}.project-dialog-image img{max-height:260px}.project-dialog-copy{padding:26px 22px 30px}.project-dialog-disclosure{left:16px;bottom:12px}.project-facts{grid-template-columns:1fr}.project-open>span{top:12px;right:12px;padding:8px 12px}.project-dialog-close{top:12px;margin-right:12px;margin-top:12px}.project-dialog-copy h2{font-size:32px}}
@media(prefers-reduced-motion:no-preference){.project-dialog[open]{animation:project-card-in .2s ease-out}@keyframes project-card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
@media print{.project-open{display:none}.project-dialog{box-shadow:none}}
.project-image-caption{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 22px}.project-image-caption:empty{display:none}.project-image-credit{font-size:12px;color:var(--muted);line-height:1.6;margin:22px 0 0}.project-image-credit a{text-decoration:underline;text-underline-offset:3px}.project-location{font-size:14px;color:var(--muted);line-height:1.5;margin:8px 0 0}.project-photo>img{object-fit:cover!important}.project-dialog-image img{max-height:none;aspect-ratio:1.8;object-fit:cover}.project-dialog-copy h2{max-width:850px}.project-caption{align-items:start}.project-caption>span{flex-shrink:0;max-width:40%}.project-contribution .project-practice{color:var(--green)}
@media(max-width:650px){.project-dialog-image img{aspect-ratio:1.5}.project-caption>span{max-width:none}}
.project-dialog-image img{height:auto;aspect-ratio:auto;margin:auto}.project-open>span{box-shadow:0 2px 12px #00000014}

/* Frame the Oracle composition above its embedded publication footer. */
.oracle-image-crop{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#e9ece9}
.oracle-image-crop>img{position:absolute!important;inset:0 auto auto -6%!important;width:112%!important;height:112%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important}
.project-dialog[data-project="oracle"] .project-dialog-image{position:relative;aspect-ratio:16/9;overflow:hidden}
.project-dialog[data-project="oracle"] .project-dialog-image>img{position:absolute;top:0;left:-6%;width:112%;height:112%;max-width:none!important;aspect-ratio:auto;object-fit:cover;object-position:center top}
