.festival-spotlight{padding:clamp(88px,11vh,128px) 0 clamp(120px,14vh,160px);position:relative;overflow:hidden}.festival-spotlight__container{max-width:1280px;padding:0 var(--padding-lg);margin:0 auto}.festival-spotlight__header{text-align:center;margin-bottom:var(--gap-xl);max-width:640px;margin-left:auto;margin-right:auto}.festival-spotlight__label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-farm-green);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--gap-sm);opacity:0;transition:opacity .6s,transform .6s;display:inline-block;transform:translateY(16px)}.festival-spotlight--visible .festival-spotlight__label{opacity:1;transform:translateY(0)}.festival-spotlight__title{font-size:clamp(28px,3.5vw,45px);font-weight:var(--font-weight-bold);color:var(--color-dark-brown);line-height:var(--line-height-tight);margin:0 0 var(--gap-sm);opacity:0;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(16px)}.festival-spotlight--visible .festival-spotlight__title{opacity:1;transform:translateY(0)}.festival-spotlight__title-accent{color:var(--color-farm-green);font-style:italic}.festival-spotlight__subtitle{font-size:var(--font-size-body);color:color-mix(in srgb, var(--color-dark-brown) 70%, var(--color-white-cream));line-height:var(--line-height-relaxed);opacity:0;margin:0;transition:opacity .6s .15s,transform .6s .15s;transform:translateY(16px)}.festival-spotlight--visible .festival-spotlight__subtitle{opacity:1;transform:translateY(0)}.festival-spotlight__layout{gap:var(--gap-xl);grid-template-columns:1.4fr 1fr;align-items:stretch;display:grid}.festival-spotlight__featured{border-radius:var(--radius-lg);min-height:480px;padding:var(--padding-lg);color:var(--color-white-cream);background-color:var(--festival-bg,var(--color-farm-green));isolation:isolate;opacity:0;flex-direction:column;justify-content:flex-end;transition:opacity .7s .2s,transform .7s cubic-bezier(.25,.46,.45,.94) .2s,box-shadow .4s;display:flex;position:relative;overflow:hidden;transform:translateY(20px)scale(.98)}.festival-spotlight--visible .festival-spotlight__featured{opacity:1;transform:translateY(0)scale(1)}.festival-spotlight__featured:hover{box-shadow:0 24px 48px color-mix(in srgb, var(--color-dark-brown) 25%, transparent)}.festival-spotlight__featured:hover .festival-spotlight__featured-img{transform:scale(1.04)}.festival-spotlight__featured-image{z-index:-2;position:absolute;inset:0}.festival-spotlight__featured-img{object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.festival-spotlight__featured-overlay{z-index:1;background:linear-gradient(to top, #00000026 0%, #0000000d 25%, #0000 20%), linear-gradient(to top, color-mix(in srgb, var(--color-dark-brown) 100%, transparent) 0%, color-mix(in srgb, var(--color-dark-brown) 30%, transparent) 50%, color-mix(in srgb, var(--color-dark-brown) 0%, transparent) 100%);position:absolute;inset:0}.festival-spotlight__featured-top{top:var(--padding-md);left:var(--padding-md);position:absolute}.festival-spotlight__pin{align-items:center;gap:var(--gap-xs);padding:6px var(--padding-sm);background-color:var(--festival-bg,var(--color-light-green));color:var(--festival-color,var(--color-farm-green));border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;display:inline-flex}.festival-spotlight__pin--past{opacity:.92}.festival-spotlight__pin-dot{border-radius:var(--radius-full);background-color:var(--festival-color,var(--color-farm-green));width:8px;height:8px;animation:2s ease-in-out infinite festival-pin-pulse}.festival-spotlight__featured-body{gap:var(--gap-xs);flex-direction:column;display:flex}.festival-spotlight__featured-town{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--festival-bg,var(--color-lemon-green));text-transform:uppercase;letter-spacing:.12em;text-shadow:0 1px 8px color-mix(in srgb, var(--color-dark-brown) 75%, transparent)}.festival-spotlight__featured-name{font-size:clamp(28px,4vw,48px);font-weight:var(--font-weight-extra-bold);color:var(--color-white-cream);line-height:var(--line-height-tight);letter-spacing:-.01em;text-shadow:0 2px 12px color-mix(in srgb, var(--color-dark-brown) 70%, transparent);margin:0}.festival-spotlight__featured-meta{align-items:center;gap:var(--gap-md);flex-wrap:wrap;margin-top:4px;display:flex}.festival-spotlight__featured-dates{font-size:var(--font-size-body);color:var(--color-white-cream);font-weight:var(--font-weight-semibold);text-shadow:0 1px 8px color-mix(in srgb, var(--color-dark-brown) 75%, transparent)}.festival-spotlight__featured-meta .festival-countdown--discrete{color:var(--festival-bg,var(--color-lemon-green))}.festival-spotlight__featured-cta{margin-top:var(--gap-md)}.festival-spotlight__cta-btn{background-color:var(--festival-color,var(--color-pink))!important;border-color:var(--festival-color,var(--color-pink))!important;color:var(--color-white)!important}.festival-spotlight__cta-btn:not(:disabled):hover{box-shadow:0 6px 0px color-mix(in srgb, var(--festival-color,var(--color-pink)) 30%, transparent)!important}.festival-spotlight__placeholder{min-height:480px;padding:var(--padding-lg);border-radius:var(--radius-lg);background-color:color-mix(in srgb, var(--color-farm-green) 8%, var(--color-white-cream));border:1px dashed color-mix(in srgb, var(--color-farm-green) 30%, transparent);opacity:0;justify-content:center;align-items:center;transition:opacity .7s .2s,transform .7s cubic-bezier(.25,.46,.45,.94) .2s;display:flex;transform:translateY(20px)scale(.98)}.festival-spotlight--visible .festival-spotlight__placeholder{opacity:1;transform:translateY(0)scale(1)}.festival-spotlight__placeholder-text{text-align:center;max-width:36ch;font-size:clamp(18px,2.2vw,24px);font-weight:var(--font-weight-semibold);line-height:var(--line-height-relaxed);color:color-mix(in srgb, var(--color-dark-brown) 80%, var(--color-white-cream));margin:0}.festival-spotlight__upcoming{gap:var(--gap-md);opacity:0;flex-direction:column;transition:opacity .7s .3s,transform .7s .3s;display:flex;transform:translateY(20px)}.festival-spotlight--visible .festival-spotlight__upcoming{opacity:1;transform:translateY(0)}.festival-spotlight__upcoming-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-farm-green);text-transform:uppercase;letter-spacing:.12em}.festival-spotlight__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.festival-spotlight__row{border-bottom:1px solid color-mix(in srgb, var(--color-farm-green) 14%, transparent)}.festival-spotlight__row:first-child{border-top:1px solid color-mix(in srgb, var(--color-farm-green) 14%, transparent)}.festival-spotlight__row-link{align-items:center;gap:var(--gap-md);padding:var(--padding-sm) 0;color:inherit;transition:padding var(--transition-fast);grid-template-columns:64px 1fr auto;text-decoration:none;display:grid}.festival-spotlight__row-link:hover{padding-left:var(--padding-xs);padding-right:0}.festival-spotlight__row-link:hover .festival-spotlight__row-arrow{color:var(--row-color,var(--color-farm-green));transform:translate(6px)}.festival-spotlight__row-link:hover .festival-spotlight__date{background-color:var(--row-color,var(--color-farm-green));color:var(--color-white-cream)}.festival-spotlight__date{border-radius:var(--radius-md);background-color:var(--row-bg,var(--color-light-green));width:64px;height:64px;color:var(--row-color,var(--color-farm-green));transition:background-color var(--transition-fast), color var(--transition-fast);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.festival-spotlight__date-day{font-size:22px;font-weight:var(--font-weight-extra-bold);line-height:1}.festival-spotlight__date-month{font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.1em;margin-top:2px}.festival-spotlight__row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.festival-spotlight__row-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-dark-brown);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.festival-spotlight__row-town{font-size:var(--font-size-small);color:color-mix(in srgb, var(--color-dark-brown) 65%, var(--color-white-cream))}.festival-spotlight__row-arrow{color:color-mix(in srgb, var(--color-farm-green) 50%, transparent);transition:transform var(--transition-fast), color var(--transition-fast);font-size:20px}.festival-spotlight__all{margin-top:var(--gap-sm)}.festival-spotlight__all-link{align-items:center;gap:var(--gap-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-farm-green);transition:gap var(--transition-fast);text-decoration:none;display:inline-flex}.festival-spotlight__all-link:hover{gap:var(--gap-sm)}@keyframes festival-pin-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@media (max-width:1024px){.festival-spotlight__layout{gap:var(--gap-lg);grid-template-columns:1fr}.festival-spotlight__featured{min-height:420px}}@media (max-width:768px){.festival-spotlight__container{padding:0 var(--padding-sm)}.festival-spotlight__featured{min-height:360px;padding:var(--padding-md)}.festival-spotlight__featured-top{top:var(--padding-sm);left:var(--padding-sm)}}@media (max-width:480px){.festival-spotlight__row-link{gap:var(--gap-sm);grid-template-columns:56px 1fr auto}.festival-spotlight__date{width:56px;height:56px}.festival-spotlight__date-day{font-size:18px}}@media (prefers-reduced-motion:reduce){.festival-spotlight__pin-dot{animation:none}}
