/* Editorial portfolio: shared tokens, generous imagery and restrained controls. */
.projects-index { padding-top: calc(var(--space-10) + var(--space-8)); }
.projects-heading { display:grid; grid-template-columns: 1.4fr 1fr; gap:var(--space-9); align-items:end; margin-bottom:var(--space-8); }
.projects-heading h1 { font-size:clamp(var(--fs-h2),6.5vw,var(--fs-display)); margin:var(--space-5) 0 0; }
.projects-heading em,.project-contact em { color:var(--fg-link); }
.project-filters { display:flex; justify-content:space-between; align-items:center; gap:var(--space-5); border-top:1px solid var(--border-strong); border-bottom:1px solid var(--border-subtle); padding:var(--space-5) 0; margin-bottom:var(--space-7); }
.project-filter-fields { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-6); }
.project-filters label { display:flex; align-items:center; gap:var(--space-3); font-size:var(--fs-caption); color:var(--fg-secondary); }
.project-filters select { font:400 var(--fs-body) var(--font-body); background:var(--bg-canvas); color:var(--fg-primary); border:0; border-bottom:1px solid var(--border-default); min-height:44px; max-width:230px; cursor:pointer; }
.project-filters button,.projects-empty button { background:transparent; border:0; border-bottom:1px solid var(--border-accent); color:var(--fg-primary); min-height:44px; font:inherit; cursor:pointer; }
.project-filters [role="status"] { font-size:var(--fs-caption); white-space:nowrap; color:var(--fg-secondary); }
.projects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8) var(--space-6); }
@media(min-width:769px) {
 .projects-index .projects-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.project-card { display:block; border:0; color:var(--fg-primary); }
.project-card:hover { opacity:1; }
.project-card-image { position:relative; overflow:hidden; background:var(--bg-soft); aspect-ratio:4/3; }
.project-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--duration-slow) var(--ease-standard); }
.project-card:hover img { transform:scale(1.04); }
.project-card-open { position:absolute; bottom:var(--space-5); right:var(--space-5); width:44px; height:44px; display:grid; place-items:center; background:var(--bg-canvas); color:var(--fg-primary); font-size:var(--fs-h4); }
.project-card-caption { display:flex; justify-content:space-between; gap:var(--space-4); padding:var(--space-5) 0; border-bottom:1px solid var(--border-subtle); }
.project-card h2 { margin:0 0 var(--space-2); font-size:clamp(var(--fs-h4),2.5vw,var(--fs-h3)); }
.project-card p { margin:0; font-size:var(--fs-caption); color:var(--fg-secondary); }
.project-number { font:500 var(--fs-caption) var(--font-ui); color:var(--fg-link); padding-top:var(--space-2); }
.project-hero { position:relative; min-height: min(900px,100svh); display:flex; align-items:end; background:var(--bg-inverse); color:var(--fg-on-inverse); }
.project-hero > img,.project-hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.project-hero-shade { background:linear-gradient(180deg,color-mix(in srgb,var(--eidora-tinta) 45%,transparent),transparent 35%,color-mix(in srgb,var(--eidora-tinta) 80%,transparent)); }
.project-hero-content { position:relative; width:100%; padding:var(--space-10) var(--space-7) var(--space-8); }
.project-hero a { color:var(--fg-on-inverse); display:inline-flex; align-items:center; min-height:44px; border:0; }
.project-hero .lr-eyebrow { color:var(--fg-on-inverse); margin-top:var(--space-7); }
.project-hero h1 { color:inherit; font-size:clamp(var(--fs-h2),7.4vw,var(--fs-mega)); font-weight:400; margin:var(--space-5) 0; max-width:18ch; }
.project-gallery-jump { gap:var(--space-7); font-size:var(--fs-caption); }
.project-overview-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--space-9); }
.project-overview h2,.project-contact h2 { font-size:clamp(var(--fs-h3),4vw,var(--fs-h1)); }
.project-facts { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
.project-facts div { border-top:1px solid var(--border-default); padding-top:var(--space-4); }
.project-facts dt { font:700 var(--fs-eyebrow) var(--font-ui); text-transform:uppercase; letter-spacing:var(--tracking-wider); color:var(--fg-secondary); margin-bottom:var(--space-4); }
.project-facts dd { margin:0; line-height:var(--leading-relaxed); }
.project-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-7) var(--space-6); padding:0 var(--space-7); }
.project-gallery figure { margin:0; min-width:0; }
.project-image-wide { grid-column:1/-1; }
.project-gallery img { display:block; width:100%; height:auto; background:var(--bg-soft); }
.project-gallery figcaption { display:flex; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-4); color:var(--fg-secondary); font-size:var(--fs-caption); }
.project-gallery figcaption span:first-child { color:var(--fg-link); }
.project-related-heading { display:flex; justify-content:space-between; align-items:center; gap:var(--space-5); margin-bottom:var(--space-7); }
.project-related-heading h2 { margin:0; font-size:var(--fs-h2); }
.project-contact { background:var(--bg-soft); }
.projects-empty { padding:var(--space-9) 0; text-align:center; }
select:focus-visible { outline:2px solid var(--border-accent); outline-offset:var(--space-1); }
@media(max-width:768px) {
 .projects-index { padding-top:calc(var(--space-10) + var(--space-5)); }
 .projects-heading,.project-overview-grid { grid-template-columns:1fr; gap:var(--space-5); }
 .projects-heading { margin-bottom:var(--space-7); }
 .project-filters { align-items:start; flex-direction:column; }
 .project-filter-fields { gap:var(--space-4); width:100%; }
 .project-filters label { flex:1; min-width:0; flex-direction:column; align-items:start; }
 .project-filters select { max-width:100%; width:100%; }
 .projects-grid { grid-template-columns:1fr; gap:var(--space-7); }
 .project-hero { min-height:85svh; }
 .project-hero-content { padding:var(--space-10) var(--space-5) var(--space-7); }
 .project-gallery { padding:0 var(--space-5); grid-template-columns:1fr; gap:var(--space-6); }
 .project-related-heading { align-items:start; flex-direction:column; }
 .project-related-heading h2 { font-size:var(--fs-h3); }
 .project-facts { gap:var(--space-5); margin-top:var(--space-5); }
}
@media(max-width:480px) {
 .project-gallery { padding:0 var(--space-4); }
 .project-hero-content { padding-left:var(--space-4); padding-right:var(--space-4); }
 .project-gallery figcaption { font-size:var(--fs-eyebrow); }
}
@media(prefers-reduced-motion:reduce) { .project-card:hover img { transform:none; } }
