/* Homepage compositions. Brand primitives live in injurymat.css. */
.im-trust-strip {
  background:var(--im-navy);
  color:#fff
}
.im-trust-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding-block:27px
}
.im-trust-grid>div {
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 25px;
  border-right:1px solid #ffffff20
}
.im-trust-grid>div:first-child {
  padding-left:0
}
.im-trust-grid>div:last-child {
  border-right:0;
  padding-right:0
}
.im-trust-grid .im-icon {
  width:30px;
  height:30px;
  color:#ed7c8d
}
.im-trust-grid strong {
  display:block;
  color:#fff;
  font-size:12px;
  line-height:1.6;
  font-weight:650
}
.im-trust-grid small {
  display:block;
  margin-top:4px;
  color:#8ea7c3;
  font-size:9px;
  line-height:1.5
}
/* The technology is introduced through human and product photography. */
.im-tech-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:95px;
  align-items:center
}
.im-tech-media {
  position:relative;
  padding:0 45px 40px 0
}
.im-tech-person {
  height:510px;
  overflow:hidden;
  border-radius:12px;
  background:#f0f2f5;
  position:relative
}
.im-tech-person>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 30%;
  mix-blend-mode:multiply
}
.im-photo-caption {
  position:absolute;
  bottom:17px;
  left:20px;
  font-size:8px;
  letter-spacing:.1em;
  color:var(--im-navy);
  font-weight:650
}
.im-tech-detail {
  position:absolute;
  right:0;
  bottom:68px;
  width:245px;
  padding:23px 20px 17px;
  border:6px solid #fff;
  border-radius:12px;
  background:#f5f0f2;
  box-shadow:0 12px 30px #0b264810;
  transform:rotate(4deg)
}
.im-tech-detail>img {
  width:100%;
  height:105px;
  object-fit:contain;
  mix-blend-mode:multiply
}
.im-tech-detail>span {
  display:block;
  font-size:7px;
  text-align:center;
  letter-spacing:.1em;
  color:var(--im-red);
  font-weight:700;
  margin-top:12px
}
.im-tech-number {
  position:absolute;
  bottom:0;
  left:0;
  font-size:8px;
  letter-spacing:.15em;
  color:#9aa7b6
}
.im-tech-copy h2 {
  margin-bottom:25px
}
.im-tech-copy>p:not(.im-eyebrow) {
  color:var(--im-muted);
  font-size:14px;
  line-height:1.85
}
.im-tech-points {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 15px;
  padding-block:10px 25px;
  margin-bottom:20px;
  border-bottom:1px solid var(--im-line)
}
.im-tech-points>span {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:650;
  color:#52667c
}
.im-tech-points .im-icon {
  width:14px;
  height:14px;
  color:var(--im-red)
}
/* Browse every condition, or narrow the grid to an area of the body. */
.im-areas {
  background:var(--im-pale)
}
.im-device {
  padding-bottom:60px
}
.im-device-showcase {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:20px
}
.im-controller-stage {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  min-height:560px;
  padding:28px;
  background:#f3f5f8;
  border:1px solid #e5e9ef;
  border-radius:12px;
  overflow:hidden
}
.im-controller-stage::before {
  content:'';
  position:absolute;
  inset:65px 10px;
  border:1px solid #dce2eb;
  border-radius:50%
}
.im-controller-stage>img {
  position:relative;
  height:390px;
  width:auto;
  max-width:80%;
  object-fit:contain;
  mix-blend-mode:multiply;
  filter:drop-shadow(15px 20px 14px #0b26481c);
  transform:rotate(-8deg)
}
.im-stage-label,.im-stage-bottom {
  position:relative;
  z-index:1;
  font-size:8px;
  color:#7b8ca1;
  letter-spacing:.13em
}
.im-stage-bottom {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:7px
}
.im-stage-bottom i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--im-red)
}
.im-device-panel {
  padding:47px;
  background:var(--im-navy);
  border-radius:12px;
  color:#b5c6d9
}
.im-device-panel h3 {
  margin:0 0 30px;
  color:#fff;
  font-size:37px;
  line-height:1.02
}
.im-spec-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px 32px;
  margin-bottom:30px
}
.im-spec-grid>div {
  border-top:1px solid #ffffff24;
  padding-top:18px
}
.im-spec-grid strong {
  display:flex;
  align-items:baseline;
  gap:10px;
  font:800 41px/1 Barlow,Arial,sans-serif;
  color:#fff;
  letter-spacing:-.04em
}
.im-spec-grid strong>span {
  color:#e57c8e;
  font:500 10px/1.4 Inter,Arial,sans-serif;
  letter-spacing:0
}
.im-spec-grid p {
  margin:12px 0 0;
  font-size:12px;
  line-height:1.8;
  color:#97aec8
}
.im-device-panel>.im-button {
  font-size:10px;
  min-height:49px
}
.im-wear {
  padding-top:45px
}
.im-wear .im-section-heading>.im-text-link {
  margin-bottom:5px
}
.im-wear-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.im-wear-card {
  display:block;
  color:var(--im-navy);
  text-decoration:none
}
.im-wear-card>div {
  position:relative;
  height:380px;
  background:#f3f5f8;
  border-radius:10px;
  overflow:hidden
}
.im-wear-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 25%;
  mix-blend-mode:multiply;
  transition:transform .45s
}
.im-wear-card:hover img {
  transform:scale(1.035)
}
.im-wear-card>div>span {
  position:absolute;
  bottom:16px;
  right:16px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:var(--im-red)
}
.im-wear-card .im-icon {
  width:17px;
  height:17px
}
.im-wear-card h3 {
  margin:19px 0 6px;
  font-size:23px;
  text-transform:uppercase
}
.im-wear-card>p {
  margin:0;
  color:var(--im-muted);
  font-size:12px
}
.im-benefits {
  background:var(--im-navy-deep);
  color:#fff;
  padding:75px 0
}
.im-benefits-inner {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:85px;
  align-items:center
}
.im-benefits h2 {
  color:#fff;
  margin:0 0 22px;
  font-size:43px;
  line-height:1.02
}
.im-benefits h2 em {
  color:#ed8494
}
.im-benefits-inner>div:first-child>p:not(.im-eyebrow) {
  font-size:14px;
  max-width:335px;
  color:#9db2ca;
  margin-bottom:27px
}
.im-benefits .im-text-link {
  color:#fff;
  font-size:10px
}
.im-benefit-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 35px
}
.im-benefit-grid article {
  border-top:1px solid #ffffff22;
  padding-top:23px
}
.im-benefit-grid article>.im-icon {
  color:#eb7c8c;
  width:25px;
  height:25px;
  margin-bottom:16px
}
.im-benefit-grid h3 {
  font:700 17px/1.25 Barlow,sans-serif;
  text-transform:uppercase;
  letter-spacing:0;
  color:#f1f4f8;
  margin:0 0 10px
}
.im-benefit-grid p {
  font-size:12px;
  line-height:1.85;
  color:#90a7c2;
  margin:0
}
/* The actual WooCommerce product, using live price and availability. */
.im-bundle-grid {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:85px;
  align-items:center
}
.im-bundle-gallery {
  position:relative;
  padding:25px;
  background:#f2f4f7;
  border-radius:12px;
  border:1px solid #e7ebf0
}
.im-bundle-tag {
  display:block;
  text-align:center;
  color:#7c8a9b;
  font-size:8px;
  font-weight:650;
  letter-spacing:.12em;
  margin-bottom:20px
}
.im-bundle-slides {
  aspect-ratio:1.08
}
.im-bundle-slide {
  width:100%;
  height:100%
}
.im-bundle-slide[hidden] {
  display:none
}
.im-bundle-slide>img {
  width:100%;
  height:100%;
  max-height:440px;
  object-fit:contain;
  border-radius:7px
}
.im-bundle-thumbs {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:22px
}
.im-bundle-thumbs>button {
  width:61px;
  height:61px;
  padding:4px;
  background:#fff;
  border:1px solid #d8e0e8;
  border-radius:6px
}
.im-bundle-thumbs>button[aria-pressed=true] {
  border:2px solid var(--im-red)
}
.im-bundle-thumbs img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:3px
}
.im-bundle-copy h2 {
  margin-bottom:24px
}
.im-bundle-name {
  margin-bottom:8px;
  color:var(--im-navy);
  font-size:18px;
  font-weight:600
}
.im-bundle-price {
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:23px;
  color:var(--im-red);
  font-family:Barlow,Arial,sans-serif;
  font-size:36px;
  line-height:1;
  font-weight:700
}
.im-bundle-price>span:not(.woocommerce-Price-amount) {
  color:#7d8c9b;
  font-family:Inter,Arial,sans-serif;
  font-size:9px;
  font-weight:550;
  letter-spacing:0
}
.im-bundle-copy>p:not(.im-eyebrow):not(.im-bundle-name) {
  color:var(--im-muted);
  font-size:14px;
  line-height:1.9
}
.im-bundle-checks {
  list-style:none;
  margin:0 0 28px;
  padding:0
}
.im-bundle-checks li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#4d6279;
  font-size:12px;
  line-height:1.7;
  margin-bottom:11px
}
.im-bundle-checks .im-icon {
  color:var(--im-red);
  width:14px;
  height:14px;
  margin-top:3px
}
.im-bundle-help {
  display:block;
  margin-top:15px;
  font-size:10px;
  text-decoration:none;
  color:#8390a0
}
.im-other-products {
  margin-top:35px
}
.im-other-products>a {
  display:flex;
  align-items:center;
  gap:20px;
  width:100%;
  padding:17px 24px;
  border:1px solid var(--im-line);
  border-radius:9px;
  color:var(--im-navy);
  text-decoration:none
}
.im-other-products>a>img {
  width:65px;
  height:65px;
  object-fit:contain
}
.im-other-products small {
  display:block;
  font-size:8px;
  letter-spacing:.1em;
  color:#8b97a7;
  margin-bottom:4px
}
.im-other-products strong {
  font-size:12px;
  font-weight:650
}
.im-other-product-status {
  margin-left:auto;
  font-size:10px;
  color:#8c98a8
}
.im-other-products>a>.im-icon {
  width:21px;
  color:var(--im-red)
}
/* A deliberately designed video poster; player loads only after a click. */
.im-video-section {
  padding:80px 0;
  background:var(--im-navy);
  color:#fff
}
.im-video-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 100px;
  align-items:end;
  margin-bottom:35px
}
.im-video-heading .im-eyebrow {
  grid-column:1/-1
}
.im-video-heading h2 {
  margin:0;
  color:#fff;
  font-size:53px;
  line-height:1.02
}
.im-video-heading h2 em {
  color:#ed8193
}
.im-video-heading>p:not(.im-eyebrow) {
  color:#9db4ce;
  font-size:14px;
  margin-bottom:5px;
  max-width:350px
}
.im-film-card {
  position:relative;
  display:block;
  width:100%;
  height:470px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:12px;
  background:#edf0f5;
  text-align:left
}
.im-film-photo {
  position:absolute;
  inset:0 0 0 46%;
  background:#f5f6f8
}
.im-film-photo>img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:50% 15%;
  mix-blend-mode:multiply
}
.im-film-card::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:120px;
  background:linear-gradient(transparent,#0b2648d9)
}
.im-film-word {
  position:absolute;
  left:58px;
  top:56px;
  font:800 66px/.98 Barlow,sans-serif;
  letter-spacing:-.04em;
  color:var(--im-navy)
}
.im-film-play {
  position:absolute;
  left:48%;
  top:43%;
  z-index:2;
  display:grid;
  place-items:center;
  width:84px;
  height:84px;
  border-radius:50%;
  background:var(--im-red);
  color:#fff;
  box-shadow:0 0 0 13px #ffffff77;
  transition:transform .25s,box-shadow .25s
}
.im-film-play .im-icon {
  width:26px;
  height:26px;
  fill:white;
  stroke-width:1.3;
  margin-left:4px
}
.im-film-card:hover .im-film-play {
  transform:scale(1.08);
  box-shadow:0 0 0 20px #ffffff55
}
.im-film-label {
  position:absolute;
  left:35px;
  right:35px;
  bottom:25px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:23px;
  color:#fff
}
.im-film-label>span {
  font-size:8px;
  letter-spacing:.13em;
  color:#cad4df
}
.im-film-label>strong {
  margin-left:auto;
  font-size:11px;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.05em
}
.im-film-label>.im-icon {
  width:19px
}
.im-video-guide {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:24px;
  color:#a8bdd5;
  text-decoration:none;
  font-size:10px
}
.im-video-guide .im-icon {
  width:16px;
  height:16px;
  color:#ec8092
}
.im-video-guide:hover {
  color:#fff
}
/* Story, values and customer experiences. */
.im-story-grid {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:center
}
.im-story-image {
  position:relative;
  background:#e9edf2;
  border-radius:10px;
  overflow:hidden;
  padding:0 0 40px
}
.im-story-image img {
  width:100%;
  height:350px;
  object-fit:cover;
  filter:grayscale(1)
}
.im-story-image>span {
  position:absolute;
  left:23px;
  bottom:13px;
  color:#7e8b9c;
  font-size:8px;
  letter-spacing:.13em
}
.im-story h2 {
  font-size:43px;
  margin-bottom:23px
}
.im-story-grid>div:last-child>p:not(.im-eyebrow) {
  color:var(--im-muted);
  font-size:14px
}
.im-timeline {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin:28px 0 26px;
  padding-top:20px;
  border-top:1px solid var(--im-line)
}
.im-timeline strong {
  display:block;
  color:var(--im-red);
  font:800 30px/1 Barlow,sans-serif;
  letter-spacing:-.03em
}
.im-timeline span {
  display:block;
  color:#7d8b9d;
  font-size:8px;
  margin-top:7px;
  line-height:1.6
}
.im-promise {
  padding:46px 0 50px;
  background:#f4f6f9;
  border-block:1px solid #e6ebf1
}
.im-promise-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:35px;
  margin-top:25px
}
.im-promise-grid article {
  position:relative;
  border-left:1px solid #dbe2eb;
  padding-left:23px
}
.im-promise-grid article>span {
  position:absolute;
  right:0;
  top:-10px;
  color:#e2e7ee;
  font:800 50px/1 Barlow,sans-serif
}
.im-promise-grid h3 {
  position:relative;
  margin:0 0 12px;
  text-transform:uppercase;
  font-size:24px
}
.im-promise-grid p {
  position:relative;
  max-width:200px;
  color:#7b899c;
  font-size:12px;
  margin:0;
  line-height:1.8
}
.im-review-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.im-review-card {
  overflow:hidden;
  background:#f7f8fa;
  border:1px solid #e8ecf2;
  border-radius:11px
}
.im-review-photo {
  height:180px;
  overflow:hidden
}
.im-review-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}
.im-review-body {
  padding:30px
}
.im-review-stars {
  color:var(--im-red);
  font-size:12px;
  letter-spacing:3px
}
.im-review-body h3 {
  margin:14px 0 17px;
  font-size:28px;
  text-transform:uppercase
}
.im-review-body blockquote {
  padding:0;
  border:0;
  margin:0;
  color:#718096;
  font-size:13px;
  line-height:1.9;
  font-style:normal
}
.im-review-author {
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:24px
}
.im-review-author>img {
  width:37px;
  height:37px;
  border-radius:50%;
  object-fit:cover
}
.im-review-author strong {
  display:block;
  color:var(--im-navy);
  font-size:11px
}
.im-review-author small {
  display:block;
  font-size:9px;
  color:#8c98a8
}
.im-review-quote {
  margin-left:auto;
  color:#cfd8e4;
  font:800 62px/.8 Barlow,sans-serif
}
.im-home-faq {
  background:#f6f8fa;
  border-top:1px solid #e8edf2
}
.im-faq-grid {
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:100px;
  align-items:start
}
.im-faq-intro>p:not(.im-eyebrow) {
  margin:23px 0;
  color:var(--im-muted);
  font-size:14px
}
.im-faq-photo {
  margin-top:35px;
  padding:25px;
  border-radius:10px;
  background:#fff;
  border:1px solid #e5eaf0
}
.im-faq-photo>img {
  display:block;
  width:100%;
  height:130px;
  object-fit:contain
}

