/* FOCUSED LAYOUT REFINEMENTS
   Preserve the festival palette, fonts, hero artwork and existing page content. */

/* Show the entire official palm silhouette, not two cropped fronds. */
#festival-vision .event-palm-watermark {
  right:clamp(24px,4vw,64px);bottom:auto;top:50%;
  width:min(46vw,650px);height:auto;max-width:calc(100% - 48px);
  max-height:calc(100% - 64px);object-fit:contain;transform:translateY(-50%);
  opacity:.10;filter:none;
}
.lux-watermarked::before,
.lux-highlight-hero.lux-watermarked::before,
.lux-story-strip.lux-watermarked::before,
.festival-experience-section.lux-watermarked::before {
  background-position:right clamp(24px,4vw,64px) center;
  background-size:min(46vw,650px) auto;
}

/* Keep each pathway's color and photo focal point attached to its meaning. */
.event-pathway[data-pathway="play"] .event-pathway__eyebrow{color:var(--sun)}
.event-pathway[data-pathway="thrive"] .event-pathway__eyebrow{color:var(--mint)}
.event-pathway[data-pathway="compete"] .event-pathway__eyebrow{color:var(--lavender)}
.event-pathway[data-pathway="belong"] .event-pathway__eyebrow{color:var(--rose)}
.event-pathway[data-pathway="play"] .event-pathway__image img{object-position:45% 27%}
.event-pathway[data-pathway="thrive"] .event-pathway__image img{object-position:50% 27%}
.event-pathway[data-pathway="compete"] .event-pathway__image img{object-position:50% 31%}
.event-pathway[data-pathway="belong"] .event-pathway__image img{object-position:46% 29%}

/* Shared tracks, not arbitrary offsets, align heading copy with row copy. */
.roles-aligned-section {
  --role-columns:60px minmax(260px,.85fr) minmax(350px,1.15fr);
  --role-gap:clamp(24px,3.5vw,53px);
}
.roles-aligned-section .section-head,
.roles-aligned-section .opportunity-row {
  display:grid;grid-template-columns:var(--role-columns);column-gap:var(--role-gap);
}
.roles-aligned-section .section-head>div:first-child{grid-column:1 / 3}
.roles-aligned-section .section-head>.intro-copy{grid-column:3;max-width:none}
.roles-aligned-section .opportunity-row>.right{grid-column:3}
.partners-aligned-section {
  --partner-columns:minmax(320px,.87fr) minmax(0,1.13fr);
  --partner-gap:clamp(28px,4vw,60px);
}
.partners-aligned-section .section-head,
.partners-aligned-section .partner-group {
  display:grid;grid-template-columns:var(--partner-columns);column-gap:var(--partner-gap);
}
.partners-aligned-section .section-head>.intro-copy{max-width:none}

/* Leave a clear gap above the angled ribbon without changing its overlap. */
#main>.support-closing {
  padding-bottom:clamp(160px,calc(124px + 5vw),252px);
}
.lineup-sort-note {
  margin:0 0 20px;color:var(--muted);font:400 13px/1.65 var(--body);
  max-width:750px;
}
.lineup-card .competition-card-start {
  margin:20px 0 0;padding-left:12px;border-left:2px solid var(--lime);
  color:var(--lime);font:600 13px/1.6 var(--body);
}

@media(max-width:1190px){
  .roles-aligned-section{--role-columns:44px minmax(0,1fr);--role-gap:20px}
  .roles-aligned-section .section-head>div:first-child{grid-column:1 / -1}
  .roles-aligned-section .section-head>.intro-copy,
  .roles-aligned-section .opportunity-row>.right{grid-column:2;padding-top:0}
  .partners-aligned-section{--partner-columns:minmax(0,1fr)}
  .partners-aligned-section .section-head>.intro-copy{padding-top:0}
}
@media(max-width:760px){
  #festival-vision .event-palm-watermark {
    top:auto;bottom:28px;right:24px;transform:none;width:min(82vw,520px);
    max-height:calc(100% - 56px);opacity:.085;
  }
  .lux-watermarked::before,.lux-highlight-hero.lux-watermarked::before,
  .lux-story-strip.lux-watermarked::before,
  .festival-experience-section.lux-watermarked::before {
    background-position:right 24px bottom 32px;
    background-size:calc(100% - 48px) auto;
  }
}
@media(max-width:700px){
  .roles-aligned-section{--role-columns:minmax(0,1fr);--role-gap:18px}
  .roles-aligned-section .section-head>div:first-child,
  .roles-aligned-section .section-head>.intro-copy,
  .roles-aligned-section .opportunity-row>.right {grid-column:1}
  .roles-aligned-section .opportunity-row {row-gap:12px}
}
/* Keep the existing compact day labels from being overridden by desktop type. */
@media(max-width:720px){
  .festival-daily-section .daily-day strong{font-size:clamp(16px,4.9vw,20px)!important}
}
@media(max-width:440px){
  .festival-daily-section .daily-day strong{font-size:0!important}
}
