:root {
    --aps-event-ink: #101417;
    --aps-event-muted: #6f777d;
    --aps-event-line: #dfe3e5;
    --aps-event-soft: #f5f6f5;
    --aps-event-status: #c4f1e6;
}

.aps-event-shell {
    color: var(--aps-event-ink);
    font-family: "Source Sans Pro", Arial, sans-serif;
}
.aps-event-shell a { color: inherit; }

.aps-event-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 11px;
    line-height: 1.35;
    color: var(--aps-event-muted);
}
.aps-event-breadcrumbs a { text-decoration: none; }
.aps-event-breadcrumbs a:hover { text-decoration: underline; }
.aps-event-breadcrumbs__sep { opacity: .55; }

.aps-event-identity {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr);
    column-gap: clamp(34px, 6vw, 88px);
    row-gap: 10px;
    align-items: start;
}
.aps-event-kicker {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 38px;
    margin-bottom: 6px;
    padding: 8px 10px 8px 12px;
    background: #f0f1f0;
    border-top: 1px solid #e4e6e5;
    border-bottom: 1px solid #e4e6e5;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.aps-event-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 4px;
    background: var(--aps-event-status);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .06em;
    white-space: nowrap;
}
.aps-event-identity h1 {
    grid-column: 1;
    margin: 9px 0 4px;
    max-width: 820px;
    font-family: "Brandon Grotesque", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(46px, 4.6vw, 62px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -.023em;
}
.aps-event-primary-meta,
.aps-event-deadline {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 7px;
}
.aps-event-meta-line {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.35;
}
.aps-event-meta-line > span:first-child {
    width: 13px;
    font-size: 9px;
    text-align: center;
}
.aps-event-deadline span {
    color: var(--aps-event-muted);
    font-size: 13px;
}
.aps-event-deadline strong {
    font-family: "Brandon Grotesque", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 400;
    line-height: 1;
}
.aps-event-standfirst {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin: 13px 0 0;
    max-width: 340px;
    color: #373d42;
    font-size: 15px;
    line-height: 1.48;
}
.aps-event-identity--compact h1 { font-size: clamp(42px, 4.1vw, 56px); }
.aps-event-identity--compact .aps-event-standfirst { font-size: 15px; }

.aps-event-main-row { align-items: flex-start; }
.aps-event-main-column,
.aps-event-main-sidebar { min-width: 0; }
.aps-event-main-sidebar {
    position: sticky;
    top: 24px;
    align-self: flex-start;
}
.aps-event-main-block--tabs { margin-top: 5px; }
.aps-event-main-block--overview,
.aps-event-main-block--programme,
.aps-event-main-block--participants,
.aps-event-main-block--gallery,
.aps-event-main-block--location {
    padding-top: 32px;
    padding-bottom: 32px;
}

.aps-event-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f0f1ef;
}
.aps-event-hero::after {
    content: "→";
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(17,21,26,.12);
    font-size: 14px;
}
.aps-event-hero .apsaidal-media,
.aps-event-hero figure,
.aps-event-hero p { margin: 0; }
.aps-event-hero img {
    display: block;
    width: 100%;
    height: auto;
}
.aps-event-hero--editorial img {
    width: 100%;
    aspect-ratio: 16 / 9.25;
    object-fit: cover;
}
.aps-event-hero--compact {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 390px;
    padding: clamp(24px, 4vw, 48px);
}
.aps-event-hero--compact img {
    width: 100%;
    max-height: 535px;
    object-fit: contain;
    background: #f0f1ef;
}
.aps-event-hero figcaption,
.aps-event-hero .apsaidal-media__meta {
    position: relative;
    z-index: 2;
    padding: 7px 46px 0 0;
    color: var(--aps-event-muted);
    background: #fff;
    font-size: 10px;
}

.aps-event-tabs {
    display: flex;
    gap: clamp(18px, 2.5vw, 32px);
    align-items: center;
    overflow-x: auto;
    border-bottom: 1px solid var(--aps-event-line);
    scrollbar-width: none;
}
.aps-event-tabs::-webkit-scrollbar { display: none; }
.aps-event-tabs a {
    position: relative;
    flex: 0 0 auto;
    padding: 12px 0 11px;
    color: #4e565c;
    font-size: 11px;
    text-decoration: none;
}
.aps-event-tabs a:first-child::after,
.aps-event-tabs a.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--aps-event-ink);
}

.aps-event-panel h2,
.aps-event-gallery h2,
.aps-event-location h2,
.aps-event-participant-group h2,
.aps-event-related h2 {
    margin: 0 0 14px;
    font-family: "Brandon Grotesque", "Helvetica Neue", Arial, sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.12;
}
.aps-event-copy {
    max-width: 720px;
    font-size: 15px;
    line-height: 1.64;
}
.aps-event-copy > :first-child { margin-top: 0; }
.aps-event-copy > :last-child { margin-bottom: 0; }

