/* v6.1: bounded tablet rhythm, aligned menu breakpoint, accessible galleries.
   Original imagery files, hero styles, image overlays and object-position stay intact. */
body.raim-operational .gallery-rail { scroll-margin-top: var(--scroll-anchor-offset); }
body.raim-operational .gallery-controls {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  min-height: 48px; margin: 20px auto 0; color: #c2cddd;
}
body.raim-operational .gallery-controls[hidden] { display: none; }
body.raim-operational .gallery-controls button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 8px;
  border: 1px solid #718dac; border-radius: 8px; background: #071126; color: #f4f7ff;
  font: inherit; cursor: pointer;
}
body.raim-operational .gallery-controls button:focus-visible,
body.raim-operational .gallery-rail:focus-visible { outline: 2px solid #43ddf5; outline-offset: 4px; }
body.raim-operational .gallery-controls button:disabled { opacity: .4; cursor: default; }
body.raim-operational .gallery-pages { display: flex; gap: 0; align-items: center; }
body.raim-operational .gallery-pages button { min-width: 32px; min-height: 44px; border: 0; background: transparent; padding: 10px; }
body.raim-operational .gallery-pages button::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #8395b2; }
body.raim-operational .gallery-pages button[aria-current="true"]::before { background: #43ddf5; width: 17px; border-radius: 4px; }
body.raim-operational .gallery-progress { min-width: 50px; font-size: 14px; font-variant-numeric: tabular-nums; text-align: center; }
body.raim-operational .visual-context-additions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
body.raim-operational .visual-context-additions .visual-card { height: 340px; min-height: 0; }
body.raim-operational .visual-context-additions .visual-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
body.raim-operational .visual-context-additions .visual-card-copy > span { color: #e4edf8; }

@media (min-width: 641px) and (max-width: 1399px) {
  html { scroll-padding-top: 0; }
  body.raim-operational { --raim-fixed-header-height: 80px; --scroll-anchor-offset: calc(92px + env(safe-area-inset-top,0px)); }
  body.raim-operational .site-header, body.raim-operational .site-header.scrolled { padding-block: 10px; }
  body.raim-operational .topbar, body.raim-operational .site-header.scrolled .topbar { min-height: 60px; }
  body.raim-operational .brand img, body.raim-operational .site-header.scrolled .brand img { height: 48px; }
  body.raim-operational .main-shell > .section:not(.hero),
  body.raim-operational .main-shell > .section:not(#regional-presence):not(#projects):not(.hero) { padding-block: var(--v61-section-padding, 54px); }
  body.raim-operational #regional-presence.section { padding-bottom: 28px; }
  body.raim-operational .visual-strip.section-dark { padding-block: 28px 24px; }
  body.raim-operational #about.section { --v61-section-padding: 42px; }
  body.raim-operational .section .section-heading { margin-bottom: 30px; }
  body.raim-operational .section-contact-cta,
  body.raim-operational .section-dark .section-contact-cta--dark { margin-top: 28px; padding-top: 20px; gap: 24px; }
  body.raim-operational .regional-capabilities { gap: 20px; }
  body.raim-operational .regional-capabilities__matrix { margin-top: 16px; padding-top: 18px; }
  body.raim-operational .regional-capabilities__stat { min-height: 92px; padding-block: 18px; }
  body.raim-operational #projects .section-heading { margin-bottom: 28px; }
  body.raim-operational #projects .section-lead { color: #c2cddd; line-height: 1.65; }
}
@media (min-width: 1101px) and (max-width: 1399px) {
  body.raim-operational .site-header { padding-inline: 24px; }
  body.raim-operational .topbar { gap: 14px; }
  body.raim-operational .brand { gap: 9px; flex-shrink: 0; }
  body.raim-operational .brand-text { max-width: 126px; }
  body.raim-operational .site-header .brand span { font-size: 10px; letter-spacing: .12em; }
  body.raim-operational .site-header .brand small { font-size: 8px; letter-spacing: .10em; }
  body.raim-operational .site-header .nav { gap: 16px; flex-shrink: 0; }
  body.raim-operational .site-header .nav > a,
  body.raim-operational .site-header .nav-item > a { margin: 0; font-size: 13px; line-height: 1.3; white-space: nowrap; }
  body.raim-operational .site-header .nav-cta.cta { font-size: 14px; padding: 10px 16px; min-height: 44px; }
  body.raim-operational .topbar-actions { flex-shrink: 0; }
}
/* Native scrolling keeps vertical page movement and touch momentum browser-managed. */
@media (max-width: 1399px) {
  body.raim-operational .gallery-rail.is-carousel {
    position: relative; display: flex; gap: 20px; align-items: stretch;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
    scroll-padding-inline: 0; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y;
    scrollbar-width: thin; scrollbar-color: #304568 transparent;
    padding-inline: 0; padding-bottom: 10px;
  }
  body.raim-operational .gallery-rail.is-carousel .visual-context-additions { display: contents; }
  body.raim-operational .gallery-rail.is-carousel > .project-card,
  body.raim-operational .gallery-rail.is-carousel .visual-card {
    flex: 0 0 clamp(320px, 42vw, 520px); scroll-snap-align: start;
    scroll-snap-stop: normal; min-width: 0; height: auto;
  }
  body.raim-operational .visual-strip-layout.gallery-rail.is-carousel .visual-card { height: clamp(280px, 29vw, 360px); min-height: 0; }
  body.raim-operational .visual-strip-layout.gallery-rail.is-carousel .visual-card img { width: 100%; height: 100%; }
  body.raim-operational #projects .project-card { min-height: 0; padding-bottom: 22px; }
  body.raim-operational #projects .project-card .ops-signal { margin: 0 0 12px; padding: 0 0 12px; background: transparent; border: 0; border-bottom: 1px solid #304568; border-radius: 0; gap: 5px; }
  body.raim-operational #projects .ops-signal__status { display: block; width: 100%; color: #43ddf5; font-size: 11px; letter-spacing: .10em; }
  body.raim-operational #projects .ops-signal__ref { color: #c2cddd; font-size: 14px; line-height: 1.5; }
  body.raim-operational #projects .project-tag-row { min-height: 23px; gap: 6px 14px; margin-bottom: 14px; align-items: start; }
  body.raim-operational #projects .project-tag-row span { padding: 0; background: none; color: #c2cddd; border: 0; border-radius: 0; font-size: 11px; letter-spacing: .09em; line-height: 1.7; }
  body.raim-operational #projects .project-card h3 { margin: 0 0 10px; color: #f4f7ff; font-size: 21px; line-height: 1.3; }
  body.raim-operational #projects .project-card > p { margin: 0; color: #c2cddd; font-size: 16px; line-height: 1.6; font-weight: 400; }
}
@media (max-width: 640px) {
  body.raim-operational .gallery-rail.is-carousel > .project-card,
  body.raim-operational .gallery-rail.is-carousel .visual-card { flex-basis: calc(100% - 28px); }
  body.raim-operational .gallery-controls { gap: 10px; }
  body.raim-operational .gallery-pages button { min-width: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  body.raim-operational .gallery-rail { scroll-behavior: auto; }
}

/* Preview-only regional command compaction.
   Keep the phone layout in natural document flow; compose the map and facts
   as one bounded panel once there is enough horizontal room. */
@media (min-width: 700px) {
  body.raim-operational #regional-presence.section {
    padding-block: clamp(34px, 5vh, 56px);
  }

  body.raim-operational #regional-presence .regional-capabilities {
    grid-template-columns: minmax(0, 1.8fr) minmax(250px, 1fr);
    gap: clamp(14px, 2vw, 20px);
    padding: clamp(18px, 2.4vw, 28px);
  }

  body.raim-operational #regional-presence .regional-capabilities__header,
  body.raim-operational #regional-presence .regional-capabilities__capabilities {
    grid-column: 1 / -1;
  }

  body.raim-operational #regional-presence .regional-capabilities__header {
    padding-bottom: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__subtitle {
    margin-top: 6px;
  }

  body.raim-operational #regional-presence .regional-capabilities__visual {
    grid-column: 1;
    align-self: center;
  }

  body.raim-operational #regional-presence .regional-capabilities__map {
    width: 100%;
    max-width: none;
  }

  body.raim-operational #regional-presence .regional-capabilities__matrix {
    grid-column: 2;
    grid-template-columns: 1fr;
    align-self: stretch;
    gap: 10px;
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__stat {
    min-height: 0;
    padding: 11px 14px;
  }

  body.raim-operational #regional-presence .regional-capabilities__capabilities {
    margin-top: 0;
    padding-top: 12px;
  }

  body.raim-operational #regional-presence .regional-capabilities__item {
    min-height: 42px;
    padding-block: 9px;
  }
}

