.ice-card{box-sizing:border-box;position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden;width:var(--ice-width);max-width:100%;min-height:var(--ice-min-h);padding:var(--ice-pad);border-radius:var(--ice-radius);background:var(--ice-bg);color:var(--ice-desc);transition:background-color var(--ice-duration) ease,color var(--ice-duration) ease,transform var(--ice-duration) ease,box-shadow var(--ice-duration) ease;font-family:inherit}
.ice-card *{box-sizing:border-box}
.ice-card .ice-card-body{display:flex;flex-direction:column;min-width:0}
.ice-card .ice-number{color:var(--ice-number);font-size:var(--ice-number-size);font-weight:700;line-height:1.1;margin-bottom:24px;transition:color var(--ice-duration) ease}
.ice-card .ice-eyebrow{color:var(--ice-eyebrow);font-size:var(--ice-eyebrow-size);font-weight:700;line-height:1.3;text-transform:uppercase;margin-bottom:8px;transition:color var(--ice-duration) ease}
.ice-card .ice-title{color:var(--ice-title);font-size:var(--ice-title-size);font-weight:700;line-height:1.18;text-transform:uppercase;margin:0 0 26px;padding:0;transition:color var(--ice-duration) ease}
.ice-card .ice-divider{height:1px;width:100%;background-color:var(--ice-divider);margin:0 0 12px;transition:background-color var(--ice-duration) ease}
.ice-card .ice-description{color:var(--ice-desc);font-size:var(--ice-desc-size);font-weight:400;line-height:var(--ice-desc-line);padding-right:33px;transition:color var(--ice-duration) ease}
.ice-card .ice-description p{margin:0 0 .5em;color:inherit;font:inherit;line-height:inherit}
.ice-card .ice-description p:last-child{margin-bottom:0}
.ice-card .ice-arrow{display:flex;justify-content:center;align-items:center;flex:none;position:absolute;bottom:var(--ice-pad);right:var(--ice-pad);width:var(--ice-btn-size);height:var(--ice-btn-size);border:1px solid var(--ice-btn-border);border-radius:50%;background-color:var(--ice-btn-bg);color:var(--ice-btn-icon);text-decoration:none;line-height:1;transition:background-color var(--ice-duration) ease,color var(--ice-duration) ease,border-color var(--ice-duration) ease,transform var(--ice-duration) ease}
.ice-card.ice-button-rounded .ice-arrow{border-radius:9px}.ice-card.ice-button-square .ice-arrow{border-radius:0}
.ice-card .ice-arrow svg,.ice-card .ice-arrow img{display:block;width:var(--ice-icon-size);height:var(--ice-icon-size);max-width:80%;max-height:80%;object-fit:contain}
.ice-card .ice-arrow-inactive{cursor:default}
.ice-card .ice-arrow:not(.ice-arrow-inactive):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-color,.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-lift,.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-zoom{background-color:var(--ice-hover-bg)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-number{color:var(--ice-hover-number)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-eyebrow{color:var(--ice-hover-eyebrow)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-title{color:var(--ice-hover-title)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-description{color:var(--ice-hover-desc)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-divider{background-color:var(--ice-hover-divider)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)):not(.ice-effect-none) .ice-arrow{background-color:var(--ice-hover-btn-bg);color:var(--ice-hover-btn-icon);border-color:var(--ice-hover-btn-border)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-lift{transform:translateY(-5px);box-shadow:0 12px 26px rgba(0,0,0,.12)}
.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-zoom{transform:scale(1.015)}
.ice-card:not(.ice-click-reset) .ice-arrow:not(.ice-arrow-inactive):hover{transform:translateX(3px)}
@media(max-width:767px){.ice-card{min-height:var(--ice-mobile-min-h);padding:var(--ice-mobile-pad)}.ice-card .ice-arrow{right:var(--ice-mobile-pad);bottom:var(--ice-mobile-pad)}.ice-card .ice-description{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.ice-card,.ice-card *{transition:none!important}.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-lift,.ice-card:not(.ice-click-reset):is(:hover,:has(:focus-visible)).ice-effect-zoom{transform:none}}

/* Independent type systems */
.ice-card .ice-number{font-family:var(--ice-number-font,inherit);font-weight:var(--ice-number-weight,700);line-height:var(--ice-number-line,1.1);letter-spacing:var(--ice-number-spacing,0px)}
.ice-card .ice-eyebrow{font-family:var(--ice-eyebrow-font,inherit);font-weight:var(--ice-eyebrow-weight,700);line-height:var(--ice-eyebrow-line,1.3);letter-spacing:var(--ice-eyebrow-spacing,0px)}
.ice-card .ice-title{font-family:var(--ice-title-font,inherit);font-weight:var(--ice-title-weight,700);line-height:var(--ice-title-line,1.18);letter-spacing:var(--ice-title-spacing,0px)}
.ice-card .ice-description{font-family:var(--ice-description-font,inherit);font-weight:var(--ice-description-weight,400);line-height:var(--ice-description-line,var(--ice-desc-line,1.55));letter-spacing:var(--ice-description-spacing,0px)}
@media (min-width:768px) and (max-width:1024px){.ice-card{width:var(--ice-tablet-width,var(--ice-width));min-height:var(--ice-tablet-min-height,var(--ice-min-h));padding:var(--ice-tablet-padding,var(--ice-pad))}.ice-card .ice-arrow{right:var(--ice-tablet-padding,var(--ice-pad));bottom:var(--ice-tablet-padding,var(--ice-pad));width:var(--ice-tablet-button-size,var(--ice-btn-size));height:var(--ice-tablet-button-size,var(--ice-btn-size))}}
@media (max-width:767px){.ice-card{width:var(--ice-mobile-width,var(--ice-width));min-height:var(--ice-mobile-min-height,var(--ice-mobile-min-h));padding:var(--ice-mobile-padding,var(--ice-mobile-pad))}.ice-card .ice-arrow{right:var(--ice-mobile-padding,var(--ice-mobile-pad));bottom:var(--ice-mobile-padding,var(--ice-mobile-pad));width:var(--ice-mobile-button-size,var(--ice-btn-size));height:var(--ice-mobile-button-size,var(--ice-btn-size))}}
@media (min-width:768px) and (max-width:1024px){.ice-card .ice-number{font-size:var(--ice-tablet-number-size,var(--ice-number-size));line-height:var(--ice-tablet-number-line,var(--ice-number-line,1.3))}.ice-card .ice-eyebrow{font-size:var(--ice-tablet-eyebrow-size,var(--ice-eyebrow-size));line-height:var(--ice-tablet-eyebrow-line,var(--ice-eyebrow-line,1.3))}.ice-card .ice-title{font-size:var(--ice-tablet-title-size,var(--ice-title-size));line-height:var(--ice-tablet-title-line,var(--ice-title-line,1.3))}.ice-card .ice-description{font-size:var(--ice-tablet-description-size,var(--ice-desc-size));line-height:var(--ice-tablet-description-line,var(--ice-description-line,1.3))}}
@media (max-width:767px){.ice-card .ice-number{font-size:var(--ice-mobile-number-size,var(--ice-number-size));line-height:var(--ice-mobile-number-line,var(--ice-number-line,1.3))}.ice-card .ice-eyebrow{font-size:var(--ice-mobile-eyebrow-size,var(--ice-eyebrow-size));line-height:var(--ice-mobile-eyebrow-line,var(--ice-eyebrow-line,1.3))}.ice-card .ice-title{font-size:var(--ice-mobile-title-size,var(--ice-title-size));line-height:var(--ice-mobile-title-line,var(--ice-title-line,1.3))}.ice-card .ice-description{font-size:var(--ice-mobile-description-size,var(--ice-desc-size));line-height:var(--ice-mobile-description-line,var(--ice-description-line,1.3))}}

/* Portrait image card. Scoped independently: legacy cards keep their exact styling. */
.ice-card.ice-layout-portrait{
  display:block;position:relative;isolation:isolate;overflow:hidden;
  width:var(--ice-width,100%);height:var(--ice-portrait-height,448px);
  min-height:0;max-width:100%;padding:0;
  border-radius:var(--ice-portrait-radius,13px);
  background:var(--ice-portrait-fallback,#292629);color:var(--ice-portrait-name-color,#fff);
  transform:none;box-shadow:none;
  transition:box-shadow var(--ice-portrait-duration,350ms) ease,transform var(--ice-portrait-duration,350ms) ease;
}
.ice-layout-portrait .ice-portrait-media,.ice-layout-portrait .ice-portrait-tint{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
}
.ice-layout-portrait .ice-portrait-media{z-index:0;overflow:hidden;background:var(--ice-portrait-fallback,#292629)}
.ice-layout-portrait .ice-portrait-photo{
  display:block;width:100%;height:100%;max-width:none;max-height:none;
  margin:0;border:0;border-radius:0;
  object-fit:cover;object-position:center;
  transition:transform var(--ice-portrait-duration,350ms) ease;
}
.ice-layout-portrait .ice-portrait-tint{
  z-index:1;background:var(--ice-portrait-overlay,linear-gradient(to top,rgba(0,0,0,.85),transparent 85%));
  transition:opacity var(--ice-portrait-duration,350ms) ease;
}
.ice-layout-portrait .ice-portrait-tint::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--ice-portrait-hover-overlay,var(--ice-portrait-overlay));opacity:0;
  transition:opacity var(--ice-portrait-duration,350ms) ease;
}
.ice-layout-portrait .ice-portrait-copy{
  position:absolute;z-index:2;bottom:0;left:0;right:0;
  padding:var(--ice-portrait-padding,22px);display:flex;flex-direction:column;
  gap:var(--ice-portrait-gap,8px);pointer-events:none;min-width:0;
}
.ice-layout-portrait .ice-portrait-name{
  color:var(--ice-portrait-name-color,#fff);
  font-family:var(--ice-portrait-name-font,inherit);
  font-size:var(--ice-portrait-name-size,24px);font-weight:var(--ice-portrait-name-weight,700);
  line-height:var(--ice-portrait-name-line,1.15);text-transform:uppercase;
  margin:0;padding:0;letter-spacing:0;overflow-wrap:anywhere;
}
.ice-layout-portrait.ice-portrait-name-normal .ice-portrait-name{text-transform:none}
.ice-layout-portrait .ice-portrait-subtitle{
  color:var(--ice-portrait-subtitle-color,#fff);
  font-family:var(--ice-portrait-subtitle-font,inherit);
  font-size:var(--ice-portrait-subtitle-size,17px);font-weight:var(--ice-portrait-subtitle-weight,500);
  line-height:var(--ice-portrait-subtitle-line,1.3);text-transform:none;
  margin:0;padding:0;letter-spacing:0;overflow-wrap:anywhere;
}
.ice-layout-portrait.ice-portrait-align-center .ice-portrait-copy{text-align:center}
.ice-layout-portrait.ice-portrait-align-right .ice-portrait-copy{text-align:right}
.ice-card.ice-layout-portrait .ice-arrow{
  position:absolute;z-index:4;top:var(--ice-portrait-button-top,22px);
  right:var(--ice-portrait-button-right,22px);bottom:auto;left:auto;
  width:var(--ice-portrait-button-size,50px);height:var(--ice-portrait-button-size,50px);
  flex:none;border:0;border-radius:50%;padding:0;
  background:var(--ice-portrait-button-bg,#dd3333);color:var(--ice-portrait-icon-color,#fff);
  transition:background-color var(--ice-portrait-duration,350ms) ease,color var(--ice-portrait-duration,350ms) ease,
             transform var(--ice-portrait-duration,350ms) ease;
}
.ice-layout-portrait.ice-portrait-button-rounded .ice-arrow{border-radius:12px}
.ice-layout-portrait.ice-portrait-button-square .ice-arrow{border-radius:0}
.ice-card.ice-layout-portrait .ice-arrow svg,
.ice-card.ice-layout-portrait .ice-arrow img{
  display:block;width:var(--ice-portrait-icon-size,23px);height:var(--ice-portrait-icon-size,23px);
  max-width:78%;max-height:78%;object-fit:contain;
}
.ice-layout-portrait .ice-portrait-character{font-size:var(--ice-portrait-icon-size,23px);font-weight:400;line-height:1}
.ice-layout-portrait .ice-portrait-whole-link{
  position:absolute;inset:0;z-index:3;display:block;border:0;background:none;
  text-decoration:none;cursor:pointer;
}
.ice-layout-portrait .ice-portrait-whole-link:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.ice-layout-portrait .ice-arrow-inactive{pointer-events:none}
/* The same click-reset behavior as the original card also works for portraits. */
.ice-card.ice-layout-portrait:not(.ice-click-reset):is(:hover,:focus-within) .ice-portrait-tint::after,
.ice-card.ice-layout-portrait.ice-preview-hover:not(.ice-click-reset) .ice-portrait-tint::after{opacity:1}
.ice-card.ice-layout-portrait:not(.ice-click-reset):is(:hover,:focus-within) .ice-arrow,
.ice-card.ice-layout-portrait.ice-preview-hover:not(.ice-click-reset) .ice-arrow{
  background:var(--ice-portrait-hover-button-bg,#b82424);color:var(--ice-portrait-hover-icon-color,#fff);
}
.ice-card.ice-layout-portrait.ice-portrait-hover-zoom:not(.ice-click-reset):is(:hover,:focus-within) .ice-portrait-photo,
.ice-card.ice-layout-portrait.ice-portrait-hover-zoom.ice-preview-hover:not(.ice-click-reset) .ice-portrait-photo{transform:scale(1.055)}
.ice-card.ice-layout-portrait.ice-portrait-hover-lift:not(.ice-click-reset):is(:hover,:focus-within),
.ice-card.ice-layout-portrait.ice-portrait-hover-lift.ice-preview-hover:not(.ice-click-reset){transform:translateY(-5px);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.ice-card.ice-layout-portrait:not(.ice-click-reset) .ice-arrow:not(.ice-arrow-inactive):hover{transform:scale(1.065)}
@media (min-width:768px) and (max-width:1024px){
  .ice-card.ice-layout-portrait{height:var(--ice-portrait-tablet-height,var(--ice-portrait-height))}
  .ice-layout-portrait .ice-portrait-copy{padding:var(--ice-portrait-tablet-padding,var(--ice-portrait-padding))}
  .ice-layout-portrait .ice-portrait-name{font-size:var(--ice-portrait-tablet-name-size,var(--ice-portrait-name-size))}
  .ice-layout-portrait .ice-portrait-subtitle{font-size:var(--ice-portrait-tablet-subtitle-size,var(--ice-portrait-subtitle-size))}
  .ice-card.ice-layout-portrait .ice-arrow{width:var(--ice-portrait-tablet-button-size,var(--ice-portrait-button-size));height:var(--ice-portrait-tablet-button-size,var(--ice-portrait-button-size))}
}
@media (max-width:767px){
  .ice-card.ice-layout-portrait{height:var(--ice-portrait-mobile-height,var(--ice-portrait-height));padding:0;min-height:0}
  .ice-layout-portrait .ice-portrait-copy{padding:var(--ice-portrait-mobile-padding,var(--ice-portrait-padding))}
  .ice-layout-portrait .ice-portrait-name{font-size:var(--ice-portrait-mobile-name-size,var(--ice-portrait-name-size))}
  .ice-layout-portrait .ice-portrait-subtitle{font-size:var(--ice-portrait-mobile-subtitle-size,var(--ice-portrait-subtitle-size))}
  .ice-card.ice-layout-portrait .ice-arrow{
    top:var(--ice-portrait-button-top,22px);right:var(--ice-portrait-button-right,22px);bottom:auto;
    width:var(--ice-portrait-mobile-button-size,var(--ice-portrait-button-size));height:var(--ice-portrait-mobile-button-size,var(--ice-portrait-button-size))
  }
}
@media(prefers-reduced-motion:reduce){
  .ice-card.ice-layout-portrait,.ice-layout-portrait .ice-portrait-photo,.ice-layout-portrait .ice-portrait-tint,.ice-card.ice-layout-portrait .ice-arrow{transition:none}
  .ice-card.ice-layout-portrait.ice-portrait-hover-zoom:not(.ice-click-reset):is(:hover,:focus-within) .ice-portrait-photo{transform:none}
  .ice-card.ice-layout-portrait.ice-portrait-hover-lift:not(.ice-click-reset):is(:hover,:focus-within){transform:none}
}
