/* =========================================================
   Solution-only styles
   Solution cards, solution directory and featured solution adaptations.
   ========================================================= */
/* Solution catalog */
.solution-card-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}
.solution-card[hidden]{display:none;}
.solution-card{
  position:relative;
  aspect-ratio:16 / 10;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:0;
  border-radius:20px;
  box-shadow:none;
  isolation:isolate;
  transform:none;
}
.solution-card > a{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  color:#fff;
  isolation:isolate;
}
.solution-card > a::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(11,15,21,.03) 18%,rgba(11,15,21,.82) 100%);
  transition:background .32s ease;
}
.solution-card__media{
  position:absolute;
  inset:0;
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#eef1f1;
  border:0;
}
.solution-card__media img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  transform:none;
  transition:transform .55s ease;
}
.solution-card__body{
  position:absolute;
  right:34px;
  bottom:32px;
  left:34px;
  z-index:2;
  display:block;
  padding:0;
  color:#fff;
  background:transparent;
  border:0;
  text-align:left;
}
.solution-card__category{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.06em;
}
.solution-card__body :is(h2,h3){
  margin:0;
  color:#fff;
  font-size:22px;
  font-weight:600;
  line-height:1.28;
  letter-spacing:-.02em;
}
.solution-card__body > p{
  display:block;
  min-height:0;
  margin:12px 0 0;
  overflow:visible;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.7;
}
.solution-card:hover,
.solution-card:focus-within{
  border-color:transparent;
  box-shadow:none;
  transform:none;
}
.solution-card:hover .solution-card__media img,
.solution-card:focus-within .solution-card__media img{
  transform:scale(1.045);
}
.solution-card > a:focus-visible{
  outline:3px solid var(--site-primary);
  outline-offset:4px;
}
@media (hover:hover) and (pointer:fine){
  .solution-card__body{transition:transform .32s ease;}
  .solution-card__body > p{
    max-height:0;
    margin-top:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(10px);
    transition:max-height .32s ease,margin-top .32s ease,opacity .24s ease,transform .32s ease;
  }
  .solution-card:hover .solution-card__body > p,
  .solution-card:focus-within .solution-card__body > p{
    max-height:96px;
    margin-top:12px;
    opacity:1;
    transform:none;
  }
  .solution-card:hover > a::after,
  .solution-card:focus-within > a::after{
    background:linear-gradient(180deg,rgba(11,15,21,.06) 14%,rgba(11,15,21,.9) 100%);
  }
}

