.practice-section { padding-block: 96px 112px; border-top: 1px solid var(--line); }
.practice-section h3 { font-size: 23px; font-weight: 500; letter-spacing: -.5px; line-height: 1.4; margin: 0 0 12px; }
.practice-section p { max-width: 58ch; }
.practice-section a { font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; min-height: 44px; }
.toolkit-intro { color: var(--muted); margin: 16px 0 0; font-size: 18px; line-height: 1.7; }
.toolkit-hint { color: var(--muted); font-size: 14px; margin: 0; }
.practice-number { color: var(--blue); font-size: 12px; font-weight: 600; letter-spacing: 1px; }
.capability-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.capability-list article { border-top: 1px solid var(--line); padding-block: 32px; }
.capability-list article > span { padding-top: 7px; }
.capability-list p, .approach-grid p, .highlights-list p { color: var(--muted); font-size: 16px; line-height: 1.7; margin: 0 0 10px; }
.practice-section .practice-footnote { margin: 28px 0 0; color: var(--muted); font-size: 14px; max-width: 75ch; }
.approach-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.approach-grid article { border-top: 3px solid var(--yellow); padding-top: 24px; }
.approach-grid h3 { margin-top: 19px; }
.approach-grid p { font-size: 15px; }
.approach-list { margin: 0; }
.approach-list > div { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr); gap: 56px; border-top: 1px solid var(--line); padding-block: 30px; }
.approach-list dt { font-size: 21px; font-weight: 500; line-height: 1.5; }
.approach-list dd { margin: 0; max-width: 62ch; color: var(--muted); font-size: 17px; line-height: 1.75; }
.highlights-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.highlights-list article { padding: 25px 0; border-top: 1px solid var(--line); }
.highlights-list .eyebrow { color: var(--blue); font-size: 10px; margin-bottom: 15px; }
.link-note { font-size: 11px; font-weight: 400; color: var(--muted); margin-left: 10px; text-decoration: none; }
.questions-list { max-width: 850px; }
.questions-list details { border-top: 1px solid var(--line); padding: 10px 0; }
.questions-list details:last-child { border-bottom: 1px solid var(--line); }
.questions-list summary { cursor: pointer; padding: 15px 28px 15px 0; font-size: 19px; font-weight: 500; }
.questions-list details p { color: var(--muted); margin: 4px 0 15px; }
.contact-section h2 { font-family: var(--display); font-weight: 400; line-height: 1.65; margin-top: 22px; }
.contact-section h2 { font-family: var(--body); margin-top: 0; font-weight: 500; line-height: 1.3; }
.contact-deck { color: var(--muted); font-size: 18px; margin-block: 24px 40px; }
.contact-slots { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; margin: 0; }
.contact-slots > div { border-top: 1px solid var(--line); padding-top: 20px; }
.contact-slots dt { font-weight: 600; font-size: 16px; }
.contact-slots dd { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
.contact-pending { font-size: 12px; color: var(--muted); margin: 30px 0 0; }
.footer-sections { display:flex; flex-wrap:wrap; gap: 12px 24px; }
.footer-sections a { min-height:44px; }
.site-header nav { flex-wrap:wrap; gap: 8px 22px; justify-content:flex-end; }
.case-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; margin: 16px 0 32px; }
.case-facts div { border-top: 1px solid var(--line); padding-top: 16px; }
.case-facts dt { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }
.case-facts dd { margin: 6px 0 0; font-size: 15px; line-height: 1.6; }
.case-jumps { display: flex; flex-wrap: wrap; gap: 8px 24px; border-block: 1px solid var(--line); padding-block: 16px; margin-bottom: 28px; }
.case-jumps button { border: 0; background: none; color: var(--blue); padding: 8px 0; min-height: 44px; font-size: 13px; text-align: left; }
.case-related { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 40px; }
.case-related button { display: inline-block; margin: 8px 24px 8px 0; border: 0; padding: 10px 0; min-height: 44px; background: none; color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.case-process-section, .case-tools-section { padding-block: 28px 34px; margin-block: 28px; border-top: 1px solid var(--line); }
.case-process-section h3, .case-tools-section h3 { font-size: 25px; font-weight: 500; line-height: 1.4; }
.case-process-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 0; margin: 28px 0 0; list-style: none; }
.case-process-steps li { border-left: 3px solid var(--blue); padding: 18px 22px; background: #eef1fb; }
.case-process-steps li:nth-child(3n+2) { background: var(--soft-yellow); border-color: #8a6611; }
.case-process-steps li:nth-child(3n) { background: var(--mint); border-color: #49633a; }
.case-process-steps li.process-planned { background: transparent; border: 1px dashed var(--muted); }
.process-step-label { font-size: 11px; font-weight: 600; letter-spacing: 1px; }
.case-process-steps h4 { font-size: 18px; line-height: 1.4; margin: 12px 0 10px; font-weight: 600; }
.case-process-steps p { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 0; }
.case-tool-list { margin: 0; }
.case-tool-list > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; padding-block: 18px; border-bottom: 1px solid var(--line); }
.case-tool-list dt { font-size: 16px; font-weight: 600; }
.case-tool-list dd { margin: 0; font-size: 15px; color: var(--muted); line-height: 1.7; }
.process-visual { margin: 32px 0 20px; padding: 20px; background: #f0eee8; border-radius: 14px; }
.process-visual img { display: block; width: 100%; height: auto; }
.process-visual figcaption { font-size: 12px; color: var(--muted); margin-top: 14px; }
.process-visual-phone img { width: min(100%,280px); margin-inline: auto; }
.process-visual-compact img { width: min(100%,379px); margin-inline: auto; }
.case-section p.process-annotation { border-left: 3px solid var(--blue); padding-left: 20px; font-size: 16px; }
@media(max-width:1023px) { .approach-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .highlights-list { gap: 24px; } .capability-list { gap: 0 32px; } .site-header nav { gap: 4px 17px; } }
@media(max-width:699px) {
  .site-header { align-items:flex-start; flex-direction:column; gap: 16px; }
  .site-header nav { justify-content:flex-start; gap:4px 23px; }
  .site-header nav a { font-size:13px; }
  .practice-section { padding-block: 64px 72px; }
  .case-process-steps, .case-tool-list > div { grid-template-columns: 1fr; }
  .case-tool-list > div { gap: 8px; }
  .process-visual { padding: 10px; }
  .approach-list > div { grid-template-columns: 1fr; gap: 12px; padding-block: 27px; }
  .approach-list dd { font-size: 16px; }
  .capability-list,.approach-grid,.highlights-list,.contact-slots,.case-facts { grid-template-columns: 1fr; }
  .capability-list article { gap: 14px; }
  .highlights-list { gap: 8px; }
  .practice-section h3 { font-size: 23px; }
  .approach-grid { gap: 24px; }
  .contact-section h2 { font-size: 27px; }
  .contact-slots { gap: 24px; }
  .footer-sections { gap: 4px 17px; }
}
