/* A bounded visual browser within the existing About-page design system. */
.xp-introduction{padding-bottom:44px}
.xp-work{padding-bottom:75px}
.xp-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:26px}
.xp-heading h3{font-size:clamp(24px,2.6vw,36px);font-weight:500;letter-spacing:-.035em;line-height:1.2}
.xp-heading h3:focus{outline:none}
.xp-heading p{font-size:14px;line-height:1.75;max-width:650px;color:#4a5142;margin-top:13px}
.xp-heading .text-link{flex-shrink:0;white-space:nowrap;font-size:12px}
.xp-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.xp-controls button,.xp-pagination button{font-family:inherit;cursor:pointer;border:1px solid #aab29d;color:#26311f;background:transparent;min-height:46px;padding:12px 18px;border-radius:30px;font-size:13px;line-height:1.3}
.xp-controls button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.xp-controls button:hover:not([aria-pressed="true"]){background:#d7dfc9}
.xp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;align-items:stretch}
.xp-card{min-width:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid #d0d5c5}
.xp-project-link{display:block}
.xp-image{position:relative;aspect-ratio:1.5;background:#dce0d1;overflow:hidden}
.xp-image img{display:block;width:100%;height:100%;object-fit:contain}
.xp-open{position:absolute;right:13px;bottom:13px;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:20px;border:1px solid #e0e1d8;transition:background .2s}
.xp-project-link:hover .xp-open{background:var(--acid)}
.xp-project-link:hover h4{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.xp-caption{padding:19px 20px 0}
.xp-discipline{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#59634e;line-height:1.6}
.xp-caption h4{font-size:clamp(18px,1.6vw,23px);font-weight:500;line-height:1.2;letter-spacing:-.025em;margin:9px 0 0}
.xp-details{padding:14px 20px 18px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.xp-role{font-size:12px;line-height:1.6;color:#414d37}
.xp-firm{display:flex;flex-direction:column;font-size:12px;line-height:1.5}
.xp-firm>span{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#69715f}
.xp-firm a{min-height:34px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px;color:#37432f}
.xp-medium{font-size:10px;line-height:1.5;color:#68715d;margin-top:auto;padding-top:2px}
.xp-static-link{display:inline-flex;align-items:center;align-self:start;gap:15px;min-height:36px;font-size:11px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.xp-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px}
.xp-pagination button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--paper);border-color:#b1baa3}
.xp-pagination button:hover:not(:disabled){background:var(--acid)}
.xp-pagination button:disabled{opacity:.45;cursor:default}
.xp-page-note{font-size:12px;line-height:1.6;color:#59634e;text-align:center}
.xp-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.xp-work [hidden]{display:none!important}
@media(max-width:1000px){.xp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.xp-heading{align-items:start;flex-direction:column;gap:5px}.xp-heading .text-link{margin-top:8px}.xp-page-note{display:none}}
@media(max-width:700px){.xp-introduction{padding-bottom:32px}.xp-work{padding-bottom:48px}.xp-heading{padding-bottom:23px}.xp-heading h3{font-size:27px}.xp-heading p{font-size:13px}.xp-controls{gap:7px;margin-bottom:22px}.xp-controls button{font-size:12px;min-height:44px;padding:11px 15px}.xp-grid{grid-template-columns:1fr;gap:24px}.xp-image{aspect-ratio:1.45}.xp-caption{padding:18px 18px 0}.xp-caption h4{font-size:22px}.xp-details{padding:13px 18px 18px}.xp-firm a{min-height:44px}.xp-pagination{gap:12px;padding-top:25px}.xp-pagination button{font-size:12px;flex:1;padding:12px 13px;min-height:48px;gap:9px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){.xp-work *{transition:none!important;scroll-behavior:auto!important}}
