/* Stream Digital - Solutions: Production Services */
.production-services{
  padding:82px 0 86px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8fb 100%);
  color:#102b55;
}
.production-services-heading{
  max-width:820px;
  margin:0 auto 39px;
  text-align:center;
}
.production-services-heading h2{
  margin:10px 0 15px;
  color:#102b55;
  font-size:38px;
  line-height:1.1;
  letter-spacing:-1px;
}
.production-services-heading p{
  max-width:790px;
  margin:0 auto;
  color:#60758a;
  font-size:13.5px;
  line-height:1.8;
}
.production-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.production-service-card{
  overflow:hidden;
  border:1px solid #d9e5ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 44px rgba(7,38,72,.08);
}
.production-service-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:linear-gradient(135deg,#e9f3fa,#dceaf5);
  border-bottom:1px solid #dbe7f0;
}
.production-service-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.production-image-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:26px;
  text-align:center;
  background:
    radial-gradient(circle at 18% 22%,rgba(30,215,239,.22),transparent 30%),
    linear-gradient(145deg,#edf7fc,#dceaf5);
  color:#3e6281;
}
.production-image-placeholder:before{
  content:"＋";
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:5px;
  border:1px solid #bad4e7;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:#0a86bd;
  font-size:24px;
  font-weight:700;
}
.production-image-placeholder span{
  color:#11a9d4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.production-image-placeholder strong{
  color:#12385f;
  font-size:17px;
  line-height:1.25;
}
.production-image-placeholder small{
  color:#71869b;
  font-size:10px;
}
.production-service-copy{
  position:relative;
  padding:28px 27px 30px;
}
.production-service-number{
  position:absolute;
  right:24px;
  top:23px;
  color:#e0eaf3;
  font-size:36px;
  font-weight:900;
  line-height:1;
}
.production-service-copy .content-eyebrow{
  position:relative;
  z-index:2;
  display:block;
  padding-right:50px;
}
.production-service-copy h3{
  position:relative;
  z-index:2;
  margin:9px 0 13px;
  color:#12385f;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.35px;
}
.production-service-copy p{
  margin:0;
  color:#657a90;
  font-size:12px;
  line-height:1.75;
}
.production-services-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  margin-top:24px;
  padding:24px 26px;
  border:1px solid #cfe1ed;
  border-radius:17px;
  background:linear-gradient(100deg,#ecf8fd,#e5f1fa);
}
.production-services-cta strong{
  display:block;
  margin-bottom:5px;
  color:#103866;
  font-size:15px;
}
.production-services-cta div>span{
  display:block;
  color:#62788e;
  font-size:11.5px;
  line-height:1.55;
}
.production-services-cta .btn{
  flex:0 0 auto;
}
@media (max-width:980px){
  .production-services-grid{grid-template-columns:1fr 1fr}
  .production-service-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .production-service-card:last-child .production-service-media{aspect-ratio:auto;min-height:280px}
}
@media (max-width:700px){
  .production-services{padding:56px 0 60px}
  .production-services-heading{margin-bottom:28px}
  .production-services-heading h2{font-size:29px}
  .production-services-heading p{font-size:13px}
  .production-services-grid{grid-template-columns:1fr}
  .production-service-card:last-child{grid-column:auto;display:block}
  .production-service-card:last-child .production-service-media{min-height:0;aspect-ratio:16/10}
  .production-service-copy{padding:24px 21px 26px}
  .production-service-copy h3{font-size:20px}
  .production-services-cta{align-items:flex-start;flex-direction:column;padding:22px}
}

