/* Dos mitades independientes: encuadre ampliado y bajo, tratamiento propio
   para el fondo oscuro y el claro. El archivo fotográfico se conserva. */
.culture-cutout-filter{position:absolute;pointer-events:none;overflow:hidden}
.culture::before{
 z-index:0;
 top:0;
 mask-image:linear-gradient(to bottom,transparent 0,transparent 80px,#000 200px);
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 80px,#000 200px);
}
.culture>.culture-top,.culture>.purpose-pair,.culture>.values-block{position:relative;z-index:1}
.culture .purpose-mission{background:linear-gradient(90deg,#2c444d 0%,#2c444d 32%,#35515c 65%,#466674 100%)}
.culture .purpose-vision{background:#d9edf4}
.culture-split-team .purpose{overflow:clip}
.culture .value-stage{background:#f5fcff}
body:not(.silhouette-preview) .hero{align-items:start;padding-block:64px 96px}
.culture-split-team .culture-top{margin-bottom:40px}
.culture-split-team .culture-top h2{
 margin:0;
 font-size:clamp(36px,3.7vw,54px);
 font-weight:600;
 line-height:1.02;
 letter-spacing:-.045em;
 text-transform:uppercase;
 text-wrap:balance;
}
.purpose-team-half{
 position:absolute;
 z-index:0;
 bottom:-50%;
 height:165%;
 aspect-ratio:3/4;
 overflow:hidden;
 pointer-events:none;
 user-select:none;
}
.purpose-team-half img{
 position:absolute;
 bottom:0;
 width:200%;
 max-width:none;
 height:100%;
 object-fit:fill;
 filter:url(#team-soft-edges);
 mask-image:linear-gradient(to bottom,#000 0,#000 66%,transparent 95%);
 -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 66%,transparent 95%);
}
.purpose-mission .purpose-team-half{
 right:0;
 /* La mezcla de trama suma luz de forma gradual hacia el borde derecho. */
 opacity:.62;
 mix-blend-mode:screen;
 mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.13) 18%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.65) 65%,#000 100%);
 -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.13) 18%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.65) 65%,#000 100%);
}
.purpose-mission .purpose-team-half img{left:0;filter:url(#team-dark-screen)}
.purpose-vision .purpose-team-half{
 left:0;
 height:175%;
 bottom:-58%;
 opacity:.60;
 mask-image:linear-gradient(to right,rgba(0,0,0,.8) 0,#000 5%,#000 52%,rgba(0,0,0,.60) 72%,rgba(0,0,0,.12) 90%,transparent 100%);
 -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.8) 0,#000 5%,#000 52%,rgba(0,0,0,.60) 72%,rgba(0,0,0,.12) 90%,transparent 100%);
}
.purpose-vision .purpose-team-half img{right:0;filter:url(#team-vision-contrast)}
.culture-split-team .purpose-heading{justify-content:flex-start;gap:12px}
.culture-split-team .purpose-symbol{order:-1;flex-shrink:0}
.culture-split-team .purpose-vision .purpose-heading{justify-content:flex-end}
.culture-split-team .purpose-vision>p{
 width:64%;
 max-width:24ch;
 margin-left:auto;
 text-align:right;
 font-size:clamp(22px,1.9vw,27px);
}
.culture-split-team .purpose-heading,.culture-split-team .purpose>p{position:relative;z-index:1}
@media(min-width:761px) and (max-width:1400px){
 body:not(.silhouette-preview) .hero{padding-bottom:64px}
}
@media(min-width:761px) and (max-width:1050px){
 body:not(.silhouette-preview) .hero{padding-bottom:48px}
 .culture-split-team .purpose-vision>p{width:85%;font-size:22px}
 .purpose-vision .purpose-team-half{width:100%;height:auto;bottom:-42%;opacity:.46}
}
@media(max-width:760px){
 body:not(.silhouette-preview) .hero{padding-block:40px 56px}
 .culture-split-team .culture-top{margin-bottom:28px}
 .culture-split-team .culture-top h2{font-size:clamp(36px,7.6vw,56px);letter-spacing:-.05em}
 .purpose-team-half{height:150%;bottom:-40%}
 .purpose-mission .purpose-team-half{opacity:.54}
 .purpose-vision .purpose-team-half{width:100%;height:auto;bottom:-48%;opacity:.42}
 .culture-split-team .purpose-vision>p{width:100%;max-width:none;font-size:24px}
}
@media(max-width:370px){.culture-split-team .purpose-vision>p{font-size:22px}}

/* Whole-image colour reveal. Keep each half's original framing and edge fades. */
.purpose > .spotlight-light{display:none}
.purpose-color-layer{
 position:absolute;
 inset:0;
 z-index:0;
 opacity:0;
 pointer-events:none;
 user-select:none;
 transition:opacity 1s ease-in-out;
}
.purpose .purpose-color-layer .purpose-team-half{opacity:.72;mix-blend-mode:normal}
.purpose .purpose-color-layer .purpose-team-half img{filter:none}
@media(hover:hover) and (pointer:fine){
 .purpose:hover > .purpose-color-layer{opacity:1;transition-duration:3s}
}
@media(prefers-reduced-motion:reduce){
 .purpose-color-layer{transition:none}
}