@media(max-width:1150px) {
  .im-trust-grid>div {
    gap:11px;
    padding-inline:18px
  }
  .im-trust-grid strong {
    font-size:11px
  }
  .im-trust-grid small {
    font-size:8px
  }
  .im-tech-grid {
    gap:60px
  }
  .im-tech-person {
    height:480px
  }
  .im-tech-detail {
    width:210px;
    right:-10px
  }
  .im-tech-copy>p:not(.im-eyebrow) {
    font-size:14px
  }
  .im-device-panel {
    padding:35px
  }
  .im-wear-card>div {
    height:330px
  }
  .im-benefits-inner {
    gap:55px
  }
  .im-benefits h2 {
    font-size:38px
  }
  .im-bundle-grid {
    gap:55px
  }
  .im-story-grid {
    gap:55px
  }
  .im-faq-grid {
    gap:60px
  }
  .im-spec-grid {
    gap:25px
  }
  .im-device-panel h3 {
    font-size:34px
  }
}
@media(max-width:991px) {
  .im-trust-grid {
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    padding-block:27px
  }
  .im-trust-grid>div:nth-child(2) {
    border-right:0
  }
  .im-trust-grid>div:nth-child(3) {
    padding-left:0
  }
  .im-trust-grid strong {
    font-size:12px
  }
  .im-trust-grid small {
    font-size:9px
  }
  .im-tech-grid {
    gap:40px
  }
  .im-tech-media {
    padding-right:25px
  }
  .im-tech-person {
    height:450px
  }
  .im-tech-detail {
    width:180px;
    padding:15px;
    right:-10px;
    bottom:60px
  }
  .im-tech-detail>img {
    height:85px
  }
  .im-tech-detail>span {
    font-size:6px
  }
  .im-tech-points {
    grid-template-columns:1fr;
    gap:8px
  }
  .im-tech-copy h2 {
    font-size:38px
  }
  .im-device-showcase {
    grid-template-columns:.8fr 1.2fr;
    gap:15px
  }
  .im-controller-stage {
    min-height:535px;
    padding:24px 15px
  }
  .im-controller-stage>img {
    height:340px;
    max-width:95%
  }
  .im-stage-label {
    font-size:6px
  }
  .im-stage-bottom {
    font-size:6px;
    letter-spacing:0
  }
  .im-device-panel {
    padding:30px
  }
  .im-device-panel h3 {
    font-size:31px
  }
  .im-spec-grid {
    gap:22px
  }
  .im-spec-grid strong {
    font-size:35px;
    gap:7px
  }
  .im-spec-grid strong>span {
    font-size:10px
  }
  .im-spec-grid p {
    font-size:12px
  }
  .im-device-panel>.im-button {
    font-size:9px;
    padding:12px 15px;
    gap:15px
  }
  .im-wear-grid {
    gap:18px
  }
  .im-wear-card>div {
    height:290px
  }
  .im-wear-card h3 {
    font-size:21px
  }
  .im-wear-card>p {
    font-size:12px
  }
  .im-benefits-inner {
    grid-template-columns:1fr 1.2fr;
    gap:35px
  }
  .im-benefits h2 {
    font-size:34px
  }
  .im-benefit-grid {
    gap:25px
  }
  .im-benefit-grid h3 {
    font-size:15px
  }
  .im-bundle-grid {
    gap:35px
  }
  .im-bundle-gallery {
    padding:20px
  }
  .im-bundle-copy h2 {
    font-size:38px
  }
  .im-bundle-name {
    font-size:16px
  }
  .im-bundle-copy>p:not(.im-eyebrow):not(.im-bundle-name) {
    font-size:14px
  }
  .im-bundle-checks li {
    font-size:12px
  }
  .im-bundle-copy>.im-button {
    font-size:9px;
    gap:13px;
    padding:13px 17px
  }
  .im-video-heading {
    gap:0 50px
  }
  .im-video-heading h2 {
    font-size:46px
  }
  .im-film-card {
    height:400px
  }
  .im-film-word {
    left:40px;
    font-size:57px;
    top:50px
  }
  .im-film-play {
    width:70px;
    height:70px
  }
  .im-story-grid {
    gap:35px
  }
  .im-story h2 {
    font-size:37px
  }
  .im-story-grid>div:last-child>p:not(.im-eyebrow) {
    font-size:14px
  }
  .im-story-image img {
    height:330px
  }
  .im-timeline strong {
    font-size:25px
  }
  .im-timeline span {
    font-size:7px
  }
  .im-promise-grid {
    gap:20px
  }
  .im-promise-grid article {
    padding-left:15px
  }
  .im-review-body {
    padding:24px
  }
  .im-review-photo {
    height:155px
  }
  .im-review-body h3 {
    font-size:25px
  }
  .im-review-body blockquote {
    font-size:13px
  }
  .im-faq-grid {
    gap:40px
  }
  .im-faq-intro h2 {
    font-size:36px
  }
}
@media(max-width:700px) {
  .im-trust-grid {
    padding-block:23px;
    gap:22px 12px
  }
  .im-trust-grid>div {
    gap:10px;
    padding:0 0 0 12px
  }
  .im-trust-grid .im-icon {
    width:25px;
    height:25px
  }
  .im-trust-grid strong {
    font-size:10px
  }
  .im-trust-grid small {
    font-size:7px;
    margin-top:3px
  }
  .im-tech-grid {
    grid-template-columns:1fr;
    gap:42px
  }
  .im-tech-media {
    padding:0 30px 35px 0;
    max-width:470px;
    width:100%
  }
  .im-tech-person {
    height:370px
  }
  .im-tech-person>img {
    object-position:50% 38%
  }
  .im-tech-detail {
    width:200px;
    right:0;
    bottom:50px;
    padding:17px
  }
  .im-tech-detail>img {
    height:83px
  }
  .im-tech-detail>span {
    font-size:6px
  }
  .im-tech-copy h2 {
    font-size:39px
  }
  .im-tech-copy>p:not(.im-eyebrow) {
    font-size:14px
  }
  .im-tech-points {
    grid-template-columns:1fr 1fr;
    gap:12px 9px;
    margin-bottom:20px;
    padding-bottom:23px
  }
  .im-tech-points>span {
    font-size:11px;
    gap:6px
  }
  .im-tech-points .im-icon {
    width:12px;
    height:12px
  }
  .im-device {
    padding-bottom:30px
  }
  .im-device-showcase {
    grid-template-columns:1fr
  }
  .im-controller-stage {
    min-height:395px;
    max-height:420px;
    padding:20px
  }
  .im-controller-stage>img {
    height:300px;
    max-width:70%
  }
  .im-stage-label,.im-stage-bottom {
    font-size:7px
  }
  .im-controller-stage::before {
    inset:50px 45px
  }
  .im-device-panel {
    padding:30px 26px
  }
  .im-device-panel h3 {
    font-size:34px;
    margin-bottom:26px
  }
  .im-spec-grid {
    gap:25px 20px
  }
  .im-spec-grid strong {
    font-size:39px
  }
  .im-spec-grid strong>span {
    font-size:10px
  }
  .im-spec-grid p {
    font-size:12px
  }
  .im-device-panel>.im-button {
    font-size:10px
  }
  .im-wear {
    padding-top:32px
  }
  .im-wear .im-section-heading>.im-text-link {
    margin-top:24px
  }
  .im-wear-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .im-wear-card {
    display:grid;
    grid-template-columns:1fr;
    gap:0
  }
  .im-wear-card>div {
    height:390px
  }
  .im-wear-card img {
    object-fit:contain;
    object-position:50% 30%
  }
  .im-wear-card h3 {
    margin-top:16px;
    font-size:24px
  }
  .im-wear-card>p {
    font-size:12px
  }
  .im-benefits {
    padding-block:55px
  }
  .im-benefits-inner {
    grid-template-columns:1fr;
    gap:30px
  }
  .im-benefits h2 {
    font-size:39px
  }
  .im-benefits-inner>div:first-child>p:not(.im-eyebrow) {
    font-size:14px;
    margin-bottom:20px
  }
  .im-benefit-grid {
    gap:30px 22px
  }
  .im-benefit-grid h3 {
    font-size:17px
  }
  .im-benefit-grid p {
    font-size:12px
  }
  .im-bundle-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  .im-bundle-gallery {
    padding:20px
  }
  .im-bundle-slides {
    aspect-ratio:1.13
  }
  .im-bundle-slide>img {
    max-height:350px
  }
  .im-bundle-copy h2 {
    font-size:40px
  }
  .im-bundle-name {
    font-size:18px
  }
  .im-bundle-price {
    font-size:35px
  }
  .im-bundle-copy>p:not(.im-eyebrow):not(.im-bundle-name) {
    font-size:14px
  }
  .im-bundle-checks li {
    font-size:12px
  }
  .im-bundle-copy>.im-button {
    font-size:10px;
    padding:14px 21px;
    gap:24px
  }
  .im-other-products {
    margin-top:30px
  }
  .im-other-products>a {
    padding:13px;
    gap:12px
  }
  .im-other-products>a>img {
    width:50px;
    height:50px
  }
  .im-other-products strong {
    font-size:10px
  }
  .im-other-products small {
    font-size:6px
  }
  .im-other-product-status {
    display:none
  }
  .im-other-products>a>.im-icon {
    margin-left:auto;
    width:17px
  }
  .im-video-section {
    padding-block:58px
  }
  .im-video-heading {
    display:block
  }
  .im-video-heading h2 {
    font-size:42px
  }
  .im-video-heading>p:not(.im-eyebrow) {
    margin-top:20px;
    max-width:none;
    font-size:14px
  }
  .im-film-card {
    height:340px
  }
  .im-film-word {
    font-size:40px;
    left:22px;
    top:35px
  }
  .im-film-photo {
    left:37%
  }
  .im-film-photo>img {
    object-fit:cover;
    object-position:60% 20%
  }
  .im-film-play {
    left:42%;
    top:42%;
    width:61px;
    height:61px;
    box-shadow:0 0 0 9px #ffffff66
  }
  .im-film-play .im-icon {
    width:20px;
    height:20px
  }
  .im-film-label {
    left:20px;
    right:20px;
    bottom:20px;
    gap:13px
  }
  .im-film-label>span {
    font-size:6px;
    letter-spacing:.07em
  }
  .im-film-label>strong {
    font-size:8px
  }
  .im-film-label>.im-icon {
    width:15px
  }
  .im-video-guide {
    font-size:9px;
    gap:8px;
    flex-wrap:wrap;
    line-height:1.8
  }
  .im-video-guide .im-icon {
    width:13px;
    height:13px
  }
  .im-story-grid {
    grid-template-columns:1fr;
    gap:34px
  }
  .im-story-image {
    padding-bottom:37px
  }
  .im-story-image img {
    height:265px
  }
  .im-story h2 {
    font-size:38px
  }
  .im-story-grid>div:last-child>p:not(.im-eyebrow) {
    font-size:14px
  }
  .im-timeline strong {
    font-size:30px
  }
  .im-timeline span {
    font-size:8px
  }
  .im-promise {
    padding-block:39px
  }
  .im-promise-grid {
    grid-template-columns:1fr 1fr;
    gap:30px 25px
  }
  .im-promise-grid article {
    padding-left:17px
  }
  .im-promise-grid h3 {
    font-size:24px
  }
  .im-promise-grid p {
    font-size:12px
  }
  .im-promise-grid article>span {
    font-size:42px
  }
  .im-review-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .im-review-photo {
    height:145px
  }
  .im-review-body {
    padding:25px
  }
  .im-review-body h3 {
    font-size:27px
  }
  .im-review-body blockquote {
    font-size:13px
  }
  .im-faq-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  .im-faq-intro h2 {
    font-size:39px
  }
  .im-faq-photo {
    display:none
  }
  .im-faq-intro>p:not(.im-eyebrow) {
    margin:20px 0
  }
  .im-home-faq {
    padding-top:58px
  }
}
@media(max-width:390px) {
  .im-trust-grid strong {
    font-size:9px
  }
  .im-trust-grid small {
    font-size:6px
  }
  .im-tech-detail {
    width:180px
  }
  .im-wear-card>div {
    height:340px
  }
  .im-film-word {
    font-size:36px
  }
  .im-film-card {
    height:300px
  }
}

