.training { position: relative; z-index: 1; overflow: clip; text-shadow: 0 1px 8px #060606, 0 1px 16px #060606; }
.training-ascii { position: fixed; inset: 0; z-index: 0; overflow: hidden; opacity: .6; pointer-events: none; }
.training-ascii canvas { width: 100%; height: 100%; max-width: none; }
.training::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #06060655, transparent 70%); pointer-events: none; }
.training-kicker,.training-label,.training-gallery figcaption,.training-person__portrait figcaption { font: .6875rem/1.25 var(--font-mono); text-transform: uppercase; letter-spacing: .015em; }
.training-label { color: var(--muted); }
.training-hero { height: 100svh; min-height: 560px; padding: clamp(84px,12svh,116px) 16px 16px; }
.training-hero__copy { display: flex; flex-direction: column; min-width: 0; height: 100%; padding: 16px 12px 12px; }
.training-kicker { color: var(--muted); }
.training-kicker span { margin: 0 8px; }
.training-hero h1 { margin-top: clamp(32px,8svh,96px); font: 300 clamp(4rem,min(9vw,18svh),10rem)/.82 var(--font-condensed); letter-spacing: -.035em; }
.training-hero h1 em,.training-cta h2 em { font-style: normal; color: var(--muted); }
.training-hero__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: auto; padding-top: clamp(24px,6svh,70px); }
.training-hero__bottom > p { max-width: 26ch; font: 300 clamp(1.5rem,2.2vw,2.5rem)/1.08 var(--font-condensed); }
.training-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.training-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 48px; padding: 0 16px; background: #fff; color: #060606; font: .6875rem/1 var(--font-mono); text-transform: uppercase; text-shadow: none; border-radius: 3px; white-space: nowrap; transition: background 180ms,color 180ms; }
.training-button:hover { background: blue; }
.training-section { margin: 0 28px; padding: 92px 0 136px; border-top: 1px solid var(--rule); }
.training-section__head { display: grid; grid-template-columns: 24% 1fr auto; align-items: start; gap: 16px; margin-bottom: 64px; }
.training-section__head h2,.training-intro h2,.training-results h2,.training-person h2 { font: 300 clamp(3rem,5.4vw,6rem)/.95 var(--font-condensed); letter-spacing: -.02em; }
.training-section__head > p:last-child:not(.training-label) { align-self: end; color: var(--muted); }
.training-intro { display: grid; grid-template-columns: 24% 41% 1fr; gap: 16px; }
.training-intro h2 span { color: var(--muted); }
.training-intro__copy { max-width: 37ch; padding-top: 4px; font-size: clamp(1rem,1.25vw,1.25rem); line-height: 1.4; }
.training-intro__copy p + p { margin-top: 24px; color: var(--muted); }
.training-format__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.training-format__grid article { display: flex; flex-direction: column; min-height: 360px; padding: 20px; background: rgb(20 20 20 / 24%); border: 1px solid rgb(255 255 255 / 10%); border-radius: 4px; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.training-format__grid article > span { font: .6875rem/1 var(--font-mono); color: var(--muted); }
.training-format__grid h3 { margin-top: auto; font: 300 clamp(2rem,3.25vw,3.7rem)/1 var(--font-condensed); }
.training-format__grid p { max-width: 34ch; margin-top: 22px; color: var(--muted); line-height: 1.35; }
.training-results { display: grid; grid-template-columns: 42% 1fr; gap: 16px; }
.training-results h2 { max-width: 10ch; margin-top: 30px; }
.training-results__intro > p:last-child { max-width: 39ch; margin-top: 30px; color: var(--muted); line-height: 1.4; }
.training-results__list > div { display: grid; grid-template-columns: 33% 1fr; gap: 16px; padding: 20px 0 42px; border-top: 1px solid var(--rule); }
.training-results__list h3 { font: 300 1.875rem/1 var(--font-condensed); }
.training-results__list li { padding: 0 0 10px; color: var(--muted); }
.training-results__list li::before { content: '↗'; display: inline-block; width: 24px; color: #fff; }
.training-gallery__grid { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); column-gap: 16px; row-gap: clamp(64px,9vw,144px); }
.training-gallery__grid figure { min-width: 0; --origin-x: 0%; --caption-shift: -60px; }
.training-gallery__frame { width: 100%; overflow: hidden; border-radius: 4px; }
.training-gallery__grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.training-gallery__grid figcaption { padding: 12px 0 0; color: var(--muted); }
.training-gallery__team { grid-column: 1 / span 5; grid-row: 1; }
.training-gallery__team .training-gallery__frame { aspect-ratio: 16 / 9; }
.training-gallery__wide { grid-column: 6 / span 3; grid-row: 2; }
.training-gallery__wide .training-gallery__frame { aspect-ratio: 4 / 3; }
.training-gallery__portrait { grid-column: 4 / span 2; grid-row: 3; --origin-x: 100%; --caption-shift: 60px; }
.training-gallery__portrait .training-gallery__frame { aspect-ratio: 4 / 5; }
.training-gallery__portrait img { object-position: center 20%; }
.training-gallery__landscape { grid-column: 6 / span 3; grid-row: 4; }
.training-gallery__landscape .training-gallery__frame { aspect-ratio: 4 / 3; }
.training-gallery--motion .training-gallery__frame { transform: scale(var(--reveal,0)); transform-origin: var(--origin-x) top; }
.training-gallery--motion .training-gallery__frame img { transform: scale(calc(3 - 2 * var(--reveal,0))); transform-origin: var(--origin-x) top; }
.training-gallery--motion figcaption { opacity: var(--reveal,0); transform: translateX(calc((1 - var(--reveal,0)) * var(--caption-shift))); }
.training-voices__grid,.training-quotes__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.training-voices__grid { gap: clamp(24px,5vw,80px); max-width: 1100px; margin-inline: auto; }
.training-voices__grid article { width: min(100%,300px,33.75svh); min-width: 0; justify-self: center; }
.training-video { aspect-ratio: 9 / 16; overflow: hidden; border-radius: 4px; background: #141414; }
.training-video iframe { width: 100%; height: 100%; border: 0; }
.training-voices__grid article > p { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0 0; font-size: .875rem; }
.training-voices__grid article > p span { color: var(--muted); text-align: right; }
.training-person__heading h2 { max-width: 19ch; margin-top: 48px; }
.training-person__story { display: grid; grid-template-columns: repeat(16,minmax(0,1fr)); gap: 8px; align-items: center; margin-top: 88px; }
.training-person__portrait { width: 100%; margin: 0; }
.training-person__portrait { grid-column: 1 / 6; max-width: 360px; }
.training-person__portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; border-radius: 4px; }
.training-person__portrait figcaption { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; }
.training-person__portrait figcaption span:last-child { color: var(--muted); text-align: right; }
.training-person__copy { grid-column: 7 / 17; max-width: 62ch; }
.training-person__role { margin: 0 0 36px; color: var(--muted); font: .6875rem/1 var(--font-mono); text-transform: uppercase; }
.training-person__copy > p:not(.training-person__role) { color: var(--muted); font-size: clamp(1rem,1.35vw,1.375rem); line-height: 1.4; }
.training-person__copy > p + p:not(.training-person__role) { margin-top: 24px; }
.training-person__copy > p:nth-child(2) { color: var(--white); font: 300 clamp(1.75rem,2.6vw,3rem)/1.12 var(--font-condensed); letter-spacing: -.01em; }
.training > .client-carousel { margin-top: 0; padding-bottom: 136px; }
.training-quotes__grid blockquote { display: flex; flex-direction: column; min-height: 360px; margin: 0; padding: 20px; background: rgb(20 20 20 / 24%); border: 1px solid rgb(255 255 255 / 10%); border-radius: 4px; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.training-quotes__grid blockquote > img { width: 72px; height: 72px; margin-bottom: 32px; border-radius: 50%; object-fit: cover; }
.training-quotes__grid blockquote > p { font: 300 clamp(1.5rem,2.1vw,2.5rem)/1.12 var(--font-condensed); }
.training-quotes__grid footer { margin-top: auto; padding-top: 50px; font-size: .875rem; }
.training-quotes__grid footer span { display: block; margin-top: 4px; color: var(--muted); }
.training-cta { padding: 100px 28px 132px; background: #f1f1eff0; color: #060606; text-shadow: none; }
.training-cta .training-label { color: #666; }
.training-cta h2 { max-width: 14ch; margin: 70px 0 30px; font: 300 clamp(4rem,7.5vw,9rem)/.9 var(--font-condensed); letter-spacing: -.025em; }
.training-cta h2 em { color: #777; }
.training-cta > p:not(.training-label) { font-size: 1.25rem; }
.training-cta .training-actions { margin-top: 64px; }
.training-cta .training-button { background: #060606; color: #fff; }
.training-cta .training-button:hover { background: #333; }
.training-cta .bracket { color: #333; }
@media (max-width:1193px) {
 .training-hero { padding-top: clamp(82px,11svh,96px); }
 .training-hero h1 { margin-top: clamp(32px,7svh,70px); }
 .training-hero__bottom { padding: clamp(24px,5svh,48px) 0 20px; }
 .training-section__head { grid-template-columns: 1fr 2fr; }
 .training-section__head > p:last-child:not(.training-label) { grid-column: 2; }
 .training-intro { grid-template-columns: 1fr 2fr; }
 .training-intro__copy { grid-column: 2; }
 .training-person__portrait { grid-column: 1 / 8; }
 .training-person__copy { grid-column: 9 / 17; }
}
@media (max-width:833px) {
 .training-ascii { opacity: .35; }
 .training-hero { height: 100svh; min-height: 620px; padding: 80px 12px 12px; }
 .training-hero__copy { padding: 0 4px; }
 .training-hero h1 { margin-top: clamp(28px,7svh,52px); font-size: clamp(3.5rem,min(14vw,12svh),7rem); }
 .training-hero__bottom { display: block; padding: clamp(20px,5svh,38px) 0 0; }
 .training-hero__bottom > p { font-size: clamp(1.35rem,6vw,1.75rem); }
 .training-actions { margin-top: clamp(20px,4svh,32px); }
 .training-section { margin: 0 16px; padding: 62px 0 80px; }
 .training-section__head,.training-intro,.training-results { display: block; }
 .training-section__head { margin-bottom: 38px; }
 .training-section__head h2,.training-intro h2,.training-results h2,.training-person h2 { margin-top: 24px; font-size: clamp(2.8rem,11vw,4.5rem); }
 .training-section__head > p:last-child:not(.training-label) { margin-top: 18px; }
 .training-intro__copy { margin-top: 32px; }
 .training-format__grid,.training-voices__grid,.training-quotes__grid { grid-template-columns: 1fr; gap: 8px; }
 .training-format__grid article { min-height: 260px; }
 .training-results__intro > p:last-child { margin: 24px 0 44px; }
 .training-results__list > div { grid-template-columns: 32% 1fr; }
 .training-results__list h3 { font-size: 1.4rem; }
 .training-gallery__grid { display: flex; flex-direction: column; gap: 60px; }
 .training-gallery__grid figure { width: 90%; }
 .training-gallery__grid figure:nth-child(even) { align-self: flex-end; }
 .training-gallery__grid .training-gallery__portrait { width: 76%; }
 .training-gallery__portrait .training-gallery__frame { aspect-ratio: 4 / 5; }
 .training-voices__grid { gap: 32px; }
 .training-voices__grid article { width: min(100%,300px); }
 .training-person__heading h2 { margin-top: 24px; }
 .training-person__story { display: block; margin-top: 48px; }
 .training-person__role { margin-bottom: 36px; }
 .training-person__portrait { max-width: 460px; margin: 0 0 48px; }
 .training-person__portrait img { aspect-ratio: 4 / 3; object-position: center 32%; }
 .training-quotes__grid blockquote { min-height: 240px; }
 .training-cta { padding: 80px 16px 96px; }
 .training-cta h2 { margin-top: 50px; font-size: clamp(3.7rem,13vw,6.5rem); }
}

.training-video__cover { position: relative; display: block; width: 100%; height: 100%; background: #141414; overflow: hidden; text-shadow: none; }
.training-video__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.training-video__cover::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgb(0 0 0 / .8)); pointer-events: none; }
.training-video__play { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 64px; height: 64px; padding-left: 4px; border-radius: 50%; background: rgb(6 6 6 / .75); color: white; border: 1px solid rgb(255 255 255 / .45); font-size: 24px; }
.training-video__label { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 20px; color: white; text-align: center; font: .6875rem/1.4 var(--font-mono); text-transform: uppercase; }
.training-video__cover:hover .training-video__play { background: #0055ff; }
.training-video__cover:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
