* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  background: #000;
  color: #fff;
  font-family: "NVIDIA Sans", Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.page-frame {
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: hidden;
  background: #000;
}

.mobile-frame {
  display: none;
  position: relative;
}

.canvas {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  background: #000;
  transform-origin: top center;
}

.desktop-canvas {
  width: 1350px;
  height: 4288px;
}

.mobile-canvas {
  width: 360px;
  height: 5443px;
}

.asset,
.txt,
.cta,
.panel,
.divider,
.sku {
  position: absolute;
}

.asset {
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.video-embed {
  position: absolute;
  display: block;
  border: 0;
  background: #000 center / cover no-repeat;
}

.video-poster {
  position: absolute;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 4;
}

.video-player {
  visibility: hidden;
  z-index: 3;
}

.video-player.is-active {
  visibility: visible;
}

.txt {
  margin: 0;
}

em {
  font-style: italic;
}

.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  padding: 0 14px;
  background: #76b900;
  color: #000;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.section-title,
.eyebrow,
.body-copy,
.caption,
.offer-note,
.legal {
  text-align: center;
}

.section-title,
.eyebrow,
.caption {
  font-weight: 700;
}

.terms,
.offer-note,
.legal {
  color: rgba(255, 255, 255, 0.66);
}

.terms-link {
  color: #76b900;
}

.panel {
  background: #151515;
}

.divider {
  background: rgba(255, 255, 255, 0.35);
}

.product-name {
  width: 300px;
  color: #fff;
  font-size: 18px;
  line-height: 22px;
  font-weight: 700;
  text-align: center;
}

.learn {
  left: 84px;
  top: 279px;
  width: 132px;
  height: 43px;
  font-size: 18px;
}

.gpu {
  left: 0;
  top: 0;
  width: 300px;
  height: 168px;
}

/* Desktop */
.d-hero-bg {
  left: 0;
  top: 0;
  width: 1350px;
  height: 581px;
}

.d-hero-title {
  left: 196px;
  top: 91px;
  width: 420px;
  font-size: 48px;
  line-height: 60px;
  font-weight: 700;
}

.d-hero-subtitle {
  left: 195px;
  top: 338px;
  width: 430px;
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
}

.d-buy {
  left: 196px;
  top: 473px;
  width: 174px;
  height: 43px;
  font-size: 18px;
}

.d-hero-terms {
  left: 195px;
  top: 546px;
  width: 410px;
  font-size: 11px;
  line-height: 15px;
  text-align: left;
}

.d-hero-badge {
  left: 195px;
  top: 610px;
  width: 138px;
  height: 42px;
}

.d-intro {
  left: 210px;
  top: 685px;
  width: 931px;
  font-size: 15px;
  line-height: 25px;
  text-align: center;
}

.d-offer-note {
  left: 210px;
  top: 864px;
  width: 931px;
  font-size: 11px;
  line-height: 15px;
}

.d-video-panel {
  left: -2px;
  top: 962px;
  width: 1353px;
  height: 707px;
}

.d-video-title {
  left: 203px;
  top: 1059px;
  width: 946px;
  font-size: 28px;
  line-height: 35px;
}

.d-video-embed {
  left: 360px;
  top: 1173px;
  width: 630px;
  height: 355px;
  background-image: url("../images/video-thumbnail.jpg");
}

.d-video-poster,
.d-video-player {
  left: 360px;
  top: 1173px;
  width: 630px;
  height: 355px;
}

.d-video-caption {
  left: 374px;
  top: 1558px;
  width: 606px;
  font-size: 20px;
  line-height: 25px;
}

.d-path-eyebrow {
  left: 409px;
  top: 1761px;
  width: 531px;
  font-size: 18px;
  line-height: 25px;
}

.d-path-title {
  left: 403px;
  top: 1806px;
  width: 547px;
  font-size: 28px;
  line-height: 35px;
}

.d-path-copy {
  left: 307px;
  top: 1859px;
  width: 736px;
  font-size: 15px;
  line-height: 25px;
}

.d-path-img {
  left: 360px;
  top: 2007px;
  width: 630px;
  height: 354px;
  object-fit: cover;
}

.d-dlss-panel {
  left: -2px;
  top: 2451px;
  width: 1353px;
  height: 827px;
}

.d-dlss-eyebrow {
  left: 525px;
  top: 2542px;
  width: 300px;
  font-size: 18px;
  line-height: 25px;
}

.d-dlss-title {
  left: 348px;
  top: 2586px;
  width: 654px;
  font-size: 28px;
  line-height: 35px;
}

.d-dlss-copy {
  left: 319px;
  top: 2684px;
  width: 713px;
  font-size: 15px;
  line-height: 25px;
}

.d-dlss-img {
  left: 360px;
  top: 2830px;
  width: 630px;
  height: 355px;
  object-fit: cover;
}

.d-shop-title {
  left: 538px;
  top: 3367px;
  width: 275px;
  font-size: 28px;
  line-height: 35px;
}

.d-sku1,
.d-sku2,
.d-sku3 {
  top: 3450px;
  width: 300px;
  height: 322px;
}

.d-sku1 {
  left: 195px;
}

.d-sku2 {
  left: 525px;
}

.d-sku3 {
  left: 855px;
}

.d-sku1 .product-name,
.d-sku2 .product-name,
.d-sku3 .product-name {
  left: 0;
  top: 198px;
}

.d-footer-line {
  left: 194px;
  top: 3863px;
  width: 964px;
  height: 4px;
}

.d-remedy {
  left: 609px;
  top: 3929px;
  width: 46px;
  height: 59px;
  object-fit: contain;
}

.d-pegi {
  left: 693px;
  top: 3927px;
  width: 48px;
  height: 60px;
}

.d-footer-badge {
  left: 595px;
  top: 4047px;
  width: 160px;
  height: 49px;
}

.d-legal {
  left: 207px;
  top: 4157px;
  width: 936px;
  font-size: 11px;
  line-height: 15px;
}

/* Mobile — 360 px base keeps body copy readable on real phones. */
.m-hero-bg {
  left: 0;
  top: 0;
  width: 360px;
  height: 253px;
}

.m-hero-title {
  left: 24px;
  top: 281px;
  width: 312px;
  font-size: 28px;
  line-height: 35px;
  font-weight: 700;
}

.m-hero-subtitle {
  left: 24px;
  top: 414px;
  width: 312px;
  font-size: 20px;
  line-height: 25px;
  font-weight: 700;
}

.m-intro {
  left: 24px;
  top: 535px;
  width: 312px;
  font-size: 15px;
  line-height: 25px;
  text-align: left;
}

.m-offer-note {
  left: 24px;
  top: 1135px;
  width: 312px;
  font-size: 11px;
  line-height: 15px;
  text-align: left;
}

.m-buy {
  left: 24px;
  top: 1295px;
  width: 174px;
  height: 43px;
  font-size: 18px;
}

.m-hero-terms {
  left: 24px;
  top: 1371px;
  width: 312px;
  font-size: 11px;
  line-height: 15px;
  text-align: left;
}

.m-hero-badge {
  left: 24px;
  top: 1457px;
  width: 138px;
  height: 42px;
}

.m-video-panel {
  left: 0;
  top: 1560px;
  width: 360px;
  height: 543px;
}

.m-video-title {
  left: 24px;
  top: 1618px;
  width: 312px;
  font-size: 24px;
  line-height: 30px;
}

.m-video-embed {
  left: 0;
  top: 1768px;
  width: 360px;
  height: 203px;
  background-image: url("../images/video-thumbnail.jpg");
}

.m-video-poster {
  left: 0;
  top: 1768px;
  width: 360px;
  height: 203px;
}

.mobile-player {
  left: 0;
  top: 1768px;
  width: 360px;
  height: 203px;
  z-index: 5;
}

.m-video-caption {
  left: 24px;
  top: 2001px;
  width: 312px;
  font-size: 18px;
  line-height: 22px;
}

.m-path-eyebrow {
  left: 24px;
  top: 2163px;
  width: 312px;
  font-size: 16px;
  line-height: 20px;
}

.m-path-title {
  left: 24px;
  top: 2233px;
  width: 312px;
  font-size: 24px;
  line-height: 30px;
}

.m-path-copy {
  left: 24px;
  top: 2323px;
  width: 312px;
  font-size: 15px;
  line-height: 25px;
}

.m-path-img {
  left: 0;
  top: 2603px;
  width: 360px;
  height: 203px;
  object-fit: cover;
}

.m-dlss-panel {
  left: 0;
  top: 2866px;
  width: 360px;
  height: 770px;
}

.m-dlss-eyebrow {
  left: 24px;
  top: 2926px;
  width: 312px;
  font-size: 16px;
  line-height: 20px;
}

.m-dlss-title {
  left: 24px;
  top: 2976px;
  width: 312px;
  font-size: 24px;
  line-height: 30px;
}

.m-dlss-copy {
  left: 24px;
  top: 3096px;
  width: 312px;
  font-size: 15px;
  line-height: 25px;
}

.m-dlss-img {
  left: 0;
  top: 3373px;
  width: 360px;
  height: 203px;
  object-fit: cover;
}

.m-shop-title {
  left: 24px;
  top: 3698px;
  width: 312px;
  font-size: 24px;
  line-height: 30px;
}

.m-sku1,
.m-sku2,
.m-sku3 {
  left: 30px;
  width: 300px;
  height: 322px;
}

.m-sku1 {
  top: 3768px;
}

.m-sku2 {
  top: 4151px;
}

.m-sku3 {
  top: 4534px;
}

.m-sku1 .product-name,
.m-sku2 .product-name,
.m-sku3 .product-name {
  left: 0;
  top: 198px;
}

.m-footer-line {
  left: 30px;
  top: 4916px;
  width: 300px;
  height: 2px;
}

.m-remedy {
  left: 113px;
  top: 4979px;
  width: 46px;
  height: 59px;
  object-fit: contain;
}

.m-pegi {
  left: 201px;
  top: 4978px;
  width: 48px;
  height: 60px;
}

.m-footer-badge {
  left: 100px;
  top: 5094px;
  width: 160px;
  height: 49px;
}

.m-legal {
  left: 24px;
  top: 5218px;
  width: 312px;
  font-size: 11px;
  line-height: 15px;
}

@media (max-width: 767px) {
  .desktop-frame {
    display: none;
  }

  .mobile-frame {
    display: flex;
  }
}
