/* Page-specific styles. The shared site stylesheet remains unchanged. */
.talent-hero {
    position: relative;
    min-height: 720px;
    padding: var(--nav-height) 0 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: #050914 url('training-hero-event-wide.jpg') center center / cover no-repeat;
}
.talent-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2,6,17,.97) 0%, rgba(2,6,17,.93) 18%, rgba(2,6,17,.82) 36%, rgba(2,6,17,.62) 52%, rgba(2,6,17,.4) 68%, rgba(2,6,17,.22) 84%, rgba(2,6,17,.14) 100%),
        linear-gradient(0deg, rgba(2,6,17,.82) 0%, rgba(2,6,17,.18) 38%, rgba(2,6,17,.08) 72%, rgba(2,6,17,.3) 100%);
}
.talent-hero-label { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; color: var(--cyan); font: 700 .72rem/1 var(--font-display); letter-spacing: .16em; }
.talent-hero-label span { width: 32px; height: 1px; background: var(--cyan); box-shadow: 0 0 10px rgba(0,255,255,.45); }
.talent-hero h1 { max-width: 760px; margin-bottom: 20px; font-size: clamp(3.1rem, 5.5vw, 5.3rem); line-height: .98; letter-spacing: -.045em; }
.talent-hero h1 span, .talent-hero h1 em { display: block; }
.talent-hero h1 span { color: #fff; }
.talent-hero h1 em { color: var(--cyan); font-style: normal; text-shadow: 0 0 32px rgba(0,255,255,.12); }
.talent-hero .sub-hero-desc { max-width: 690px; margin-bottom: 0; color: rgba(218,225,239,.72); font-size: .92rem; line-height: 2; }
.talent-hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 22px; }
.talent-hero-actions .btn { min-width: 148px; justify-content: center; }
.talent-hero-link { color: var(--text-primary); font-size: .78rem; letter-spacing: .08em; }
.talent-hero-link span { margin-left: 8px; color: var(--cyan); }
.talent-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    margin-top: 30px;
    border: 1px solid var(--border-subtle);
    background: var(--border-subtle);
}
.talent-summary > div { padding: 18px 20px; background: rgba(5, 10, 23, .82); }
.talent-summary strong { display: block; margin-bottom: 6px; color: var(--text-primary); font-family: var(--font-display); font-size: .84rem; }
.talent-summary span { color: var(--text-tertiary); font-size: .68rem; line-height: 1.6; }
.talent-path {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 32px;
    border: 1px solid var(--border-subtle);
}
.talent-step { position: relative; min-height: 210px; padding: 28px 24px; border-right: 1px solid var(--border-subtle); }
.talent-step:last-child { border-right: 0; }
.talent-step::after { content: '→'; position: absolute; top: 27px; right: -9px; z-index: 2; color: var(--cyan); }
.talent-step:last-child::after { display: none; }
.talent-step small { color: var(--cyan); font: 700 .66rem/1 var(--font-mono); }
.talent-step h3 { margin: 42px 0 12px; color: var(--text-primary); font-family: var(--font-display); }
.talent-step p { color: var(--text-tertiary); font-size: .78rem; line-height: 1.75; }
.course-scenes { display: grid; grid-template-columns: 1fr 1.15fr; gap: 18px; margin-top: 34px; }
.course-scene { position: relative; min-height: 360px; overflow: hidden; border: 1px solid var(--border-subtle); background: rgba(8, 15, 28, .72); }
.course-scene img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; filter: saturate(.88) contrast(1.04); transition: transform .6s ease, filter .6s ease; }
.course-scene--speaker img { object-position: 50% 32%; }
.course-scene--newmedia img { object-position: 50% 42%; }
.course-scene--women img { object-position: 50% 45%; }
.course-scene:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
.course-scene::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(3, 7, 18, .94)); pointer-events: none; }
.course-scene figcaption { position: absolute; z-index: 1; right: 24px; bottom: 22px; left: 24px; }
.course-scene figcaption strong { display: block; margin-bottom: 7px; color: var(--text-primary); font-family: var(--font-display); font-size: 1rem; }
.course-scene figcaption span { color: var(--text-secondary); font-size: .76rem; line-height: 1.6; }
.course-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.course-day { position: relative; overflow: hidden; padding: 30px; border: 1px solid var(--border-subtle); background: rgba(8, 15, 28, .72); }
.course-day::before { content: ''; position: absolute; inset: 0 auto auto 0; width: 100%; height: 2px; background: linear-gradient(90deg, var(--cyan), transparent); }
.course-day small { color: var(--cyan); font: 800 .68rem/1 var(--font-display); letter-spacing: .15em; }
.course-day h3 { margin: 18px 0 14px; font-family: var(--font-display); }
.course-day li { padding: 6px 0; color: var(--text-secondary); font-size: .8rem; line-height: 1.6; }
.course-day li::before { content: '·'; margin-right: 8px; color: var(--cyan); }
.course-day--custom { border-color: rgba(0,255,255,.28); background: linear-gradient(135deg, rgba(0,255,255,.07), rgba(8,15,28,.78)); }
.course-day--custom::before { background: linear-gradient(90deg, var(--cyan), var(--magenta), transparent); }
.talent-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 32px; }
.talent-result { padding: 24px; border: 1px solid var(--border-subtle); background: rgba(255,255,255,.02); }
.talent-result strong { display: block; margin-bottom: 9px; color: var(--text-primary); font-family: var(--font-display); }
.talent-result span { color: var(--text-tertiary); font-size: .75rem; line-height: 1.65; }
.training-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 290px; gap: 16px; margin-top: 34px; }
.training-card { position: relative; overflow: hidden; border: 1px solid var(--border-subtle); background: rgba(8,15,28,.72); }
.training-card--wide { grid-column: span 2; }
.training-card img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.86) contrast(1.05); transition: transform .6s ease, filter .6s ease; }
.training-card:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.05); }
.training-card::after { content: ''; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(3,7,18,.96)); pointer-events: none; }
.training-card figcaption { position: absolute; z-index: 1; right: 22px; bottom: 20px; left: 22px; }
.training-card figcaption strong, .training-card figcaption span { display: block; }
.training-card figcaption strong { margin-bottom: 6px; color: var(--text-primary); font-family: var(--font-display); }
.training-card figcaption span { color: var(--text-secondary); font-size: .75rem; line-height: 1.55; }
.footprint-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.footprint-tags span { padding: 9px 13px; border: 1px solid var(--border-subtle); color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .72rem; }
.service-tracks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.service-track { min-height: 270px; padding: 28px; border: 1px solid var(--border-subtle); background: rgba(8,15,28,.72); }
.service-track small { color: var(--cyan); font: 800 .65rem/1 var(--font-display); letter-spacing: .14em; }
.service-track h3 { margin: 34px 0 14px; font-family: var(--font-display); }
.service-track p { min-height: 78px; color: var(--text-secondary); font-size: .8rem; line-height: 1.7; }
.service-track strong { display: block; margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--border-subtle); color: var(--text-tertiary); font-size: .7rem; line-height: 1.6; }
.service-track--accent { border-color: rgba(0,255,255,.28); background: linear-gradient(135deg, rgba(0,255,255,.08), rgba(8,15,28,.8)); }
.workshop-banner { position: relative; min-height: 460px; margin-top: 18px; overflow: hidden; border: 1px solid var(--border-subtle); }
.workshop-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.workshop-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,6,17,.94), rgba(2,6,17,.56) 55%, rgba(2,6,17,.16)); }
.workshop-banner figcaption { position: absolute; z-index: 1; top: 50%; left: 52px; max-width: 520px; transform: translateY(-50%); }
.workshop-banner figcaption span { color: var(--cyan); font: 800 .7rem/1 var(--font-display); letter-spacing: .14em; }
.workshop-banner figcaption strong { display: block; margin: 18px 0 14px; color: var(--text-primary); font: 700 clamp(1.8rem, 3vw, 3rem)/1.15 var(--font-display); }
.workshop-banner figcaption p { color: var(--text-secondary); }
.talent-coop { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px; border: 1px solid rgba(0,255,255,.18); background: rgba(0,255,255,.035); }
.talent-coop h2 { margin-bottom: 10px; font-family: var(--font-display); }
.talent-coop p { color: var(--text-secondary); }
@media (max-width: 980px) {
    .talent-summary, .talent-results { grid-template-columns: repeat(2, 1fr); }
    .talent-path { grid-template-columns: 1fr; }
    .talent-step { min-height: 0; border-right: 0; border-bottom: 1px solid var(--border-subtle); }
    .talent-step:last-child { border-bottom: 0; }
    .talent-step::after { top: auto; right: 24px; bottom: -10px; transform: rotate(90deg); }
    .service-tracks { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .talent-hero { min-height: 700px; background-position: 54% center; }
    .talent-hero::before { background: linear-gradient(90deg, rgba(2,6,17,.95) 0%, rgba(2,6,17,.78) 58%, rgba(2,6,17,.6) 100%), linear-gradient(0deg, rgba(2,6,17,.88), transparent 52%); }
    .talent-hero .sub-hero-inner { padding-right: 20px !important; padding-left: 20px !important; }
    .talent-hero h1 { font-size: clamp(2.4rem, 11vw, 3.5rem); }
    .talent-hero-label { margin-bottom: 30px; }
    .talent-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
    .talent-hero .talent-summary { grid-template-columns: repeat(2, 1fr); }
    .talent-summary, .course-scenes, .course-days, .talent-results, .service-tracks { grid-template-columns: 1fr; }
    .course-scene, .course-scene img { min-height: 280px; }
    .training-gallery { grid-template-columns: 1fr; grid-auto-rows: 260px; }
    .training-card--wide { grid-column: auto; }
    .service-track { min-height: 0; }
    .service-track p { min-height: 0; }
    .workshop-banner { min-height: 420px; }
    .workshop-banner figcaption { right: 24px; left: 24px; }
    .talent-coop { align-items: flex-start; flex-direction: column; padding: 28px 22px; }
}
