/* Completed lecture references: existing navy/white palette, natural photo ratios. */
.case-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:27px;font-size:.875rem;color:var(--muted);line-height:1.8}
.case-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.training-cases-page .shell{max-width:1040px}
.training-cases-page .page-heading{padding-top:28px;padding-bottom:32px}
.training-cases-page .page-heading h1{font-size:clamp(2rem,4.1vw,3.25rem);max-width:900px;word-break:keep-all;overflow-wrap:anywhere;line-height:1.35}
.training-cases-page .page-lead{max-width:820px;font-size:1.0625rem}
.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-block:1px solid var(--line);padding-block:21px;margin-bottom:34px}
.case-facts dt{font-size:.8125rem;color:var(--muted);margin-bottom:7px}
.case-facts dd{margin:0;font-size:.9375rem;font-weight:650;line-height:1.7;word-break:keep-all}
.case-hero-photo img{display:block;width:100%;height:auto;border-radius:4px}
.case-hero-photo figcaption{margin-top:12px;font-size:.8125rem;color:var(--muted);line-height:1.7}
.case-story{max-width:800px!important;padding-top:44px;padding-bottom:44px}
.case-story h2{font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.5;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}
.case-story p{font-size:1rem;line-height:1.95;color:var(--muted)}
.case-story .eyebrow{font-size:.8125rem;color:var(--blue);margin-bottom:12px;font-weight:700}
.case-context>p:not(.eyebrow){margin-top:18px}
.case-curriculum{margin-top:44px}
.case-curriculum ol{counter-reset:case-part;list-style:none;margin-top:23px;padding:0}
.case-curriculum li{counter-increment:case-part;display:flex;gap:23px;border-top:1px solid var(--line);padding-block:24px}
.case-curriculum li::before{content:"0" counter(case-part);font-size:.9375rem;color:var(--blue);font-weight:700;padding-top:3px}
.case-curriculum h3{font-size:1.1875rem;line-height:1.55;letter-spacing:-.025em}
.case-curriculum li p{margin-top:11px}
.case-focus{background:var(--pale);border-left:3px solid var(--blue);padding:29px 32px;margin-top:18px}
.case-focus>p:last-child{margin-top:16px}
.case-questions{margin-top:38px}
.case-questions ul{padding-left:22px;list-style:disc;margin-top:18px;color:var(--muted);font-size:1rem;line-height:1.9}
.case-questions li+li{margin-top:10px}
.case-inquiry{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-block:35px 43px}
.case-inquiry h2{font-size:1.65rem;line-height:1.5;letter-spacing:-.035em;margin-top:12px}
.case-inquiry p:not(.eyebrow){max-width:620px;font-size:1rem;color:var(--muted);line-height:1.85;margin-top:14px}
.case-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start;flex-shrink:0}
.case-actions .button{text-align:center;line-height:1.65}
.case-next{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:28px;padding-block:23px 48px;font-size:.9375rem}
.case-related{display:grid;gap:22px;max-width:480px;text-align:right;line-height:1.8}
.case-related a{display:block}
.case-next span{font-size:.8125rem;color:var(--muted);display:block;margin-bottom:5px}
.case-next a:hover,.case-breadcrumb a:hover{color:var(--blue)}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-bottom:52px}
.case-card{min-width:0}
.case-card>a{display:block;height:100%;border-bottom:1px solid var(--line);padding-bottom:25px}
.case-card-photo{aspect-ratio:16/10;background:var(--pale);overflow:hidden;border-radius:4px}
.case-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.case-card-copy{padding-top:20px}
.case-card-meta{display:flex;gap:8px 15px;flex-wrap:wrap;color:var(--muted);font-size:.8125rem}
.case-card h2,.case-card h3{font-size:1.5rem;line-height:1.5;letter-spacing:-.035em;margin-top:13px;word-break:keep-all;overflow-wrap:anywhere}
.case-card-copy>p:not(.case-card-meta){font-size:.9375rem;color:var(--muted);line-height:1.9;margin-top:14px}
.case-card-link{display:inline-block;margin-top:19px;font-size:.9375rem;font-weight:700;color:var(--blue)}
.case-card a:hover h2,.case-card a:hover h3{color:var(--blue)}
.case-card a:focus-visible,.case-next a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.training-case-entry{display:flex;justify-content:space-between;gap:22px;align-items:center;background:var(--pale);border-left:3px solid var(--blue);padding:20px 24px;margin-bottom:36px}
.training-case-entry p{font-size:.9375rem;color:var(--muted);line-height:1.8}
.training-case-entry strong{display:block;color:var(--ink);font-size:1.0625rem;margin-bottom:4px}
.training-case-entry a{flex-shrink:0}
.activity-list .case-activity-link{display:inline-block;margin-top:7px;font-size:.875rem;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.case-inquiry{align-items:flex-start;flex-direction:column;gap:23px}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.training-case-entry{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){.case-grid{grid-template-columns:1fr;gap:32px;padding-bottom:35px}.training-cases-page .page-heading{padding-top:23px}.case-story{padding-top:31px;padding-bottom:31px}.case-curriculum{margin-top:32px}.case-focus{padding:24px}.case-curriculum li{gap:15px}.case-next{flex-direction:column;gap:23px}.case-related{text-align:left}.case-hero-photo figcaption{font-size:.8125rem}}

/* Anonymous follow-up messages from one workshop participant. */
.case-testimonials{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}
.case-review-intro{margin-top:16px}
.case-review-timeline{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:18px}
.case-review-timeline li{position:relative;padding:26px 30px;background:var(--pale);border-left:3px solid var(--blue)}
.case-story .case-review-stage{font-size:.8125rem;color:var(--blue);font-weight:700;margin:0 0 9px}
.case-review-timeline h3{font-size:1.1875rem;line-height:1.6;word-break:keep-all}
.case-review-timeline blockquote{margin:16px 0 0}
.case-review-timeline blockquote p{font-size:1.0625rem;color:var(--ink);line-height:1.9;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.case-story .case-review-note{font-size:.8125rem;line-height:1.8;margin-top:15px}
@media(max-width:700px){.case-testimonials{margin-top:34px;padding-top:27px}.case-review-timeline li{padding:22px}.case-review-timeline blockquote p{font-size:1rem}}

/* Preserve original event photos; frame out their black side borders on the page. */
.case-photo-frame{overflow:hidden;border-radius:4px}
.case-photo-frame img{display:block;width:100%;height:auto}
.case-photo-frame--wide{aspect-ratio:16/9;background:var(--pale)}
.case-photo-frame--wide img{width:100%;height:100%;object-fit:cover;object-position:center}
.case-gallery{margin:16px 0 38px}
.case-gallery h2{margin-bottom:20px}
.case-detail-photo{margin:0}
.case-detail-photo figcaption{margin-top:12px;font-size:.8125rem;color:var(--muted);line-height:1.7}
.case-detail-photo+.case-detail-photo{margin-top:24px}
@media(max-width:700px){.case-gallery{margin-bottom:28px}}

/* Source-coordinate framing: enlarge the event stage without altering the photos. */
.case-photo-frame--focused{position:relative;aspect-ratio:var(--frame-ratio);overflow:hidden}
.case-photo-frame--focused img{position:absolute;left:var(--frame-left);top:var(--frame-top);width:var(--frame-width);height:var(--frame-height);max-width:none;object-fit:fill;border-radius:0}

/* Keep small documentary source photos within their native cropped width. */
.training-cases-page .case-hero-photo.case-hero-photo--native{max-width:var(--photo-native-width)}

/* Case discovery on the homepage, sharing the same cards and photo treatment. */
.home-cases{padding-block:24px 48px;border-top:1px solid var(--line)}
.home-cases .home-section-heading{align-items:flex-end;gap:24px}
.home-cases .home-section-heading h2{margin-top:12px}
.home-cases .home-section-heading>a{flex-shrink:0}
.home-cases-lead{margin-top:16px;font-size:1rem;color:var(--muted);line-height:1.8}
.home-cases .case-grid{margin-top:26px;padding-bottom:0}
.home-cases .case-card h3{font-size:1.375rem}
@media(max-width:700px){.home-cases{padding-block:24px 34px}.home-cases .home-section-heading{align-items:flex-start;flex-direction:column;gap:9px}.home-cases .case-grid{margin-top:20px}}
