/* Judging and speaking: a distinct event identity, scoped to this page. */
.events-showcase { --event-green: #6f5a20; --event-line: #e4e1d8; --event-dark: #20211e; }
.events-showcase .events-hero { background: #f8f6f1; border-bottom: 1px solid var(--event-line); }
.events-showcase .events-hero__grid { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 80px; padding-block: 72px; }
.events-showcase .page-kicker { color: var(--event-green); }
.events-showcase .page-kicker::before { background: var(--color-accent-primary); }
.events-showcase .events-hero h1 { font: 500 clamp(3rem, 5vw, 4.7rem)/1.05 var(--font-sans); letter-spacing: -.045em; }
.events-showcase .events-hero h1 span { color: var(--event-green); font: italic 400 1.13em/1.1 var(--font-serif); letter-spacing: -.035em; }
.events-showcase .events-hero__intro { max-width: 43ch; margin-top: 26px; color: #625f57; font: 400 1.28rem/1.65 var(--font-serif); }
.events-showcase .events-index { display: flex; flex-wrap: wrap; gap: 20px 36px; border-top: 1px solid #ddd8cc; padding-top: 24px; margin-top: 32px; }
.events-showcase .events-index a { display: flex; align-items: center; gap: 14px; padding: 6px 0; color: var(--event-dark); text-decoration: none; }
.events-showcase .events-index strong { font: 400 2.2rem/1 var(--font-serif); color: var(--event-green); }
.events-showcase .events-index span { font-size: .78rem; line-height: 1.5; }
.events-showcase .events-index a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.events-showcase .events-hero__visual { background: var(--event-dark); border: 1px solid #44443f; border-radius: 120px 120px 12px 12px; padding: 36px 24px 28px; color: #e9d887; text-align: center; }
.events-showcase .events-hero__visual-label { font-size: .62rem; text-transform: uppercase; letter-spacing: .15em; }
.events-showcase .events-orbit { position: relative; display: grid; place-items: center; width: 185px; height: 185px; margin: 30px auto; border: 1px solid #d6bd5680; border-radius: 50%; }
.events-showcase .events-orbit::before { content: ''; position: absolute; inset: 12px; border: 1px dashed #d6bd5640; border-radius: 50%; }
.events-showcase .event-symbol { display: block; width: 100%; height: 100%; }
.events-showcase .events-orbit > .event-symbol { width: 96px; height: 96px; }
.events-showcase .events-orbit__small { position: absolute; right: -14px; bottom: 0; width: 64px; height: 64px; padding: 8px; border: 1px solid #d2bd64; border-radius: 50%; color: #302b1a; background: #f0dc82; }
.events-showcase .events-hero__visual p { font: 400 1.85rem/1.25 var(--font-serif); color: #fff; }
.events-showcase .events-hero__visual em { color: #e9d887; }
.events-showcase .events-hero__visual-footer { display: block; margin-top: 24px; font-size: .52rem; text-transform: uppercase; letter-spacing: .1em; }
.events-showcase .events-section { padding-block: 72px; }
.events-showcase .events-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 36px; }
.events-showcase .events-section__heading .page-kicker { margin-bottom: 12px; }
.events-showcase .events-section__heading h2 { max-width: 27ch; font: 500 clamp(1.8rem, 2.6vw, 2.3rem)/1.2 var(--font-sans); letter-spacing: -.03em; }
.events-showcase .events-section__heading > p { max-width: 33ch; color: #69655d; font-size: .9rem; line-height: 1.7; }
.events-showcase .judging-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.events-showcase .judging-card { display: flex; flex-direction: column; min-width: 0; padding: 36px; border: 1px solid #e0ddd4; border-radius: 12px; background: #f8f6f1; }
.events-showcase .judging-card__masthead { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid #ded9cd; }
.events-showcase .event-role { display: inline-flex; align-items: center; gap: 8px; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; color: var(--event-green); }
.events-showcase .event-role::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.events-showcase .judging-card__symbol { width: 72px; height: 72px; padding: 8px; color: var(--event-green); border: 1px solid #d7c980; border-radius: 50%; }
.events-showcase .judging-card h3 { font: 500 1.95rem/1.2 var(--font-sans); letter-spacing: -.025em; }
.events-showcase .event-organisation { margin-top: 14px; color: #625f57; font-size: .8rem; line-height: 1.6; }
.events-showcase .event-location { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: #7a766c; font-size: .78rem; line-height: 1.5; }
.events-showcase .event-location svg { flex: none; width: 15px; height: 15px; }
.events-showcase .event-description { margin-top: 24px; margin-bottom: 26px; color: #625f57; font-size: .97rem; line-height: 1.85; }
.events-showcase .event-description :is(p, li, blockquote, strong, em) { color: inherit; }
.events-showcase .event-description > * + * { margin-top: .75em; }
.events-showcase .event-description :is(ul, ol) { padding-left: 1.25em; color: inherit; }
.events-showcase .event-description a { color: #59470f; text-decoration-color: currentColor; text-underline-offset: 3px; }
.events-showcase .judging-card__footer { margin-top: auto; }
.events-showcase .judging-card__footer > time { display: block; padding-top: 20px; border-top: 1px solid #ded9cd; color: #625f57; font-size: .78rem; }
.events-showcase .judging-card--dark { color: white; background: var(--event-dark); border-color: var(--event-dark); }
.events-showcase .judging-card--dark h3 { color: #fff; }
.events-showcase .judging-card--dark .event-role, .events-showcase .judging-card--dark .event-organisation, .events-showcase .judging-card--dark .event-location, .events-showcase .judging-card--dark .judging-card__footer > time { color: #e9d887; }
.events-showcase .judging-card--dark .event-description { color: #e7e3d9; }
.events-showcase .judging-card--dark .event-description :is(p, li, blockquote, strong, em) { color: #e7e3d9; }
.events-showcase .judging-card--dark .event-description a { color: #f2d66a; }
.events-showcase .judging-card--dark .judging-card__symbol { color: #e9d887; border-color: #8e7b35; }
.events-showcase .judging-card--dark .judging-card__masthead, .events-showcase .judging-card--dark .judging-card__footer > time, .events-showcase .judging-card--dark .event-links { border-color: #c6aa4250; }
.events-showcase .judging-card--dark a:focus-visible { outline-color: #e9d887; }
.events-showcase .events-section--speaking { position: relative; overflow: hidden; background: #f5f3ed; border-block: 1px solid var(--event-line); }
.events-showcase .events-section--speaking::before { content: ''; position: absolute; width: 360px; height: 360px; right: -190px; top: -190px; border: 1px solid #dfd6ae; border-radius: 50%; box-shadow: 0 0 0 42px #f0ecdE, 0 0 0 43px #dfd6ae; pointer-events: none; }
.events-showcase .speaking-grid { position: relative; display: grid; gap: 24px; }
.events-showcase .speaking-grid--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.events-showcase .talk-card.speaking-card { display: flex; flex-direction: column; min-height: 0; }
.events-showcase .speaking-card .talk-card__stage { order: 0; width: 100%; min-height: 0; aspect-ratio: 16 / 10; padding: 0; background: #ece9e1; }
.events-showcase .speaking-card .talk-card__stage::before,
.events-showcase .speaking-card .talk-card__stage::after { display: none; }
.events-showcase .speaking-card .talk-card__photo { inset: 0; padding: 14px; background: #ece9e1; }
.events-showcase .speaking-card .talk-card__photo::after { display: none; }
.events-showcase .speaking-card .talk-card__photo img { object-fit: contain; border-radius: 8px; }
.events-showcase .speaking-card .talk-card__stage time { position: absolute; z-index: 2; top: 20px; right: 20px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(24,25,22,.9); box-shadow: 0 8px 24px rgba(0,0,0,.16); backdrop-filter: blur(6px); }
.events-showcase .speaking-card .talk-card__stage time strong { font-size: 2.45rem; }
.events-showcase .speaking-card .talk-card__stage-label { position: absolute; z-index: 2; left: 20px; bottom: 20px; padding: 8px 11px; border-radius: 6px; color: #fff; background: rgba(24,25,22,.88); backdrop-filter: blur(6px); }
.events-showcase .speaking-card .talk-card__content { flex: 1; padding: 30px; }
.events-showcase .speaking-card .talk-card__top { margin-bottom: 30px; }
.events-showcase .speaking-card h3 { font-size: clamp(1.55rem, 2.3vw, 2.05rem); }
.events-showcase .talk-card { display: grid; grid-template-columns: minmax(0, 1fr) 250px; min-height: 390px; overflow: hidden; border: 1px solid #dcd8cc; border-radius: 14px; background: #fff; box-shadow: 0 14px 35px rgba(32,33,30,.045); }
.events-showcase .talk-card__content { display: flex; flex-direction: column; min-width: 0; padding: 44px 48px; }
.events-showcase .talk-card__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 54px; padding-bottom: 18px; border-bottom: 1px solid #e5e2d9; }
.events-showcase .talk-card__number { color: #8a867d; font: 400 .66rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.events-showcase .talk-card__mobile-date { display: none; }
.events-showcase .talk-card .event-organisation { margin: 0 0 13px; color: #746f64; font-size: .73rem; letter-spacing: .025em; }
.events-showcase .talk-card .event-location { margin: -8px 0 13px; }
.events-showcase .talk-card h3 { max-width: 24ch; font: 500 clamp(1.75rem, 3vw, 2.55rem)/1.15 var(--font-sans); letter-spacing: -.035em; }
.events-showcase .talk-card .event-description { max-width: 63ch; margin: 22px 0 30px; color: #5f5c55; font-size: .95rem; line-height: 1.8; }
.events-showcase .talk-card__footer { margin-top: auto; }
.events-showcase .talk-card__stage { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between; min-height: 100%; padding: 34px 28px; overflow: hidden; color: #ead574; background: var(--event-dark); text-align: center; }
.events-showcase .talk-card__stage::before, .events-showcase .talk-card__stage::after { content: ''; position: absolute; border: 1px solid #d5bd5055; border-radius: 50%; }
.events-showcase .talk-card__stage::before { width: 260px; height: 260px; top: -135px; right: -120px; }
.events-showcase .talk-card__stage::after { width: 170px; height: 170px; bottom: -105px; left: -85px; }
.events-showcase .talk-card__symbol { z-index: 1; display: block; width: 94px; height: 94px; margin-top: 20px; }
.events-showcase .talk-card__stage time { z-index: 1; display:grid; grid-template-columns:auto auto; align-items:baseline; gap:5px; color:#fff; }
.events-showcase .talk-card__stage time strong { font:400 3.9rem/.8 var(--font-serif); }
.events-showcase .talk-card__stage time span { color:#ead574; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.events-showcase .talk-card__stage time small { grid-column:1/-1; color:#aead9f; font-size:.62rem; letter-spacing:.14em; }
.events-showcase .talk-card__stage-label { z-index:1; color:#c7c5bc; font-size:.62rem; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; }
.events-showcase .talk-card__photo { position:absolute; inset:0; }
.events-showcase .talk-card__photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,21,19,.1),rgba(20,21,19,.85)); }
.events-showcase .talk-card__photo img { width:100%; height:100%; object-fit:cover; }
.events-showcase .talk-card__photo ~ :is(time,.talk-card__stage-label) { padding:7px 10px; border-radius:5px; background:rgba(20,21,19,.78); backdrop-filter:blur(5px); }
.events-showcase .event-photo { aspect-ratio: 16/10; overflow: hidden; border-radius: 6px; margin-bottom: 24px; }
.events-showcase .event-photo img { width: 100%; height: 100%; object-fit: cover; }
.events-showcase .event-links { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--event-line); }
.events-showcase .event-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: inherit; text-decoration: none; font-size: .8rem; line-height: 1.6; font-weight: 500; padding: 4px 0; }
.events-showcase .event-links a > span:last-child { flex-shrink: 0; }
.events-showcase .event-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.events-showcase .event-links .event-details-button { width: fit-content; min-height: 44px; padding: 10px 15px; border: 1px solid #d7b725; border-radius: 7px; color: #181812; background: #ffcf16; font-weight: 650; box-shadow: 0 4px 12px rgba(59,48,9,.08); }
.events-showcase .event-links .event-details-button:hover { background: #f3c000; text-decoration: none; transform: translateY(-1px); }
.events-showcase .event-details-button__label { display: inline-flex; align-items: center; gap: 9px; }
.events-showcase .event-details-button__label svg { width: 18px; height: 18px; flex: 0 0 auto; }
.events-showcase .events-invitation { padding-block: 64px; }
.events-showcase .events-invitation__panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 48px; padding: 48px; border: 1px solid #e3dcbf; border-radius: 12px; background: #f8f3dc; }
.events-showcase .events-invitation h2 { max-width: 25ch; font: 500 clamp(1.8rem, 2.7vw, 2.35rem)/1.2 var(--font-sans); letter-spacing: -.03em; }
.events-showcase .events-invitation__panel > div > p:last-child { max-width: 53ch; margin-top: 18px; color: #625f57; font: 400 1.15rem/1.6 var(--font-serif); }
.events-showcase .events-invitation__actions { display: flex; flex-direction: column; gap: 18px; align-items: start; }
@media (max-width: 1000px) {
  .events-showcase .events-hero__grid { gap: 40px; grid-template-columns: 1.1fr .9fr; }
  .events-showcase .events-hero__visual { padding-inline: 16px; }
  .events-showcase .events-section__heading { gap: 24px; }
  .events-showcase .events-invitation__panel { grid-template-columns: 1fr; gap: 28px; }
  .events-showcase .events-invitation__actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 24px; }
  .events-showcase .talk-card { grid-template-columns: minmax(0, 1fr) 220px; }
  .events-showcase .talk-card__content { padding: 38px; }
}
@media (max-width: 700px) {
  .events-showcase .events-hero__grid { grid-template-columns: 1fr; padding-block: 44px 36px; }
  .events-showcase .events-hero h1 { font-size: clamp(2.9rem, 9vw, 3.8rem); }
  .events-showcase .events-hero__intro { font-size: 1.17rem; }
  .events-showcase .events-hero__visual { display: none; }
  .events-showcase .events-index { gap: 16px 24px; }
  .events-showcase .events-index a { gap: 10px; }
  .events-showcase .events-index strong { font-size: 1.8rem; }
  .events-showcase .events-index span { font-size: .7rem; }
  .events-showcase .events-section { padding-block: 44px; }
  .events-showcase .events-section__heading { flex-direction: column; align-items: start; gap: 16px; margin-bottom: 28px; }
  .events-showcase .events-section__heading > p { max-width: 43ch; }
  .events-showcase .judging-grid, .events-showcase .speaking-grid { grid-template-columns: 1fr; gap: 20px; }
  .events-showcase .judging-card { padding: 26px; }
  .events-showcase .judging-card h3 { font-size: 1.7rem; }
  .events-showcase .judging-card__masthead { margin-bottom: 24px; padding-bottom: 24px; }
  .events-showcase .talk-card { grid-template-columns: 1fr; min-height: 0; }
  .events-showcase .talk-card__content { padding: 28px 24px; }
  .events-showcase .talk-card__top { margin-bottom: 34px; }
  .events-showcase .talk-card h3 { font-size: 1.75rem; }
  .events-showcase .talk-card__stage { display:grid; grid-template-columns:70px 1fr auto; min-height:150px; padding:24px; text-align:left; }
  .events-showcase .talk-card__symbol { width:62px; height:62px; margin:0; }
  .events-showcase .talk-card__stage time { justify-self:center; }
  .events-showcase .talk-card__stage time strong { font-size:3rem; }
  .events-showcase .talk-card__stage-label { text-align:right; }
  .events-showcase .event-description { font-size: .93rem; }
  .events-showcase .event-links .event-details-button { width: 100%; justify-content: center; }
  .events-showcase .events-invitation { padding-block: 40px; }
  .events-showcase .events-invitation__panel { padding: 28px 24px; }
  .events-showcase .events-invitation__actions { align-items: start; flex-direction: column; gap: 16px; }
}
@media print {
  .events-showcase .events-hero__visual, .events-showcase .events-index, .events-showcase .events-invitation { display: none; }
  .events-showcase .judging-card, .events-showcase .talk-card { break-inside: avoid; }
  .events-showcase .judging-card--dark { background: white; color: #222; }
  .events-showcase .judging-card--dark :is(h3, p, .event-role, time) { color: #222; }
}
