/* Veranstaltungen product family --------------------------------------- */
.cc-event-detail,.cc-event-detail *,.cc-events-family *,.cc-ed-section *,.cc-ed-cta * { box-sizing: border-box; }
.cc-ed-hero { --cc-ed-gutter: max(var(--cc-pad),calc((100vw - var(--cc-max))/2)); background: var(--cc-white); min-height: clamp(650px,76vh,850px); overflow: hidden; }
.cc-ed-hero__grid { align-items: stretch; display: grid; gap: clamp(42px,5vw,80px); grid-template-columns: minmax(0,1fr) minmax(470px,1fr); min-height: inherit; }
.cc-ed-hero__copy { align-self: center; padding-block: var(--cc-section); position: relative; z-index: 2; }
.cc-ed-hero__copy .cc-display { font-size: clamp(48px,5.1vw,78px); max-width: 760px; }
.cc-ed-hero__media { margin: 0 calc(-1 * var(--cc-ed-gutter)) 0 0; min-height: 590px; position: relative; }
.cc-ed-hero__media img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.cc-ed-hero__media::after { background: linear-gradient(90deg,var(--cc-white),transparent 23%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.cc-ed-hero__media--management img { object-position: 54% center; }
.cc-ed-hero__media--people img { object-position: 55% center; }
.cc-ed-hero__media--registration img { object-position: 75% center; }
.cc-ed-hero__media--certificate img { object-position: 57% center; }

.cc-ed-hero--graphic { background: var(--cc-mist); }
.cc-ed-hero__workflow { align-self: center; background: var(--cc-navy); box-shadow: 0 34px 90px rgba(7,26,54,.2); color: var(--cc-white); margin-right: calc(-1 * var(--cc-ed-gutter)); padding: clamp(38px,5vw,72px); position: relative; }
.cc-ed-hero__workflow::after { background: var(--cc-navy); content: ""; inset: 0 -100vw 0 100%; position: absolute; }
.cc-ed-hero__workflow > small { color: var(--cc-blue-2); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cc-ed-hero__workflow h2 { color: var(--cc-white); font-size: clamp(36px,4vw,58px); letter-spacing: -.045em; margin: 25px 0 40px; }
.cc-ed-hero__workflow > div { align-items: center; border-top: 1px solid rgba(255,255,255,.15); display: flex; gap: 24px; justify-content: space-between; padding: 20px 0; }
.cc-ed-hero__workflow span { color: rgba(255,255,255,.72); }
.cc-ed-hero__workflow b { color: var(--cc-blue-2); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }

.cc-events-family { background: var(--cc-white); border-block: 1px solid var(--cc-line); }
.cc-events-family__inner { align-items: center; display: grid; gap: 22px 38px; grid-template-columns: auto 1fr; padding-block: 28px; }
.cc-events-family__title { color: var(--cc-navy) !important; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cc-events-family__links { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: flex-end; }
.cc-events-family__links a { color: var(--cc-muted) !important; font-size: 13px; font-weight: 650; position: relative; }
.cc-events-family__links a:hover,.cc-events-family__links a[aria-current="page"] { color: var(--cc-blue) !important; }
.cc-events-family__links a[aria-current="page"]::after { background: var(--cc-blue); bottom: -8px; content: ""; height: 2px; inset-inline: 0; position: absolute; }

.cc-ed-section { padding-block: var(--cc-section); }
.cc-ed-section--mist { background: var(--cc-mist); }
.cc-ed-section--ice { background: var(--cc-ice); }
.cc-ed-section--navy { background: var(--cc-navy); color: var(--cc-white); }
.cc-ed-section--navy .cc-h2 { color: var(--cc-white); }
.cc-ed-section--navy .cc-eyebrow { color: var(--cc-blue-2); }
.cc-ed-head { display: grid; gap: 35px clamp(50px,8vw,120px); grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); margin-bottom: var(--cc-gap-visual); }
.cc-ed-head > p { color: var(--cc-muted); font-size: 18px; line-height: 1.7; margin: 0; }
.cc-ed-section--navy .cc-ed-head > p { color: rgba(255,255,255,.68); }
.cc-concept-note { color: var(--cc-muted); font-size: 13px; line-height: 1.6; margin: 28px 0 0; }
.cc-ed-next { align-items: center; border-top: 1px solid var(--cc-line); display: flex; gap: 20px; justify-content: space-between; margin-top: var(--cc-gap-visual); padding-top: 28px; }
.cc-ed-next span { color: var(--cc-muted); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.cc-ed-next a { color: var(--cc-navy) !important; font-size: clamp(18px,2vw,26px); font-weight: 750; }
.cc-ed-next a::after { color: var(--cc-blue); content: " →"; }

/* Event core and planning */
.cc-event-core { align-items: center; display: grid; gap: clamp(45px,8vw,110px); grid-template-columns: minmax(310px,.75fr) minmax(0,1fr); }
.cc-event-record { background: var(--cc-white); border-top: 4px solid var(--cc-blue); box-shadow: 0 28px 75px rgba(7,26,54,.11); padding: clamp(32px,5vw,58px); }
.cc-event-record > small { color: var(--cc-blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cc-event-record h3 { color: var(--cc-navy); font-size: clamp(34px,4vw,54px); letter-spacing: -.04em; margin: 22px 0 35px; }
.cc-event-record dl { margin: 0; }
.cc-event-record dl div { border-top: 1px solid var(--cc-line); display: flex; gap: 20px; justify-content: space-between; padding: 16px 0; }
.cc-event-record dt { color: var(--cc-muted); }
.cc-event-record dd { color: var(--cc-navy); font-weight: 700; margin: 0; text-align: right; }
.cc-event-connections { display: grid; grid-template-columns: repeat(2,1fr); }
.cc-event-connections span { border-bottom: 1px solid var(--cc-line); color: var(--cc-navy); font-size: 18px; font-weight: 700; padding: 24px 10px 24px 0; }
.cc-event-connections span:nth-child(odd) { border-right: 1px solid var(--cc-line); }
.cc-event-connections span:nth-child(even) { padding-left: 28px; }
.cc-event-types,.cc-document-types { display: grid; grid-template-columns: repeat(4,1fr); }
.cc-event-types article,.cc-document-types article { border-left: 1px solid var(--cc-line); padding: 10px clamp(20px,3vw,38px) 10px 0; }
.cc-event-types article + article,.cc-document-types article + article { padding-left: clamp(20px,3vw,38px); }
.cc-event-types span,.cc-document-types small { color: var(--cc-blue); font-size: 11px; font-weight: 800; }
.cc-event-types h3,.cc-document-types h3 { color: var(--cc-navy); font-size: 22px; margin: 20px 0 12px; }
.cc-event-types p,.cc-document-types p { color: var(--cc-muted); line-height: 1.6; margin: 0; }
.cc-event-lifecycle { display: grid; grid-template-columns: repeat(6,1fr); list-style: none; margin: 0; padding: 0; }
.cc-event-lifecycle li { border-left: 1px solid rgba(255,255,255,.16); padding: 12px 20px 28px; }
.cc-event-lifecycle small { color: var(--cc-blue-2); display: block; font-weight: 800; margin-bottom: 38px; }
.cc-event-lifecycle strong { color: var(--cc-white); font-size: 19px; }
.cc-change-map { align-items: stretch; display: grid; grid-template-columns: .85fr 1.15fr; }
.cc-change-map__source { background: var(--cc-blue); color: var(--cc-white); padding: clamp(32px,5vw,60px); }
.cc-change-map__source small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .13em; margin-bottom: 25px; text-transform: uppercase; }
.cc-change-map__source strong { display: block; font-size: clamp(25px,3vw,40px); }
.cc-change-map__source b { padding-inline: 8px; }
.cc-change-map__targets { background: var(--cc-white); display: grid; grid-template-columns: 1fr 1fr; }
.cc-change-map__targets span { align-items: center; border-bottom: 1px solid var(--cc-line); color: var(--cc-navy); display: flex; font-weight: 700; padding: 25px 32px; }
.cc-change-map__targets span:nth-child(odd) { border-right: 1px solid var(--cc-line); }

/* People and registrations */
.cc-people-journey { display: grid; grid-template-columns: repeat(5,1fr); list-style: none; margin: 0; padding: 0; }
.cc-people-journey li { border-top: 3px solid var(--cc-blue); padding: 24px 28px 0 0; }
.cc-people-journey li + li { margin-left: 16px; }
.cc-people-journey small { color: var(--cc-blue); display: block; font-weight: 800; }
.cc-people-journey strong { color: var(--cc-navy); display: block; font-size: 21px; margin: 26px 0 12px; }
.cc-people-journey span { color: var(--cc-muted); line-height: 1.55; }
.cc-person-relations { align-items: center; display: grid; gap: clamp(45px,8vw,110px); grid-template-columns: minmax(300px,.72fr) minmax(0,1fr); }
.cc-person-card { background: var(--cc-white); border-top: 4px solid var(--cc-blue); box-shadow: 0 28px 70px rgba(7,26,54,.1); padding: clamp(32px,5vw,58px); }
.cc-person-card > small { color: var(--cc-blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cc-person-card h3 { color: var(--cc-navy); font-size: clamp(36px,4vw,54px); margin: 25px 0 32px; }
.cc-person-card dl { margin: 0; }
.cc-person-card dl div { border-top: 1px solid var(--cc-line); padding: 15px 0; }
.cc-person-card dt { color: var(--cc-muted); font-size: 12px; }
.cc-person-card dd { color: var(--cc-navy); font-weight: 700; margin: 5px 0 0; }
.cc-person-lines { border-top: 1px solid var(--cc-line); }
.cc-person-lines span { border-bottom: 1px solid var(--cc-line); color: var(--cc-navy); display: block; font-size: 18px; font-weight: 700; padding: 23px 0; }
.cc-person-lines span::before { color: var(--cc-blue); content: "+"; margin-right: 18px; }
.cc-attendance-panel { display: grid; gap: 0; grid-template-columns: .85fr 1.15fr; }
.cc-attendance-stats { display: grid; grid-template-columns: 1fr 1fr; }
.cc-attendance-stats article { border: 1px solid rgba(255,255,255,.14); padding: 32px; }
.cc-attendance-stats b { color: var(--cc-white); display: block; font-size: clamp(38px,5vw,62px); }
.cc-attendance-stats span { color: rgba(255,255,255,.62); }
.cc-participant-list { background: var(--cc-white); padding: 20px 38px; }
.cc-participant-list div { align-items: center; border-bottom: 1px solid var(--cc-line); display: flex; gap: 20px; justify-content: space-between; padding: 22px 0; }
.cc-participant-list strong { color: var(--cc-navy); }
.cc-participant-list span { color: var(--cc-blue); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cc-linear-flow { align-items: center; display: grid; gap: 18px; grid-template-columns: repeat(7,auto); justify-content: space-between; }
.cc-linear-flow span { border-top: 2px solid var(--cc-blue); color: var(--cc-navy); font-size: clamp(18px,2vw,26px); font-weight: 750; min-width: 130px; padding-top: 22px; }
.cc-linear-flow b { color: var(--cc-blue); font-size: 25px; }
.cc-capacity { display: grid; grid-template-columns: .72fr 1.28fr; }
.cc-capacity__total { background: var(--cc-navy); color: var(--cc-white); padding: clamp(36px,6vw,76px); }
.cc-capacity__total small { color: var(--cc-blue-2); display: block; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cc-capacity__total strong { display: block; font-size: clamp(70px,9vw,124px); line-height: 1; margin-top: 35px; }
.cc-capacity__total span { color: rgba(255,255,255,.65); }
.cc-capacity__split { background: var(--cc-white); display: grid; grid-template-columns: repeat(3,1fr); }
.cc-capacity__split article { border-left: 1px solid var(--cc-line); display: flex; flex-direction: column; justify-content: center; padding: 35px; }
.cc-capacity__split b { color: var(--cc-navy); font-size: clamp(42px,5vw,68px); }
.cc-capacity__split span { color: var(--cc-muted); }
.cc-decision-flow__start { background: var(--cc-blue); color: var(--cc-white); font-size: 22px; font-weight: 750; margin: auto; padding: 25px 35px; text-align: center; width: min(100%,440px); }
.cc-decision-flow__branch { display: grid; gap: 20px; grid-template-columns: repeat(3,1fr); margin-top: 55px; position: relative; }
.cc-decision-flow__branch article { border-top: 3px solid var(--cc-blue); box-shadow: 0 18px 50px rgba(7,26,54,.08); padding: 30px; }
.cc-decision-flow__branch small { color: var(--cc-muted); display: block; }
.cc-decision-flow__branch strong { color: var(--cc-navy); display: block; font-size: 22px; margin-top: 15px; }
.cc-waitlist { border-top: 1px solid rgba(255,255,255,.16); list-style: none; margin: 0; padding: 0; }
.cc-waitlist li { align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); display: grid; gap: 25px; grid-template-columns: 60px 1fr auto; padding: 24px 0; }
.cc-waitlist li > b { color: var(--cc-blue-2); font-size: 20px; }
.cc-waitlist strong { color: var(--cc-white); display: block; font-size: 19px; }
.cc-waitlist small { color: rgba(255,255,255,.55); display: block; margin-top: 5px; }
.cc-waitlist em { color: var(--cc-blue-2); font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Approvals and documents */
.cc-approval-path { display: grid; grid-template-columns: repeat(4,1fr); list-style: none; margin: 0; padding: 0; }
.cc-approval-path li { border-left: 1px solid rgba(255,255,255,.16); padding: 12px 30px 30px; }
.cc-approval-path small { color: var(--cc-blue-2); display: block; font-weight: 800; margin-bottom: 45px; }
.cc-approval-path strong { color: var(--cc-white); display: block; font-size: 24px; }
.cc-approval-path span { color: rgba(255,255,255,.56); display: block; margin-top: 10px; }
.cc-approval-checks { border-top: 1px solid var(--cc-line); }
.cc-approval-checks article { align-items: center; border-bottom: 1px solid var(--cc-line); display: grid; gap: 26px; grid-template-columns: 55px 1fr auto; padding: 24px 0; }
.cc-approval-checks article > b { align-items: center; background: var(--cc-blue); color: var(--cc-white); display: flex; height: 38px; justify-content: center; width: 38px; }
.cc-approval-checks small { color: var(--cc-muted); display: block; }
.cc-approval-checks strong { color: var(--cc-navy); display: block; font-size: 20px; margin-top: 4px; }
.cc-approval-checks article > span { color: var(--cc-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cc-approval-checks .is-open > b,.cc-approval-checks .is-waiting > b { background: var(--cc-mist); color: var(--cc-navy); }
.cc-responsibilities { display: grid; grid-template-columns: repeat(3,1fr); }
.cc-responsibilities article { border-left: 1px solid var(--cc-line); padding: 10px 35px 10px 0; }
.cc-responsibilities article + article { padding-left: 35px; }
.cc-responsibilities span { color: var(--cc-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cc-responsibilities strong { color: var(--cc-navy); display: block; font-size: 22px; margin: 25px 0 35px; }
.cc-responsibilities small { color: var(--cc-muted); }
.cc-history { border-top: 1px solid var(--cc-line); }
.cc-history div { align-items: center; border-bottom: 1px solid var(--cc-line); display: grid; gap: 25px; grid-template-columns: 100px 1fr 1fr; padding: 22px 0; }
.cc-history time { color: var(--cc-blue); font-weight: 800; }
.cc-history strong { color: var(--cc-navy); }
.cc-history span { color: var(--cc-muted); }
.cc-certificate { background: var(--cc-white); border: 1px solid var(--cc-line); box-shadow: 0 30px 80px rgba(7,26,54,.1); margin: auto; max-width: 840px; padding: clamp(35px,7vw,90px); position: relative; text-align: center; }
.cc-certificate::before { border: 2px solid var(--cc-blue); content: ""; inset: 18px; pointer-events: none; position: absolute; }
.cc-certificate header { align-items: center; display: flex; gap: 25px; justify-content: space-between; }
.cc-certificate header span { color: var(--cc-navy); font-size: 20px; font-weight: 800; }
.cc-certificate header small { color: var(--cc-blue); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cc-certificate > div { padding-block: clamp(55px,8vw,90px); }
.cc-certificate p { color: var(--cc-muted); margin: 15px 0; }
.cc-certificate h3 { color: var(--cc-navy); font-size: clamp(42px,6vw,70px); letter-spacing: -.05em; margin: 16px 0 35px; }
.cc-certificate > div strong { color: var(--cc-navy); font-size: clamp(23px,3vw,34px); }
.cc-certificate footer { display: flex; gap: 70px; justify-content: center; }
.cc-certificate footer span { border-top: 1px solid var(--cc-navy); color: var(--cc-muted); font-size: 12px; padding-top: 10px; width: 180px; }
.cc-document-map { align-items: stretch; display: grid; grid-template-columns: .8fr 1.2fr; }
.cc-document-map__core { align-items: center; background: var(--cc-blue); color: var(--cc-white); display: flex; font-size: clamp(25px,3vw,40px); font-weight: 750; padding: clamp(35px,5vw,65px); }
.cc-document-map__items { display: grid; grid-template-columns: 1fr 1fr; }
.cc-document-map__items span { align-items: center; border: 1px solid rgba(255,255,255,.15); color: var(--cc-white); display: flex; font-weight: 700; padding: 28px; }

.cc-ed-cta { background: var(--cc-white); padding-block: var(--cc-section-cta); }
.cc-ed-cta .cc-container { align-items: end; display: grid; gap: 45px; grid-template-columns: 1fr auto; }
.cc-ed-cta h2 { color: var(--cc-navy); font-size: clamp(38px,4.7vw,68px); letter-spacing: -.045em; line-height: 1.02; margin: 0; }

@media (max-width: 1100px) {
  .cc-ed-hero__grid { gap: 35px; grid-template-columns: minmax(0,.9fr) minmax(400px,1.1fr); }
  .cc-events-family__inner { align-items: start; grid-template-columns: 1fr; }
  .cc-events-family__links { justify-content: flex-start; }
  .cc-event-types,.cc-document-types { grid-template-columns: 1fr 1fr; gap: 45px 0; }
  .cc-event-lifecycle { grid-template-columns: repeat(3,1fr); gap: 35px 0; }
  .cc-people-journey { grid-template-columns: repeat(3,1fr); gap: 38px 0; }
}

@media (max-width: 760px) {
  .cc-ed-hero { min-height: auto; }
  .cc-ed-hero__grid { display: flex; flex-direction: column; gap: 0; width: 100%; }
  .cc-ed-hero__copy { padding: 82px var(--cc-pad) 58px; width: 100%; }
  .cc-ed-hero__copy .cc-display { font-size: clamp(42px,12vw,58px); }
  .cc-ed-hero__media { margin: 0; min-height: 68vw; width: 100%; }
  .cc-ed-hero__media::after { background: linear-gradient(180deg,var(--cc-white),transparent 24%); }
  .cc-ed-hero__media--registration img { object-position: 65% center; }
  .cc-ed-hero__workflow { margin: 0; width: 100%; }
  .cc-ed-hero__workflow::after { display: none; }
  .cc-events-family__inner { width: 100%; }
  .cc-events-family__title { padding-inline: var(--cc-pad); }
  .cc-events-family__links { flex-wrap: nowrap; gap: 24px; overflow-x: auto; padding: 0 var(--cc-pad) 12px; scrollbar-width: thin; }
  .cc-events-family__links a { flex: 0 0 auto; }
  .cc-ed-head { grid-template-columns: 1fr; }
  .cc-event-core,.cc-person-relations { grid-template-columns: 1fr; }
  .cc-event-types,.cc-document-types,.cc-event-lifecycle,.cc-people-journey,.cc-approval-path,.cc-responsibilities { grid-template-columns: 1fr; }
  .cc-event-types article,.cc-document-types article,.cc-event-types article + article,.cc-document-types article + article,.cc-responsibilities article,.cc-responsibilities article + article { border-bottom: 1px solid var(--cc-line); border-left: 0; padding: 24px 0; }
  .cc-event-lifecycle li,.cc-approval-path li { border-bottom: 1px solid rgba(255,255,255,.16); border-left: 0; padding: 20px 0; }
  .cc-event-lifecycle small,.cc-approval-path small { display: inline-block; margin: 0 25px 0 0; }
  .cc-people-journey { gap: 28px; }
  .cc-people-journey li + li { margin-left: 0; }
  .cc-change-map,.cc-attendance-panel,.cc-capacity,.cc-document-map { grid-template-columns: 1fr; }
  .cc-change-map__targets,.cc-document-map__items { grid-template-columns: 1fr; }
  .cc-change-map__targets span:nth-child(odd) { border-right: 0; }
  .cc-linear-flow { align-items: stretch; grid-template-columns: 1fr; }
  .cc-linear-flow b { transform: rotate(90deg); width: 25px; }
  .cc-capacity__split { grid-template-columns: 1fr; }
  .cc-capacity__split article { border-bottom: 1px solid var(--cc-line); border-left: 0; }
  .cc-decision-flow__branch { grid-template-columns: 1fr; }
  .cc-history div { align-items: start; grid-template-columns: 74px 1fr; }
  .cc-history span { grid-column: 2; }
  .cc-certificate footer { align-items: center; flex-direction: column; gap: 28px; }
  .cc-ed-next { align-items: flex-start; flex-direction: column; }
  .cc-ed-cta .cc-container { align-items: start; grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .cc-ed-hero__copy .cc-btns,.cc-ed-hero__copy .cc-btn { width: 100%; }
  .cc-event-connections,.cc-attendance-stats,.cc-document-map__items { grid-template-columns: 1fr; }
  .cc-event-connections span:nth-child(odd) { border-right: 0; }
  .cc-event-connections span:nth-child(even) { padding-left: 0; }
  .cc-participant-list { padding-inline: 24px; }
  .cc-waitlist li { grid-template-columns: 42px 1fr; }
  .cc-waitlist em { grid-column: 2; }
  .cc-approval-checks article { grid-template-columns: 44px 1fr; }
  .cc-approval-checks article > span { grid-column: 2; }
  .cc-certificate { padding: 50px 30px; }
  .cc-certificate header { align-items: flex-start; flex-direction: column; }
  .cc-ed-cta .cc-btn { width: 100%; }
}
