.event-page { background: var(--color-background); }
.event-page main { overflow: clip; }
.event-shell { width: min(calc(100% - 12vw),76rem); margin-inline: auto; }
.event-section { position: relative; padding: clamp(6.5rem,10vw,9rem) 0; }
.event-shape { position: absolute; pointer-events: none; }

.event-hero { position: relative; min-height: 100svh; padding: clamp(9rem,15vh,11rem) 0 6rem; overflow: hidden; background: radial-gradient(circle at 85% 18%,color-mix(in srgb,var(--event-accent) 12%,transparent),transparent 34%),radial-gradient(circle at 8% 88%,rgba(235,221,47,.3),transparent 28%),#fafafe; }
.event-hero::after { position: absolute; right: -7rem; bottom: -12rem; width: 30rem; height: 30rem; content:""; border: 1px solid color-mix(in srgb,var(--event-accent) 18%,transparent); border-radius: 50%; pointer-events:none; }
.event-shape--hero { top: 19%; left: -5rem; width: 10rem; height: 10rem; background: rgba(235,221,47,.42); border-radius: 2rem 5rem 3rem 6rem; transform: rotate(18deg); }
.event-hero__grid { position: relative; z-index: 1; display:grid; grid-template-columns:minmax(0,.88fr) minmax(25rem,1.12fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.event-hero__content .visual-label { margin-bottom:1.4rem; }
.event-hero h1 { max-width:10ch; font-size:clamp(4rem,7.3vw,7.25rem); line-height:.88; letter-spacing:-.06em; }
.event-hero__excerpt { max-width:36rem; margin-top:1.8rem; font-size:clamp(1.12rem,1.6vw,1.4rem); line-height:1.55; }
.event-hero__essentials { display:grid; gap:1rem; margin-top:2.2rem; }
.event-hero__essentials div { padding-left:1rem; border-left:3px solid var(--event-accent); }
.event-hero__essentials dt,.event-quick dt,.event-contact dt { color:var(--event-accent); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.event-hero__essentials dd { margin-top:.2rem; font-size:1rem; font-weight:600; line-height:1.35; }
.event-hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.25rem; }
.event-button { display:inline-flex; min-height:3.25rem; align-items:center; justify-content:center; gap:.65rem; padding:.85rem 1.3rem; border:1px solid transparent; border-radius:999px; font-weight:600; text-decoration:none; transition:transform .2s,background-color .2s,border-color .2s; }
.event-button:hover { transform:translateY(-2px); }
.event-button--primary { color:#fff; background:var(--event-accent); }
.event-button--secondary { color:var(--color-text); background:rgba(255,255,255,.65); border-color:color-mix(in srgb,var(--event-accent) 20%,transparent); }
.event-button--yellow { color:var(--color-text); background:var(--color-yellow); }
.event-visual { position:relative; margin:0; }
.event-visual::before { position:absolute; inset:-1.2rem 2rem 1.2rem -1.2rem; z-index:-1; content:""; background:color-mix(in srgb,var(--event-accent) 11%,white); border:1px solid color-mix(in srgb,var(--event-accent) 16%,transparent); border-radius:4rem 1.5rem 4rem 1.5rem; transform:rotate(-2deg); }
.event-visual img { width:100%; max-height:42rem; object-fit:contain; border-radius:1.5rem 4rem 1.5rem 4rem; }
.event-visual figcaption { position:absolute; right:-1rem; bottom:1.25rem; max-width:14rem; padding:.85rem 1rem; color:#fff; background:var(--event-accent); border-radius:1rem; font-size:.75rem; font-weight:600; line-height:1.35; }

.event-quick { position:relative; z-index:2; margin-top:-2rem; }
.event-quick__list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:1.4rem 1.6rem; background:rgba(255,255,255,.9); border:1px solid rgba(52,42,255,.12); border-radius:1.5rem; box-shadow:0 1rem 2.8rem rgba(23,23,74,.07); backdrop-filter:blur(9px); }
.event-quick__list div { min-width:0; padding:0 1.1rem; }
.event-quick__list div+div { border-left:1px solid rgba(52,42,255,.12); }
.event-quick dd { margin-top:.4rem; font-size:.87rem; font-weight:600; line-height:1.35; }
.event-quick a { color:var(--event-accent); text-decoration:none; }

.event-heading { max-width:58rem; margin-bottom:clamp(3.5rem,6vw,5.5rem); }
.event-heading .visual-label { margin-bottom:1.25rem; }
.event-heading h2 { font-size:clamp(3rem,5.8vw,5.5rem); line-height:.95; letter-spacing:-.055em; }
.event-heading--row { display:grid; max-width:none; grid-template-columns:minmax(0,1.5fr) minmax(16rem,.5fr); align-items:end; gap:3rem; }
.event-heading--row>p { max-width:26rem; color:rgba(23,23,74,.68); line-height:1.65; }
.event-about { background:radial-gradient(circle at 92% 25%,rgba(235,221,47,.18),transparent 28%),#fff; }
.event-about__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.event-prose p { color:rgba(23,23,74,.78); font-size:1.05rem; line-height:1.8; }
.event-prose p:first-child { color:var(--color-text); font-size:clamp(1.35rem,2.1vw,1.8rem); line-height:1.55; }
.event-prose p+p { margin-top:1.5rem; }
.event-prose blockquote { margin:2.4rem 0 0; padding:1.5rem 0 1.5rem 1.5rem; color:var(--event-accent); border-left:3px solid var(--color-yellow); font-family:var(--font-heading); font-size:1.5rem; line-height:1.25; }
.event-about__media { height:35rem; overflow:hidden; border-radius:2rem 5rem 2rem 5rem; transform:rotate(1.5deg); }
.event-about__media img,.event-gallery img,.event-history img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }

.event-program { overflow:hidden; background:linear-gradient(180deg,color-mix(in srgb,var(--event-accent) 5%,white),#fff); }
.event-shape--program { right:-5rem; top:12rem; width:14rem; height:14rem; border:1px solid color-mix(in srgb,var(--event-accent) 18%,transparent); border-radius:50%; }
.event-days { position:sticky; top:6.7rem; z-index:3; display:flex; gap:.5rem; width:fit-content; margin-bottom:2.5rem; padding:.4rem; background:rgba(255,255,255,.92); border:1px solid rgba(52,42,255,.13); border-radius:999px; backdrop-filter:blur(8px); }
.event-days button { padding:.75rem 1.1rem; color:var(--color-text); background:transparent; border:0; border-radius:999px; font-weight:600; cursor:pointer; }
.event-days button[aria-selected="true"] { color:#fff; background:var(--event-accent); }
.event-days button:focus-visible,.event-button:focus-visible,.event-sticky-cta a:focus-visible { outline:3px solid rgba(52,42,255,.28); outline-offset:3px; }
.event-day-panel { border-top:1px solid rgba(52,42,255,.14); }
.program-item { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:2rem; padding:2.1rem 0; border-bottom:1px solid rgba(52,42,255,.14); }
.program-item>time { color:var(--event-accent); font-family:var(--font-heading); font-size:2rem; }
.program-item__category { color:var(--event-accent); font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.program-item h3 { margin-top:.35rem; font-size:clamp(1.5rem,2.5vw,2.25rem); line-height:1.1; }
.program-item h3+p { max-width:44rem; margin-top:.65rem; color:rgba(23,23,74,.7); line-height:1.6; }
.program-item ul { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; list-style:none; }
.program-item li { padding:.4rem .65rem; color:var(--event-accent); background:color-mix(in srgb,var(--event-accent) 7%,white); border-radius:999px; font-size:.72rem; font-weight:600; }

.event-calendar { background:#fff; }
.event-calendar__embed { width:100%; min-width:0; }
.event-calendar__embed > [data-ut-partner] { width:100%; min-width:0; }
.event-embed { display:grid; min-height:18rem; place-items:center; align-content:center; gap:.8rem; width:100%; padding:3rem; text-align:center; background:color-mix(in srgb,var(--event-accent) 4%,white); border:1px dashed color-mix(in srgb,var(--event-accent) 28%,transparent); border-radius:2rem; }
.event-embed span,.event-registration__action>span { color:var(--event-accent); font-size:.72rem; font-weight:600; letter-spacing:.1em; }
.event-embed p { max-width:35rem; color:rgba(23,23,74,.65); line-height:1.6; }
.event-registration { padding-top:2rem; }
.event-registration__panel { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr); align-items:center; gap:4rem; padding:clamp(2.5rem,6vw,5rem); color:#fff; background:var(--event-accent); border-radius:2rem 5rem 2rem 5rem; }
.event-registration .visual-label { color:#fff; border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.08); }
.event-registration h2 { margin-top:1.2rem; font-size:clamp(2.8rem,5vw,5rem); line-height:.95; letter-spacing:-.05em; }
.event-registration h2+p { max-width:42rem; margin-top:1.3rem; color:rgba(255,255,255,.82); line-height:1.7; }
.event-registration__action { display:grid; place-items:start; gap:1.3rem; padding:1.5rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:1.5rem; }
.event-registration__action>span { color:rgba(255,255,255,.72); }

.event-gallery { background:radial-gradient(circle at 5% 75%,color-mix(in srgb,var(--event-accent) 7%,transparent),transparent 25%),#fff; }
.event-gallery__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); grid-template-rows:repeat(2,17rem); gap:1rem; }
.event-gallery figure { overflow:hidden; border-radius:1.5rem; }
.event-gallery__main { grid-row:1/3; border-radius:2rem 4rem 2rem 4rem!important; }
.event-gallery__grid--count-1 { grid-template-columns:1fr; grid-template-rows:minmax(24rem,52vw); }
.event-gallery__grid--count-1 .event-gallery__main { grid-row:auto; }
.event-gallery__grid--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(22rem,38vw); }
.event-gallery__grid--count-2 .event-gallery__main { grid-row:auto; }
.event-gallery figure:hover img,.event-history article:hover img { transform:scale(1.025); }

.event-history { background:color-mix(in srgb,var(--event-accent) 4%,white); }
.event-history__list { display:grid; gap:5rem; }
.event-history article { display:grid; grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.event-history article:nth-child(even) figure { order:-1; }
.event-history__year { color:var(--event-accent); font-family:var(--font-heading); font-size:clamp(4rem,8vw,7rem); line-height:.8; }
.event-history h3 { margin-top:1rem; font-size:2rem; }
.event-history h3+p { margin-top:.8rem; color:rgba(23,23,74,.7); line-height:1.65; }
.event-history a { display:inline-block; margin-top:1rem; color:var(--event-accent); font-weight:600; text-decoration:none; }
.event-history figure { height:24rem; overflow:hidden; border-radius:2rem 4rem 2rem 4rem; }

.event-partners { background:#fff; }
.event-partner-groups { display:grid; gap:3rem; }
.event-partner-groups>section { display:grid; grid-template-columns:12rem minmax(0,1fr); align-items:start; gap:2rem; padding-top:1.5rem; border-top:1px solid rgba(52,42,255,.13); }
.event-partner-groups h3 { font-family:var(--font-body); font-size:.85rem; }
.event-partner-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.event-partner-logos>div { display:grid; min-height:8rem; place-items:center; padding:1.3rem; background:#fff; border:1px solid rgba(52,42,255,.12); border-radius:1.2rem; }
.event-partner-logos img { width:100%; height:4.5rem; object-fit:contain; }
.event-contact { padding-top:2rem; }
.event-contact__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.7fr); align-items:start; gap:4rem; padding:3rem 0; border-top:1px solid rgba(52,42,255,.15); }
.event-contact h2 { margin-top:1.2rem; font-size:clamp(2.8rem,5vw,4.8rem); line-height:.95; letter-spacing:-.05em; }
.event-contact dl { display:grid; gap:1.2rem; }
.event-contact dl div { padding-bottom:1.2rem; border-bottom:1px solid rgba(52,42,255,.12); }
.event-contact dd { margin-top:.35rem; font-weight:600; }
.event-contact a { color:var(--event-accent); text-decoration:none; }

.event-sticky-cta { position:fixed; z-index:90; right:2rem; bottom:1.5rem; left:2rem; display:flex; max-width:48rem; align-items:center; justify-content:space-between; gap:2rem; margin-inline:auto; padding:.65rem .7rem .65rem 1.2rem; visibility:hidden; opacity:0; background:rgba(255,255,255,.94); border:1px solid rgba(52,42,255,.14); border-radius:999px; box-shadow:0 .8rem 2rem rgba(23,23,74,.13); transform:translateY(1rem); transition:.25s ease; backdrop-filter:blur(10px); }
.event-sticky-cta.is-visible { visibility:visible; opacity:1; transform:translateY(0); }
.event-sticky-cta p { display:grid; gap:.08rem; font-size:.78rem; }
.event-sticky-cta p span { color:rgba(23,23,74,.62); }
.event-sticky-cta a { padding:.8rem 1rem; color:#fff; background:var(--event-accent); border-radius:999px; font-size:.8rem; font-weight:600; text-decoration:none; }

@media (max-width:1024px) {
  .event-shell { width:min(calc(100% - 3rem),76rem); }
  .event-hero__grid { grid-template-columns:minmax(0,.85fr) minmax(22rem,1.15fr); gap:3rem; }
  .event-hero h1 { font-size:clamp(3.8rem,8vw,5.5rem); }
  .event-quick__list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .event-quick__list div { padding:1rem; }
  .event-quick__list div:nth-child(4) { border-left:0; }
  .event-quick__list div:nth-child(n+4) { border-top:1px solid rgba(52,42,255,.12); }
  .event-about__grid { gap:3rem; }
}

@media (max-width:760px) {
  .event-shell { width:calc(100% - 2.5rem); }
  .event-section { padding:5.5rem 0; }
  .event-hero { min-height:auto; padding:8rem 0 4rem; }
  .event-hero__grid,.event-about__grid,.event-heading--row,.event-registration__panel,.event-contact__layout { grid-template-columns:1fr; }
  .event-hero h1 { font-size:clamp(3.4rem,15vw,5rem); }
  .event-hero__excerpt { margin-top:1.3rem; }
  .event-hero__actions { position:relative; z-index:2; }
  .event-button--primary { flex:1; }
  .event-visual { margin-top:1rem; }
  .event-visual::before { inset:-.6rem .8rem .7rem -.6rem; }
  .event-visual img { max-height:none; border-radius:1.2rem 2.5rem 1.2rem 2.5rem; }
  .event-visual figcaption { right:.5rem; bottom:.5rem; }
  .event-quick { margin-top:0; padding-top:1.2rem; }
  .event-quick__list { grid-template-columns:1fr; padding:1rem 1.4rem; }
  .event-quick__list div,.event-quick__list div:nth-child(4) { padding:1rem 0; border-left:0; border-top:0; }
  .event-quick__list div+div { border-top:1px solid rgba(52,42,255,.12); }
  .event-heading { margin-bottom:3rem; }
  .event-heading h2 { font-size:clamp(2.8rem,13vw,4rem); }
  .event-heading--row { gap:1.2rem; }
  .event-about__media { height:24rem; transform:none; }
  .event-days { top:5.8rem; max-width:100%; overflow-x:auto; }
  .event-days button { flex:0 0 auto; }
  .program-item { grid-template-columns:1fr; gap:.6rem; padding:1.6rem 0; }
  .program-item>time { font-size:1.65rem; }
  .event-embed { min-height:15rem; padding:2rem 1rem; }
  .event-registration { padding-top:0; }
  .event-registration__panel { gap:2rem; padding:2.2rem 1.4rem; border-radius:1.5rem 3rem 1.5rem 3rem; }
  .event-gallery__grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .event-gallery figure { height:16rem; }
  .event-gallery__main { grid-row:auto; height:24rem!important; }
  .event-history__list { gap:4rem; }
  .event-history article { grid-template-columns:1fr; gap:1.5rem; }
  .event-history article:nth-child(even) figure { order:initial; }
  .event-history figure { height:20rem; }
  .event-partner-groups>section { grid-template-columns:1fr; gap:1rem; }
  .event-partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-partner-logos>div { min-height:7rem; padding:1rem; }
  .event-contact__layout { gap:2.5rem; }
  .event-sticky-cta { right:.6rem; bottom:.6rem; left:.6rem; padding:.45rem .45rem .45rem .8rem; }
  .event-sticky-cta p span { display:none; }
  .event-sticky-cta a { padding:.8rem .9rem; }
  .event-page .site-footer { padding-bottom:5rem; }
}

@media (max-width:390px) {
  .event-hero__actions { display:grid; }
  .event-button { width:100%; }
  .event-sticky-cta p { max-width:8.5rem; }
}

@media (prefers-reduced-motion:reduce) {
  .event-button,.event-sticky-cta,.event-about__media img,.event-gallery img,.event-history img { transition:none; }
  .event-button:hover,.event-gallery figure:hover img,.event-history article:hover img { transform:none; }
}

/* Dynamic WordPress variants. */
.event-visual--fallback { display:grid; min-height:30rem; place-items:center; padding:2rem; color:#fff; background:var(--event-accent); border-radius:2.5rem 1.2rem 2.5rem 1.2rem; }
.event-visual--fallback span { max-width:18ch; font-family:var(--font-heading); font-size:clamp(2rem,4vw,4rem); line-height:1; text-align:center; }
.event-topics { display:flex; align-items:center; gap:.75rem; padding-top:1.25rem; }
.event-topics>span { font-size:.85rem; font-weight:600; }
.event-topics ul { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; list-style:none; }
.event-topics li { padding:.42rem .75rem; color:var(--event-accent); border:1px solid rgba(52,42,255,.2); border-radius:999px; font-size:.78rem; font-weight:600; }
.event-about__grid--text-only { grid-template-columns:minmax(0,48rem); }
.event-day-title { margin:2rem 0 .5rem; font-size:clamp(1.5rem,3vw,2.2rem); }
.event-schedule { margin:0; padding:0; list-style:none; }
.event-schedule>li { display:grid; grid-template-columns:9rem minmax(0,1fr); gap:2rem; padding:1.8rem 0; border-bottom:1px solid rgba(52,42,255,.13); }
.event-schedule__time { color:var(--event-accent); font-weight:700; }
.event-schedule h3 { margin:0; font-size:clamp(1.3rem,2vw,1.8rem); }
.event-schedule p { margin:.5rem 0 0; }
.event-schedule__meta { color:rgba(23,23,74,.65); font-size:.9rem; font-weight:600; }
.event-partner-logos>a { display:grid; min-height:8rem; place-items:center; padding:1.25rem; color:var(--color-text); background:#fff; border:1px solid rgba(52,42,255,.12); border-radius:1rem; text-align:center; text-decoration:none; }
.event-partner-logos>a img { width:100%; height:5rem; object-fit:contain; }
.event-history__item--reverse figure { order:-1; }
.event-history__media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,10rem); gap:.65rem; }
.event-history__media figure { height:auto; min-height:0; }
.event-history article:nth-child(even) .event-history__media figure { order:initial; }
.event-history__media figure:first-child { grid-row:1/3; }
.event-history__media--count-1 { grid-template-columns:1fr; grid-template-rows:20rem; }
.event-history__media--count-1 figure:first-child { grid-row:auto; }
.event-history__media--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:20rem; }
.event-history__media--count-2 figure:first-child { grid-row:auto; }
.event-history__item--reverse .event-history__media { order:-1; }
.event-news { position:relative; padding-block:7rem; }

@media (max-width:760px) {
  .event-topics { align-items:flex-start; flex-direction:column; }
  .event-schedule>li { grid-template-columns:1fr; gap:.5rem; }
  .event-history__item--reverse .event-history__media { order:initial; }
  .event-history__media { grid-template-rows:repeat(2,9rem); }
  .event-visual--fallback { min-height:22rem; }
}
