/* Shared responsive rules; desktop compositions remain in their original pages. */
[data-layout] > * { min-width: 0; }
img, video, canvas, svg { max-width: 100%; }
.capability-mobile { display: none; }
@media (max-width: 860px) {
  [data-layout="service"] { grid-template-columns: minmax(0,1fr) !important; gap: 24px !important; }
  [data-layout="service"] > :first-child { display:flex; align-items:center; gap:16px; }
  [data-layout="service"] > :first-child > [data-field-kind] { width:56px !important; height:56px; flex:0 0 56px; }
  [data-layout="service"] > :first-child > :last-child { margin-top:0 !important; font-size:11px !important; letter-spacing:.09em !important; }
  .service-page h2 { max-width:27ch; }
}
@media (max-width: 600px) {
  [data-layout="flow"] { grid-template-columns:minmax(0,1fr) !important; }
  [data-layout="stats"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-layout="stats"] > :last-child:nth-child(odd) { grid-column:1 / -1; }
  [data-layout="stats"] > * { padding:20px 16px !important; }
  [data-layout="chart"] { grid-template-columns:84px minmax(0,1fr) 30px !important; gap:10px !important; }
  [data-layout="chart"] > :first-child { text-align:left !important; }
  h1 { overflow-wrap:break-word; }
  p { overflow-wrap:break-word; }
  .service-page > header { padding-top:36px !important; padding-bottom:36px !important; }
  .service-page > header h1 { font-size:clamp(30px,8.4vw,46px) !important; line-height:1.08 !important; letter-spacing:-.025em !important; }
  .service-page > header p { font-size:16px !important; line-height:1.6 !important; }
  [data-layout="service"] { padding:32px 0 !important; gap:20px !important; }
  [data-layout="service"] h2 { font-size:26px !important; line-height:1.18 !important; margin-bottom:14px !important; }
  [data-layout="service"] p { font-size:16px !important; line-height:1.6 !important; margin-bottom:22px !important; }
  [data-layout="service"] [data-layout="flow"] > div { padding:16px 0 !important; }
  [data-layout="service"] [data-layout="flow"] > div > :first-child { font-size:16px !important; line-height:1.35 !important; margin-bottom:6px !important; }
  [data-layout="service"] [data-layout="flow"] > div > :last-child { font-size:15px !important; line-height:1.55 !important; }
  .matrix-desktop, .matrix-legend { display:none !important; }
  .capability-mobile { display:block; color:#F0F1EF; }
  .capability-mobile section { padding:22px 0; border-top:1px solid #565A5E; }
  .capability-mobile section:last-child { padding-bottom:0; }
  .capability-mobile h3 { font-size:19px; margin:0 0 14px; font-weight:500; }
  .capability-mobile dl { margin:0; }
  .capability-mobile dl > div { display:flex; justify-content:space-between; gap:16px; padding:5px 0; font-size:14px; }
  .capability-mobile dt { color:#C9CBC7; }
  .capability-mobile dd { margin:0; }
  .site-footer > div > [data-layout="flow"] { grid-template-columns:1fr 1fr !important; gap:20px !important; }
  .site-footer > div > [data-layout="flow"] > :first-child,
  .site-footer > div > [data-layout="flow"] > :last-child { grid-column:1 / -1; }
}
@media (max-width: 359px) {
  [data-layout="stats"] { grid-template-columns:minmax(0,1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; }
}
