/* Public-site layout tuned for wide desktop displays; narrower breakpoints stay fluid. */
@media (min-width: 1200px) and (max-width: 1599px) {
  .shell {
    width: min(1340px, calc(100% - 64px));
  }

  body {
    font-size: 17px;
  }

  .topbar {
    font-size: 13px;
  }

  .topbar-inner {
    height: 42px;
  }

  .nav-shell {
    height: 94px;
  }

  .brand b {
    font-size: 17px;
  }

  .brand small {
    font-size: 13px;
  }

  .brand-mark {
    width: 44px;
    height: 44px;
  }

  .site-nav {
    gap: 26px;
    font-size: 15px;
  }

  .hero,
  .detail-hero {
    padding-top: 62px;
    padding-bottom: 70px;
  }

  .hero h1,
  .detail-hero h1,
  .catalog-hero-copy h1 {
    font-size: clamp(48px, 4.4vw, 72px);
  }

  .hero-lede,
  .detail-hero > div > p:last-child,
  .catalog-hero-copy > p:not(.eyebrow) {
    font-size: 19px;
  }

  .eyebrow {
    font-size: 13px;
  }

  .button {
    min-height: 52px;
    padding-right: 25px;
    padding-left: 25px;
    font-size: 16px;
  }

  .section {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .section-heading h2,
  .process-grid h2,
  .contact-card h2,
  .section-kicker h2,
  .catalog-heading h2,
  .cases-title h2,
  .contact-band h2 {
    font-size: clamp(36px, 3.2vw, 52px);
  }

  .section-heading > p,
  .about-copy,
  .section-copy,
  .cases-title > p:last-child {
    font-size: 18px;
  }

  .product-grid,
  .reference-product-grid,
  .video-grid,
  .reference-video-grid {
    gap: 26px;
  }

  .product-card {
    min-height: 510px;
  }

  .product-card-body,
  .reference-product-body {
    padding: 28px;
  }

  .product-card h3,
  .reference-product-body h3 {
    font-size: 24px;
  }

  .product-card p,
  .reference-product-body > span,
  .product-more,
  .reference-video-card > div:last-child > span {
    font-size: 16px;
  }

  .reference-product-body > p,
  .product-category,
  .reference-video-card p {
    font-size: 13px;
  }

  .quick-grid > a {
    min-height: 190px;
    padding: 32px;
  }

  .quick-grid h2 {
    font-size: 27px;
  }

  .quick-grid p,
  .capability-board span,
  .footer-column {
    font-size: 15px;
  }

  .capability-board div {
    padding: 30px;
  }

  .capability-board b {
    font-size: 20px;
  }

  .case-steps h3 {
    font-size: 25px;
  }

  .case-steps p,
  .contact-items span {
    font-size: 16px;
  }

  .video-card h3,
  .reference-video-card h3 {
    font-size: 21px;
  }

  .site-footer {
    padding-top: 58px;
    padding-bottom: 30px;
  }

  .footer-column > b {
    font-size: 17px;
  }

  .footer-bottom {
    font-size: 13px;
  }

  .detail-main h2,
  .spec-panel h2,
  .detail-block h2 {
    font-size: 30px;
  }

  .detail-main,
  .spec-panel dd,
  .preserve-lines,
  .line-list,
  .detail-block p,
  .detail-block-specs,
  .detail-block-list {
    font-size: 17px;
  }

  .spec-panel {
    padding: 28px;
  }

  .spec-panel dt {
    font-size: 13px;
  }

  .detail-block {
    padding: 40px;
  }

  .detail-block-image {
    padding: 0;
  }
}

@media (min-width: 1600px) {
  .shell {
    width: min(1680px, calc(100% - 128px));
  }

  body {
    font-size: 18px;
  }

  .topbar {
    font-size: 14px;
  }

  .topbar-inner {
    height: 46px;
  }

  .nav-shell {
    height: 104px;
  }

  .brand {
    gap: 15px;
  }

  .brand b {
    font-size: 19px;
  }

  .brand small {
    font-size: 14px;
  }

  .brand-mark {
    width: 50px;
    height: 50px;
    border-radius: 15px;
  }

  .site-nav {
    gap: 32px;
    font-size: 17px;
  }

  .nav-cta {
    padding: 13px 20px;
  }

  .hero,
  .detail-hero {
    padding-top: 76px;
    padding-bottom: 88px;
  }

  .hero h1,
  .detail-hero h1,
  .catalog-hero-copy h1 {
    font-size: clamp(58px, 4.2vw, 82px);
  }

  .hero-lede,
  .detail-hero > div > p:last-child,
  .catalog-hero-copy > p:not(.eyebrow) {
    font-size: 21px;
  }

  .eyebrow {
    font-size: 14px;
  }

  .button {
    min-height: 58px;
    padding-right: 30px;
    padding-left: 30px;
    font-size: 18px;
  }

  .section {
    padding-top: 104px;
    padding-bottom: 104px;
  }

  .section-heading {
    margin-bottom: 46px;
  }

  .section-heading h2,
  .process-grid h2,
  .contact-card h2,
  .section-kicker h2,
  .catalog-heading h2,
  .cases-title h2,
  .contact-band h2 {
    font-size: clamp(44px, 3vw, 60px);
  }

  .section-heading > p,
  .about-copy,
  .section-copy,
  .cases-title > p:last-child {
    font-size: 20px;
  }

  .product-grid,
  .reference-product-grid,
  .video-grid,
  .reference-video-grid {
    gap: 30px;
  }

  .product-card {
    min-height: 560px;
  }

  .product-card-body,
  .reference-product-body {
    padding: 32px;
  }

  .product-card h3,
  .reference-product-body h3 {
    font-size: 27px;
  }

  .product-card p,
  .reference-product-body > span,
  .product-more,
  .reference-video-card > div:last-child > span {
    font-size: 18px;
  }

  .product-category,
  .reference-product-body > p,
  .reference-video-card p {
    font-size: 14px;
  }

  .quick-grid > a {
    min-height: 210px;
    padding: 38px;
  }

  .quick-grid h2 {
    font-size: 30px;
  }

  .quick-grid p,
  .capability-board span,
  .footer-column {
    font-size: 17px;
  }

  .capability-board div {
    padding: 36px;
  }

  .capability-board b {
    font-size: 22px;
  }

  .case-steps h3 {
    font-size: 28px;
  }

  .case-steps p,
  .contact-items span {
    font-size: 18px;
  }

  .video-card h3,
  .reference-video-card h3 {
    font-size: 24px;
  }

  .site-footer {
    padding-top: 70px;
    padding-bottom: 38px;
  }

  .footer-column > b {
    font-size: 19px;
  }

  .footer-grid-rich {
    gap: 72px;
  }

  .footer-bottom {
    font-size: 14px;
  }

  .catalog-hero,
  .catalog-hero-inner {
    min-height: 700px;
  }

  .catalog-hero-inner {
    gap: 80px;
  }

  .hero-instrument {
    padding: 26px;
  }

  .instrument-readings span {
    font-size: 15px;
  }

  .detail-main h2,
  .spec-panel h2,
  .detail-block h2 {
    font-size: 34px;
  }

  .detail-main,
  .spec-panel dd,
  .preserve-lines,
  .line-list,
  .detail-block p,
  .detail-block-specs,
  .detail-block-list {
    font-size: 19px;
  }

  .spec-panel {
    padding: 34px;
  }

  .spec-panel dt {
    font-size: 14px;
  }

  .spec-panel dl div {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .detail-block {
    padding: 48px;
  }

  .detail-block-image {
    padding: 0;
  }
}
