/* Scoped to the festival hero; the rest of the page retains its existing styles. */
.hero.fair-hero{display:block;min-height:0;padding:94px 0 36px;background:#fffaf0;isolation:isolate;overflow:hidden;color:#66442e}
.hero.fair-hero::before,.hero.fair-hero::after{display:none}
.fair-hero .fair-hero__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fair-hero__poster{display:block;width:100%;max-width:1680px;margin:0 auto;background:#fff}
.fair-hero__poster img{display:block;width:100%;height:auto}
.fair-hero__welcome{position:relative;display:grid;grid-template-columns:1fr minmax(440px,1.8fr) 1fr;align-items:center;gap:20px;max-width:1280px;margin:auto;padding:28px 32px 24px}
.fair-hero__invitation{text-align:center}
.fair-hero__free{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 10px;font-size:14px;font-weight:700}
.fair-hero__free strong{padding:4px 16px;background:#b83d52;color:#fff;border-radius:30px;letter-spacing:.08em}
.fair-hero__invitation h2{margin:0 0 12px;font-family:"Zen Maru Gothic",sans-serif;font-size:clamp(24px,2.7vw,36px);line-height:1.4;font-weight:900;letter-spacing:.02em;color:#774624}
.fair-hero__lead{margin:0;font-size:15px;line-height:1.9;font-weight:700}
.fair-hero__mobile-break{display:none}
.fair-hero__people{display:flex;align-items:flex-end;justify-content:center;gap:8px}
.fair-hero__people img{width:30%;max-width:86px;height:115px;object-fit:contain;object-position:bottom}
.fair-hero__people img:nth-child(2){transform:translateY(-16px)}
.fair-hero__details{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:22px 26px;border-top:2px solid #e6cbaa;border-bottom:2px solid #e6cbaa}
.fair-hero__date{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0;font-size:13px;font-weight:700}
.fair-hero__date time{font-size:30px;line-height:1.5;font-weight:900;white-space:nowrap}
.fair-hero__sunday{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:6px;border-radius:50%;background:#b83d52;color:white;font-size:16px;vertical-align:middle}
.fair-hero__date>strong{display:block;flex-basis:100%;font-size:21px;letter-spacing:.04em}
.fair-hero__venue{margin:0;font-size:19px;font-weight:900;line-height:1.6}
.fair-hero__venue span{display:block;font-size:12px;font-weight:500}
.fair-hero__actions{display:grid;gap:10px}
.fair-hero__actions a{display:flex;align-items:center;justify-content:center;gap:15px;min-height:46px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:900;text-decoration:none;transition:background .15s,color .15s}
.fair-hero__primary{background:#ad4619;color:#fff;border:2px solid #ad4619}
.fair-hero__secondary{color:#774624;background:#fff;border:2px solid #be9876}
.fair-hero__primary:hover{background:#853411;border-color:#853411}
.fair-hero__secondary:hover{background:#f9ead6}
.fair-hero__actions a:focus-visible{outline:3px solid #0568b7;outline-offset:4px}
@media(min-width:1681px){.fair-hero__poster{border-radius:0 0 28px 28px}}
@media(max-width:1100px){.fair-hero__welcome{gap:12px;padding-inline:24px;grid-template-columns:1fr minmax(390px,2.5fr) 1fr}.fair-hero__people{gap:2px}.fair-hero__people img{height:90px}.fair-hero__details{margin-inline:24px;gap:18px;padding-inline:0}.fair-hero__date time{font-size:26px}.fair-hero__venue{font-size:17px}}
@media(max-width:900px){.hero.fair-hero{padding-top:84px}.fair-hero__poster{max-width:700px}.fair-hero__welcome{grid-template-columns:1fr minmax(340px,3fr) 1fr}.fair-hero__people{flex-wrap:wrap}.fair-hero__people img{width:44%;height:70px}.fair-hero__people img:nth-child(2){transform:none}.fair-hero__details{grid-template-columns:1fr 1fr}.fair-hero__actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.fair-hero__date>strong{flex-basis:auto}}
@media(max-width:620px){.hero.fair-hero{padding-top:72px;padding-bottom:28px}.fair-hero__welcome{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 6px;padding:24px 16px 20px}.fair-hero__invitation{order:-1;width:100%}.fair-hero__invitation h2{font-size:clamp(20px,5.6vw,30px);letter-spacing:0}.fair-hero__free{font-size:12px;gap:8px}.fair-hero__lead{font-size:13px;line-height:1.9}.fair-hero__mobile-break{display:block}.fair-hero__people{flex-wrap:nowrap;width:calc(50% - 8px);gap:5px}.fair-hero__people img{width:30%;height:70px}.fair-hero__people img:nth-child(2){transform:translateY(-5px)}.fair-hero__details{margin-inline:20px;padding:18px 0;grid-template-columns:1fr;gap:12px;text-align:center}.fair-hero__date{justify-content:center;gap:3px 9px}.fair-hero__date time{font-size:28px}.fair-hero__date>strong{font-size:18px}.fair-hero__venue{font-size:17px}.fair-hero__actions{grid-template-columns:1fr;gap:9px;margin-top:6px}.fair-hero__actions a{min-height:48px;font-size:14px}}
@media(max-width:360px){.fair-hero__poster{padding:26px 12px 22px;background:linear-gradient(#edc9dc,#fff 35%,#fff 78%,#ffe779)}.fair-hero__date>strong{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.fair-hero__actions a{transition:none}}

/* Desktop event name: readable beside the hospital logo. */
@media(min-width:981px){
  .site-header .brand{gap:22px;flex-shrink:0}
  .site-header .brand>small{display:block;font-size:22px;font-weight:800;line-height:1.3}
}
@media(min-width:981px) and (max-width:1440px){
  .site-header .brand{flex-direction:column;align-items:flex-start;gap:4px}
  .site-header .brand>small{font-size:20px}
  .site-header{gap:18px;padding-inline:28px}
  .site-header .desktop-nav{gap:13px}
  .site-header .desktop-nav a{font-size:11px}
}

/* End-of-event banner over the hero image. */
.fair-hero__poster-frame{position:relative;width:100%;max-width:1680px;margin:0 auto}
.fair-hero__ended{position:absolute;inset:50% 0 auto;transform:translateY(-50%);z-index:1;margin:0;padding:14px 16px;background:#943449;color:#fff;text-align:center;font-size:clamp(20px,2.6vw,36px);font-weight:900;line-height:1.5;letter-spacing:.04em}
.fair-hero__ended span{display:inline-block}
@media(max-width:900px){.fair-hero__poster-frame{max-width:700px}}
@media(max-width:620px){.fair-hero__ended{padding:10px 12px;font-size:20px;letter-spacing:.02em}.fair-hero__ended span{display:block}}
