/* Selected directions: brand case stories + a storyboard of real deliverables. */
.case-section-intro,.delivery-intro { max-width: 48rem; margin: 1rem 0 2rem; color: #617480; font-size: 1.125rem; line-height: 1.8; }
.case-picker,.case-index { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2.5rem; }
.case-picker[hidden],.case-story[hidden] { display: none; }
.case-picker button,.case-index a { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid #c4d2d9; color: #03346e; background: transparent; font: 500 1rem/1.5 var(--body); text-decoration: none; border-radius: 999px !important; cursor: pointer; }
.case-picker button:hover,.case-index a:hover { background: #e5edf0; }
.case-picker button[aria-pressed="true"] { color: #fff; background: #03346e; border-color: #03346e; }
.case-picker button:focus-visible,.case-index a:focus-visible,.case-story__link:focus-visible,.deliver-detail summary:focus-visible { outline: 3px solid #6eacda; outline-offset: 5px; }
.case-stories { display: grid; gap: 6rem; }
.case-story { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); scroll-margin-top: calc(var(--header-h) + 2rem); }
.case-story__media { width: 100%; margin: 0; padding: 1.5rem; display: flex; justify-content: center; background: #e5edf0; overflow: hidden; border-radius: 16px !important; }
.case-story__media img,.case-story__media video { display: block; width: auto; max-width: 100%; height: 440px; object-fit: contain; border-radius: 8px !important; }
.case-story__media video { aspect-ratio: 9 / 16; background: #021526; }
.case-story:nth-child(3n+2) .case-story__media { background: #dcebf2; }
.case-story:nth-child(3n) .case-story__media { background: #e8ead8; }
.case-story__category { margin: 0 0 1rem; color: #617480; font-size: .9375rem; font-weight: 550; }
.case-story__category span { color: #a8b9c1; padding-inline: .45rem; }
.case-story .case-story__copy h2,.case-story .case-story__copy h3 { margin: 0 0 1.3rem; color: #021526; font-size: clamp(2rem,3.3vw,3rem); line-height: 1.25; font-weight: 650; letter-spacing: -.035em; }
.case-story__lead { margin: 0 0 1rem; color: #03346e; font-size: clamp(1.2rem,1.65vw,1.5rem); font-weight: 600; line-height: 1.6; }
.case-story__description { margin: 0; max-width: 34rem; font-size: 1.0625rem; color: #617480; line-height: 1.85; }
.case-story__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.6rem 0; padding-top: 1.25rem; border-top: 1px solid #cfdbdf; }
.case-story__facts dt { color: #617480; font-size: .8125rem; margin-bottom: .35rem; }
.case-story__facts dd { margin: 0; color: #021526; font-size: 1rem; font-weight: 550; }
.case-story__link { display: inline-flex; min-height: 44px; align-items: center; gap: 1.7rem; color: #03346e; font-size: 1.0625rem; font-weight: 600; text-decoration: underline; text-underline-offset: .3em; }
.case-story__link:hover { color: #021526; }
.case-story__hint { font-size: .9375rem; color: #617480; }
.case-collection { padding-block: 1rem 5rem; }
.case-collection .case-stories { gap: 5rem; }
.case-collection .case-story + .case-story { padding-top: 5rem; border-top: 1px solid #dce4e7; }
.case-stories--home .case-story { min-height: 488px; }
.delivery-section { margin-bottom: clamp(4rem,7vw,7rem); }
.delivery-eyebrow { margin: 0 0 1rem; font-size: .9375rem; color: #617480; }
.deliver-journey { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; list-style: none; margin: 2.5rem 0 0; padding: 0; }
.deliver-step { min-width: 0; }
.deliver-art { height: 218px; position: relative; display: flex; justify-content: center; align-items: center; padding: 1.1rem; margin-bottom: 1.5rem; background: #e5edf0; border-radius: 14px !important; overflow: hidden; }
.deliver-paper { width: 100%; max-width: 230px; background: #fff; color: #021526; padding: 1rem; box-shadow: 0 8px 18px #02152609; border-radius: 8px !important; }
.deliver-paper__caption { display: block; font-size: .8125rem; font-weight: 650; margin-bottom: .8rem; }
.deliver-check { display: flex; align-items: center; gap: .4rem; margin: .5rem 0; font-size: .6875rem; white-space: nowrap; }
.deliver-check i { font-size: .7rem; font-style: normal; color: #03346e; background: #e5edf0; width: 1rem; height: 1rem; display: inline-grid; place-items: center; border-radius: 4px !important; }
.deliver-paper__foot { display: block; margin-top: .9rem; font-size: .625rem; color: #75868e; }
.deliver-art--script { background: #dcebf2; }
.script-line { display: grid; grid-template-columns: 2.5rem 1fr; gap: .4rem; align-items: center; margin: .55rem 0; font-size: .6875rem; }
.script-line b { background: #e2e2b6; padding: .25rem; font-weight: 550; text-align: center; }
.deliver-art--film { flex-direction: column; background: #03346e; color: #e2e2b6; gap: .75rem; }
.deliver-screen { width: 100%; max-width: 240px; padding: .7rem 1rem; background: #021526; border-radius: 8px !important; }
.deliver-screen__label { font-size: .625rem; }
.deliver-screen svg { display: block; height: 46px; width: 46px; margin: .4rem auto .8rem; }
.deliver-screen__timeline { display: flex; gap: .25rem; height: 10px; }
.deliver-screen__timeline i { flex: 1; background: #6eacda; border-radius: 2px !important; }
.deliver-screen__timeline i:nth-child(2) { background: #e2e2b6; flex: 1.5; }
.deliver-art__stamp { font-size: .6875rem; }
.deliver-art--review { background: #e8ead8; }
.deliver-chart { display: flex; align-items: flex-end; justify-content: space-between; height: 80px; gap: .7rem; padding: 0 .3rem; border-bottom: 1px solid #dce4e7; }
.deliver-chart span { width: 22%; height: var(--bar); background: #03346e; border-radius: 5px 5px 0 0 !important; }
.deliver-chart span:nth-child(2n) { background: #6eacda; }
.deliver-step__phase { display: flex; gap: .8rem; margin: 0 0 .6rem; color: #617480; font-size: .8125rem; font-weight: 550; }
.deliver-step h3 { font-size: clamp(1.125rem,1.6vw,1.5rem); color: #021526; font-weight: 600; line-height: 1.5; margin: 0 0 .6rem; }
.deliver-step__output { font-size: .875rem; font-weight: 600; color: #03346e; margin: 0 0 .55rem; }
.deliver-step__description { color: #617480; font-size: 1rem; line-height: 1.8; margin: 0; }
.deliver-detail { margin-top: 1.25rem; border-top: 1px solid #c9d7de; }
.deliver-detail summary { min-height: 48px; padding-top: .75rem; display: flex; align-items: center; justify-content: space-between; list-style: none; gap: .5rem; font-size: .9375rem; font-weight: 550; color: #03346e; cursor: pointer; }
.deliver-detail summary::-webkit-details-marker { display: none; }
.deliver-detail[open] summary > span { transform: rotate(45deg); }
.deliver-detail p,.deliver-detail ul { font-size: .9375rem; line-height: 1.85; color: #617480; padding: 0; margin: .8rem 0 0; }
.deliver-detail ul { padding-left: 1.1rem; }
.delivery-note { margin: 1.5rem 0 0; color: #75868e; font-size: .875rem; line-height: 1.7; }
.capability-gallery,.engagement-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; margin-top: 2.5rem; }
.capability__visual { display: grid; place-items: center; min-height: 220px; padding: 1.5rem; margin-bottom: 1.5rem; background: #e5edf0; border-radius: 14px !important; }
.capability h3,.engagement-paths h3 { font-size: 1.5rem; line-height: 1.5; margin: 0 0 .7rem; color: #021526; }
.capability > p,.engagement-paths article > p { color: #617480; font-size: 1.0625rem; line-height: 1.8; margin: 0; }
.topic-map { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; width: 100%; align-items: center; font-size: .8125rem; text-align: center; }
.topic-map span,.topic-map b { padding: .8rem .35rem; background: #fff; border-radius: 6px !important; }
.topic-map b { background: #03346e; color: #fff; grid-column: 2; grid-row: 1 / 3; min-height: 90px; display: grid; place-items: center; }
.topic-map span:last-child { grid-column: 1 / -1; background: #e2e2b6; }
.mini-kanban { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; width: 100%; font-size: .75rem; text-align: center; }
.mini-kanban b { display: block; font-weight: 550; margin-bottom: .7rem; color: #617480; }
.mini-kanban span { display: block; background: #fff; padding: .55rem .3rem; margin-bottom: .4rem; border-radius: 5px !important; }
.mini-kanban div:last-child span { background: #e2e2b6; }
.mini-workflow { display: flex; flex-direction: column; align-items: center; width: 100%; font-size: .8125rem; }
.mini-workflow span { padding: .5rem 1rem; background: #fff; border-radius: 6px !important; }
.mini-workflow span:last-child { color: #fff; background: #03346e; }
.mini-workflow i { line-height: 1.5; color: #6eacda; font-style: normal; }
.engagement-paths article { padding: 1.8rem; background: #edf2f4; border-radius: 14px !important; }
.engagement-paths article > .engagement-paths__need { color: #03346e; font-size: .875rem; margin-bottom: .65rem; }
.engagement-paths__tag { display: inline-block; color: #03346e; margin-top: 1.5rem; padding: .35rem .85rem; background: #e2e2b6; font-size: .8125rem; border-radius: 999px !important; }
@media (max-width: 70rem) {
 .deliver-journey { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 1.5rem; }
 .capability-gallery,.engagement-paths { gap: 1.2rem; }
 .capability__visual { padding: 1rem; }
 .engagement-paths article { padding: 1.25rem; }
 .case-story { gap: 2.5rem; }
 .case-story__media { padding: 1rem; }
 .case-story__media img,.case-story__media video { height: 380px; }
}
@media (max-width: 48rem) {
 .case-story { grid-template-columns: 1fr; gap: 1.6rem; }
 .case-story__media { padding: 1.25rem; }
 .case-story__media img,.case-story__media video { height: min(100vw,420px); }
 .case-story__category { margin-bottom: .7rem; }
 .case-story .case-story__copy h2,.case-story .case-story__copy h3 { font-size: 2rem; margin-bottom: 1rem; }
 .case-story__description { font-size: 1rem; }
 .case-stories--home .case-story { min-height: 0; }
 .case-picker,.case-index { gap: .5rem; margin-bottom: 1.8rem; }
 .case-picker button,.case-index a { font-size: .875rem; padding: .55rem .85rem; }
 .case-collection .case-stories { gap: 3rem; }
 .case-collection .case-story + .case-story { padding-top: 3rem; }
 .capability-gallery,.engagement-paths { grid-template-columns: 1fr; gap: 2.5rem; }
 .capability__visual { min-height: 230px; padding: 1.5rem; }
 .mini-kanban,.topic-map,.mini-workflow { max-width: 300px; }
 .delivery-section { margin-bottom: 4rem; }
}
@media (max-width: 37rem) {
 .deliver-journey { grid-template-columns: 1fr; gap: 2.6rem; }
 .deliver-art { height: 230px; margin-bottom: 1.1rem; }
 .deliver-step h3 { font-size: 1.5rem; }
 .deliver-step__description { max-width: 30rem; }
 .deliver-paper { max-width: 260px; padding: 1.25rem; }
 .deliver-paper__caption { font-size: .9375rem; }
 .deliver-check,.script-line { font-size: .8125rem; }
 .deliver-paper__foot { font-size: .75rem; }
 .deliver-art__stamp { font-size: .8125rem; }
 .deliver-screen { max-width: 250px; }
}
