.pa-programme { width:100%; color:#1c3340; }
.pa-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pa-group-nav { display:none; gap:10px; margin:0 0 28px; }
.pa-group-button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:62px; padding:12px 16px; border:1px solid #cfdee5; border-radius:12px; background:#f4f8fa; color:#084761; font:inherit; font-weight:700; line-height:1.3; text-align:left; cursor:pointer; transition:background .16s ease, box-shadow .16s ease; }
.pa-group-button:hover { background:#e7f3f7; }
.pa-group-button[aria-pressed="true"] { border-color:#087ba2; background:#e8f5f8; box-shadow:inset 0 0 0 1px #087ba2; }
.pa-group-button:focus-visible, .pa-category-title:focus-visible, .pa-card-trigger:focus-visible { outline:3px solid #2685a6; outline-offset:2px; }
.pa-group-count { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 6px; border-radius:50px; background:#dbeef4; color:#084761; font-size:12px; font-weight:700; }
.pa-category { margin:0 0 12px; border:0; }
.pa-category-title { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 20px; border:1px solid #cfdee5; border-radius:10px; background:#f4f8fa; color:#084761; font-size:18px; font-weight:700; cursor:pointer; list-style:none; }
.pa-category-title::-webkit-details-marker, .pa-card-trigger::-webkit-details-marker { display:none; }
.pa-category-meta { display:flex; align-items:center; gap:16px; }
.pa-chevron, .pa-card-cue { flex:0 0 9px; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .18s ease; }
.pa-category[open] .pa-chevron, .pa-card[open] .pa-card-cue { transform:rotate(225deg); }
.pa-category-content { padding:22px 0 8px; }
.pa-group-heading { margin:0 0 23px; color:#084761; font-size:27px; font-weight:700; line-height:1.2; }
.pa-award-section { margin:0 0 14px; }
.pa-award-heading { margin:0 0 16px; color:#084761; font-size:19px; font-weight:700; line-height:1.35; }
.pa-card { min-width:0; overflow:hidden; border:1px solid #dce6eb; border-radius:12px; background:#fff; box-shadow:0 4px 13px rgba(10,55,75,.06); }
.pa-card[open] { border-color:#87b8ca; box-shadow:0 8px 22px rgba(10,55,75,.12); }
.pa-card-trigger { display:block; cursor:pointer; list-style:none; }
.pa-card-trigger:hover .pa-name { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.pa-photo { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; object-position:center; }
.pa-photo-fallback { background:linear-gradient(135deg,#d9e8ed,#f3f7f9); }
.pa-card-copy { display:block; position:relative; padding:18px 38px 18px 18px; }
.pa-award { display:block; margin:0 0 8px; color:#335666; font-size:12px; font-weight:700; line-height:1.35; }
.pa-name { display:block; margin:0 0 5px; color:#09608c; font-size:20px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.pa-org { display:block; color:#202c32; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.pa-card-cue { position:absolute; right:18px; bottom:24px; color:#087ba2; }
.pa-card-detail { padding:16px 18px 18px; border-top:1px solid #e3ebef; }
.pa-blurb { color:#344956; line-height:1.55; overflow-wrap:anywhere; }
.pa-blurb p { margin:0 0 12px; }
.pa-blurb p:last-child { margin-bottom:0; }
.pa-empty { margin:0; }
@media (min-width:768px) {
  .pa-programme.pa-enhanced .pa-group-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pa-programme.pa-enhanced details.pa-category:not([open]) { display:none; }
  .pa-programme.pa-enhanced .pa-category-title { display:none; }
  .pa-programme.pa-enhanced .pa-category-content { padding:0; }
}
@media (min-width:768px) and (max-width:1024px) {
  .pa-programme.pa-enhanced .pa-group-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .pa-award-heading { margin-bottom:12px; font-size:16px; }
  .pa-category-title { padding:14px 16px; font-size:17px; }
  .pa-category-content { padding:20px 0 2px; }
  .pa-group-heading { display:none; }
  .pa-card-trigger { display:grid; grid-template-columns:var(--pa-mobile-photo-size,84px) minmax(0,1fr); align-items:center; }
  .pa-photo { width:var(--pa-mobile-photo-size,84px); height:var(--pa-mobile-photo-size,84px); }
  .pa-card-copy { padding:10px 32px 10px 12px; }
  .pa-award { margin-bottom:3px; font-size:11px; }
  .pa-name { margin-bottom:3px; font-size:17px; }
  .pa-org { font-size:13px; }
  .pa-card-cue { right:14px; bottom:calc(50% - 4px); }
  .pa-card-detail { padding:12px 15px 16px; }
}
@media (prefers-reduced-motion:reduce) { .pa-chevron, .pa-card-cue, .pa-group-button { transition:none; } }
/* Responsive rows keep a partial row centered at the configured card width. */
.pa-cards { display:flex; flex-wrap:wrap; justify-content:var(--pa-card-alignment,center); align-items:stretch; gap:var(--pa-card-gap,18px); }
.pa-card { box-sizing:border-box; flex:0 0 auto; width:calc((100% - (var(--pa-grid-columns,3) - 1) * var(--pa-card-gap,18px)) / var(--pa-grid-columns,3)); }
.pa-group-button { box-sizing:border-box; min-width:0; height:auto; white-space:normal; font-size:clamp(12px,1.2vw,16px); }
.pa-group-button > span:first-child { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.pa-group-button[aria-pressed="true"] { color:var(--pa-active-group-color,#084761); }
.pa-award-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 16px; border:1px solid #d9e5ea; border-radius:8px; background:#f4f8fa; cursor:pointer; list-style:none; overflow-wrap:anywhere; }
.pa-award-heading::-webkit-details-marker { display:none; }
.pa-award-heading:focus-visible { outline:3px solid #2685a6; outline-offset:2px; }
.pa-award-section[open] > .pa-award-heading .pa-chevron { transform:rotate(225deg); }
.pa-award-section .pa-cards { padding:4px 0 12px; }
@media (max-width:767px) { .pa-card { width:100%; } .pa-group-button { font-size:16px; } }
/* Template content stays outside native disclosure buttons, so links remain usable. */
.pa-custom-header { display:none; }
.pa-enhanced .pa-custom-header { display:block; }
.pa-enhanced .pa-has-template-header > summary { display:none; }
.pa-template-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:12px 16px; border:1px solid #cfdee5; border-radius:8px; background:#f4f8fa; color:#084761; font:inherit; text-align:left; white-space:normal; cursor:pointer; }
.pa-template-toggle[aria-expanded="true"] .pa-chevron { transform:rotate(225deg); }
.pa-template-toggle:focus-visible { outline:3px solid #2685a6; outline-offset:2px; }
.pa-group-item { min-width:0; }
.pa-group-item .pa-header-template { margin-bottom:8px; }
.pa-card--template { background:transparent; border:0; box-shadow:none; border-radius:0; overflow:visible; }
.pa-card--template .pa-square-photo img { width:100%; height:auto !important; aspect-ratio:1/1; object-fit:cover; }
@media(min-width:768px) { .pa-enhanced .pa-mobile-template { display:none; } }

/* A native button preserves keyboard controls; header clicks are forwarded by the script. */
.pa-group-item--template, .pa-custom-header--overlay { position:relative; }
.pa-group-item--template .pa-header-template { margin-bottom:0; }
.pa-group-item--template > .pa-group-button,
.pa-custom-header--overlay > .pa-template-toggle {
  position:absolute; inset:0; z-index:2; width:100%; height:100%; min-height:0;
  margin:0; padding:0 !important; border:0 !important; border-radius:12px;
  background:transparent !important; box-shadow:none !important; color:transparent !important;
  font-size:0 !important;
  pointer-events:none;
}
.pa-group-item--template > .pa-group-button > span,
.pa-custom-header--overlay > .pa-template-toggle > span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pa-group-item--template > .pa-group-button:focus-visible,
.pa-custom-header--overlay > .pa-template-toggle:focus-visible { outline:3px solid #2685a6; outline-offset:2px; }
/* Explicit links and controls inside a header remain separate actions. */
.pa-group-item--template .pa-header-template :is(a,button,input,select,textarea),
.pa-custom-header--overlay .pa-header-template :is(a,button,input,select,textarea) { position:relative; z-index:3; }
/* Stretch the saved template's visible surface to the tallest group in its grid row. */
.pa-group-nav { align-items:stretch; }
.pa-group-item--template { display:flex; }
.pa-group-item--template > .pa-header-template { display:flex; width:100%; align-items:stretch; }
.pa-group-item--template > .pa-header-template > .elementor { display:flex; width:100%; align-items:stretch; }
.pa-group-item--template > .pa-header-template > .elementor > .e-con,
.pa-group-item--template > .pa-header-template > .elementor > .elementor-section { flex:1; width:100%; }
.pa-group-item--template .pa-header-template,
.pa-custom-header--overlay .pa-header-template { cursor:pointer; }

/* Saved templates own decoration; the programme only supplies row layout. */
.pa-group-nav { width:100%; max-width:100%; margin-left:auto; margin-right:auto; }
.pa-card--template { display:flex; flex-direction:column; }
.pa-card--template > .elementor { display:flex; flex:1; width:100%; align-items:stretch; }
.pa-card--template > .elementor > .e-con,
.pa-card--template > .elementor > .elementor-section { flex:1; width:100%; }

/* Recognition panels participate in the card row flow instead of covering it. */
.pa-recognition-panel[hidden] { display:none !important; }
.pa-recognition-panel { flex:0 0 100%; width:100%; min-width:0; box-sizing:border-box; margin:8px 0 16px; }
.pa-recognition-panel:not(.pa-recognition-panel--template) { padding:24px; border:1px solid #d9e5ea; border-radius:12px; background:#fff; box-shadow:0 4px 7px rgb(0 0 0 / 10%); }
.pa-recognition-default h3 { margin:0 0 6px; color:#084761; }
.pa-recognition-default p { margin:0 0 12px; }
.pa-recognition-panel:focus { outline:none; }
.pa-recognition-trigger:focus-visible, .pa-recognition-close:focus-visible { outline:2px solid #2f9fac; outline-offset:3px; }
.pa-card--row .pa-recognition-trigger { margin-top:12px; padding:8px 12px; border:1px solid #d9e5ea; border-radius:6px; color:#084761; background:#fff; cursor:pointer; }
.pa-recognition-row-mode .pa-card--selected:not(.pa-card--template),
.pa-recognition-row-mode .pa-card--selected.pa-card--template > .elementor > .e-con,
.pa-recognition-row-mode .pa-card--selected.pa-card--template > .elementor > .elementor-section { outline:2px solid var(--pa-selected-card-color,#2f9fac); outline-offset:3px; }
.pa-recognition-panel > .elementor { width:100%; }

.pa-recognition-close-trigger a:focus-visible, .pa-recognition-close-trigger button:focus-visible { outline:2px solid #2f9fac; outline-offset:3px; }

/* Whole-card recognition activation; saved templates still control decoration. */
.pa-recognition-row-mode [data-pa-recognition-card] { cursor:pointer; }
.pa-recognition-row-mode [data-pa-recognition-card]:focus-visible { outline:2px solid #2f9fac; outline-offset:3px; }
.pa-recognition-row-mode .pa-card--template > .elementor > .e-con,
.pa-recognition-row-mode .pa-card--template > .elementor > .elementor-section { transition:transform 180ms ease; }
@media (hover:hover) {
  .pa-recognition-row-mode .pa-card--template:hover > .elementor > .e-con,
  .pa-recognition-row-mode .pa-card--template:hover > .elementor > .elementor-section { transform:translateY(-4px); }
}
@media (prefers-reduced-motion:reduce) {
  .pa-recognition-row-mode .pa-card--template > .elementor > .e-con,
  .pa-recognition-row-mode .pa-card--template > .elementor > .elementor-section { transition:none; }
}

/* Summit announcement controls and modal shell. Templates own the modal content. */
.pa-summit-header-row { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.pa-summit-header-row > .pa-custom-header { flex:1; min-width:0; }
.pa-summit-default-award-title { padding:14px 16px; background:#f4f8fa; border-radius:8px; font-weight:700; color:#084761; }
.pa-summit-reveal { flex:0 0 auto; padding:10px 16px; border:0; border-radius:8px; background:#084761; color:#fff; cursor:pointer; }
.pa-summit-reveal[hidden] { display:none !important; }
.pa-summit-reveal:focus-visible { outline:3px solid #2f9fac; outline-offset:3px; }
.pa-summit-status:empty { display:none; }
.pa-summit-modal { width:calc(100vw - 32px); max-width:1040px; max-height:90vh; max-height:90dvh; padding:0; border:0; border-radius:12px; background:#fff; color:#173847; box-sizing:border-box; overflow-x:hidden; overflow-y:auto; box-shadow:0 20px 80px rgb(0 0 0 / 35%); }
.pa-summit-modal:not([open]) { display:none; }
.pa-summit-modal[open] { position:fixed; inset:0; margin:auto; z-index:999999; }
.pa-summit-modal::backdrop { background:rgb(8 24 34 / 80%); }
.pa-summit-winner-template { min-width:0; }
.pa-summit-modal-content--multiple { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
@media(max-width:767px) { .pa-summit-modal-content--multiple { grid-template-columns:minmax(0,1fr); } }
.pa-summit-default { padding:24px; }
.pa-summit-default img { max-width:100%; height:auto; }
.pa-summit-close-trigger { cursor:pointer; }
.pa-summit-close-trigger a:focus-visible, .pa-summit-close-trigger button:focus-visible { outline:3px solid #2f9fac; outline-offset:3px; }
.pa-summit-confetti { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.pa-summit-confetti span { position:absolute; top:-12px; width:8px; height:12px; animation:pa-summit-fall 1.3s ease-in forwards; }
@keyframes pa-summit-fall { to { transform:translateY(70vh) rotate(360deg); opacity:0; } }
@media(max-width:767px) { .pa-summit-header-row { flex-wrap:wrap; gap:8px; } .pa-summit-header-row > .pa-custom-header { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .pa-summit-confetti { display:none; } }

/* Template text owns the Summit reveal action and its decoration. */
[data-pa-summit-config] .pa-summit-reveal-trigger:not([data-pa-summit-enabled="true"]),
[data-pa-summit-config] .pa-summit-reveal-trigger[hidden] { display:none !important; }
.pa-summit-reveal-trigger[data-pa-summit-enabled="true"] { cursor:pointer; }
.pa-summit-reveal-trigger:focus-visible { outline:3px solid #2f9fac; outline-offset:3px; }
.pa-summit-header-row > .pa-summit-award-template { flex:1; min-width:0; width:100%; }

.pa-programme:not([data-pa-summit-config]) .pa-summit-reveal-trigger { display:none !important; }

/* Responsive winner templates fit inside each modal column. */
.pa-summit-modal-content, .pa-summit-winner-template { box-sizing:border-box; min-width:0; max-width:100%; }
.pa-summit-winner-template > .elementor > .e-con,
.pa-summit-winner-template > .elementor > .elementor-section { box-sizing:border-box; width:100% !important; max-width:100% !important; min-width:0 !important; }
.pa-summit-winner-template .e-con,
.pa-summit-winner-template .elementor-widget { box-sizing:border-box; min-width:0; max-width:100%; }
.pa-summit-winner-template img { max-width:100%; }
.pa-summit-winner-template .elementor-heading-title,
.pa-summit-winner-template p { overflow-wrap:anywhere; }

/* A revealed winner gets a soft rim light; no decoration covers their content. */
.pa-summit-view :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section) { position:relative; }
.pa-summit-view :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::before,
.pa-summit-view :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::after {
  content:""; position:absolute; inset:0; z-index:3; box-sizing:border-box;
  border-radius:inherit; pointer-events:none;
}
.pa-summit-view :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::before {
  border:2px solid var(--pa-summit-frame,#e4bd48);
  box-shadow:0 0 14px 2px rgb(228 189 72 / 22%);
}
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor) {
  .pa-summit-view :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::after {
    padding:2px;
    background:linear-gradient(120deg,var(--pa-summit-frame,#e4bd48) 25%,#fff6ce 42%,#fffdf3 50%,var(--pa-summit-frame,#e4bd48) 65%);
    background-size:250% 250%; background-position:100% 50%;
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude;
  }
  .pa-summit-view[data-pa-summit-frame="yes"] :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::after {
    animation:pa-summit-rim-light 5s ease-in-out infinite;
  }
}
@keyframes pa-summit-rim-light { 50% { background-position:0% 50%; } }
@media(prefers-reduced-motion:reduce) {
  .pa-summit-view[data-pa-summit-frame] :is(.pa-card.pa-summit-winner-revealed:not(.pa-card--template), .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .e-con, .pa-card.pa-summit-winner-revealed.pa-card--template > .elementor > .elementor-section)::after { animation:none; }
}

/* Summit selection opens recognition without adding the Pinnacle selection outline. */
.pa-programme.pa-summit-view.pa-recognition-row-mode .pa-card--selected:not(.pa-card--template),
.pa-programme.pa-summit-view.pa-recognition-row-mode .pa-card--selected.pa-card--template > .elementor > .e-con,
.pa-programme.pa-summit-view.pa-recognition-row-mode .pa-card--selected.pa-card--template > .elementor > .elementor-section { outline:none; }

/* Keep Elementor's template and boxed inner wrappers inside their grid tracks. */
.pa-summit-modal .pa-summit-modal-content {
  width:100%; box-sizing:border-box;
  padding:var(--pa-summit-modal-padding,24px);
  gap:var(--pa-summit-winner-gap,24px);
}
.pa-summit-modal .pa-summit-winner-template > .elementor {
  width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important;
}
.pa-summit-modal .pa-summit-winner-template .e-con,
.pa-summit-modal .pa-summit-winner-template .e-con-inner,
.pa-summit-modal .pa-summit-winner-template .elementor-widget,
.pa-summit-modal .pa-summit-winner-template .elementor-widget-container,
.pa-summit-modal .pa-summit-winner-template .elementor-column,
.pa-summit-modal .pa-summit-winner-template .elementor-widget-wrap {
  box-sizing:border-box !important; min-width:0 !important; max-width:100% !important;
}
.pa-summit-modal .pa-summit-winner-template > .elementor > .e-con,
.pa-summit-modal .pa-summit-winner-template .e-con.e-con-boxed > .e-con-inner {
  width:100% !important;
}
.pa-summit-modal .pa-summit-winner-template .elementor-widget-image { flex-shrink:1; }
.pa-summit-modal .pa-summit-winner-template .elementor-widget-image img { max-width:100% !important; }

/* Conference photos in revealed recognition panels retain their natural proportions. */
.pa-summit-view .pa-recognition-panel img.pa-recognition-presentation-photo {
  max-width:100%; height:auto !important; aspect-ratio:auto !important; object-fit:contain;
}

/* Winner expansions use their template height, without the card minimum height. */
.pa-recognition-panel--winner,
.pa-recognition-panel--winner > .elementor,
.pa-recognition-panel--winner > .elementor > .e-con { min-height:0; height:auto; }

/* Schedule-aware Summit visibility; editor previews remain available. */
.pa-summit-view[data-pa-summit-active="false"]:not([data-pa-editor="true"]),
.elementor-widget:has(.pa-summit-view[data-pa-summit-active="false"]:not([data-pa-editor="true"])) {
  display:none !important;
}
body.pa-summit-active:not(.elementor-editor-active) .pa-hide-when-summit-active,
body:not(.pa-summit-active):not(.elementor-editor-active) .pa-summit-active-only {
  display:none !important;
}