.aps-event-data {
    width: 100%;
    padding: 20px 20px 18px;
    background: var(--aps-event-soft);
    border-top: 2px solid var(--aps-event-ink);
}
.aps-event-data h2 {
    margin-top: 0;
    margin-bottom: 13px;
    font-size: 15px;
}
.aps-event-sidebar-actions {
    display: grid;
    gap: 8px;
    margin: -20px -20px 22px;
    padding: 0 0 18px;
    background: #fff;
    border-bottom: 1px solid var(--aps-event-line);
}
.aps-event-cta,
.aps-event-calendar {
    min-height: 42px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 14px;
    border: 1px solid var(--aps-event-ink);
    border-radius: 0;
    font: inherit;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}
.aps-event-cta {
    background: var(--aps-event-ink);
    color: #fff !important;
}
.aps-event-calendar {
    justify-content: flex-start;
    background: #fff;
    color: var(--aps-event-ink);
    border-color: transparent;
}
.aps-event-calendar:hover { border-color: var(--aps-event-line); }
.aps-event-data dl { margin: 0; }
.aps-event-data dl > div {
    display: grid;
    grid-template-columns: minmax(74px, .78fr) minmax(112px, 1.42fr);
    gap: 13px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(17, 21, 26, .075);
}
.aps-event-data dl > div:last-child { border-bottom: 0; }
.aps-event-data dt {
    color: var(--aps-event-muted);
    font-size: 10px;
    font-weight: 400;
}
.aps-event-data dd {
    margin: 0;
    font-size: 11px;
    line-height: 1.42;
}
.aps-event-data a { text-underline-offset: 2px; }

.aps-event-programme,
.aps-event-participants,
.aps-event-gallery,
.aps-event-location,
.aps-event-overview {
    border-top: 1px solid var(--aps-event-line);
}

.aps-event-participants {
    display: grid;
    gap: 34px;
}
.aps-event-people {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.aps-event-person a,
.aps-event-person {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
}
.aps-event-person img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--aps-event-soft);
}
.aps-event-participant-group--speaker img,
.aps-event-participant-group--jury img,
.aps-event-participant-group--tutor img { aspect-ratio: 4 / 5; }
.aps-event-participant-group--exhibitor img,
.aps-event-participant-group--organizer img,
.aps-event-participant-group--partner img {
    aspect-ratio: 4 / 3;
    padding: 16px;
    object-fit: contain;
    background: #fff;
    border: 1px solid var(--aps-event-line);
}

.aps-event-gallery .apsaidal-media-slider,
.aps-event-gallery .apsaidal-media { margin: 0; }
.aps-event-gallery img { width: 100%; height: auto; }

.aps-event-location strong { display: block; font-size: 15px; font-weight: 500; }
.aps-event-location p { margin: 5px 0 0; color: var(--aps-event-muted); font-size: 13px; }

.aps-event-related {
    padding-top: 32px;
    border-top: 1px solid var(--aps-event-line);
}
.aps-event-related__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.aps-event-related__heading > span {
    display: block;
    margin-bottom: 4px;
    color: var(--aps-event-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .055em;
}
.aps-event-related__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.aps-event-card a {
    display: flex;
    flex-direction: column;
    gap: 9px;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.28;
}
.aps-event-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--aps-event-soft);
}

@media (max-width: 1024px) {
    .aps-event-identity { grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); column-gap: 32px; }
    .aps-event-identity h1 { font-size: clamp(42px, 5.8vw, 56px); }
    .aps-event-main-sidebar { position: static; width: 100%; }
    .aps-event-data { max-width: none; }
    .aps-event-sidebar-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-left: 0; margin-right: 0; background: transparent; }
    .aps-event-people,
    .aps-event-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .aps-event-identity { display: flex; flex-direction: column; gap: 9px; }
    .aps-event-kicker { width: 100%; }
    .aps-event-identity h1 { margin-top: 10px; font-size: clamp(36px, 10.5vw, 45px); }
    .aps-event-standfirst { max-width: 100%; margin-top: 6px; }
    .aps-event-deadline strong { font-size: 30px; }
    .aps-event-hero--editorial img { aspect-ratio: 4 / 3; }
    .aps-event-hero--compact { min-height: 260px; padding: 20px; }
    .aps-event-tabs { gap: 21px; }
    .aps-event-main-block--overview,
    .aps-event-main-block--programme,
    .aps-event-main-block--participants,
    .aps-event-main-block--gallery,
    .aps-event-main-block--location { padding-top: 26px; padding-bottom: 26px; }
    .aps-event-data { padding: 17px; }
    .aps-event-sidebar-actions { grid-template-columns: 1fr; margin-top: -17px; }
    .aps-event-data dl > div { grid-template-columns: minmax(84px, .9fr) minmax(0, 1.4fr); }
    .aps-event-people,
    .aps-event-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .aps-event-related__heading { display: block; }
}
