
/* QTI Labs final production baseline: responsive, accessibility, search and resilience */
:root {
  --baseline-focus: #56d9ff;
  --baseline-overlay: rgba(2, 10, 21, .84);
}
html { max-width: 100%; overflow-x: clip; }
body { max-width: 100%; overflow-x: clip; }
main, section, .container, .header-inner, .footer-main, [class*="grid"], [class*="layout"] { min-width: 0; }
img, picture, video, canvas, svg { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--baseline-focus);
  outline-offset: 3px;
}
.skip-link:focus { z-index: 100000; }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.site-nav-search {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 44px; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px; background: rgba(255,255,255,.035); color: #d4dfec; cursor: pointer;
  font-weight: 650; font-size: .88rem;
}
.site-nav-search:hover { color:#fff; border-color:rgba(86,217,255,.55); background:rgba(47,208,255,.08); }
.site-nav-search svg { width: 18px; height: 18px; }

/* Search dialog */
.site-search-dialog[hidden] { display:none !important; }
.site-search-dialog { position:fixed; inset:0; z-index:10000; display:grid; place-items:start center; padding:clamp(84px,12vh,130px) 16px 30px; background:var(--baseline-overlay); backdrop-filter:blur(12px); }
.site-search-panel { width:min(760px,100%); max-height:min(76vh,720px); overflow:auto; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:#08182a; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.site-search-head { display:flex; align-items:center; gap:10px; padding:16px; border-bottom:1px solid rgba(255,255,255,.10); }
.site-search-field { flex:1; min-width:0; height:48px; padding:0 15px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:#0c2037; color:#fff; }
.site-search-field::placeholder { color:#8ea5bc; }
.site-search-close { width:46px; height:46px; border:0; border-radius:12px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; font-size:1.25rem; }
.site-search-meta { padding:11px 18px; color:#9fb2c7; font-size:.84rem; border-bottom:1px solid rgba(255,255,255,.07); }
.site-search-results { list-style:none; margin:0; padding:8px; }
.site-search-result a { display:block; padding:14px 15px; border-radius:14px; color:#fff; text-decoration:none; }
.site-search-result a:hover, .site-search-result a:focus-visible { background:rgba(47,208,255,.085); }
.site-search-result strong { display:block; font-size:1rem; }
.site-search-result span { display:block; margin-top:4px; color:#a8bbce; line-height:1.45; font-size:.86rem; }
.site-search-empty { padding:26px 18px; color:#b4c5d5; }
body.search-open { overflow:hidden !important; }

/* Search page */
.search-page { padding:clamp(120px,15vw,165px) 0 80px; min-height:70vh; }
.search-page .search-shell { width:min(900px,100%); margin:auto; }
.search-page h1 { margin-bottom:.5rem; }
.search-page-form { display:flex; gap:10px; margin:24px 0; }
.search-page-form input { flex:1; min-width:0; height:50px; padding:0 16px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(255,255,255,.05); color:inherit; }
.search-page-results { display:grid; gap:12px; }
.search-page-card { display:block; padding:18px; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:rgba(255,255,255,.035); color:inherit; text-decoration:none; }
.search-page-card:hover { border-color:rgba(86,217,255,.35); transform:translateY(-1px); }
.search-page-card h2 { margin:0 0 6px; font-size:1.08rem; }
.search-page-card p { margin:0; opacity:.8; }

/* Defensive responsive rules for complex product layouts */
.statusdeck-v5 img, .statusdeck-v5 picture, .statusdeck-v5 figure { max-width:100%; }
.sd-v5-hero-grid, .sd-v5-benefit-grid, .sd-v5-report-grid, .sd-v5-intelligence-grid,
.statusdeck-gallery, .statusdeck-gallery-shell, .statusdeck-carousel, .statusdeck-carousel-stage { min-width:0; }
.statusdeck-carousel-stage img, .carousel-main-image { width:100%; object-fit:contain; }

@media (max-width: 900px) {
  .site-nav-search { width:calc(100% - 48px); margin:14px 24px 4px; border-radius:12px; justify-content:flex-start; padding:12px 14px; }
  .primary-navigation.is-open { overscroll-behavior:contain; }
  .site-search-dialog { padding-top:86px; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 32px, var(--container-width, 1200px)); }
  h1 { overflow-wrap:anywhere; }
  .button, button, .site-nav-cta { max-width:100%; }
  .search-page-form { flex-direction:column; }
  .search-page-form .button { width:100%; }
  .footer-main { grid-template-columns:1fr !important; }
  .statusdeck-gallery-thumbs, .carousel-thumbnails { overflow-x:auto; scroll-snap-type:x proximity; }
  .statusdeck-gallery-thumbs > *, .carousel-thumbnails > * { scroll-snap-align:start; }
}
@media (max-width: 430px) {
  :root { --header-height: 70px; }
  .brand-image-only { width:142px !important; }
  .site-search-panel { border-radius:16px; }
  .site-search-dialog { padding-inline:10px; }
  .site-search-head { padding:12px; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
@media print {
  .site-header, .site-search-dialog, .cookie-notice, .site-footer { display:none !important; }
  body { background:#fff !important; color:#111 !important; }
}
