:root {
  --copilot-orange: #faefea;
  --copilot-blue: #cddced;
}

.text-gradient {
  background: #10428e;
  background: linear-gradient(to left, rgb(227, 80, 86) 22%, rgb(239, 182, 53) 38%, rgb(85, 153, 104) 57%, rgb(67, 149, 235) 73%, rgb(113, 75, 214) 91%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero__copy .text-gradient {
  font-weight: 700 !important;
}

.text-gradient .non-gradient {
  display: inline;

  background: var(--Gre900, #252525);
  font-weight: 600 !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* hero__content */
.ow-hero-section {
  position: relative;
}

.hero__content {
  display: grid;
  align-content: space-between;
  padding: 40px 20px 0;
  gap: 40px;
  background: url("/images/brands/microsoft/copilot_plus_pc_m2025/Header-background-m.jpg") no-repeat center / cover var(--copilot-orange, #faefea);
}

.hero__logo {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 292px;
}

.hero__logo h1 {
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}

.hero__copy {
  text-wrap: pretty;
}

.hero__copy h2 {
  margin-bottom: 20px;
  font-size: clamp(2rem, 4.643vw + 0.143rem, 3.625rem) !important;
  line-height: 1.125 !important;
  white-space: nowrap;
}

.hero__copy p {
  font-size: clamp(1.063rem, 1.429vw + 0.491rem, 1.563rem) !important;
  line-height: 1.5 !important;
}

.hero__copy p:last-of-type {
  margin-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .hero__content {
    grid-template-columns: 41.71% 1fr; /* columns: rough width of laptop% / auto width for copy */
    grid-template-areas:
      "logo logo"
      "himg hcopy";
    align-content: unset;
    align-items: end;
    aspect-ratio: 2400 / 1200;
    padding: 18px;
    gap: 0 4.25%; /* roughly 50px gap that allows shrinking for responsiveness */
    background-image: url("/images/brands/microsoft/copilot_plus_pc_m2025/Header-background-d.jpg");
  }

  .hero__logo {
    position: relative;
    bottom: -2.5vw;
    grid-area: logo;
  }

  .hero__copy {
    display: flex;
    grid-area: hcopy;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: min(448px, 92%);
    height: 100%;
  }

  .hero__image {
    grid-area: himg;

    margin: calc(-18px + -61px) 0 -18px -18px; /* calc( padding + logo row height ) */
  }
}

@media screen and (min-width: 990px) {
  .hero__copy {
    max-width: min(448px, 81%);
  }
}

@media screen and (min-width: 1240px) {
  .hero__logo {
    bottom: -32px;
  }
}

@media screen and (max-width: 639px) {
  .hero__copy {
    margin-bottom: -20px;
    text-align: center;
  }

  .hero__image {
    margin: 0 -20px;
  }
}
/* END hero__content */

/* 5x Faster - fivex */
.fivex-faster {
  align-content: center;
  background: url("/images/brands/microsoft/copilot_plus_pc_m2025/Performance_Blade-background-m.jpg") no-repeat center / cover var(--copilot-blue, #cddced);
}

.fivex__container {
  padding: 16% 0;
}

.fivex-faster .fivex__sup-header {
  width: min(95%, 960px);
  margin-bottom: 20px;
  font-size: clamp(1rem, 1.607vw + 0.357rem, 1.563rem) !important;
  line-height: 1.25 !important;
}

.fivex-faster .copy-disclaimer {
  margin-bottom: 0;
  font-size: initial;
}

@media screen and (min-width: 640px) {
  .fivex-faster {
    aspect-ratio: 2400 / 900;
    background-image: url("/images/brands/microsoft/copilot_plus_pc_m2025/Performance_Blade-background-d.jpg");
  }

  .fivex__container {
    padding: 2.667% 0;
  }

  .fivex-faster .fivex__sup-header {
    margin-bottom: 40px;
  }
}

/* div needed to beat ow--* specificity */
div .has-image-as-text {
  font-size: clamp(2rem, 4.643vw + 0.143rem, 3.625rem) !important;
  line-height: 1.422 !important;
}

.image-as-text {
  display: block;
  width: min(421px, 7.3em);
  margin: 10px auto;
  overflow: hidden;
  border-radius: 0.275em;
  box-shadow: rgba(43, 100, 124, 0.39) 10px 20px 40px 5px;
}

@media screen and (min-width: 640px) {
  .image-as-text {
    display: inline-block;
    margin: 0 5px;
    vertical-align: middle;
  }
}
/* END 5x Faster */

/* Trade Banner */
.trade-banner {
  display: block;
  margin: 20px 0 0;
  border: 1px solid transparent;
}

.trade-banner:hover {
  border-color: var(--PrimaryBlue, #001080);
}
/* END Trade Banner */

/* Features & More Features Grid Shared */
#content-grid--features,
#content-grid--more-features {
  --content-grid__amount-per-row: 1;
}

.content-grid__item:has(.ms-shadow) {
  overflow: visible !important;
}

.content-grid__item .ms-shadow {
  margin: 0 0 20px !important;
}

.ms-shadow {
  border-radius: 4px !important;
  box-shadow: rgba(217, 171, 157, 0.39) 0 20px 40px 5px;
}

@media screen and (min-width: 640px) {
  #content-grid--features .content-grid__item .content-grid__item__content-container,
  #content-grid--more-features .content-grid__item .content-grid__item__content-container {
    width: min(400px, 85%);
    margin-right: auto;
    margin-left: auto;
    text-wrap: pretty;
  }

  .content-grid__item .ms-shadow {
    margin: 6.667% !important;
  }
}

/* END Features & More Features Grid Shared */
/* Features Grid */
@media screen and (min-width: 640px) {
  #content-grid--features .content-grid__item__container {
    --grid-copy-width: 0.98fr;
    grid-template-columns: 1fr var(--grid-copy-width);
  }

  #content-grid--features .reversed .content-grid__item__container {
    grid-template-columns: var(--grid-copy-width) 1fr;
  }

  #content-grid--features .content-grid__item {
    padding: 0 !important;
  }

  #content-grid--features .content-grid__item:not(.reversed) .ms-shadow {
    margin-right: auto !important;
  }

  #content-grid--features .content-grid__item.reversed .ms-shadow {
    margin-left: auto !important;
  }
}

