/* Shared case overview: brief, ordered architecture, then concrete capabilities. */
.study-page .case-overview { padding-block:56px 64px; }
.overview-heading { display:block; margin-bottom:32px; }
.study-page .overview-heading h2 { margin:0 0 14px; }
.study-page .overview-heading>p { margin:0; font-size:15px; line-height:1.7; max-width:66ch; }
.overview-briefs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.overview-brief { min-width:0; padding:24px; border:1px solid var(--panel-line); border-radius:16px; background:var(--surface); }
.overview-brief--goal { background:color-mix(in srgb,var(--lime) 22%,var(--surface-raised)); }
.study-page .overview-brief .overview-brief-label { margin:0 0 14px; font-size:12px; line-height:1.4; font-weight:600; color:var(--text-main); }
.study-page .overview-brief h3 { margin:0 0 10px; font-size:19px; line-height:1.35; letter-spacing:-.025em; }
.study-page .overview-brief>p:last-child { margin:0; font-size:14px; line-height:1.65; }
.overview-system { padding:24px; margin-top:32px; background:var(--surface); border:1px solid var(--panel-line); border-radius:16px; scroll-margin-top:calc(var(--case-header-height) + var(--case-navigation-height,58px) + 24px); }
.overview-system-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:20px; }
.study-page .overview-system-heading h3 { margin:0; font-size:18px; }
.study-page .overview-system-heading>p { margin:0; font-size:12px; }
.overview-route { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.overview-stage { position:relative; display:flex; flex-direction:column; gap:12px; min-width:0; padding:18px 14px; background:var(--surface-raised); border:1px solid var(--panel-line); border-radius:12px; }
.overview-stage--ai { background:color-mix(in srgb,var(--lime) 28%,var(--surface-raised)); }
.overview-stage-role { font-size:12px; line-height:1.5; color:var(--text-secondary); font-variant-numeric:tabular-nums; }
.overview-stage strong { font-size:15px; line-height:1.4; font-weight:650; letter-spacing:-.02em; }
.study-page .overview-stage>p { margin:0; font-size:13px; line-height:1.6; }
.overview-connector { position:absolute; z-index:1; width:18px; height:18px; right:-18px; top:calc(50% - 9px); color:var(--text-main); }
.overview-capabilities { margin-top:32px; }
.study-page .overview-capabilities>h3 { margin:0 0 20px; font-size:20px; }
.overview-matrix { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; border-top:1px solid var(--panel-line); border-left:1px solid var(--panel-line); }
.overview-matrix>div { min-width:0; padding:24px; border-right:1px solid var(--panel-line); border-bottom:1px solid var(--panel-line); }
.overview-matrix dt { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; min-height:26px; font-size:15px; line-height:1.4; font-weight:650; }
.overview-matrix dd { margin:0; font-size:14px; line-height:1.7; color:var(--text-secondary); }
.overview-service-marks { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.overview-service-marks:empty { display:none; }
.overview-service-marks img { display:block; width:24px; height:24px; object-fit:contain; }
.overview-service-marks img.overview-wordmark { width:72px; }
.overview-details { margin-top:20px; border:1px solid var(--panel-line); border-radius:12px; scroll-margin-top:calc(var(--case-header-height) + var(--case-navigation-height,58px) + 24px); }
.overview-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:18px 24px; font-size:14px; line-height:1.5; font-weight:600; cursor:pointer; list-style:none; }
.overview-details summary::-webkit-details-marker { display:none; }
.overview-details summary svg { flex-shrink:0; }
.overview-details[open] summary svg { transform:rotate(45deg); }
.overview-details summary:focus-visible { outline:2px solid var(--text-main); outline-offset:4px; border-radius:12px; }
.overview-connections { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; list-style:none; margin:0 24px 24px; padding:24px 0 0; border-top:1px solid var(--panel-line); }
.overview-connections li { min-width:0; }
.overview-connections .study-brand { margin-bottom:10px; }
.study-page .overview-connections p { margin:0; font-size:14px; line-height:1.7; }
@media(max-width:1100px) {
  .overview-brief { padding:20px; }
  .overview-route { grid-template-columns:1fr; gap:14px; }
  .overview-stage { display:grid; grid-template-columns:150px minmax(0,1fr); gap:6px 24px; padding:18px 20px; }
  .overview-stage-role { grid-column:1; grid-row:1 / 3; align-self:center; font-size:12px; }
  .overview-stage strong,.study-page .overview-stage>p { grid-column:2; }
  .overview-stage strong { font-size:16px; }
  .study-page .overview-stage>p { font-size:13px; }
  .overview-connector { right:auto; left:42px; top:auto; bottom:-16px; transform:rotate(90deg); }
  .overview-matrix>div { padding:20px; }
  .overview-matrix dt { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media(max-width:800px) {
  .study-page .overview-heading>p { margin:0; max-width:62ch; }
  .overview-briefs { grid-template-columns:1fr; gap:12px; }
  .overview-brief { padding:22px 24px; }
  .overview-matrix { grid-template-columns:1fr 1fr; }
  .overview-matrix dt { flex-direction:row; align-items:center; }
}
@media(max-width:650px) {
  .study-page .case-overview { padding-block:32px 44px; }
  .overview-heading { margin-bottom:24px; }
  .study-page .overview-heading h2 { font-size:29px; }
  .study-page .overview-heading>p { font-size:14px; }
  .overview-brief { padding:20px; }
  .study-page .overview-brief h3 { font-size:18px; }
  .study-page .overview-brief .overview-brief-label { margin-bottom:12px; }
  .overview-system { margin-top:24px; padding:18px; }
  .overview-system-heading { display:block; margin-bottom:18px; }
  .study-page .overview-system-heading>p { margin-top:6px; }
  .overview-stage { grid-template-columns:1fr; gap:8px; padding:16px; }
  .overview-stage-role { grid-column:1; grid-row:auto; font-size:11px; }
  .overview-stage strong,.study-page .overview-stage>p { grid-column:1; }
  .overview-connector { left:24px; }
  .overview-capabilities { margin-top:24px; }
  .study-page .overview-capabilities>h3 { font-size:19px; margin-bottom:16px; }
  .overview-matrix { grid-template-columns:1fr; }
  .overview-matrix>div { padding:20px; }
  .overview-matrix dt { font-size:15px; }
  .overview-connections { grid-template-columns:1fr; gap:24px; margin:0 20px 20px; padding-top:20px; }
  .overview-details summary { padding-inline:20px; }
}
