/* One compact desktop banner rhythm; Home deliberately does not match these selectors. */
body { --interior-hero-height: 520px; }
.page-product-detail .sodana-reference-art { aspect-ratio: 3 / 2; }
.page-product-detail .sodana-hero-still { display: block; width: 100%; height: auto; }
.page-product-detail .sodana-hero-motion { display: block; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
.page-product-detail .sodana-reference-art.motion-ready .sodana-hero-still { opacity: 0; }
.page-product-detail .sodana-reference-art.motion-ready .sodana-hero-motion { opacity: 1; }
.page-product-detail[data-product="sodana"] .detail-hero { background: radial-gradient(ellipse at 80% 40%, #cce3ff9c, transparent 58%), radial-gradient(ellipse at 100% 100%, #ffedc280, transparent 38%), linear-gradient(110deg, #fcfdff, #eef6ff 75%, #fffaf2); }
.page-product-detail[data-product="sodana"] .detail-product-brand { color: #111d31; font-size: 1.4rem; gap: 12px; }
.page-product-detail[data-product="sodana"] .detail-product-brand img { width: 44px; height: 44px; }

@media (min-width: 1001px) {
  .page-products .products-intro,
  .page-services .services-group-hero,
  .page-services .services-home-banner,
  .page-somos .hero.somos-hero {
    height: var(--interior-hero-height);
    min-height: 0;
    padding-top: 28px;
    padding-bottom: 28px;
    box-sizing: border-box;
    display: grid;
    align-items: center;
  }
  .page-products .products-hero-layout,
  .page-products .detail-hero-layout,
  .page-products.page-markets .markets-hero-layout,
  .page-services .group-hero-layout {
    width: 100%;
    min-height: 0;
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    align-content: center;
  }
  .page-products .products-hero-art { width: 100%; max-width: 500px; max-height: 430px; justify-self: center; }
  .page-product-detail .detail-art { width: 100%; max-width: 480px; max-height: 408px; justify-self: center; }
  .page-product-detail .sodana-reference-art { width: calc(100% + 62px); max-width: 680px; max-height: none; margin-left: -20px; }
  .page-product-detail[data-product="sodana"] .detail-hero-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 22px; }
  .page-product-detail .detail-product-brand { margin-bottom: 16px; }
  .page-product-detail .detail-hero h1 { font-size: clamp(2.35rem, 3.4vw, 3.25rem); }
  .page-product-detail .detail-hero-copy > p { margin-top: 18px; }
  .page-product-detail .detail-hero .portfolio-actions { margin-top: 24px; }
  .page-markets .markets-hero-copy h1 { font-size: clamp(2.35rem, 3.3vw, 3.45rem); }
  .page-markets .markets-hero-copy > p { margin-top: 20px; }
  .page-markets .markets-hero-copy .portfolio-actions { margin-top: 24px; }
  .page-services .group-hero-visual { width: 100%; max-width: 550px; justify-self: center; }
  .page-services .group-hero-visual > .art-product { width: 100%; margin-left: 0; }
  .page-services .group-hero-copy h1 { font-size: clamp(2.5rem, 3.6vw, 3.35rem); }
  .page-services .services-overview > .wrap { width: 100%; }
  .page-services .services-overview .services-heading { margin: 0 28px 20px; }
  .page-services .services-overview h1 { font-size: clamp(2.2rem, 3.3vw, 3.1rem); }
  .page-services .services-overview .kicker { margin-bottom: 16px; }
  .page-services .services-overview .services-heading > p { font-size: .95rem; padding-top: 10px; }
  .page-services .category-art { height: 148px; padding-top: 10px; }
  .page-services .category-copy { padding: 18px 24px 22px; }
  .page-services .category-copy h2 { font-size: 1.35rem; margin-bottom: 10px; }
  .page-services .category-copy p { font-size: .85rem; }
  .page-services .category-link { top: 16px; right: 20px; }
  .page-somos .hero.somos-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 44px; }
  .page-somos .hero h1 { font-size: clamp(2.4rem, 3.15vw, 3.1rem); margin: 16px 0 14px; }
  .page-somos .hero p.lead { font-size: .95rem; line-height: 1.6; }
  .page-somos .hero .cta { margin-top: 20px; }
  .page-somos .hero .mini { margin-top: 22px; padding-top: 16px; }
  .page-somos .somos-essence { padding: 26px; gap: 20px; }
  .page-somos .somos-essence h2 { font-size: 1.75rem; }
}

@media (min-width: 1001px) and (max-width: 1150px) {
  .page-somos .somos-essence { padding: 20px; gap: 16px; }
  .page-somos .somos-essence h2 { font-size: 1.5rem; }
  .page-somos .somos-essence p { font-size: .82rem; line-height: 1.5; }
  .page-somos .tcard.win { padding: 16px; gap: 12px; }
  .page-somos .tcard.win span { font-size: .72rem; }
}

/* Stacked content must stay readable, rather than being cropped to a desktop height. */
@media (max-width: 1000px) {
  .page-products .products-intro,
  .page-services .services-group-hero { padding-top: 30px; padding-bottom: 30px; }
  .page-products .products-hero-layout,
  .page-products .detail-hero-layout,
  .page-products.page-markets .markets-hero-layout,
  .page-services .group-hero-layout { grid-template-columns: 1fr; min-height: 0; gap: 22px; }
  .page-products .products-hero-art,
  .page-product-detail .detail-art,
  .page-markets .markets-hero-visual,
  .page-services .group-hero-visual { width: 100%; max-width: 500px; justify-self: center; margin: 0 auto; }
  .page-products.page-markets .markets-intro { padding: 0; }
  .page-products.page-markets .markets-hero-layout { padding-top: 30px; padding-bottom: 22px; }
  .page-somos .hero.somos-hero { min-height: 0; padding-top: 30px; padding-bottom: 30px; grid-template-columns: 1fr; gap: 26px; }
  .page-product-detail .sodana-reference-art { aspect-ratio: 3 / 2; }
}
@media (prefers-reduced-motion: reduce) {
  .page-product-detail .sodana-reference-art.motion-ready .sodana-hero-still { opacity: 1; }
  .page-product-detail .sodana-hero-motion { display: none; }
}