/* Solution directory hero */
.solution-list2-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:var(--site-ink);
  background:#f3f6f4;
  border-bottom:1px solid #dfe6e2;
}
.solution-list2-hero::before{
  position:absolute;
  z-index:0;
  top:-260px;
  left:-180px;
  width:720px;
  height:720px;
  content:"";
  pointer-events:none;
  background:radial-gradient(circle,rgba(7,135,28,.11) 0%,rgba(7,135,28,.045) 38%,rgba(7,135,28,0) 72%);
}
.solution-list2-hero::after{
  position:absolute;
  z-index:0;
  right:-220px;
  bottom:-360px;
  width:760px;
  height:760px;
  content:"";
  pointer-events:none;
  background:radial-gradient(circle,rgba(52,88,104,.09) 0%,rgba(52,88,104,.03) 42%,rgba(52,88,104,0) 72%);
}
.solution-list2-hero__inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  align-items:center;
  gap:clamp(48px,5vw,84px);
  padding:76px 0 56px;
}
.solution-list2-hero__copy{
  max-width:650px;
}
.solution-list2-hero__kicker{
  margin:0 0 17px;
  color:var(--site-primary-dark);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.14em;
}
.solution-list2-hero h1{
  max-width:680px;
  margin:0;
  color:var(--site-ink);
  font-size:clamp(46px,4.05vw,66px);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.solution-list2-hero__lead{
  max-width:610px;
  margin:25px 0 0;
  color:var(--site-muted);
  font-size:clamp(16px,1.05vw,18px);
  line-height:1.75;
}
.solution-list2-hero__actions{
  margin-top:34px;
}
.solution-list2-hero__visual{
  position:relative;
  min-width:0;
  width:100%;
  justify-self:end;
}
.solution-list2-categories{
  position:relative;
  z-index:2;
  background:transparent;
}
.solution-list2-categories__inner{
  display:flex;
  min-height:72px;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  border-top:1px solid #d9e1dc;
  scrollbar-width:none;
}
.solution-list2-categories__inner::-webkit-scrollbar{display:none;}
.solution-list2-categories a{
  position:relative;
  flex:0 0 auto;
  padding:22px 14px 21px;
  color:#65727a;
  font-size:14px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  transition:color .2s ease;
}
.solution-list2-categories a:first-child{padding-left:0;}
.solution-list2-categories a:hover,
.solution-list2-categories a.is-active{
  color:var(--site-primary-dark);
}
.solution-list2-categories a.is-active::after{
  position:absolute;
  right:14px;
  bottom:0;
  left:14px;
  height:2px;
  content:"";
  background:var(--site-primary);
}
.solution-list2-categories a:first-child.is-active::after{left:0;}

.solution-list2-page .solution-list2-hero__visual.solution-list2-featured{
  height:auto;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#071726;
  border:1px solid rgba(23,33,43,.1);
  border-radius:24px;
  box-shadow:0 26px 70px rgba(20,36,44,.16);
}
.solution-list2-page .solution-list2-featured::before,
.solution-list2-page .solution-list2-featured::after{display:none;}
.solution-list2-page .solution-list2-featured .product-featured__eyebrow{
  z-index:7;
  top:24px;
  left:28px;
  padding:7px 10px 6px;
  color:rgba(255,255,255,.82);
  background:rgba(3,17,28,.34);
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  backdrop-filter:blur(8px);
}
.solution-list2-page .solution-list2-featured .product-featured__slides{inset:0;}
.solution-list2-page .solution-list2-featured .product-featured__link{
  position:relative;
  display:block;
  height:100%;
  overflow:hidden;
  color:#fff;
  isolation:isolate;
}
.solution-list2-page .solution-list2-featured .product-featured__link::after{
  position:absolute;
  z-index:1;
  inset:0;
  content:"";
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,12,20,.04) 26%,rgba(3,12,20,.18) 52%,rgba(3,12,20,.88) 100%);
  transition:background .35s ease;
}
.solution-list2-page .solution-list2-featured .product-featured__media{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
}
.solution-list2-page .solution-list2-featured .product-featured__media img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:none;
  border-radius:0;
  transform:scale(1.001);
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
}
.solution-list2-page .solution-list2-featured .product-featured__meta{
  position:absolute;
  z-index:3;
  right:38%;
  bottom:34px;
  left:30px;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
  padding:0;
}
.solution-list2-page .solution-list2-featured .product-featured__meta > div{
  width:100%;
  max-width:100%;
}
.solution-list2-page .solution-list2-featured .product-featured__category{
  margin-bottom:7px;
  color:#9be18f;
  font-size:11px;
  letter-spacing:.06em;
}
.solution-list2-page .solution-list2-featured .product-featured__title{
  max-width:560px;
  font-size:clamp(21px,1.65vw,27px);
  font-weight:600;
  line-height:1.22;
  text-wrap:balance;
}
.solution-list2-page .solution-list2-featured .product-featured__cta{
  margin:0;
  padding:0;
  color:rgba(255,255,255,.82);
  font-size:12px;
}
.solution-list2-page .solution-list2-featured .product-featured__footer{
  z-index:7;
  right:26px;
  bottom:24px;
  left:auto;
  min-height:38px;
  justify-content:flex-end;
  gap:10px;
}
.solution-list2-page .solution-list2-featured .product-featured__counter{color:rgba(255,255,255,.7);}
.solution-list2-page .solution-list2-featured .product-featured__controls button{
  background:rgba(3,17,28,.36);
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}
.solution-list2-page .solution-list2-featured .product-featured__link:hover::after,
.solution-list2-page .solution-list2-featured .product-featured__link:focus-visible::after{
  background:linear-gradient(180deg,rgba(3,12,20,.02) 20%,rgba(3,12,20,.16) 46%,rgba(3,12,20,.92) 100%);
}
.solution-list2-page .solution-list2-featured .product-featured__link:hover .product-featured__media img,
.solution-list2-page .solution-list2-featured .product-featured__link:focus-visible .product-featured__media img{
  transform:scale(1.035);
}
.solution-list2-page .recommendation-card figure{
  aspect-ratio:4 / 3;
  padding:14px;
  background:#fff;
}
.solution-list2-page .recommendation-card img{object-fit:contain;}

