/* Shared responsive rules — loaded by every page. Breakpoints: 1199 (nav), 1023 (tablet), 767 (phone landscape), 600 (phone) */
@media (max-width: 1199px) {
  [data-nav], [data-head-cta] { display: none !important; }
  [data-burger] { display: flex !important; }
  [data-head-wrap] { padding-left: 40px !important; padding-right: 40px !important; }
}
@media (max-width: 1023px) {
  [data-split] { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; direction: ltr !important; }
  [data-split] > * { direction: ltr !important; max-width: 100% !important; }
  [data-split] > *:first-child { padding-right: 0 !important; }
  [data-tiles] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  [data-cards] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-tabs] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-cols-5] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-cols-4] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-cols-3] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-detail] { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
  [data-detail] > * { padding-top: 0 !important; }
  [data-numbers] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 40px 0 !important; margin-top: 64px !important; }
  [data-numbers] > div:first-child { grid-column: 1 / -1 !important; }
  [data-sectors] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-sectors-txt] { padding: 64px 40px !important; max-width: 100% !important; }
  [data-slider] { min-height: 560px !important; }
  [data-pag] { left: 40px !important; right: 40px !important; top: 44px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: none !important; }
  [data-pag] a { font-size: 24px !important; padding: 0 16px !important; height: 120px !important; }
  [data-pag] [data-arrow] { right: 12px !important; }
  [data-slider-desc] { left: 40px !important; right: 40px !important; bottom: 44px !important; }
  [data-slider-desc] p { font-size: 15px !important; max-width: none !important; }
  [data-team] { grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; }
  [data-wm] { width: 360px !important; height: 370px !important; right: auto !important; left: 50% !important; margin-left: -180px !important; }
  [data-f-top], [data-f-mid] { flex-direction: column !important; gap: 40px !important; }
  [data-f-mid] { margin-top: 72px !important; }
  [data-f-tag] { text-align: left !important; max-width: 100% !important; }
  [data-cols] { flex-wrap: wrap !important; gap: 32px 48px !important; }
  [data-f-bot] { flex-wrap: wrap !important; row-gap: 14px !important; }
  [data-hero]:not([data-hero-home]) { padding-top: 160px !important; padding-bottom: 72px !important; }
  [data-intro] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 767px) {
  [data-tabs], [data-cols-5], [data-cols-4], [data-cols-3] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-tiles] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  [data-tiles-1] { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  [data-cards] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 14px !important; }
  [data-cards] h3 { font-size: 19px !important; }
  [data-cards] [data-arrow] { display: none !important; }
  [data-tile-ts] { height: auto !important; aspect-ratio: auto !important; min-height: 236px !important; padding: 16px 12px 12px !important; }
  [data-tile-ts] [data-ts-logo] { height: 48px !important; }
  [data-tile-ts] [data-ts-sub] { height: 40px !important; }
  [data-tile-ts] span { font-size: 10px !important; letter-spacing: .08em !important; }
  /* Footer + legal links: 44px tap targets, tighter spacing */
  [data-cols] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 20px !important; }
  [data-cols] > nav { min-width: 0 !important; }
  [data-cols] a { padding: 0 !important; margin: 0 !important; min-height: 44px !important; display: flex !important; align-items: center !important; font-size: 15px !important; line-height: 1.3 !important; }
  [data-cols] span { margin-bottom: 2px !important; font-size: 13px !important; }
  [data-f-top] { gap: 28px !important; }
  [data-f-top] > div > div { margin-top: 20px !important; }
  [data-f-bot] > span:first-child { display: none !important; }
  [data-f-bot] a { padding: 0 !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; }
  footer { padding-top: 72px !important; padding-bottom: 24px !important; }
  [data-f-mid] { margin-top: 56px !important; }
  [data-f-bot] { margin-top: 32px !important; padding-top: 20px !important; font-size: 13px !important; }
  [data-tag-lg] { font-size: 34px !important; }
  section { scroll-margin-top: 72px !important; }
  [data-cols-tight] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-numbers] { grid-template-columns: minmax(0, 1fr) !important; gap: 28px 0 !important; }
  [data-numbers] > div + div { border-left: 0 !important; border-top: 1px solid #C9D3E2 !important; padding: 24px 0 0 !important; }
  [data-stat-n] { font-size: 48px !important; }
  [data-container] { padding-left: 24px !important; padding-right: 24px !important; }
  [data-head-wrap] { padding-left: 24px !important; padding-right: 24px !important; gap: 16px !important; }
  [data-head-wrap] > a:first-child { min-width: 0 !important; }
  [data-head-wrap] > a:first-child > span { font-size: 12px !important; letter-spacing: .14em !important; gap: 10px !important; }
  header { padding-top: 20px !important; padding-bottom: 20px !important; }
  [data-sectors-txt] { padding: 56px 24px !important; }
  [data-slider] { min-height: 600px !important; }
  [data-pag] { left: 24px !important; right: 24px !important; top: 36px !important; }
  [data-pag] a { font-size: 20px !important; height: 104px !important; padding: 0 12px !important; }
  [data-slider-desc] { left: 24px !important; right: 24px !important; bottom: 36px !important; }
  [data-slider-desc] p { font-size: 14.5px !important; line-height: 1.5 !important; }
  [data-hero]:not([data-hero-home]) { padding-top: 132px !important; padding-bottom: 56px !important; }
  [data-hero-copy] { padding-top: 110px !important; padding-bottom: 32px !important; }
  [data-hero-home] { height: max(560px, 100svh) !important; min-height: 560px !important; }
  [data-hero-title] { height: auto !important; min-height: 3.6em !important; }
  [data-f-bot] { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  [data-f-bot] > span { display: flex !important; }
  [data-btn] { min-width: 0 !important; max-width: 100% !important; width: 100% !important; white-space: normal !important; }
  [data-btn-row] { flex-direction: column !important; align-items: stretch !important; }
  [data-stack] { flex-direction: column !important; align-items: flex-start !important; }
  [data-stack] > * { width: 100% !important; }
  [data-select-wrap] { min-width: 0 !important; width: 100% !important; }
  [data-modal] { padding: 0 !important; }
  [data-modal] > div { border-radius: 0 !important; min-height: 100vh !important; }
  [data-modal-head] { padding: 24px 24px 72px !important; }
  [data-modal-body] { padding: 0 24px 40px !important; }
  [data-portrait-lg] { max-width: 160px !important; margin-top: -56px !important; }
  [data-journey] { display: none !important; }
  [data-journey-list] { display: flex !important; }
  [data-tabpanel] ul, [data-tabpanel] ol { padding-left: 44px !important; padding-right: 24px !important; }
  h1, h2, h3 { overflow-wrap: anywhere; }
  [data-tag-lg] { font-size: 34px !important; }
  [data-wm] { width: 260px !important; height: 270px !important; margin-left: -130px !important; }
}
@media (max-width: 420px) {
  [data-container] { padding-left: 20px !important; padding-right: 20px !important; }
  [data-head-wrap] { padding-left: 20px !important; padding-right: 20px !important; }
  [data-cols-tight] { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Hero headline: one line on desktop; wraps to two below 900px */
@media (max-width: 899px) { [data-hero-line] { white-space: normal !important; text-wrap: balance; } [data-hero-title] { height: 2.4em !important; font-size: clamp(30px, 6.2vw, 48px) !important; } }

/* Tombstones on phones: text wraps instead of overflowing; tile grows to fit */
@media (max-width: 600px) {
  [data-tile-ts] { height: auto !important; aspect-ratio: auto !important; min-height: 300px !important; padding: 18px 14px 14px !important; }
  [data-tile-ts] [data-ts-action] { font-size: 10px !important; line-height: 1.3 !important; }
  [data-tile-ts] [data-ts-logo] + div { height: auto !important; min-height: 152px !important; }
  [data-tile-ts] [data-ts-logo] span { font-size: 15px !important; }
}

/* Tombstone grids: four columns on wide screens, two below 1024px; tiles keep a portrait ratio at tablet widths */
@media (max-width: 1023px) {
  [data-tiles-ts] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  [data-tile-ts] { height: auto !important; aspect-ratio: 4 / 5; min-height: 320px !important; }
}
@media (max-width: 767px) {
  [data-tiles-ts] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}

/* Home services columns: 2-up below 1200px (keeps titles on two lines), stacked on phones; vertical dividers become row rules */
@media (max-width: 1199px) {
  [data-svc-cols] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-svc-col] { min-height: 0 !important; padding: 32px 24px !important; border-bottom: 1px solid #C9D3E2 !important; }
  [data-svc-col]:nth-child(even) { border-right: 0 !important; }
  [data-svc-col]:nth-last-child(-n+2) { border-bottom: 0 !important; }
  [data-svc-col] h3 { min-height: 0 !important; font-size: clamp(28px, 4vw, 36px) !important; }
}
@media (max-width: 600px) {
  [data-svc-cols] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-svc-col] { border-right: 0 !important; padding: 28px 20px !important; border-bottom: 1px solid #C9D3E2 !important; }
  [data-svc-col]:nth-last-child(-n+2) { border-bottom: 1px solid #C9D3E2 !important; }
  [data-svc-col]:last-child { border-bottom: 0 !important; }
  [data-svc-col] > span:first-child { white-space: normal !important; flex-wrap: wrap !important; line-height: 1.5 !important; }
}
