/* Selected project studies share the portfolio's typography and quiet framing. */
.project-study{text-align:left}.study-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.study-title-row h1{margin:0}.study-intro>p{max-width:760px;font-size:16px;line-height:1.6}.study-intro{border-bottom:1px dotted var(--line)}.study-facts{display:inline-grid;grid-template-columns:auto auto auto;gap:0;margin:32px 0;padding:16px 0;background:var(--surface);border-radius:8px;max-width:100%}.study-facts>div{padding:0 32px;border-right:1px dotted var(--line);min-width:0}.study-facts>div:last-child{border:0}.study-facts dt{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:8px}.study-facts dd{margin:0;font-size:18px;line-height:1.5;color:var(--text)}.study-hero{margin-top:32px}.study-figure{margin:0;min-width:0}.study-image{display:block;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.study-image img{display:block;width:100%;height:auto}.study-image-action{position:absolute;left:16px;bottom:16px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;line-height:1.4;opacity:0;transition:opacity .18s}.study-image:hover .study-image-action,.study-image:focus-visible .study-image-action{opacity:1}.study-figure figcaption{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:12px;font-size:12px;line-height:1.5;color:var(--text)}.study-caption-detail{color:var(--muted);border-left:1px solid var(--line);padding-left:16px}.study-story{margin-top:40px}.study-note{display:grid;grid-template-columns:1fr 1.7fr;gap:40px}.study-note+.study-note{margin-top:32px;padding-top:32px;border-top:1px dotted var(--line)}.study-note h2{font-size:18px;line-height:1.5}.study-note p{font-size:15px;line-height:1.7}.study-section{margin-top:72px}.study-section-heading{margin-bottom:24px;max-width:740px}.study-eyebrow{display:block;color:var(--muted);font-size:12px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}.study-section-heading h2{font-size:28px;line-height:1.25}.study-section-heading p{font-size:15px;line-height:1.7;margin-top:16px;max-width:660px}.study-gallery{display:grid;gap:24px}.study-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.study-next{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:72px;padding:32px 0;border-top:1px dotted var(--line);border-bottom:1px dotted var(--line)}.study-next-title{display:inline-flex;align-items:center;gap:20px;font-size:24px;line-height:1.3}.study-next-title:hover{text-decoration:underline;text-underline-offset:5px}.study-next-title span{color:var(--muted);font-size:20px}.study-next p{font-size:14px;margin-top:10px}.study-next-image{display:block;width:220px;flex-shrink:0;aspect-ratio:1.474;overflow:hidden;border:1px solid var(--line);border-radius:6px}.study-next-image img{width:100%;height:100%;object-fit:cover}.study-end{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:32px}
@media(max-width:1100px){.study-facts>div{padding:0 20px}.study-facts dd{font-size:16px}.study-note{grid-template-columns:1fr 1.65fr;gap:24px}.study-gallery{gap:20px}}
@media(max-width:760px){.study-title-row{align-items:flex-start;flex-direction:column;gap:16px}.study-intro>p{font-size:14px;line-height:1.6}.study-facts{display:grid;grid-template-columns:1fr;gap:20px;padding:20px 16px;width:100%;margin:24px 0}.study-facts>div{border:0;padding:0}.study-facts dt{font-size:12px;margin-bottom:6px}.study-facts dd{font-size:16px}.study-hero{margin-top:24px}.study-figure figcaption{display:block;padding-top:10px}.study-caption-detail{display:block;border:0;padding:0;margin-top:3px}.study-note{grid-template-columns:1fr;gap:12px}.study-note+.study-note{margin-top:24px;padding-top:24px}.study-note p{font-size:14px}.study-story{margin-top:32px}.study-section{margin-top:48px}.study-section-heading h2{font-size:24px}.study-section-heading p{font-size:14px}.study-gallery-pair{grid-template-columns:1fr;gap:28px}.study-next{margin-top:48px;padding:24px 0;gap:20px}.study-next-title{font-size:19px;gap:12px}.study-next-image{width:112px}.study-next p{font-size:12px}.study-image-action{left:10px;bottom:10px}}
@media(hover:none){.study-image-action{opacity:1;font-size:11px;padding:5px 8px}}

/* Secondary implementation notes stay beneath the main approach. */
.study-approach-copy{min-width:0}.study-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:24px}.study-details h3{font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px}.study-note .study-details p{font-size:14px;line-height:1.65}
@media(max-width:1100px){.study-details{grid-template-columns:1fr;gap:20px}}

/* Align paired images and captions; distinct compositions can retain their native ratios. */
.study-gallery-matched .study-image{aspect-ratio:var(--gallery-aspect)}
.study-gallery-matched .study-image img{height:100%;object-fit:cover}

/* Full-resolution project images, contained on the page. */
body.project-gallery-open{overflow:hidden}
.project-lightbox{position:fixed;inset:0;width:calc(100vw - 32px);max-width:1800px;height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);overflow:hidden;text-align:left}
.project-lightbox::backdrop{background:rgb(0 0 0 / .8)}
.project-lightbox[open]{display:flex;flex-direction:column}
.lightbox-toolbar,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;flex-shrink:0}
.lightbox-toolbar{border-bottom:1px solid var(--line)}
.lightbox-footer{border-top:1px solid var(--line)}
.lightbox-count{font-size:14px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.lightbox-actions,.lightbox-navigation{display:flex;gap:10px;flex-shrink:0}
.project-lightbox .button{font:inherit;font-size:14px;min-height:44px}
.lightbox-stage{flex:1;min-height:0;overflow:auto;display:flex;padding:16px;overscroll-behavior:contain}
.lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:auto;flex-shrink:0}
.lightbox-stage.is-zoomed{display:block}
.lightbox-stage.is-zoomed .lightbox-image{max-width:none;max-height:none;margin:0}
.lightbox-caption{font-size:14px;line-height:1.5;color:var(--text)}
@media(max-width:760px){.project-lightbox{width:100vw;height:100dvh;border:0;border-radius:0}.lightbox-toolbar,.lightbox-footer{padding:12px;gap:12px}.lightbox-stage{padding:8px}.lightbox-caption{font-size:12px}.lightbox-actions,.lightbox-navigation{gap:8px}.project-lightbox .button{padding:8px 12px;font-size:12px}}