/* END Features Grid */
/* More Features Grid */
#content-grid--more-features .content-grid__item__image-container {
  border-radius: 15px !important;
  overflow: hidden;
}

@media screen and (min-width: 640px) {
  .content-grid#content-grid--more-features {
    margin: 0;
  }

  #content-grid--more-features .content-grid__item {
    padding: 0;
  }

  .content-grid#content-grid--more-features .content-grid__item__image-container {
    margin: 0;
  }
}

#content-grid--more-features .special_row {
  background: url("/images/brands/microsoft/copilot_plus_pc_m2025/Moving_Blade-background-m.jpg") no-repeat center / cover var(--copilot-orange, #faefea);
}

@media screen and (min-width: 640px) {
  #content-grid--more-features .special_row {
    display: block;
    align-content: center;
    aspect-ratio: 2400 / 1000;
    background-image: url("/images/brands/microsoft/copilot_plus_pc_m2025/Moving_Blade-background-d.jpg");
  }

  .special_row .content-grid__item .ms-shadow {
    margin-right: auto !important;
  }
}
/* END More Features Grid */

/* .carousel-control:focus-visible svg {
    outline: 2px dashed var(--PrimaryBlue, #001080);
    border-radius: 999px;
    outline-offset: 2px;
  } */

@media screen and (min-width: 640px) {
  .ow-slider .carousel-inner > .item img.ow-image {
    max-width: 100% !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

.ow-video--cocreator {
  margin: 0 auto 20px;
}

@media screen and (min-width: 640px) {
  .ow-video--cocreator {
    margin-bottom: 0;
  }
}

.still-not-sure {
  margin: 20px 0 40px;
  text-align: center;
}

.still-not-sure p {
  margin-bottom: 5px;
}

.still-not-sure ul {
  margin-bottom: 20px;
  list-style: none;
}

.still-not-sure ul li {
  margin-top: 0;
  margin-bottom: 0;
}

.still-not-sure ul li:before {
  content: "✓ ";
}

/* Disclaimers */
.item-page .inline-disclaimer {
  font-size: 0.875em !important;
  line-height: 1.425 !important;
}

.disclaimers .disclaimers__container :is(p, li) {
  font: var(--disclaimer-font);
}

/* Unique List Style */
.disclaimers ol {
  position: relative;
  padding-left: 1.33333em;
  list-style-type: none;
  /* Creates a new instance of the index counter with each ol element */
  counter-reset: index;
}

.disclaimers li::before {

  position: absolute;
  left: 0;
  /* Combines the values of all instances of the index counter, separated by a period */
  content: "[" counters(index, ".") "] ";
  /* Increments only this instance of the index counter */
  counter-increment: index;
}
/* END Unique List Style */
/* END Disclaimers */
