/* Noori Engineering — Phase 1 refinement layer
   Additive only: preserves the existing background, category slideshow,
   imagery and brand language while tightening the shared layout system. */
:root {
  --noori-content-max: 1160px;
  --noori-content-pad: clamp(18px, 2.4vw, 32px);
  --noori-section-y: clamp(42px, 5vw, 64px);
  --noori-section-y-tight: clamp(30px, 3.5vw, 48px);
  --noori-grid-gap: clamp(14px, 1.8vw, 22px);
  --noori-card-radius: 8px;
}

/* Shared content rhythm. The slideshow is deliberately excluded below. */
.section-inner {
  width: min(var(--noori-content-max), calc(100% - (2 * var(--noori-content-pad))));
  max-width: var(--noori-content-max);
  padding-left: 0;
  padding-right: 0;
}

/* Preserve the category slideshow's existing sizing boundary. */
.category-slideshow .section-inner {
  width: auto;
  max-width: 1200px;
  padding-left: 32px;
  padding-right: 32px;
}

/* Existing technical backgrounds remain in place; only visibility is increased. */
#blueprint-bg { opacity: .28 !important; }
#world-map-bg { opacity: .62 !important; }

/* Compact, controlled vertical rhythm for the general page sections. */
.about,
.contact,
.ai-teaser,
.trust-strip,
.consultancy-teaser { padding-top: var(--noori-section-y); padding-bottom: var(--noori-section-y); }

.about { padding-bottom: var(--noori-section-y-tight); }
.contact { padding-bottom: var(--noori-section-y-tight); }

.about-lede { margin-bottom: 30px; }
.about-grid { gap: var(--noori-grid-gap); }
.contact-grid { gap: clamp(28px, 3.5vw, 42px); }

/* Machine cards: predictable presentation without stretching or cropping machinery. */
.machine-card-media,
.process-machine-card img,
.category-root-gallery img {
  background: #071014;
}

.machine-card-media {
  aspect-ratio: 16 / 10;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.machine-card-gallery,
.machine-gallery-image {
  width: 100%;
  height: 100%;
}

.machine-gallery-image {
  object-fit: contain !important;
  object-position: center;
}

.process-machine-card img {
  aspect-ratio: 16 / 10;
  height: auto;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

.category-root-gallery img {
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* Process pages: reduce empty vertical space while retaining the engineering hero. */
.page-hero {
  padding-top: clamp(92px, 9vw, 120px);
  padding-bottom: clamp(34px, 4vw, 48px);
}

.page-hero-inner {
  max-width: 860px;
}

.process-hero {
  gap: var(--noori-grid-gap);
  margin-bottom: var(--noori-section-y-tight);
}

.process-content-grid {
  gap: var(--noori-grid-gap);
  margin-bottom: var(--noori-section-y-tight);
}

.process-machines { margin-top: 0; }
.process-machine-grid { gap: var(--noori-grid-gap); }
.process-machine-card-body { padding: 15px 16px 16px; }

.category-detail {
  max-width: var(--noori-content-max);
  margin-top: 42px;
  margin-bottom: 42px;
}

.category-hero {
  padding: clamp(28px, 3vw, 40px);
}

.category-specs { gap: var(--noori-grid-gap); }
.spec-item { padding: 16px 18px; }

/* Keep the slideshow untouched even if later global rules are added. */
.category-slideshow,
.category-slideshow .slideshow-viewport,
.category-slideshow .slide,
.category-slideshow .category-card-media {
  /* sizing intentionally inherited from the existing implementation */
}

@media (max-width: 720px) {
  .section-inner {
    width: calc(100% - 32px);
  }
  .category-slideshow .section-inner {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .category-detail {
    margin-top: 28px;
    margin-bottom: 28px;
  }
}
