.alan-project-catalog{width:min(calc(100% - 10vw),90rem);margin:auto;padding:clamp(8rem,13vw,13rem) 0 clamp(5rem,8vw,8rem);color:var(--alan-ui-ink,#202622);font-family:var(--alan-ui-font-sans,Helvetica,Arial,sans-serif)}
.alan-project-catalog *{box-sizing:border-box}
.alan-project-catalog__heading{margin-bottom:clamp(3.5rem,7vw,7rem)}
.alan-project-catalog__heading>p{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--alan-ui-muted,#626b61);margin:0 0 1.5rem}
.alan-project-catalog h1{font:450 clamp(3.5rem,8vw,8rem)/1 var(--alan-ui-font-sans,Helvetica,Arial,sans-serif);letter-spacing:-.065em;margin:0}
.alan-project-catalog__intro{max-width:48ch;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6;color:var(--alan-ui-muted,#626b61);margin-top:1.75rem}
.alan-project-catalog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,6vw,6rem) clamp(1.5rem,3vw,3rem)}
.alan-project-catalog .alan-project__link{display:block;padding:0;color:inherit;text-decoration:none}
.alan-project-catalog .alan-project__image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:clamp(16px,2vw,28px);background:var(--alan-ui-surface,#f3f3f5)}
.alan-project-catalog img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.22,.75,.25,1)}
.alan-project-catalog__typography{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:clamp(2rem,5vw,5rem);letter-spacing:-.065em;background:var(--alan-ui-surface,#f3f3f5)}
.alan-project-catalog .alan-project__link:hover img{transform:scale(1.035)}
.alan-project-catalog .alan-project__link:focus-visible{outline:2px solid var(--alan-ui-ink);outline-offset:8px;border-radius:20px}
.alan-project-catalog .alan-project__copy{display:block;margin-top:1.4rem}
.alan-project-catalog h2{font:450 clamp(1.65rem,2.7vw,2.75rem)/1.1 var(--alan-ui-font-sans,Helvetica,Arial,sans-serif);letter-spacing:-.045em;margin:0 0 .65rem}
.alan-project-catalog__excerpt{display:block;max-width:55ch;color:var(--alan-ui-muted,#626b61);font-size:.95rem;line-height:1.55}
@media(max-width:760px){.alan-project-catalog__grid{grid-template-columns:1fr;gap:3rem}.alan-project-catalog{padding-top:8rem}}
@media(prefers-reduced-motion:reduce){.alan-project-catalog img{transition:none}.alan-project-catalog .alan-project__link:hover img{transform:none}}
