/*
 * Product pages — desktop density profile
 *
 * Keeps the spacious presentation on large/tall displays and preserves the
 * existing tablet/mobile layouts. On common Full HD and laptop viewports it
 * reduces decorative whitespace and standardises product screenshots so each
 * section presents more of its useful content before the next scroll.
 */

@media (min-width: 1180px) and (max-height: 1200px) {
  :is(.ia2-hero, .qa2-hero, .ac2-hero) {
    padding: clamp(52px, 6vh, 66px) 0 clamp(48px, 5.6vh, 62px);
  }

  :is(.ia2-hero-grid, .qa2-hero-grid, .ac2-hero-grid) {
    gap: clamp(38px, 4vw, 58px);
  }

  :is(.ia2-hero h1, .qa2-hero h1, .ac2-hero h1) {
    font-size: clamp(3rem, 3.7vw, 3.6rem);
  }

  :is(.ia2-hero-copy > p, .qa2-hero-copy > p, .ac2-hero-copy > p) {
    margin-top: 20px;
    line-height: 1.62;
  }

  :is(.ia2-hero-facts, .qa2-hero-facts, .ac2-hero-facts) {
    margin-top: 26px;
  }

  :is(.ia2-section, .qa2-section, .ac2-section) {
    padding: clamp(54px, 6.2vh, 68px) 0;
  }

  :is(.ia2-section-head, .qa2-section-head, .ac2-section-head) {
    margin-bottom: clamp(30px, 3.7vh, 40px);
  }

  :is(.ia2-section-head-split, .qa2-section-head-split, .ac2-section-head-split) {
    gap: clamp(30px, 4.2vw, 58px);
  }

  :is(
    .ia2-section-head h2,
    .ia2-demo h2,
    .ia2-final-cta h2,
    .qa2-section-head h2,
    .qa2-demo h2,
    .qa2-final-cta h2,
    .ac2-section-head h2,
    .ac2-demo h2,
    .ac2-final-cta h2
  ) {
    font-size: clamp(2.2rem, 3.25vw, 3.25rem);
  }

  :is(.ia2-lead, .qa2-lead, .ac2-lead) {
    margin-top: 14px;
    font-size: 1rem;
    line-height: 1.62;
  }

  :is(.ia2-outcome-card, .qa2-outcome-card, .ac2-outcome-card) {
    min-height: 205px;
    padding: 23px;
  }

  :is(.ia2-outcome-card h3, .qa2-outcome-card h3, .ac2-outcome-card h3) {
    margin-top: 36px;
  }

  :is(.ia2-proof-layout, .qa2-proof-layout, .ac2-proof-layout),
  :is(.ia2-integration-grid, .qa2-integration-grid, .ac2-integration-grid),
  :is(.ia2-insight-layout, .qa2-insight-layout, .ac2-insight-layout) {
    gap: clamp(30px, 3.6vw, 48px);
  }

  :is(.ia2-feature-stack article, .qa2-feature-stack article, .ac2-feature-stack article),
  :is(.ia2-action-list article, .qa2-action-list article, .ac2-action-list article) {
    padding-block: 16px;
  }

  :is(.ia2-role-card, .qa2-role-card, .ac2-role-card) {
    padding: 28px;
  }

  :is(.ia2-role-card ul, .qa2-role-card ul, .ac2-role-card ul) {
    gap: 10px;
    margin-top: 18px;
  }

  :is(.ia2-capability-showcase, .qa2-capability-showcase, .ac2-capability-showcase) {
    gap: 18px;
    margin-top: 40px;
  }

  :is(.ia2-showcase-card, .qa2-showcase-card, .ac2-showcase-card) {
    gap: clamp(28px, 3.4vw, 44px);
    padding: 28px;
  }

  /* A consistent, zoomable product-window size across all three pages. */
  :is(.ia2-image-zoom, .qa2-image-zoom, .ac2-image-zoom) > img {
    height: clamp(270px, 32vh, 345px);
  }

  :is(.ia2-window-hero, .qa2-window-hero, .ac2-window-hero)
    :is(.ia2-image-zoom, .qa2-image-zoom, .ac2-image-zoom) > img {
    height: clamp(350px, 38vh, 410px);
  }

  :is(.ia2-window-compact, .qa2-window-compact, .ac2-window-compact)
    :is(.ia2-image-zoom, .qa2-image-zoom, .ac2-image-zoom) > img {
    height: clamp(235px, 27vh, 290px);
  }

  :is(.ia2-window-title, .qa2-window-title, .ac2-window-title) {
    padding-block: 11px;
  }

  :is(.ia2-window figcaption, .qa2-window figcaption, .ac2-window figcaption) {
    padding: 14px 16px 16px;
  }

  :is(.ia2-sla-card, .qa2-sla-card, .ac2-sla-card) {
    gap: clamp(32px, 4vw, 54px);
    margin-top: 38px;
    padding: 34px;
  }

  :is(.ia2-enterprise-grid article, .qa2-enterprise-grid article, .ac2-enterprise-grid article) {
    padding: 21px;
  }

  :is(.ia2-timeline li, .qa2-timeline li, .ac2-timeline li) {
    min-height: 185px;
    padding: 22px;
  }

  :is(.ia2-timeline li > div, .qa2-timeline li > div, .ac2-timeline li > div) {
    margin-top: 46px;
  }

  :is(.ia2-industry-block, .qa2-industry-block, .ac2-industry-block) {
    margin-top: 30px;
    padding: 30px;
  }

  :is(.ia2-industry-row, .qa2-industry-row, .ac2-industry-row) {
    margin-top: 22px;
  }

  :is(.ia2-industry-row li, .qa2-industry-row li, .ac2-industry-row li) {
    min-height: 106px;
    padding: 15px;
  }

  :is(.ia2-demo, .qa2-demo, .ac2-demo) {
    padding: clamp(56px, 6.5vh, 70px) 0;
  }

  :is(.ia2-demo-grid, .qa2-demo-grid, .ac2-demo-grid) {
    gap: clamp(40px, 5vw, 68px);
  }

  :is(.ia2-demo-copy > p:not(.ia2-kicker), .qa2-demo-copy > p:not(.qa2-kicker), .ac2-demo-copy > p:not(.ac2-kicker)) {
    margin-top: 17px;
    line-height: 1.62;
  }

  :is(.ia2-conversation, .qa2-conversation, .ac2-conversation) {
    padding: 20px;
  }

  :is(.ia2-final-cta, .qa2-final-cta, .ac2-final-cta) {
    padding: clamp(60px, 7vh, 76px) 0;
  }

  :is(
    .ia2-final-cta p:not(.ia2-kicker),
    .qa2-final-cta p:not(.qa2-kicker),
    .ac2-final-cta p:not(.ac2-kicker)
  ) {
    margin-block: 17px 24px;
  }

  :is(.ia2-footer-grid, .qa2-footer-grid, .ac2-footer-grid) {
    gap: 34px;
    padding: 48px 0 34px;
  }

  /* Kuden QA: dense auditing and integration components. */
  .qa2-dispute-grid {
    gap: 42px;
    margin-top: 38px;
    padding: 32px;
  }

  .qa2-dispute-grid li {
    padding-block: 14px;
  }

  .qa2-quadrant-grid article {
    min-height: 142px;
    padding: 16px;
  }

  .qa2-quadrant-grid h3 {
    margin-top: 15px;
  }

  .qa2-alert-card {
    padding: 30px;
  }

  .qa2-ingestion-grid article {
    min-height: 184px;
    padding: 22px;
  }

  .qa2-ingestion-grid h3 {
    margin-top: 34px;
  }

  .qa2-security-band {
    gap: 40px;
    padding: 30px;
  }

  /* Kimi Academy: simulations, course builder and progress components. */
  .ac2-summary-roles {
    margin-top: 16px;
  }

  :is(.ac2-roleplay-layout, .ac2-scenario-layout, .ac2-course-layout, .ac2-loop-layout, .ac2-progress-grid) {
    gap: clamp(30px, 3.8vw, 48px);
  }

  .ac2-roleplay-copy {
    gap: 16px;
  }

  .ac2-skill-list article,
  .ac2-loop-flow li {
    padding-block: 14px;
  }

  :is(.ac2-scenario-grid article, .ac2-course-benefits article, .ac2-certification-stack article) {
    padding: 20px;
  }

  .ac2-scenario-layout .ac2-window .ac2-image-zoom > img,
  .ac2-loop-layout .ac2-window .ac2-image-zoom > img {
    height: clamp(285px, 34vh, 365px);
  }

  .ac2-course-builder,
  .ac2-profile-card {
    padding: 27px;
  }

  .ac2-builder-prompt {
    margin-top: 16px;
    padding: 17px;
  }

  .ac2-module-list article {
    padding-block: 11px;
  }

  .ac2-xp-track {
    margin-top: 18px;
  }

  .ac2-achievement-list {
    margin-top: 17px;
  }

  .ac2-achievement-list article {
    padding: 12px;
  }

  .ac2-learning-path li {
    padding: 15px 20px;
  }
}

@media (min-width: 1180px) and (max-height: 900px) {
  :is(.ia2-hero, .qa2-hero, .ac2-hero) {
    padding-block: 44px;
  }

  :is(.ia2-section, .qa2-section, .ac2-section) {
    padding-block: 48px;
  }

  :is(.ia2-section-head, .qa2-section-head, .ac2-section-head) {
    margin-bottom: 28px;
  }

  :is(.ia2-window-hero, .qa2-window-hero, .ac2-window-hero)
    :is(.ia2-image-zoom, .qa2-image-zoom, .ac2-image-zoom) > img {
    height: 340px;
  }

  :is(.ia2-demo, .qa2-demo, .ac2-demo),
  :is(.ia2-final-cta, .qa2-final-cta, .ac2-final-cta) {
    padding-block: 52px;
  }
}
