/* V19.3 — precision image ratio & layered graphite/copper portfolio. */
#realisations .projects-gallery{perspective:2200px;perspective-origin:50% 42%;gap:clamp(22px,2.7vw,38px)}
#realisations .project-tile{
  grid-template-columns:minmax(0,1.84fr) minmax(255px,.76fr);
  padding:18px;border-radius:22px;
  border-color:rgba(240,201,169,.36);
  background:linear-gradient(135deg,rgba(43,66,73,.82) 0%,rgba(15,29,38,.98) 62%,rgba(7,17,24,.98) 100%);
  box-shadow:0 30px 80px rgba(3,10,15,.28),inset 0 1px 0 rgba(255,235,212,.08),inset 0 0 0 1px rgba(255,236,220,.025);
  overflow:hidden;transition:border-color .45s ease,box-shadow .45s ease,filter .45s ease;
}
#realisations .project-tile::before,#realisations .project-tile::after{
  content:"";position:absolute;pointer-events:none;z-index:0;
}
#realisations .project-tile::before{
  width:38%;height:150%;left:-11%;top:-26%;
  background:radial-gradient(circle at 50% 50%,rgba(91,162,187,.13),transparent 72%);
  transform:translate3d(calc(var(--p-inset-x,0px) * -.33),calc(var(--p-inset-y,0px) * -.18),0);
  filter:blur(2px);
}
#realisations .project-tile::after{
  right:-10%;bottom:-48%;width:48%;height:115%;
  background:radial-gradient(circle at 50% 35%,rgba(225,171,132,.16),transparent 70%);
  transform:translate3d(calc(var(--p-inset-x,0px) * .2),calc(var(--p-inset-y,0px) * .16),0);
}
#realisations .project-tile:hover{
  border-color:rgba(247,208,177,.78);
  box-shadow:0 48px 110px rgba(3,9,14,.48),0 0 0 1px rgba(241,192,157,.18),0 18px 32px rgba(3,9,14,.16),inset 0 1px 0 rgba(255,235,212,.12);
}
#realisations .project-tile:nth-child(2){
  grid-template-columns:minmax(255px,.76fr) minmax(0,1.84fr);
  background:linear-gradient(225deg,rgba(49,65,64,.9) 0%,rgba(15,30,38,.98) 65%,rgba(7,17,24,.98) 100%);
}
#realisations .projects-gallery .project-media{
  aspect-ratio:2.08;min-height:318px;border-radius:14px;transform:translateZ(44px);
  border-color:rgba(247,219,190,.56);
  box-shadow:0 18px 34px rgba(1,10,18,.34),0 7px 22px rgba(3,9,14,.20),inset 0 0 0 1px rgba(248,230,209,.11);
  background:linear-gradient(145deg,#2a3d46,#101b23 75%);
}
#realisations .project-tile:hover .project-media{
  border-color:rgba(250,217,186,.9);
  box-shadow:0 28px 60px rgba(2,10,16,.57),0 10px 32px rgba(2,10,16,.26),0 0 26px rgba(203,141,101,.1),inset 0 0 0 1px rgba(255,235,216,.12);
}
#realisations .project-media::after{
  background:radial-gradient(ellipse at var(--p-light-x) var(--p-light-y),rgba(255,205,166,.20),transparent 62%);
}
#realisations .projects-gallery .project-media img,
#realisations .projects-gallery .project-tile-carvajal .project-media img{
  object-fit:contain;object-position:center;transform:none!important;filter:contrast(1.055) saturate(1.055);
}
#realisations .project-media-index{top:16px;left:16px;padding:8px 12px;border-color:rgba(255,230,209,.35);background:rgba(10,24,31,.72)}
#realisations .project-preview-action{
  right:16px;bottom:15px;background:rgba(252,246,239,.9);color:#162730;
  border-color:rgba(232,199,170,.72);box-shadow:0 10px 24px rgba(3,10,15,.22);
}
#realisations .project-caption{padding:clamp(28px,3vw,54px) clamp(24px,2.8vw,46px);gap:28px;transform:translateZ(56px);z-index:1}
#realisations .project-caption strong{font-size:clamp(36px,4.1vw,62px);text-shadow:0 5px 18px rgba(0,0,0,.12)}
#realisations .project-tile-carvajal .project-caption strong{font-size:clamp(34px,3.4vw,52px)}
#realisations .project-caption small{max-width:320px}
#realisations .project-caption-arrow{
  width:58px;height:58px;flex-basis:58px;background:rgba(223,175,143,.08);
  backdrop-filter:blur(6px);box-shadow:0 12px 28px rgba(3,10,15,.18);
}
#realisations .project-tile:hover .project-caption-arrow{box-shadow:0 18px 38px rgba(3,10,15,.24)}
#realisations .project-tile-malakara .project-media{background:#253943}
#realisations .project-tile-carvajal .project-media{background:#d0d8ca}
#realisations .project-tile-reqvera .project-media{background:#182631}
#realisations .project-dialog-visual img{object-fit:contain;background:#142027}
@media(max-width:1100px){
  #realisations .project-tile{grid-template-columns:minmax(0,1.66fr) minmax(228px,.85fr)}
  #realisations .project-tile:nth-child(2){grid-template-columns:minmax(228px,.85fr) minmax(0,1.66fr)}
  #realisations .projects-gallery .project-media{min-height:285px}
}
@media(max-width:820px){
  #realisations .project-tile,#realisations .project-tile:nth-child(2){grid-template-columns:minmax(0,1fr);padding:12px;border-radius:16px}
  #realisations .projects-gallery .project-media{aspect-ratio:2.08;min-height:0;transform:none}
  #realisations .project-caption{padding:24px 18px 18px;transform:none}
}
@media(max-width:520px){
  #realisations .project-tile,#realisations .project-tile:nth-child(2){padding:9px;border-radius:13px}
  #realisations .projects-gallery .project-media{aspect-ratio:2.06}
  #realisations .project-caption{padding:20px 14px 16px}
  #realisations .project-caption strong,#realisations .project-tile-carvajal .project-caption strong{font-size:clamp(31px,8vw,40px)}
  #realisations .project-caption-arrow{width:44px;height:44px;flex-basis:44px}
}
@media(prefers-reduced-motion:reduce),(pointer:coarse){#realisations .project-tile{transform:none!important}#realisations .project-caption,#realisations .project-media{transform:none!important}}
