/* V25: wider, confident desktop presentation. No changes to cinematic entrance. */
@media (min-width: 1024px) {
  :root { --max: min(1420px, calc(100% - 6rem)); --header: 6.25rem; }
  body > .site-header { padding-left: max(3rem, calc((100% - 1420px)/2)); padding-right: max(3rem, calc((100% - 1420px)/2)); }
  .site-header .nav-logo { height: 84px; max-width: 190px; }
  .home-services-grid { gap: clamp(1.25rem, 2vw, 2rem); }
  .home-service-card .service-photo img { height: clamp(260px, 22vw, 350px); }
  .home-service-card .service-content { padding: 1.65rem 1.75rem 1.85rem; }
  .home-direct-heading { padding-top: 2.25rem !important; padding-bottom: 1rem !important; }
  .home-direct-heading h1 { max-width: none; font-size: clamp(2.6rem, 3.6vw, 4.3rem) !important; }
}
@media (min-width: 1440px) {
  .home-services-grid { padding-top: 1.4rem; }
  .home-service-card .service-content h3 { font-size: 1.6rem; }
}
@media (min-width: 861px) and (max-width: 1023px) {
  :root { --max: min(100% - 3rem, 1000px); }
  body > .site-header { padding-inline: 1.5rem; }
  .site-header .nav-logo { height: 70px; }
}
@media (max-width: 860px) {
  .site-header .nav-logo { height: 62px; width: auto; }
  .home-service-card .service-photo img { object-position: center 38%; }
}
@media (max-width: 480px) {
  .site-header .nav-logo { height: 54px; }
  .home-services-grid { gap: 1.25rem; }
}

/* Preview finishing pass: readable cards, keyboard-safe navigation, page-specific CTAs. */
.home-service-card .service-content { display: flex; flex-direction: column; flex: 1; }
.home-service-card .service-content .btn { margin-top: auto; align-self: flex-start; }
.site-nav a, .menu-toggle, .btn { min-height: 44px; }
@media (max-width: 860px) {
  .site-nav:not(.is-open) { visibility: hidden; }
  .site-nav.is-open { visibility: visible; }
  .menu-toggle { z-index: 36; }
}
@media (max-width: 600px) {
  .training-grid, .training-delivery-grid { grid-template-columns: 1fr; }
  .form-grid, .contact-form-grid { grid-template-columns: 1fr; }
  .form-grid > *, .contact-form-grid > * { min-width: 0; }
  .btn { white-space: normal; text-align: center; }
}

/* V27: horizontal brand lockup. The supplied PS symbol is clipped in CSS,
   never stretched; wordmark uses real text for clarity on the light header. */
.site-header > a:first-child { flex: 0 0 auto; text-decoration: none; }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; width: 255px; height: 72px; color: #173349; }
.brand-symbol { position: relative; display: block; width: 45px; height: 65px; flex: 0 0 45px; overflow: hidden; }
.brand-symbol img { position: absolute; top: 0; left: 50%; width: 144px; height: auto; max-width: none; transform: translateX(-50%); }
.brand-type { display: flex; flex-direction: column; align-items: center; gap: 0; padding-top: 3px; }
.brand-name { display: block; color: #173349; font-size: 22px; line-height: 1.1; font-weight: 750; letter-spacing: .12em; }
.brand-division { display: block; color: #087bc7; font-size: 14px; line-height: 1.55; letter-spacing: .62em; padding-left: .62em; font-weight: 700; }
.brand-tagline { display: block; color: #526474; font-size: 7px; line-height: 1.8; letter-spacing: .12em; font-weight: 700; white-space: nowrap; }
.site-header { gap: 24px; min-height: 100px; }
.site-header .site-nav { align-items: center; }
.home-direct-heading { scroll-margin-top: 125px; }
.home-staffing-photo img { object-position: center 43%; filter: none; }
@media (min-width: 861px) and (max-width: 1100px) {
  .brand-lockup { width: 220px; }
  .brand-name { font-size: 19px; }
  .site-header { gap: 16px; }
  .site-nav { gap: .35rem .8rem; }
  .site-nav a { font-size: .9rem; }
  .v21-nav-cta { padding-inline: .8rem !important; }
}
@media (max-width: 860px) {
  .site-header { min-height: 86px; padding-block: 8px; }
  .brand-lockup { width: 220px; height: 66px; gap: 6px; }
  .brand-name { font-size: 19px; }
  .brand-tagline { font-size: 6.5px; }
  .site-nav { align-items: stretch !important; padding-top: 6rem; }
}

.stock-note { display: block; margin-top: .4rem; color: #687888; font-size: .72rem; font-weight: 400; }

/* V29: small, consistent desktop gutters; no boxed-in maximum width. */
@media (min-width: 1024px) {
  :root {
    --desktop-gutter: clamp(24px, 2vw, 40px);
    --max: calc(100% - var(--desktop-gutter) * 2);
  }
  .page-frame, .shell { width: var(--max); max-width: none; }
  body > .site-header { padding-inline: var(--desktop-gutter); }
  .page-frame > footer, .shell footer { width: 100%; }
  .paramount-sector-showcase { max-width: none; padding-inline: 0; }
}
