/* Portafolio: una entrada visual a la obra, con la ficha reservada al interior. */
.projects .project-heading{align-items:flex-end;gap:28px;margin-bottom:28px}
.projects .project-heading .eyebrow{margin-bottom:10px}
.projects .project-heading h2{font-size:var(--text-section);line-height:1.18}
.projects .projects-intro{margin-top:12px;max-width:610px;font-size:15px;line-height:1.7;color:var(--muted)}
.projects .project-heading>.button{font-size:13px;gap:14px;flex-shrink:0;min-height:46px}
.projects .work-grid,.projects-overview .work-grid{gap:24px}
.work-card{position:relative;isolation:isolate;border-radius:6px;border:1px solid var(--line);box-shadow:0 3px 12px #09223708;overflow:hidden;background:var(--paper)}
.work-card .work-image{position:relative;flex-shrink:0}
.work-card .work-image img{height:240px;width:100%;object-fit:cover;transition:transform .6s ease}
.work-card .work-image>.work-open{display:grid;place-items:center;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--paper);color:var(--button);font-size:20px;box-shadow:0 2px 8px #09223718;transition:background .25s,color .25s}
.work-open .icon{width:19px;height:19px}
.work-photo-link{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 12px;border-radius:4px;background:var(--paper);color:var(--button);font-size:12px;font-weight:600;box-shadow:0 2px 8px #09223718}
.work-photo-link .icon{width:16px;height:16px}
.work-photo-link:hover,.work-photo-link:focus-visible{background:var(--brand-hover);color:var(--paper)}
.work-card .work-copy{padding:22px;gap:0;align-items:stretch}
.work-card .work-place{font-size:12px;margin-bottom:12px;color:var(--muted)}
.work-card .work-place .icon{color:var(--brand);width:15px;height:15px}
.work-card .work-copy h3{font-size:22px;line-height:1.25;margin:0 0 10px;color:var(--ink)}
.work-card .work-copy>.work-summary{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.work-project-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;min-height:44px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;font-weight:600;color:var(--button)}
.work-project-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.work-project-link .icon{width:18px;height:18px}
.work-project-link:focus-visible{outline:none}
.work-project-link:focus-visible::after{outline:3px solid var(--brand);outline-offset:-3px}
.work-card:has(.work-project-link:focus-visible) .work-open,.work-card:hover .work-open{background:var(--brand-hover);color:var(--paper)}
@media(hover:hover) and (pointer:fine){.work-card:hover .work-image img{transform:scale(1.035)}.work-card:hover .work-project-link{color:var(--brand-hover)}}
.projects-overview-intro .eyebrow{margin-bottom:10px}
.projects-overview-intro h1{font-size:var(--text-page)}
.projects-overview-intro .page-lead{max-width:700px;margin-top:14px}
@media(max-width:950px){.projects .project-heading{align-items:flex-start;flex-direction:column;gap:18px}.work-card .work-image img{height:230px}}
@media(max-width:640px){.projects .project-heading{margin-bottom:24px}.projects .project-heading>.button{gap:12px}.work-card .work-image img{height:220px}.work-card .work-copy{padding:20px}.work-card .work-copy h3{font-size:22px}.work-photo-link{min-height:44px;right:12px;bottom:12px;padding:10px 12px}.projects .work-grid,.projects-overview .work-grid{gap:20px}}
@media(prefers-reduced-motion:reduce){.work-card .work-image img{transition:none}.work-card:hover .work-image img{transform:none}}

