:root {color-scheme:light;--ink:#161616;--paper:#fff;--line:#d9d9d9}
* {box-sizing:border-box}
body {margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 "Baskervville",Baskerville,Georgia,serif;-webkit-text-size-adjust:100%}
a {color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:focus-visible {outline:1px solid currentColor;outline-offset:5px}
.detail-header {display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:12px 24px}
.brand {font-size:28px;text-decoration:none;white-space:nowrap}
.detail-header nav,.detail-footer nav {display:flex;flex-wrap:wrap;gap:12px 28px}
.detail-header nav a {text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.skip {position:absolute;left:16px;top:-100px;background:white;padding:10px;z-index:2}
.skip:focus {top:8px}
main {max-width:1440px;margin:0 auto;padding:64px 24px 80px;min-height:60vh}
h1,h2,p,dl {margin:0}
h1,h2 {font-weight:400}
h1 {font-size:clamp(28px,3.5vw,48px);line-height:1.2;text-wrap:balance}
h2 {font-size:25px;margin:44px 0 14px}
.profile {max-width:760px;margin:auto}
.eyebrow {font-size:14px;margin-bottom:16px}
.intro {margin-top:28px;font-size:20px}
.language {font-size:15px;margin-top:20px}
.services {display:grid;gap:20px}
dt {font-size:20px} dd {margin:4px 0 0}
.project-intro {max-width:760px;margin-bottom:44px}
.back {display:inline-block;margin-bottom:24px;font-size:15px}
.project-intro p {margin-top:20px}
.project-images {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.project-images img {display:block;width:100%;height:auto;background:#f5f5f5}
.project-navigation {display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:44px}
.detail-footer {padding:32px 24px 64px;border-top:1px solid var(--line);font-size:15px}
.detail-footer nav {margin:18px 0}
.detail-footer a {display:inline-block;min-height:44px;padding:8px 0}
@media(max-width:699px) {
 body {font-size:16px}
 .detail-header {padding:12px 16px;gap:8px;flex-wrap:wrap}
 .brand {font-size:24px}
 .detail-header nav {gap:24px}
 main {padding:44px 16px 64px}
 .intro {font-size:18px}
 .project-images {grid-template-columns:minmax(0,1fr);gap:20px}
 .detail-footer {padding:28px 16px 44px}
}

/* Reuse the approved edge cleanup without changing source images. */
.photo-crop {position:relative;overflow:hidden}
.project-images .photo-crop img {position:absolute;max-width:none;object-fit:fill;width:var(--pc-w);height:var(--pc-h);left:var(--pc-x);top:var(--pc-y)}
