/* Published public showcases and proof notes. Scoped to .public-showcases and .public-proof-note only. */

/* ---------- projects page: three published showcases ---------- */
.public-showcases{padding:72px 28px;background:var(--paper);border-top:1px solid var(--line);scroll-margin-top:110px}
.public-showcases .showcases-in{max-width:1360px;margin:0 auto}
.public-showcases .showcases-head{max-width:72ch;margin-bottom:42px}
.public-showcases .showcases-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.06;letter-spacing:-.015em;margin:14px 0 18px}
.public-showcases .showcases-head h2 em{font-style:italic;color:var(--red);font-weight:300}
.public-showcases .showcases-head p{color:var(--ink-soft);font-size:16px;line-height:1.7}
.public-showcases .showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.public-showcases .showcase{min-width:0;background:var(--cream);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:110px}
.public-showcases figure{margin:0;min-width:0;background:var(--paper);border-bottom:1px solid var(--line)}
.public-showcases figure img{width:100%;height:auto;object-fit:contain;display:block}
.public-showcases figcaption{padding:12px 20px;font-size:13.5px;line-height:1.6;color:var(--muted)}
.public-showcases .showcase-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1;min-width:0}
.public-showcases .showcase-body h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.16;letter-spacing:-.01em;margin-bottom:14px}
.public-showcases .showcase-body p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-bottom:18px}
.public-showcases .showcase-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.public-showcases .showcase-links a{max-width:100%;padding:9px 15px;border:1px solid var(--line);border-radius:24px;font-size:13.5px;line-height:1.5;background:var(--paper);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.public-showcases .showcase-links a:hover{border-color:var(--red);color:var(--red)}
.public-showcases .showcases-note{max-width:76ch;margin-top:28px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.public-showcases a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:1050px){.public-showcases .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-showcases{padding:48px 20px}.public-showcases .showcases-head{margin-bottom:30px}.public-showcases .showcase-grid{grid-template-columns:1fr;gap:24px}.public-showcases .showcase-body{padding:22px 22px 24px}}

/* ---------- service and planning pages: one short proof note ---------- */
.public-proof-note{max-width:1360px;margin:0 auto;padding:26px 28px 34px;scroll-margin-top:110px}
.public-proof-note .proof-in{max-width:76ch;border-left:3px solid var(--red);padding:4px 0 4px 22px}
.public-proof-note h2{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.1vw,28px);line-height:1.18;letter-spacing:-.01em;margin-bottom:12px}
.public-proof-note p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-bottom:16px}
.public-proof-note p:last-child{margin-bottom:0}
.public-proof-note .proof-links{display:flex;flex-wrap:wrap;gap:10px}
.public-proof-note .proof-links a{max-width:100%;padding:9px 15px;border:1px solid var(--line);border-radius:24px;font-size:13.5px;line-height:1.5;background:var(--cream);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.public-proof-note .proof-links a:hover{border-color:var(--red);color:var(--red)}
.public-proof-note a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:700px){.public-proof-note{padding:22px 20px 28px}.public-proof-note .proof-in{padding-left:16px}}