@media (min-width: 1000px) {
  body.raim-operational #regional-presence .regional-capabilities {
    grid-template-columns: minmax(0, 2.15fr) minmax(320px, 1fr);
  }
}

@media (max-width: 699px) {
  body.raim-operational #regional-presence.section {
    padding-block: 22px;
  }

  body.raim-operational #regional-presence .regional-capabilities {
    gap: 10px;
    padding: 14px 12px 16px;
  }

  body.raim-operational #regional-presence .regional-capabilities__header {
    padding-bottom: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__title {
    font-size: clamp(1.45rem, 7vw, 1.75rem);
  }

  body.raim-operational #regional-presence .regional-capabilities__subtitle {
    margin-top: 4px;
    line-height: 1.4;
  }

  body.raim-operational #regional-presence .regional-capabilities__visual {
    padding: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__map {
    width: auto;
    max-width: 100%;
    max-height: 230px;
    margin-inline: auto;
  }

  body.raim-operational #regional-presence .regional-capabilities__matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
    padding-top: 10px;
  }

  body.raim-operational #regional-presence .regional-capabilities__stat {
    min-height: 0;
    gap: 3px;
    padding: 9px 10px;
  }

  body.raim-operational #regional-presence .regional-capabilities__label {
    font-size: 0.625rem;
    letter-spacing: 0.08em;
  }

  body.raim-operational #regional-presence .regional-capabilities__value {
    font-size: 0.9rem;
    line-height: 1.25;
  }

  body.raim-operational #regional-presence .regional-capabilities__capabilities {
    margin-top: 0;
    padding-top: 10px;
  }

  body.raim-operational #regional-presence .regional-capabilities__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.raim-operational #regional-presence .regional-capabilities__item {
    min-width: 0;
    max-width: none;
    min-height: 38px;
    padding: 7px 8px;
    font-size: 0.78rem;
    line-height: 1.2;
    text-align: center;
  }

  body.raim-operational #regional-presence .regional-capabilities__item-icon svg {
    width: 15px;
    height: 15px;
  }
}

