/* Diarco Proyectos — ficha y portafolio */
.dcp{--dcp-dark:#002022;--dcp-dark2:#0b2c2e;--dcp-green:#23483C;--dcp-ink:#222728;--dcp-muted:#5f6a69;--dcp-orange:#FF7A1E;--dcp-light:#F5F4F4;font-family:"DM Sans",sans-serif;line-height:1.5;color:var(--dcp-ink);background:#fff}
.dcp *{box-sizing:border-box}
.dcp a{text-decoration:none;color:inherit}
.dcp img{display:block;width:100%;max-width:none}
.dcp-wrap{max-width:1300px;margin:0 auto;padding:0 40px}
.dcp .dcp-eyebrow{display:inline-block;color:var(--dcp-orange)!important;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 16px}
.dcp h1,.dcp h2,.dcp h3{font-family:"DM Sans",sans-serif}

/* Hero */
.dcp-hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dcp-dark);color:#fff}
.dcp-hero.is-empty{min-height:520px}
.dcp-hero-bg{position:absolute;inset:0;background:center 55%/cover no-repeat;transform:scale(1.01)}
.dcp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,34,.35) 0%,rgba(0,32,34,.08) 40%,rgba(0,24,26,.93) 100%)}
.dcp-hero-content{position:relative;z-index:2;width:100%;padding:170px 0 68px}
.dcp-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;color:rgba(255,255,255,.75);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.dcp-breadcrumb a:hover{color:#fff}
.dcp .dcp-title{max-width:980px;margin:0;color:#fff!important;font-size:clamp(2.6rem,6vw,5.6rem);font-weight:500;line-height:1.02;letter-spacing:-.04em}

/* Ficha técnica */
.dcp-facts{background:var(--dcp-dark);color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.dcp-facts-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.dcp-facts-4{grid-template-columns:repeat(4,1fr)}.dcp-facts-3{grid-template-columns:repeat(3,1fr)}.dcp-facts-2{grid-template-columns:repeat(2,1fr)}.dcp-facts-1{grid-template-columns:1fr}
.dcp-fact{min-height:130px;padding:30px 25px;border-right:1px solid rgba(255,255,255,.2)}
.dcp-fact:first-child{border-left:1px solid rgba(255,255,255,.2)}
.dcp-fact span{display:block;margin-bottom:12px;color:var(--dcp-orange);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.dcp-fact strong{font-size:18px;font-weight:500}

/* Galería: mosaico que se repite cada 5 fotos */
.dcp-gallery{padding:14px;background:var(--dcp-light)}
.dcp-gallery-grid{display:grid;gap:14px;grid-auto-rows:410px}
.dcp-gallery figure{position:relative;margin:0;overflow:hidden;background:#d7d4cc}
.dcp-gallery figure a{display:block;height:100%;cursor:zoom-in}
.dcp-gallery img{height:100%;object-fit:cover;transition:transform .65s ease}
.dcp-gallery figure:hover img{transform:scale(1.025)}
.dcp-gallery figcaption{position:absolute;right:15px;bottom:13px;padding:6px 9px;color:#fff;background:rgba(0,32,34,.75);font-size:11px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.dcp-n1{grid-template-columns:1fr;grid-auto-rows:min(62vw,680px)}
.dcp-n2{grid-template-columns:1fr 1fr;grid-auto-rows:540px}
.dcp-n3{grid-template-columns:1.45fr 1fr}
.dcp-n3 figure:first-child{grid-row:span 2}
.dcp-n4{grid-template-columns:1.45fr .8fr .8fr}
.dcp-n4 figure:first-child{grid-row:span 2}
.dcp-n4 figure:nth-child(4){grid-column:span 2}
.dcp-n5{grid-template-columns:1.45fr .8fr .8fr}
.dcp-n5 figure:nth-child(5n+1){grid-column:1;grid-row:span 2}
/* Cierres del patrón cuando las fotos no son múltiplo de 5 */
.dcp-n5 figure:nth-child(5n+1):last-child{grid-column:1/-1;grid-row:span 1}
.dcp-n5 figure:nth-child(5n+1):nth-last-child(2){grid-row:span 1}
.dcp-n5 figure:nth-child(5n+2):last-child{grid-column:span 2}
.dcp-n5 figure:nth-child(5n+1):nth-last-child(3){grid-row:span 1}
.dcp-n5 figure:nth-child(5n+4):last-child{grid-column:span 2}

/* Tarjetas (relacionados y portafolio) */
.dcp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.dcp-card{position:relative;display:block;height:390px;overflow:hidden;color:#fff;background:var(--dcp-dark)}
.dcp-card[hidden]{display:none}
.dcp-card img{height:100%;object-fit:cover;transition:transform .55s ease}
.dcp-card:hover img{transform:scale(1.035)}
.dcp-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,24,26,.86),transparent 62%)}
.dcp-noimg{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.12);font-size:56px;font-weight:600;letter-spacing:-.04em;background:linear-gradient(135deg,var(--dcp-dark),var(--dcp-green))}
.dcp-card-info{position:absolute;z-index:2;right:23px;bottom:20px;left:23px}
.dcp-card-info small{display:block;color:rgba(255,255,255,.75);font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.dcp .dcp-card-info h2,.dcp .dcp-card-info h3{margin:6px 0 0;color:#fff!important;font-size:22px;font-weight:500;line-height:1.15;letter-spacing:0}

/* Relacionados */
.dcp-related{padding:105px 0;background:#fff}
.dcp-related-head{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:42px}
.dcp .dcp-related h2{margin:0;color:var(--dcp-ink)!important;font-size:50px;font-weight:500;line-height:1.02;letter-spacing:-.4px}
.dcp-related-head a{padding-bottom:4px;border-bottom:1px solid var(--dcp-ink);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:.25s}
.dcp-related-head a:hover{color:var(--dcp-orange);border-color:var(--dcp-orange)}

/* CTA */
.dcp-cta{padding:95px 0;color:#fff;background:var(--dcp-dark)}
.dcp-cta-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.dcp .dcp-cta h2{max-width:830px;margin:0;color:#fff!important;font-size:clamp(2.4rem,4.6vw,4.4rem);font-weight:500;line-height:1.02;letter-spacing:-.04em}
.dcp .dcp-btn{display:inline-flex;padding:16px 24px;color:#fff;background:var(--dcp-orange);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s;white-space:nowrap}
.dcp .dcp-btn:hover{background:#fff;color:var(--dcp-dark)}

/* Portafolio */
.dcp-archive-hero{padding:190px 0 70px;background:var(--dcp-dark);color:#fff}
.dcp-archive-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}
.dcp-archive-head p{max-width:470px;margin:0;color:#bdc4bf;font-size:18px}
.dcp-archive-list{padding:60px 0 105px;background:var(--dcp-light)}
.dcp-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 34px}
.dcp .dcp-filter{border:1px solid rgba(34,39,40,.25)!important;background:transparent!important;color:var(--dcp-ink)!important;padding:11px 15px!important;font:500 12px/1 "DM Sans",sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase;cursor:pointer;border-radius:0!important;box-shadow:none!important;transition:.25s}
.dcp .dcp-filter span{opacity:.55;margin-left:4px}
.dcp .dcp-filter:hover{border-color:var(--dcp-dark)!important}
.dcp .dcp-filter.is-active{background:var(--dcp-dark)!important;color:#fff!important;border-color:var(--dcp-dark)!important}

/* Visor */
.dcp-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(0,16,17,.94);padding:40px 70px}
.dcp-lightbox[hidden]{display:none}
.dcp-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.dcp-lightbox button{position:absolute;border:0!important;background:transparent!important;color:#fff!important;font-size:46px!important;line-height:1;cursor:pointer;padding:10px!important;box-shadow:none!important}
.dcp-lb-close{top:14px;right:22px}
.dcp-lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.dcp-lb-next{right:14px;top:50%;transform:translateY(-50%)}

@media(max-width:1024px){
	.dcp-hero{min-height:640px}
	.dcp-facts-grid,.dcp-facts-4,.dcp-facts-5{grid-template-columns:repeat(3,1fr)}
	.dcp-fact{border-bottom:1px solid rgba(255,255,255,.2)}
	.dcp-fact:nth-child(3n+1){border-left:1px solid rgba(255,255,255,.2)}
	.dcp-gallery-grid{grid-auto-rows:320px}
	.dcp-grid{grid-template-columns:1fr 1fr}
	.dcp-grid-related .dcp-card:nth-child(3){display:none}
	.dcp .dcp-related h2{font-size:40px}
}
@media(max-width:767px){
	.dcp-wrap{padding:0 20px}
	.dcp-hero{min-height:560px}
	.dcp-hero-content{padding:140px 0 40px}
	.dcp-facts-grid,.dcp-facts-3,.dcp-facts-4,.dcp-facts-5{grid-template-columns:1fr 1fr}
	.dcp-fact{min-height:0;padding:22px 18px}
	.dcp-fact:nth-child(3n+1){border-left:0}
	.dcp-fact:nth-child(odd){border-left:1px solid rgba(255,255,255,.2)}
	.dcp-gallery{padding:8px}
	.dcp-gallery-grid{display:block}
	.dcp-gallery figure{height:320px;margin-bottom:8px}
	.dcp-gallery figure:first-child{height:440px}
	.dcp-grid{grid-template-columns:1fr}
	.dcp-grid-related .dcp-card:nth-child(3){display:block}
	.dcp-card{height:330px}
	.dcp-related{padding:76px 0}
	.dcp-related-head,.dcp-archive-head{display:block}
	.dcp-related-head a{display:inline-block;margin-top:20px}
	.dcp .dcp-related h2{font-size:34px}
	.dcp-archive-hero{padding:150px 0 50px}
	.dcp-archive-head p{margin-top:20px;font-size:16px}
	.dcp-cta-inner{grid-template-columns:1fr;gap:30px}
	.dcp .dcp-btn{justify-self:start}
	.dcp-lightbox{padding:20px}
}