/* Stream Digital - Solutions: Primary service pillars */
.solutions-primary{
  padding:64px 0 58px;
  background:linear-gradient(180deg,#f6fafe 0%,#ffffff 100%);
  color:#102b55;
}
.solutions-primary-heading{
  max-width:820px;
  margin:0 auto 32px;
  text-align:center;
}
.solutions-primary-heading h2{
  margin:9px 0 12px;
  color:#102b55;
  font-size:35px;
  line-height:1.1;
  letter-spacing:-.8px;
}
.solutions-primary-heading p{
  margin:0 auto;
  max-width:700px;
  color:#64798e;
  font-size:13px;
  line-height:1.7;
}
.solutions-primary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.solutions-primary-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid #d7e5ef;
  border-radius:23px;
  background:#fff;
  box-shadow:0 20px 48px rgba(7,38,72,.09);
}
.solutions-primary-streaming{
  border-color:rgba(20,142,207,.3);
}
.solutions-primary-production{
  border-color:rgba(30,190,220,.26);
}
.solutions-primary-media{
  position:relative;
  height:245px;
  overflow:hidden;
  background:#062b54;
}
.solutions-primary-media:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(2,14,30,.52));
  pointer-events:none;
}
.solutions-primary-media>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.solutions-primary-badge{
  position:absolute;
  z-index:3;
  left:20px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(3,24,49,.78);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.solutions-primary-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:29px 29px 31px;
}
.solutions-primary-copy h2{
  margin:8px 0 13px;
  color:#12385f;
  font-size:27px;
  line-height:1.12;
  letter-spacing:-.45px;
}
.solutions-primary-copy>p{
  margin:0 0 19px;
  color:#667b90;
  font-size:12.3px;
  line-height:1.74;
}
.solutions-primary-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px 14px;
  margin:0 0 23px;
  padding:0;
  list-style:none;
}
.solutions-primary-list li{
  position:relative;
  padding-left:23px;
  color:#3f5f7e;
  font-size:11px;
  line-height:1.45;
}
.solutions-primary-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#e7f8fd;
  color:#0aafdf;
  font-size:9px;
  font-weight:900;
}
.solutions-primary-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-top:auto;
  color:#075f9f;
  font-size:11.5px;
  font-weight:900;
  text-decoration:none;
}
.solutions-primary-link span{transition:transform .2s ease}
.solutions-primary-link:hover span{transform:translateX(3px)}
.solutions-primary-production-media{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  grid-template-rows:1fr 1fr;
  gap:3px;
  background:#dceaf5;
}
.solutions-production-mini{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#e6f1f7;
}
.solutions-production-mini:first-child{grid-row:1/3}
.solutions-production-mini>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.solutions-production-mini .production-image-placeholder{
  inset:0;
  gap:4px;
  padding:12px;
}
.solutions-production-mini .production-image-placeholder:before{
  width:36px;
  height:36px;
  margin-bottom:1px;
  border-radius:10px;
  font-size:19px;
}
.solutions-production-mini .production-image-placeholder strong{font-size:12px}
.solutions-production-mini .production-image-placeholder span{font-size:7px}
.solutions-production-mini .production-image-placeholder small{font-size:7px}
.solutions-primary-bridge{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:40px;
  align-items:center;
  margin-top:22px;
  padding:23px 28px;
  border:1px solid #d8e6f0;
  border-radius:17px;
  background:linear-gradient(100deg,#eef8fd 0%,#e6f1fa 100%);
}
.solutions-primary-bridge strong{
  display:block;
  margin-top:5px;
  color:#103866;
  font-size:20px;
  line-height:1.2;
}
.solutions-primary-bridge p{
  margin:0;
  color:#61778d;
  font-size:11.8px;
  line-height:1.65;
}
@media (max-width:900px){
  .solutions-primary-grid{grid-template-columns:1fr}
  .solutions-primary-media{height:280px}
  .solutions-primary-bridge{grid-template-columns:1fr;gap:12px}
}
@media (max-width:600px){
  .solutions-primary{padding:48px 0 44px}
  .solutions-primary-heading{margin-bottom:24px}
  .solutions-primary-heading h2{font-size:29px}
  .solutions-primary-media{height:220px}
  .solutions-primary-copy{padding:24px 21px 26px}
  .solutions-primary-copy h2{font-size:23px}
  .solutions-primary-list{grid-template-columns:1fr}
  .solutions-primary-bridge{padding:20px}
  .solutions-primary-bridge strong{font-size:18px}
}
