/* Editorial project index, scoped to the integrated Home chapter. */
.alan-home-chapter--projects{padding-block:clamp(2.5rem,4vw,4rem);background:var(--alan-ui-paper,#f2f0e9)}
.alan-home-chapter--projects .alan-home-chapter__heading{margin-bottom:clamp(1rem,2vw,1.5rem)}
.alan-home-chapter--projects .alan-projects{position:relative;isolation:isolate}
.alan-home-chapter--projects .alan-projects__featured,.alan-home-chapter--projects .alan-projects__remaining{display:block}
.alan-home-chapter--projects .alan-project{position:relative;border-color:var(--alan-ui-line,rgba(32,38,34,.2))}
.alan-home-chapter--projects .alan-project__link{position:relative;z-index:2;grid-template-columns:minmax(0,1fr) 1.5rem;gap:clamp(.75rem,2vw,1.5rem);min-height:0;padding:.9rem calc(clamp(360px,38vw,540px) + 2rem) .9rem .25rem}
.alan-home-chapter--projects .alan-project__index,
.alan-home-chapter--projects .alan-project__category{display:none}
.alan-home-chapter--projects .alan-project__image{display:none}
.alan-home-chapter--projects .alan-project__copy{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;column-gap:0;row-gap:.3rem}
.alan-home-chapter--projects .alan-project__category{order:2;max-width:25ch;line-height:1.5}
.alan-home-chapter--projects .alan-project__category:empty{display:none}
.alan-home-chapter--projects .alan-project h3{grid-row:1;margin:0;font:450 clamp(1.45rem,2.4vw,2.4rem)/1.13 var(--alan-ui-font-sans,"Helvetica Neue",Helvetica,Arial,sans-serif);letter-spacing:-.05em;transition:color .3s}
.alan-home-chapter--projects .alan-project__excerpt{grid-row:2;display:block;width:min(100%,58ch);margin:0;font-size:.8rem;line-height:1.45;max-width:58ch}
.alan-home-chapter--projects .alan-project__arrow{position:absolute;right:.25rem;top:50%;translate:0 -50%;justify-self:end;align-self:center;font-size:1.35rem}
.alan-home-chapter--projects .alan-project__arrow{display:none}
.alan-home-chapter--projects .alan-projects__more{text-align:left}
.alan-home-chapter--projects .alan-projects__remaining[hidden]{display:none}
.alan-home-chapter--projects .alan-projects__actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:24px;padding:20px 0;text-align:left}
.alan-home-chapter--projects .alan-projects__toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:44px;margin:0;padding:8px 4px;border:0;border-radius:8px;background:transparent;color:var(--alan-ui-ink,#202622);cursor:pointer;font:500 13px/1.4 var(--alan-ui-font-sans,inherit);letter-spacing:-.015em;box-shadow:none;transition:opacity .2s}
.alan-home-chapter--projects .alan-projects__toggle::after{content:'+';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,currentColor 6%,transparent);font-size:19px;font-weight:300;line-height:1;transition:transform .4s cubic-bezier(.22,.75,.25,1)}
.alan-home-chapter--projects .alan-projects__toggle[aria-expanded=true]::after{transform:rotate(45deg)}
.alan-home-chapter--projects .alan-projects__archive{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 4px;color:var(--alan-ui-muted,#626b61);font:400 13px/1.4 var(--alan-ui-font-sans,inherit);letter-spacing:-.015em;text-decoration:none}
.alan-home-chapter--projects .alan-projects__archive::after{content:'↗';font-size:15px;transition:transform .25s}
.alan-home-chapter--projects .alan-projects__archive:hover::after{transform:translate(2px,-2px)}
.alan-home-chapter--projects .alan-projects__toggle:hover{opacity:.65}
.alan-home-chapter--projects .alan-projects__actions :is(button,a):focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:6px}
.alan-home-chapter--projects .alan-projects__remaining{overflow-anchor:none}
@media(prefers-reduced-motion:reduce){.alan-home-chapter--projects .alan-projects__actions *{transition:none!important}}
.alan-home-chapter--projects .alan-project__link:is(:hover,:focus-visible) h3{color:var(--alan-ui-accent,#72864b)}
.alan-home-chapter--projects .alan-project__link:focus-visible{outline-offset:-3px;border-radius:4px}
/* Returning focus keeps the reading position without drawing across the photo. */
.alan-home-chapter--projects .alan-project__link[data-alan-project-return-focus]:focus{outline:none}
.alan-projects__preview{position:absolute;right:3.5rem;top:0;z-index:1;width:clamp(360px,38vw,540px);aspect-ratio:16/9;overflow:hidden;border-radius:18px;pointer-events:none;opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0 round 18px);box-shadow:0 16px 40px rgba(26,32,27,.12);background:var(--alan-ui-surface,#e7e6dd);will-change:transform,clip-path}
.alan-projects__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform,opacity}
@media (max-width:1024px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
 .alan-projects__preview{display:none}
 .alan-home-chapter--projects .alan-project__link{grid-template-columns:clamp(100px,16vw,150px) minmax(0,1fr) 1.25rem;min-height:0;gap:clamp(.65rem,2vw,1.25rem);padding:.85rem .25rem}
 .alan-home-chapter--projects .alan-project__image{display:block;grid-column:1;grid-row:1;width:100%;aspect-ratio:16/9;border-radius:12px}
 .alan-home-chapter--projects .alan-project__copy{grid-column:2;grid-row:1;display:block}
 .alan-home-chapter--projects .alan-project__arrow{position:static;right:auto;top:auto;translate:none;grid-column:3;grid-row:1;align-self:center}
 .alan-home-chapter--projects .alan-project h3{font-size:clamp(1.2rem,2.7vw,2rem)}
 .alan-home-chapter--projects .alan-project__category{display:none}
 .alan-home-chapter--projects .alan-project__excerpt{margin-top:.35rem}
}
@media (max-width:760px){
 .alan-home-chapter--projects .alan-project__link{grid-template-columns:88px minmax(0,1fr) 1rem;gap:.6rem}
 .alan-home-chapter--projects .alan-project h3{font-size:clamp(1.05rem,3.7vw,1.5rem);letter-spacing:-.035em}
 .alan-home-chapter--projects .alan-project__excerpt{font-size:.75rem}
 .alan-home-chapter--projects .alan-project__arrow{font-size:1rem}
}