@media (max-width:1080px){
  .solution-list2-hero__inner{
    grid-template-columns:1fr;
    gap:34px;
    padding:58px 0 38px;
  }
  .solution-list2-hero__copy{max-width:760px;}
  .solution-list2-hero__visual{
    width:min(100%,760px);
    justify-self:center;
  }
  .solution-list2-categories__inner{min-height:66px;}
  .solution-list2-categories a{padding-block:20px 19px;}
}
@media (max-width:720px){
  .solution-list2-hero__inner{
    gap:26px;
    padding:44px 0 28px;
  }
  .solution-list2-hero__kicker{
    margin-bottom:12px;
    font-size:11px;
  }
  .solution-list2-hero h1{font-size:clamp(36px,11vw,46px);}
  .solution-list2-hero__lead{
    margin-top:18px;
    font-size:15px;
    line-height:1.7;
  }
  .solution-list2-hero__actions{
    margin-top:26px;
  }
  .solution-list2-categories__inner{
    min-height:60px;
    gap:4px;
  }
  .solution-list2-categories a{
    padding:18px 12px 17px;
    font-size:13px;
  }
  .solution-list2-categories a:first-child{padding-left:0;}
  .solution-list2-categories a.is-active::after{
    right:12px;
    left:12px;
  }
  .solution-list2-categories a:first-child.is-active::after{left:0;}
}

@media (max-width:900px){
  .solution-card-list{grid-template-columns:1fr;}
}
@media (max-width:720px){

  .solution-list2-page .solution-list2-hero__visual.solution-list2-featured{border-radius:18px;}
  .solution-list2-page .solution-list2-featured .product-featured__eyebrow{
    top:16px;
    left:18px;
    padding:6px 8px 5px;
    font-size:11px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__meta{
    right:18px;
    bottom:56px;
    left:18px;
    gap:8px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__category{
    margin-bottom:5px;
    font-size:11px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__title{
    max-width:92%;
    font-size:18px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__cta{display:none;}
  .solution-list2-page .solution-list2-featured .product-featured__footer{
    right:14px;
    bottom:12px;
    left:14px;
    min-height:34px;
    justify-content:flex-start;
  }
  .solution-list2-page .solution-list2-featured .product-featured__controls{margin-left:auto;}
}
@media (max-width:640px){
  .solution-card-list{gap:18px;}
  .solution-card{border-radius:16px;}
  .solution-card__body{
    right:22px;
    bottom:22px;
    left:22px;
  }
  .solution-card__body :is(h2,h3){font-size:20px;}
}
@media (max-width:520px){

  .solution-list2-page .solution-list2-featured .product-featured__eyebrow{
    top:12px;
    left:14px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__meta{
    right:14px;
    bottom:48px;
    left:14px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__title{font-size:16px;}
  .solution-list2-page .solution-list2-featured .product-featured__footer{
    right:10px;
    bottom:8px;
    left:10px;
    gap:6px;
  }
  .solution-list2-page .solution-list2-featured .product-featured__dots{gap:4px;}
  .solution-list2-page .solution-list2-featured .product-featured__controls button{
    width:30px;
    height:30px;
  }
}
@media (prefers-reduced-motion:reduce){
  .solution-card > a::after,
  .solution-card__media img,
  .solution-card__body,
  .solution-card__body > p,
  .solution-list2-page .solution-list2-featured .product-featured__link::after,
  .solution-list2-page .solution-list2-featured .product-featured__media img{
    transition:none;
  }
}
