/* Shared compact rhythm for all BIOPRIME pages. */
body .section { padding-top: 40px; padding-bottom: 40px; }
body .section-heading { margin-bottom: 24px; gap: 24px; }
body .eyebrow { margin-bottom: 14px; }
body .section-heading > p { margin-bottom: 0; }
body .lab-about-link { margin-bottom: 18px; }
body .lab-auto-carousel { margin-top: 18px; padding-top: 12px; padding-bottom: 12px; }
body .registration { gap: 40px; }
body .price-list-section { gap: 32px; }
body #contact.compact-contact { padding-top: 32px; padding-bottom: 28px; }
body .company-footer { padding-top: 24px; padding-bottom: 24px; }
body .company-footer nav { gap: 7px; }

/* About and editorial articles. */
body .about-editorial { padding-top: 36px; padding-bottom: 20px; }
body .about-editorial .about-portrait-hero { padding-bottom: 28px; }
body .about-chapter { padding-top: 32px; padding-bottom: 32px; gap: 36px; }
body .about-prose p { margin-bottom: 16px; }
body .about-prose h2 { margin-bottom: 20px; }
body .dental-article .article-heading { margin-bottom: 26px; }
body .article-heading .eyebrow { margin-bottom: 12px; }
body .article-body section { margin-top: 28px; }
body .article-body p { margin-bottom: 16px; }
body .article-body ul { margin-bottom: 16px; }
body .consent-article .article-body h2 { margin-top: 28px; }

/* FAQ, scanner setup and price overview. */
body .faq-category { margin-bottom: 28px; }
body .expanded-faq { gap: 36px; }
body .scanner-guide { padding-top: 28px; padding-bottom: 36px; }
body .scanner-guide-heading { margin: 20px 0; }
body .scanner-guide-heading > img { margin-bottom: 16px; }
body .scanner-guide h1 { margin-top: 12px; margin-bottom: 18px; }
body .scanner-guide h2 { margin-top: 24px; margin-bottom: 14px; }
body .scanner-guide-steps { margin: 20px 0; }
body .scanner-guide-help { margin-top: 24px; padding: 22px; }
body.pricing-layout .prices-page { padding-top: 32px; padding-bottom: 32px; }
body.pricing-layout .pricing-details { margin-top: 20px; margin-bottom: 24px; }
body.pricing-layout .pricing-payment-terms { margin-top: 16px; margin-bottom: 0; }

@media (max-width: 700px) {
  body .section { padding-top: 22px; padding-bottom: 22px; }
  body .section-heading { margin-bottom: 18px; gap: 12px; }
  body .eyebrow { margin-bottom: 10px; }
  body .lab-about-link { margin-bottom: 12px; }
  body .lab-auto-carousel { margin-top: 12px; padding-top: 0; padding-bottom: 0; }
  body .registration { gap: 20px; }
  body .price-list-section { gap: 16px; }
  body #contact.compact-contact { padding-top: 24px; padding-bottom: 22px; }
  body .company-footer { padding-top: 20px; padding-bottom: 20px; gap: 12px; }
  body .company-footer nav { column-gap: 14px; row-gap: 4px; }
  body .about-editorial { padding-top: 22px; padding-bottom: 14px; }
  body .about-editorial .about-portrait-hero { padding-bottom: 20px; gap: 20px; }
  body.about-scroll-page .about-chapter { padding-top: 22px; padding-bottom: 22px; gap: 16px; }
  body .about-prose h2 { margin-bottom: 14px; }
  body .dental-article .article-heading { margin-bottom: 20px; }
  body .article-body section { margin-top: 22px; }
  body .consent-article .article-body h2 { margin-top: 24px; }
  body .faq-category { margin-bottom: 22px; }
  body .expanded-faq { gap: 22px; }
  body .scanner-guide { padding-top: 22px; padding-bottom: 28px; }
  body .scanner-guide-heading { margin: 16px 0; }
  body .scanner-guide-help { margin-top: 20px; padding: 18px; }
  body.pricing-layout .prices-page { padding-top: 24px; padding-bottom: 24px; }
  body.pricing-layout .pricing-details { margin-top: 16px; margin-bottom: 20px; }
}

/* Match the video frame to its native 1280 x 720 dimensions on phones. */
@media (max-width: 700px) {
  body .product-video-card video {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: contain;
  }
}

/* Mobile hero: photograph behind the copy, matching the desktop composition. */
@media (max-width: 700px) {
  body .hero-background.hero-immersive .hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 0;
    padding-top: 40px;
    padding-bottom: 32px;
  }
  body .hero-background.hero-immersive .hero-product-image {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    aspect-ratio: auto;
    z-index: 0;
    overflow: hidden;
  }
  body .hero-background.hero-immersive .hero-product-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 38% center;
    opacity: .95;
    -webkit-mask-image: none;
    mask-image: none;
  }
  body .hero-background.hero-immersive::after {
    display: block;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.7)), linear-gradient(0deg, rgba(0,0,0,.8), transparent 34%, transparent 85%, rgba(0,0,0,.18));
  }
  body .hero-background.hero-immersive .hero-copy {
    position: relative;
    z-index: 2;
    width: 100%;
  }
}

/* Semantic h2 section headings retain the previous compact presentation. */
body .photography-section h2.photography-subheading {
  font-size: 1.17em;
  line-height: 1.25;
  letter-spacing: normal;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 1em;
}

body .photography-section h3.photography-step-heading { font-size: 1em; line-height: 1.4; margin: 0 0 1em; font-weight: 700; }
