/* Eco Sicily: overview in home and complete programme. */
.home-program-overview {display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.home-program-overview h2 {max-width:800px}
.home-program-copy p {color:#c2cdd6;font-size:1.15rem;margin:0 0 1.5rem}
.program-page-link {display:inline-flex;align-items:center;gap:1.5rem;text-decoration:none;font-weight:800;color:var(--navy);background:var(--lime);padding:1rem 1.4rem;border-radius:4px;min-height:54px}
.program-page-link:hover {background:#e7ff9b}
.program-page-link span {font-size:1.5rem;line-height:1}
.program-page-link:focus-visible,.programme-jump a:focus-visible,.programme-back:focus-visible {outline:3px solid var(--green);outline-offset:5px}
.home-program-themes {display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem}
.home-program-themes span {border:1px solid #ffffff40;padding:.4rem .8rem;border-radius:30px;font-size:.85rem;color:#dce5ea}
.collaboration-showcase .participant-grid {grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;justify-self:center;width:100%}
.awards-grid.awards-grid--two {grid-template-columns:repeat(2,minmax(0,1fr))}
.programme-page {background:var(--cream)}
.programme-page .site-header {background:rgba(8,26,50,.97);border-bottom:1px solid #ffffff1f}
.programme-page #main-nav a[aria-current=page] {color:var(--lime)}
.programme-hero {position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white;padding:clamp(8rem,13vw,11rem) 0 clamp(3rem,6vw,6rem)}
.programme-hero:before {content:"";position:absolute;z-index:-2;inset:0 0 0 45%;background:url('assets/hero-sicily-v2.webp') center/cover;opacity:.28}
.programme-hero:after {content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--navy) 15%,rgba(8,26,50,.85) 54%,rgba(8,26,50,.2))}
.programme-back {display:inline-flex;text-decoration:none;gap:.7rem;align-items:center;color:#c4d2da;font-size:.85rem;margin-bottom:2.3rem}
.programme-hero h1 {font-size:clamp(3.5rem,8.5vw,7.5rem);line-height:.94;letter-spacing:-.06em;margin:0;max-width:1050px}
.programme-hero h1 span {color:var(--lime)}
.programme-hero .eyebrow {margin-bottom:1.25rem}
.programme-intro {font-size:clamp(1.05rem,1.8vw,1.3rem);color:#d1dce2;max-width:730px;margin:2rem 0}
.programme-date {display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;align-items:center;font-size:1rem;font-weight:700;margin-bottom:2rem}
.programme-date span {padding-left:1rem;border-left:3px solid var(--green)}
.programme-jump {background:#fff;border-bottom:1px solid var(--line)}
.programme-jump .wrap {display:flex;gap:.5rem 1.75rem;align-items:center;flex-wrap:wrap;padding-top:1.2rem;padding-bottom:1.2rem}
.programme-jump a {font-size:.88rem;font-weight:800;text-decoration:none;padding:.45rem 0;border-bottom:2px solid transparent}
.programme-jump a:hover {border-color:var(--green)}
.programme-section {padding:clamp(3.5rem,7vw,6rem) 0;scroll-margin-top:85px}
.programme-section + .programme-section {border-top:1px solid var(--line)}
.programme-section-heading {display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:2.5rem}
.programme-section-heading h2 {font-size:clamp(2.6rem,5.2vw,4.4rem);max-width:850px}
.programme-section-heading .kicker {margin-bottom:1rem}
.programme-room {color:var(--muted);max-width:240px;text-align:right;margin:0}
.programme-room strong {display:block;color:var(--navy)}
.programme-sessions {display:grid;gap:1rem}
.programme-session {display:grid;grid-template-columns:158px minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.programme-time {display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;padding:1.6rem 1.25rem;background:var(--navy);color:var(--lime);font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums;font-size:1.1rem}
.programme-time .programme-time-until {font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:#b5c6cf;font-weight:500}
.programme-session-content {padding:clamp(1.25rem,2.7vw,2.25rem)}
.programme-session h3 {font-size:clamp(1.35rem,2.3vw,1.85rem);line-height:1.2;letter-spacing:-.03em;margin:0}
.programme-speaker-label {font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:800;margin:1.4rem 0 .8rem}
.programme-speakers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;list-style:none;padding:0;margin:0}
.programme-speakers li {min-width:0;line-height:1.5;font-size:.9rem}
.programme-speakers strong {display:block;font-size:.97rem;font-weight:800}
.programme-speakers span {display:block;color:#556575;margin-top:.15rem}
.programme-session-description {margin:1rem 0 0;color:#556575;font-size:1rem}
.programme-session--awards .programme-time {background:var(--green);color:white}
.programme-session--evening {background:var(--navy);color:white}
.programme-session--evening .programme-time {background:var(--green);color:white}
.programme-session--evening .programme-session-description {color:#c2cdd6}
.programme-guest {display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:1.25rem 1.5rem;border-left:5px solid var(--green);background:#e8efda;margin:0 0 1.5rem}
.programme-guest span {font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#116b50;font-weight:800}
.programme-guest strong {font-size:1.15rem}
.programme-guest p {margin:0;color:#435666}
.programme-experiences {background:#e9efdc}
.programme-experience-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.programme-experience {background:#fff;border:1px solid var(--line);border-top:5px solid var(--green);padding:clamp(1.3rem,2.5vw,2rem)}
.programme-experience .kicker {font-size:.68rem;letter-spacing:.1em;margin-bottom:1rem}
.programme-experience h3 {font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1rem}
.programme-experience>p {font-size:.97rem;margin:1rem 0;color:#435666}
.programme-experience time {display:inline-block;color:var(--navy);font-weight:800;font-size:1.1rem}
.programme-experience strong {font-size:.92rem}
.programme-masterclasses {display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0}
.programme-masterclasses li {padding:.35rem .65rem;border:1px solid var(--line);border-radius:30px;font-weight:800}
.programme-parallel {display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;margin-top:1rem;padding:clamp(1.5rem,3vw,2.5rem);background:var(--navy);color:white;border-radius:4px}
.programme-parallel .kicker {color:var(--lime)}
.programme-parallel h3 {font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;margin:0 0 1rem;letter-spacing:-.03em}
.programme-parallel time {color:var(--lime);font-weight:800}
.programme-parallel .programme-speakers {grid-template-columns:1fr}
.programme-parallel .programme-speakers span,.programme-parallel p {color:#c3d0da}
.programme-parallel p {margin:1rem 0 0}
.programme-spaces {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.programme-space {padding:1.5rem;border:1px solid var(--line);border-radius:4px;background:#fff}
.programme-space h3 {margin:0 0 .6rem;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}
.programme-space p {margin:0;color:#556575}
.programme-space:last-child {grid-column:1/-1}
.programme-cta {background:var(--lime);padding:clamp(3rem,6vw,5rem) 0;text-align:center}
.programme-cta h2 {font-size:clamp(2.7rem,6vw,5rem)}
.programme-cta p {margin:1.5rem auto;max-width:680px;font-size:1.1rem}
.programme-cta .hero-actions {justify-content:center}
.programme-cta a {text-underline-offset:5px}
.programme-cta .programme-contact {display:block;margin-top:2rem;font-size:.94rem}
@media(max-width:950px){
  .home-program-overview {grid-template-columns:1fr;gap:2rem}
  .programme-experience-grid {grid-template-columns:1fr}
  .programme-parallel {grid-template-columns:1fr}
  .programme-session {grid-template-columns:138px minmax(0,1fr)}
}
@media(max-width:650px){
  .awards-grid.awards-grid--two {grid-template-columns:1fr}
  .programme-hero {padding-top:7rem}
  .programme-back {margin-bottom:1.7rem}
  .programme-hero h1 {font-size:clamp(3.2rem,13vw,4.8rem)}
  .programme-date {flex-direction:column;align-items:flex-start}
  .programme-jump .wrap {gap:.25rem 1rem}
  .programme-section-heading {grid-template-columns:1fr;gap:1.2rem}
  .programme-room {text-align:left;max-width:none}
  .programme-session {grid-template-columns:1fr}
  .programme-time {flex-direction:row;gap:.7rem;align-items:center;padding:.8rem 1.2rem;font-size:1rem}
  .programme-time .programme-time-until {font-size:.8rem;letter-spacing:0;text-transform:none}
  .programme-speakers {grid-template-columns:1fr;gap:.85rem}
  .programme-session-content {padding:1.3rem}
  .programme-spaces {grid-template-columns:1fr}
  .programme-space:last-child {grid-column:auto}
  .programme-cta .hero-actions {align-items:stretch}
  .programme-cta .hero-actions a {align-self:center}
  .collaboration-showcase .participant-grid {gap:.7rem}
  .collaboration-showcase .participant-grid figure {padding:.8rem}
}
