/* Otros proyectos: composición editorial en continuidad con el Blog. */
.projects-editorial { padding-top:2rem; }
.projects-heading { padding-bottom:1.5rem; margin-bottom:2rem; border-bottom:2px solid var(--blue-deep); }
.projects-heading .eyebrow { color:var(--blue); }
.projects-heading h2 { margin:.3rem 0 .6rem; color:var(--blue-deep); font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.04em; }
.projects-heading > p:last-child { margin:0; font-size:1.05rem; color:#54718d; }
.projects-editorial .project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 1.75rem; align-items:start; }
.projects-editorial .project-card { min-width:0; display:flex; flex-direction:column; margin:0; padding:0 0 1.5rem; border:0; border-bottom:1px solid #cbdcec; border-radius:0; background:white; }
.project-photo { display:block; height:15rem; overflow:hidden; background:#edf4fa; }
.project-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.projects-editorial .project-card:nth-child(4) .project-photo img { object-position:center 40%; }
.project-body { display:flex; flex-direction:column; padding-top:1.2rem; }
.projects-editorial .project-card h3 { font-size:1.75rem; line-height:1.12; letter-spacing:-.03em; font-weight:700; margin:0 0 1rem; }
.projects-editorial .project-card h3 a { text-decoration:none; }
.projects-editorial .project-card h3 a:hover { text-decoration:underline; text-underline-offset:.15em; }
.projects-editorial .project-card p { font-size:1rem; line-height:1.65; color:#315674; margin:0 0 .85rem; }
.projects-editorial .project-card p + p { margin-top:0; }
.projects-editorial .project-more { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; align-self:start; margin-top:.35rem; padding:.7rem 1.1rem; border-radius:2rem; background:var(--yellow); color:var(--blue-deep); font-size:.94rem; font-weight:700; text-decoration:none; }
.projects-editorial .project-more:hover { background:#ffdc18; }
.projects-editorial a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.projects-editorial #mi-paso { padding:1.5rem; background:#f3f8fc; border-top:4px solid var(--yellow); }
@media(max-width:1050px) { .projects-editorial .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .projects-editorial .project-grid { grid-template-columns:1fr; gap:2rem; } .project-photo { height:17rem; } .projects-editorial .project-card h3 { font-size:1.7rem; } .projects-editorial .project-card p { font-size:1rem; } }

/* Material original de los proyectos: mostrar la infografía y las papeletas completas. */
#pacto .initiative-visual-original, #papeletas .initiative-visual-original { background:#f7fafc; align-self:center; min-height:0; height:auto; }
#pacto .initiative-visual-original img, #papeletas .initiative-visual-original img { height:auto; min-height:0; object-fit:contain; }

/* Encuadre cuadrado de los dos originales, solicitado para equilibrar las iniciativas. */
#pacto .initiative-visual-original, #papeletas .initiative-visual-original { width:100%; aspect-ratio:1; height:auto; overflow:hidden; }
#pacto .initiative-visual-original img, #papeletas .initiative-visual-original img { width:100%; height:100%; min-height:100%; object-fit:cover; }
#pacto .initiative-visual-original img { object-position:50% 48%; }
#papeletas .initiative-visual-original img { object-position:50% 72%; }
.projects-editorial #mi-paso { padding:0 0 1.5rem; background:white; border-top:0; }
.project-photo-relato img { object-fit:contain; background:white; }
#pacto .initiative-visual-original { background:#faf5ef; }
#pacto .initiative-visual-original img { object-fit:contain; object-position:center; }
/* Los tres proyectos comparten el formato horizontal de la foto de chándals. */
#pacto .initiative-visual, #papeletas .initiative-visual, #chandals .initiative-visual { width:100%; height:auto; min-height:0; aspect-ratio:4 / 3; align-self:center; }
#pacto .initiative-visual img, #papeletas .initiative-visual img, #chandals .initiative-visual img { width:100%; height:100%; min-height:0; }
#papeletas .initiative-visual img { object-fit:cover; object-position:50% 72%; }
#chandals .initiative-visual img { object-fit:cover; object-position:center; }
.initiative-enlarge { position:relative; display:block; width:100%; height:100%; padding:0; border:0; background:#faf5ef; cursor:zoom-in; }
#pacto .initiative-enlarge img { object-fit:contain; }
.initiative-enlarge-label { position:absolute; bottom:.7rem; right:.7rem; display:flex; align-items:center; gap:.5rem; padding:.4rem .75rem; border-radius:2rem; background:#063c78; color:white; font-size:.85rem; font-weight:700; box-shadow:0 2px 8px #0003; }
.initiative-enlarge-label > span { font-size:1.4rem; line-height:1; }
.initiative-enlarge:focus-visible { outline:3px solid var(--yellow); outline-offset:-4px; }
.initiative-image-dialog { width:min(95vw,57rem); max-width:none; height:94dvh; max-height:94dvh; margin:auto; padding:0; border:0; border-radius:1rem; background:white; color:var(--blue-deep); }
.initiative-image-dialog::backdrop { background:#031c38d9; }
.initiative-image-dialog[open] { display:flex; flex-direction:column; }
.initiative-image-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; background:white; border-bottom:1px solid #deebf4; }
.initiative-image-toolbar button { border:0; border-radius:2rem; padding:.5rem 1rem; background:var(--blue); color:white; cursor:pointer; }
.initiative-image-scroll { overflow:auto; min-height:0; padding:1rem; background:#faf5ef; }
.initiative-image-scroll img { width:min(100%,734px); height:auto; margin:auto; }
@media(max-width:700px) { .initiative-image-dialog { width:100vw; height:100dvh; max-height:100dvh; border-radius:0; } .initiative-image-scroll { padding:.5rem; } }

/* Seis proyectos: mismas proporciones y filas alineadas. */
.projects-editorial .project-grid { align-items:stretch; grid-auto-rows:1fr; }
.projects-editorial .project-card { padding:0; border:1px solid #d8e6f2; border-radius:1rem; overflow:hidden; background:#fff; }
.projects-editorial #mi-paso { padding:0; border:1px solid #d8e6f2; }
.projects-editorial .project-photo { height:auto; aspect-ratio:4/3; }
.projects-editorial .project-photo img { display:block; }
.projects-editorial .project-card:nth-child(1) .project-photo img { object-position:center 52%; }
.projects-editorial .project-card:nth-child(4) .project-photo img { object-position:center; }
.projects-editorial .project-body { padding:1.2rem; flex:1; }
.projects-editorial .project-card h3 { font-size:1.45rem; line-height:1.2; min-height:2.4em; margin-bottom:.8rem; }
.projects-editorial .project-card p { margin:0 0 1rem; }
.projects-editorial .project-more { margin-top:auto; }
@media(max-width:650px) { .projects-editorial .project-card h3 { min-height:0; } }
.initiative-detail-market { background:#fffdf0; border-color:#f5d83b; grid-template-columns:4.2rem minmax(0,1fr) minmax(18rem,26rem); align-items:start; }
.initiative-detail-market .initiative-number { background:#ffe838; color:#073f7c; }
.initiative-market-copy h2 { max-width:38rem; }
.market-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin:1.3rem 0; }
.market-details div { padding:.8rem; background:#eaf6fd; border-radius:.7rem; }
.market-details strong,.market-details span { display:block; }
.market-details strong { color:#073f7c; font-size:1.1rem; }
.market-details span { color:#456883; font-size:.82rem; line-height:1.3; margin-top:.25rem; }
.market-prices { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 1.2rem; }
.market-prices strong { background:#ffe838; color:#073f7c; border-radius:2rem; padding:.55rem .85rem; font-size:.9rem; }
.market-visual { padding:0; overflow:hidden; background:#fff; }
.market-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.initiative-detail-market .market-visual { grid-column:3; grid-row:1; height:auto; min-height:0; align-self:start; }
@media(max-width:760px) { .market-details { grid-template-columns:1fr; } .market-prices { gap:.4rem; } .market-prices strong { font-size:.82rem; } }
@media(max-width:900px) { .initiative-detail-market { grid-template-columns:3rem minmax(0,1fr); } .initiative-detail-market .market-visual { grid-column:2; grid-row:auto; height:auto; min-height:0; margin-top:.5rem; } }
.market-visual { display:grid; grid-template-rows:1.35fr 1fr; gap:.7rem; align-content:start; }
.initiative-detail-market .market-visual { display:block; height:auto !important; min-height:0 !important; }
.market-visual img { min-height:0; }
.market-image-trigger { position:relative; display:block; width:100%; height:100%; padding:0; border:0; background:#fff; cursor:zoom-in; }
.market-image-trigger { height:auto; }
.market-image-trigger img { display:block; width:100%; height:auto; object-fit:contain; }
.market-image-trigger > span { position:absolute; right:.75rem; bottom:.75rem; padding:.45rem .8rem; border-radius:2rem; background:#073f7c; color:#fff; font-size:.82rem; font-weight:700; box-shadow:0 2px 8px #0003; }
.market-image-trigger:focus-visible { outline:3px solid var(--yellow); outline-offset:-4px; }