/* Full-R1 desktop composition corrections.
   These three sections need more horizontal room than the general reading
   measure, while their prose and form controls retain bounded line lengths. */
@media (min-width: 1100px) {
  body.raim-operational #regional-presence .regional-capabilities {
    width: min(calc(100% - 96px), 1600px);
    max-width: 1600px;
    grid-template-columns: minmax(0, 2.2fr) minmax(320px, 0.8fr);
    grid-template-areas:
      "header header"
      "visual matrix"
      "capabilities capabilities";
    align-items: stretch;
    gap: 20px 24px;
  }

  body.raim-operational #regional-presence .regional-capabilities__header {
    grid-area: header;
  }

  body.raim-operational #regional-presence .regional-capabilities__visual {
    grid-area: visual;
    align-self: stretch;
    min-width: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__picture,
  body.raim-operational #regional-presence .regional-capabilities__map {
    display: block;
    width: 100%;
    height: 100%;
  }

  body.raim-operational #regional-presence .regional-capabilities__map {
    object-fit: contain;
  }

  body.raim-operational #regional-presence .regional-capabilities__matrix {
    grid-area: matrix;
    grid-template-columns: 1fr;
    align-content: stretch;
    gap: 10px;
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  body.raim-operational #regional-presence .regional-capabilities__stat {
    min-height: 0;
    padding: 14px 18px;
  }

  body.raim-operational #regional-presence .regional-capabilities__capabilities {
    grid-area: capabilities;
    margin-top: 0;
  }

  body.raim-operational #commercial-proposal .compact-intake__layout {
    width: min(calc(100vw - 96px), 1440px) !important;
    max-width: 1440px !important;
    grid-template-columns: minmax(320px, 0.78fr) minmax(620px, 1.22fr);
    gap: clamp(64px, 7vw, 112px);
  }

  body.raim-operational #commercial-proposal .compact-intake__header {
    max-width: 480px;
    justify-self: end;
  }

  body.raim-operational #commercial-proposal .compact-intake__form {
    width: 100%;
    max-width: 760px;
    justify-self: start;
  }

  body.raim-operational #execution-planning > .container {
    width: min(calc(100vw - 96px), 1440px) !important;
    max-width: 1440px !important;
    margin-inline: auto;
  }

  body.raim-operational #execution-planning .advantage-card {
    padding-inline: clamp(24px, 2.2vw, 38px);
  }
}
