/* Editorial content extends the shared ALA grid, typography and palette. */
.ct-three { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.ct-three article { border-top: 1px solid var(--ed-line); padding-top: 24px; }
.ct-three h3, .ct-story h3, .ct-job h3, .ct-contact-routing h3 { margin: 0 0 16px; font-size: 24px; line-height: 1.2; }
.ct-three p, .ct-story p, .ct-person > p:not(.ed-label), .ct-partner > p:not(.ed-label), .ct-timeline p, .ct-contact-routing p { margin: 0; font-size: 17px; line-height: 1.6; }
.ed-dark .ct-three article { border-color: rgba(117,150,166,.4); }
.ct-case { display: grid; grid-template-columns: 1fr 1.12fr; gap: 64px; align-items: start; }
.ct-case-cover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 0 64px 0; }
.ct-route { font-size: 16px; font-weight: 600; margin: 24px 0 0; padding-bottom: 20px; border-bottom: 1px solid var(--ed-line); }
.ct-client { font-size: 20px; color: var(--ed-blue); margin: 24px 0 32px; }
.ct-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; border-block: 1px solid var(--ed-line); padding: 24px 0; }
.ct-metrics strong { display: block; color: var(--ed-blue); font-size: clamp(24px,2.4vw,40px); line-height: 1.1; }
.ct-metrics span { display: block; font-size: 14px; margin-top: 10px; line-height: 1.4; }
.ct-story { display: grid; gap: 28px; margin: 32px 0; }
.ct-story h3 { font-size: 19px; margin-bottom: 8px; }
.ct-partner-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.ct-partner { display: flex; flex-direction: column; align-items: flex-start; padding: 40px; background: var(--ed-paper); border: 1px solid var(--ed-line); border-radius: 0 0 56px 0; }
.ct-wordmark { display: flex; align-items: center; gap: 20px; width: 100%; min-height: 110px; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 1px solid var(--ed-line); }
.ct-wordmark span { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 64px; background: var(--ed-blue); color: #fff; border-radius: 0 0 20px 0; font-weight: 800; font-size: 22px; }
.ct-wordmark strong { font-size: clamp(22px,2.2vw,34px); line-height: 1.1; letter-spacing: -.03em; }
.ct-partner h3 { font-size: 28px; line-height: 1.2; margin: 0 0 20px; max-width: 26ch; }
.ct-partner > p:not(.ed-label) { padding-bottom: 28px; max-width: 54ch; }
.ct-partner .ed-button { margin-top: auto; }
.ct-news { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 64px; padding-block: 56px; border-top: 1px solid var(--ed-line); }
.ct-news:first-child { padding-top: 0; border-top: 0; }
.ct-news:last-child { padding-bottom: 0; }
.ct-news > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 0 56px 0; }
.ala-editorial .ct-news h2 { font-size: clamp(28px,3vw,44px); }
.ct-news .ed-lead { margin-top: 24px; }
.ct-reading { margin-top: 28px; }
.ct-reading summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; padding: 16px 0; border-block: 1px solid var(--ed-line); font-weight: 700; }
.ct-reading summary::-webkit-details-marker, .ct-job summary::-webkit-details-marker { display: none; }
.ct-reading[open] > summary .ala-chevron, .ct-job[open] > summary .ala-chevron { transform: rotate(180deg); }
.ct-prose { padding-top: 8px; max-width: 64ch; }
.ct-prose h3 { font-size: 22px; margin: 24px 0 12px; }
.ct-prose p { font-size: 17px; line-height: 1.7; margin: 0 0 20px; }
.ct-culture > img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; border-radius: 0 0 64px 0; margin-bottom: 48px; }
.ct-job { border-top: 1px solid var(--ed-line); }
.ct-job:last-child { border-bottom: 1px solid var(--ed-line); }
.ct-job summary { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 0; cursor: pointer; }
.ct-job summary small { display: block; font-size: 14px; line-height: 1.5; color: var(--ed-blue); margin-bottom: 12px; }
.ct-job summary strong { display: block; font-size: clamp(22px,2.5vw,32px); line-height: 1.2; }
.ct-job summary > .ala-chevron { flex-shrink: 0; width: 32px; height: 32px; }
.ct-job-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 64px; padding: 8px 0 40px; }
.ct-job ul { margin: 0; padding-left: 20px; font-size: 17px; line-height: 1.65; }
.ct-job li + li { margin-top: 10px; }
.ct-job-apply { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-top: 24px; border-top: 1px solid var(--ed-line); }
.ct-job-apply p { max-width: 56ch; margin: 0; line-height: 1.6; }
.ct-job-apply .ed-button { flex-shrink: 0; }
.ct-timeline { border-top: 1px solid var(--ed-line); }
.ct-timeline article { display: grid; grid-template-columns: .45fr 1fr; gap: 64px; border-bottom: 1px solid var(--ed-line); padding: 36px 0; }
.ct-year { font-size: clamp(36px,5vw,72px); font-weight: 800; line-height: 1; color: var(--ed-steel); }
.ct-timeline h3 { margin: 0 0 16px; font-size: 28px; }
.ct-timeline p { max-width: 62ch; }
.ct-team { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.ct-person { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.ct-person img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0 0 48px 0; margin-bottom: 28px; }
.ct-person .ed-label { min-height: 3em; font-size: 12px; line-height: 1.5; margin-bottom: 12px; }
.ct-person h3 { font-size: clamp(22px,2vw,28px); line-height: 1.15; margin: 0 0 16px; }
.ct-person > p:not(.ed-label) { padding-bottom: 24px; }
.ct-person .ed-button { font-size: 15px; margin-top: auto; gap: 12px; }
.ct-section-link { margin-top: 40px; }
.ct-contact-routing { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--ed-line); }
.ct-contact-routing p { max-width: 50ch; margin-bottom: 16px; }
@media (max-width: 1100px) {
 .ct-case, .ct-news { gap: 36px; }
 .ct-team { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 28px; }
 .ct-partner { padding: 28px; }
 .ct-wordmark { gap: 16px; }
}
@media (max-width: 767px) {
 .ct-case, .ct-news, .ct-partner-grid, .ct-three, .ct-job-body, .ct-contact-routing { grid-template-columns: 1fr; gap: 32px; }
 .ct-case-cover img, .ct-news > img, .ct-culture > img { border-bottom-right-radius: 40px; }
 .ct-metrics { gap: 12px; }
 .ct-metrics strong { font-size: 24px; }
 .ct-news { padding-block: 40px; }
 .ct-job-apply { align-items: flex-start; flex-direction: column; }
 .ct-timeline article { grid-template-columns: 1fr; gap: 20px; padding-block: 28px; }
 .ct-team { gap: 36px 20px; }
 .ct-person img { border-bottom-right-radius: 32px; }
 .ct-person .ed-button { font-size: 14px; }
 .ct-contact-routing { margin-top: 40px; }
}
@media (max-width: 479px) { .ct-team { grid-template-columns: 1fr; } .ct-person .ed-label { min-height: 0; } }