/* Primary content uses the shared desktop reading scale. */
@media(min-width:992px) {
  .im-trust-grid strong { font-size:16px; line-height:1.4 }
  .im-trust-grid small { font-size:12px; color:#b1c3d9 }
  .im-tech-copy>p:not(.im-eyebrow),
  .im-benefits-inner>div:first-child>p:not(.im-eyebrow),
  .im-bundle-copy>p:not(.im-eyebrow):not(.im-bundle-name),
  .im-video-heading>p:not(.im-eyebrow),
  .im-story-grid>div:last-child>p:not(.im-eyebrow),
  .im-faq-intro>p:not(.im-eyebrow) { font-size:var(--im-type-body) }
  .im-tech-points>span { font-size:14px }
  .im-spec-grid strong>span { font-size:13px }
  .im-spec-grid p { font-size:var(--im-type-detail); color:#b5c7dc }
  .im-device-panel>.im-button,.im-benefits .im-text-link { font-size:var(--im-type-action) }
  .im-wear-card>p,.im-bundle-checks li,.im-promise-grid p { font-size:var(--im-type-detail) }
  .im-benefit-grid h3 { font-size:21px }
  .im-benefit-grid p { font-size:var(--im-type-body); color:#b0c3da }
  .im-bundle-name { font-size:24px }
  .im-bundle-price>span:not(.woocommerce-Price-amount) { font-size:13px }
  .im-bundle-help { font-size:13px }
  .im-bundle-checks .im-icon { width:16px; height:16px; margin-top:4px }
  .im-other-products strong { font-size:16px }
  .im-other-product-status { font-size:13px }
  .im-film-label>strong,.im-video-guide { font-size:var(--im-type-action) }
  .im-review-body blockquote { font-size:var(--im-type-body) }
  .im-review-author strong { font-size:14px }
}
