/* NEWS — existing stage/motion, refined message presentation with real WordPress featured images only. */
.cf-news .cf-sticky{
  opacity:0;
  transform-style:flat;
}

.cf-news .cf-stage-word{
  left:5vw;
  top:49%;
  color:rgba(255,255,255,.068);
  font-size:clamp(8rem,22vw,24rem);
  text-shadow:0 0 2.2rem rgba(255,255,255,.025),0 0 4rem rgba(204,23,21,.035);
}

.cf-news__grid::before{
  content:"NEWS";
  position:absolute;
  left:-1vw;
  top:-2vh;
  z-index:18;
  color:var(--cf-red);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.cf-news__grid{
  position:absolute;
  inset:11vh 7vw 8vh 7vw;
  z-index:10;
  display:grid;
  grid-template-columns:1.48fr .70fr;
  grid-template-rows:1fr 1fr;
  gap:1.5rem;
  transform-style:flat;
}

.cf-news__main{
  position:relative;
  grid-row:1/3;
  display:flex;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
  opacity:0;
  min-width:0;
  backface-visibility:hidden;
  transform-style:flat;
  will-change:transform,opacity,filter;
  scale:1;
  transform-origin:50% 50%;
}

.cf-news__main--no-image{justify-content:center}
.cf-news__main--no-image .cf-news__copy{margin-top:0}

/*
 * Message image canvas: taller than the former banner, visually approaching 5:4.
 * On very wide single-story layouts max-height prevents an oversized image while the
 * lower mask extends the photographic atmosphere behind the copy, matching the approved reference.
 */
.cf-news__image{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:0;
  margin:0;
  aspect-ratio:5/4;
  max-height:78vh;
  clip-path:polygon(0 8%,100% 0,93% 100%,5% 92%);
  background:#0c0c0d;
  -webkit-mask-image:linear-gradient(to bottom,#000 0 57%,rgba(0,0,0,.96) 67%,rgba(0,0,0,.72) 79%,rgba(0,0,0,.26) 91%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0 57%,rgba(0,0,0,.96) 67%,rgba(0,0,0,.72) 79%,rgba(0,0,0,.26) 91%,transparent 100%);
}

.cf-news__image-layer{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  object-fit:cover;
  object-position:center center;
  transition:filter .4s ease,transform .7s var(--cf-ease),opacity .4s ease;
}

/* One real WordPress featured image fills the established mask at every source size. */
.cf-news__image-layer--main{
  filter:saturate(.78) contrast(1.12) brightness(.78);
  transform:scale(1);
  transform-origin:50% 50%;
}

.cf-news__image-link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  cursor:pointer;
}

.cf-news__image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(145deg,rgba(204,23,21,.16),transparent 42%),
    linear-gradient(0deg,rgba(0,0,0,.74) 0,rgba(0,0,0,.30) 24%,transparent 56%);
}

.cf-news__main:hover .cf-news__image-layer--main,
.cf-news__small:hover .cf-news__image-layer--main{
  filter:saturate(.95) contrast(1.08) brightness(.87);
  transform:scale(1.012);
}

.cf-news__copy{
  position:relative;
  z-index:24;
  margin-top:clamp(-12.5rem,-16vh,-7.25rem);
  padding-top:0;
  max-width:45rem;
  text-shadow:0 .15rem 1.1rem rgba(0,0,0,.78);
}

.cf-news time{
  display:block;
  margin-bottom:.4rem;
  color:var(--cf-red);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.20em;
}

.cf-news h2,.cf-news h3{text-transform:uppercase}

.cf-news__copy h2{
  max-width:12ch;
  margin:.15rem 0 .65rem;
  font-size:clamp(2.8rem,5.4vw,6rem);
  line-height:.92;
  letter-spacing:-.02em;
  text-wrap:balance;
}

.cf-news__copy p{
  max-width:36rem;
  margin:.6rem 0 0;
  color:rgba(255,255,255,.62);
  font-size:clamp(.88rem,1.05vw,1.06rem);
  line-height:1.58;
}

.cf-news__small{
  position:relative;
  align-self:center;
  color:inherit;
  text-decoration:none;
  opacity:0;
  backface-visibility:hidden;
  transform-style:flat;
  will-change:transform,opacity,filter;
  scale:1;
  transform-origin:50% 50%;
}

.cf-news__small>div{
  position:relative;
  z-index:24;
  margin-top:clamp(-4.5rem,-5.2vh,-2.6rem);
  text-shadow:0 .12rem .85rem rgba(0,0,0,.82);
}

.cf-news__small .cf-news__image{
  width:100%;
  height:auto;
  min-height:8rem;
  max-height:31vh;
  aspect-ratio:5/4;
}

.cf-news__small--no-image{display:flex;align-items:center;min-height:18vh}
.cf-news__small--no-image>div{margin-top:0}

.cf-news__small h3{
  margin:.6rem 0 0;
  font-size:clamp(1.35rem,2.1vw,2.35rem);
  line-height:.94;
  letter-spacing:-.01em;
  text-wrap:balance;
}

.cf-news__title-link,
.cf-news__text-link,
.cf-news__meta-link,
.cf-news__readmore{
  position:relative;
  z-index:25;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.cf-news__title-link:hover{color:#fff;text-shadow:0 0 1.1rem rgba(204,23,21,.28)}
.cf-news__text-link{display:block}
.cf-news__text-link:hover{color:#fff;text-shadow:0 0 1rem rgba(204,23,21,.18)}
.cf-news__meta-link{display:block}
.cf-news__meta-link:hover{color:#fff}
.cf-news__readmore{
  display:inline-block;
  margin-top:.7rem;
  font-size:.66rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.cf-news__readmore:hover{color:var(--cf-red)}

.cf-news__grid--count-1{grid-template-columns:1fr}
.cf-news__grid--count-1 .cf-news__main{
  width:min(84vw,78rem);
  grid-row:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:0;
  margin:auto;
}
.cf-news__grid--count-1 .cf-news__main--no-image{justify-content:center}
.cf-news__grid--count-1 .cf-news__image--main{max-height:78vh}
.cf-news__grid--count-1 .cf-news__copy{padding-top:0}
.cf-news__grid--count-2{grid-template-columns:1.48fr .70fr}
.cf-news__grid--count-2 .cf-news__small--a{grid-row:1/3}

