.theme .section-head{align-items:flex-start;margin-bottom:24px}.theme .section-head h2{font-size:18px!important;line-height:1.35!important;letter-spacing:-.02em!important;margin:4px 0 0!important}.theme .section-head>p{font-size:14px;line-height:1.6;margin:0}.theme .card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.theme .event-card{display:flex;flex-direction:column;height:100%;border-radius:18px;box-shadow:0 5px 18px rgba(30,35,40,.08);transform:none}.theme .event-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(30,35,40,.11)}.theme .event-card__image{height:205px;min-height:0;overflow:hidden;background:#f2f3f4}.theme .event-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.theme .event-card:hover .event-card__image{transform:none}.theme .event-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.event-card__title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}.event-card__title>a{min-width:0;flex:1}.event-card__title h3{font-size:18px!important;line-height:1.4;margin:0!important;letter-spacing:-.025em}.event-card__title mark{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:#fff0f2;color:#db3d57;font-size:12px;font-weight:900}.theme .event-card dl{gap:11px;margin-bottom:22px}.theme .event-card dl div{grid-template-columns:40px 1fr;gap:9px;font-size:14px;line-height:1.55}.theme .event-card dt{color:#8b9299}.theme .event-card dd{color:#39414a}.event-card__apply{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:auto;padding:14px;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:900}.event-card__apply:hover,.event-card__apply:focus-visible{background:var(--accent);color:#fff;filter:brightness(.96)}.hero--topic h1,.hero--directory h1{font-size:clamp(33px,3.15vw,40px)!important;line-height:1.12!important;letter-spacing:-.04em!important}.hero--topic .hero__visual,.hero--directory .hero__visual{min-height:480px;border-radius:28px;background-size:160% 100%!important;background-repeat:no-repeat!important;background-position:center!important;filter:none;box-shadow:14px 18px 0 #ead4cc}.hero--topic,.hero--directory{padding-top:72px;padding-bottom:72px}#fair-list{scroll-margin-top:24px}@media(max-width:980px){.theme .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.theme .section-head{display:block}.theme .section-head>p{margin-top:8px}.theme .card-grid{grid-template-columns:1fr}.hero--topic h1,.hero--directory h1{font-size:30px!important}.hero--topic .hero__visual,.hero--directory .hero__visual{min-height:330px}.theme .event-card__image{height:190px}}
.theme .section-head{display:block!important;text-align:left}.theme .section-head>p{margin-top:8px!important;text-align:left}
.region-tabs--hero{margin-top:22px;padding:0}.region-tabs--hero+.button{margin-top:22px}

@media(min-width:981px){
.theme .hero.hero--topic{grid-template-columns:minmax(0,1fr) clamp(420px,40vw,520px);gap:24px}
.theme .hero--topic .region-tabs--hero{gap:7px}
.theme .hero--topic .region-tabs--hero a{padding:9px 14px;white-space:nowrap}
}

/* Keep the topic intro and fair list visually connected. */
.hero--topic,.hero--directory{min-height:0!important;padding-top:56px!important;padding-bottom:32px!important}
.theme>.section{padding-top:40px}
@media(max-width:720px){.hero--topic,.hero--directory{padding-top:40px!important;padding-bottom:20px!important}.theme>.section{padding-top:28px}}

@media(max-width:720px){
.theme .hero.hero--topic{display:flex!important;width:100%!important;min-width:0!important;min-height:0!important;flex-direction:column!important;align-items:stretch!important;gap:28px!important;padding:36px 0 28px!important;overflow:hidden!important}
.theme .hero--topic>div{width:100%!important;min-width:0!important}
.theme .hero--topic h1{max-width:100%!important;margin:10px 0 16px!important;font-size:clamp(28px,8.3vw,34px)!important;line-height:1.2!important;letter-spacing:-.04em!important;overflow-wrap:anywhere}
.theme .hero--topic .lead{max-width:100%!important;margin:0!important;font-size:15px!important;line-height:1.75!important}
.theme .hero--topic .region-tabs--hero{display:flex!important;width:100%!important;max-width:100%!important;flex-wrap:nowrap!important;gap:8px!important;margin:20px 0 0!important;padding:0 0 8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}
.theme .hero--topic .region-tabs--hero::-webkit-scrollbar{display:none}
.theme .hero--topic .region-tabs--hero a{flex:0 0 auto!important;white-space:nowrap!important}
.theme .hero--topic .button{max-width:100%!important;margin-top:14px!important;white-space:normal!important;text-align:center!important}
.theme .hero--topic .hero__visual{width:calc(100% - 12px)!important;min-height:0!important;aspect-ratio:16/11!important;margin:0 12px 14px 0!important;border-radius:18px!important;background-size:cover!important;background-position:center!important;box-shadow:12px 14px 0 #ead4cc!important}
}

/* Home directory and upcoming events. */
.section-head--compact{margin-bottom:24px}
.section-head--compact h2{font-size:clamp(30px,3.15vw,40px)!important;line-height:1.15!important;letter-spacing:-.04em!important;margin:6px 0 0!important}
.home-upcoming{padding-top:72px}
.home-region-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.home-region-filter button{appearance:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 15px;color:var(--ink);font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.home-region-filter button.is-active,.home-region-filter button:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.home-event-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-event-grid .event-card{display:flex;min-width:0;flex-direction:column;height:100%;border-radius:18px;color:inherit;box-shadow:0 5px 18px rgba(30,35,40,.08);transform:none}
.home-event-grid .event-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(30,35,40,.11)}
.home-event-grid .event-card[hidden]{display:none}
.home-event-grid .event-card__image{height:205px;min-height:0;overflow:hidden;background:#f2f3f4}
.home-event-grid .event-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-event-grid .event-card:hover .event-card__image{transform:none}
.home-event-grid .event-card__body{display:flex;flex:1;flex-direction:column;padding:20px}
.home-event-grid .event-card__title h3{font-size:18px!important;line-height:1.4;margin:0!important;letter-spacing:-.025em}
.home-event-grid .event-card dl{gap:11px;margin-bottom:22px}
.home-event-grid .event-card dl div{grid-template-columns:40px 1fr;gap:9px;font-size:14px;line-height:1.55}
.home-event-grid .event-card dt{color:#8b9299}
.home-event-grid .event-card dd{color:#39414a}
.home-event-grid .event-card__apply{margin-top:auto}
@media(max-width:980px){.home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.section-head--compact h2{font-size:28px!important}.home-upcoming{padding-top:48px}.home-region-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.home-region-filter button{flex:0 0 auto}.home-event-grid{grid-template-columns:1fr}.home-event-grid .event-card__image{height:190px}}

@media(max-width:720px){
.theme .hero--topic h1{display:block!important;max-width:100%!important;font-size:clamp(16px,4.6vw,25px)!important;line-height:1.3!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.theme #fair-list h2{max-width:100%!important;font-size:16px!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.theme .event-card__title h3{display:-webkit-box!important;overflow:hidden!important;font-size:16px!important;line-height:1.4!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important}
.theme .event-card--basic,.home-event-grid .event-card--basic{padding-top:0!important;align-self:start}.theme .event-card--basic .event-card__image,.home-event-grid .event-card--basic .event-card__image{width:100%;height:180px!important;min-height:180px!important;aspect-ratio:288/180;margin:0!important;border-radius:17px 17px 0 0}.theme .event-card--basic .event-card__image img,.home-event-grid .event-card--basic .event-card__image img{object-position:center top}.theme .event-card--basic .event-card__body,.home-event-grid .event-card--basic .event-card__body{padding:12px}.theme .event-card--basic .event-card__apply,.home-event-grid .event-card--basic .event-card__apply{width:100%;min-height:44px;margin:0!important;background:#0077fa!important;color:#fff!important;text-align:center}
.theme .event-card--shopping .event-card__image,.home-event-grid .event-card--shopping .event-card__image{background:#fff}.theme .event-card--shopping .event-card__image img,.home-event-grid .event-card--shopping .event-card__image img{object-fit:contain}.theme .event-card--shopping .event-card__title,.home-event-grid .event-card--shopping .event-card__title{margin-bottom:5px}.theme .event-card--shopping .event-card__price,.home-event-grid .event-card--shopping .event-card__price{display:block;margin-bottom:12px;color:#ef4b2f;font-size:19px}.theme .event-card--shopping .event-card__disclosure,.home-event-grid .event-card--shopping .event-card__disclosure{display:block;margin-top:9px;color:#6d737b;font-size:12px;line-height:1.45}.theme .event-card--shopping .event-card__apply,.home-event-grid .event-card--shopping .event-card__apply{background:#015299!important}
@media(min-width:981px){.home-event-grid{grid-template-columns:repeat(auto-fit,288px);justify-content:space-between}.home-event-grid .event-card{width:288px;height:355px!important;min-height:355px!important;max-height:355px!important}.home-event-grid .event-card:not(.event-card--basic) .event-card__image{height:160px;min-height:160px}.home-event-grid .event-card--basic .event-card__image{height:288px!important;min-height:288px!important;aspect-ratio:1/1}.home-event-grid .event-card--basic .event-card__body{min-height:65px;flex:1 1 auto}}
}

.theme .hero--topic .content-published{display:inline;margin-left:.65em;color:inherit;font:inherit;letter-spacing:inherit}

@media(min-width:721px){
.hero--directory h1{font-size:clamp(38px,3.6vw,48px)!important;line-height:1.12!important}
.hero--directory .lead{font-size:19px!important;line-height:1.8!important}
.hero--directory .hero__visual{width:100%;aspect-ratio:600/374;background-size:cover!important;background-position:center!important}
}
@media(max-width:1300px){
.hero--directory{display:grid!important;grid-template-columns:1fr!important;gap:3rem!important;padding-top:40px!important;padding-bottom:20px!important}
.hero--directory .eyebrow{font-size:clamp(11px,1vw,12px)!important}
.hero--directory h1{margin:10px 0 14px!important;font-size:clamp(30px,4vw,48px)!important}
.hero--directory .lead{max-width:100%;margin:0!important;font-size:clamp(15px,1.45vw,19px)!important;line-height:1.75!important}
.hero--directory .hero__visual{width:100%;min-height:0!important;aspect-ratio:600/374!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
}

.home-sections{display:flex;flex-direction:column}
.home-info{display:grid;grid-template-columns:clamp(300px,32vw,400px) minmax(0,1fr);column-gap:24px;row-gap:24px;align-items:start;border-top:1px solid var(--line)}
.home-info__heading{grid-column:1;grid-row:1}
.home-info h2{max-width:520px;margin:8px 0 0;font-size:clamp(30px,3.15vw,42px);line-height:1.15;letter-spacing:-.045em}
@media(min-width:721px){.home-info h2{max-width:100%;font-size:clamp(24px,2vw,28px);white-space:normal;overflow-wrap:anywhere;word-break:keep-all}}
.home-info__media{grid-column:1;grid-row:2}
.home-info__content{grid-column:2;grid-row:1;width:100%;max-width:none;color:var(--muted);font-size:17px;line-height:1.9}
.home-info:has(.home-info__media) .home-info__content{grid-row:2}
@media(min-width:721px){.home-info:not(:has(.home-info__media)):has(.home-info__heading .eyebrow) .home-info__content{margin-top:36px}}
.home-info__content>p,.home-info__content>ul{margin-top:0}
.home-info__content ul{padding-left:1.25em}
.home-info__content li{padding-left:.25em;margin-bottom:10px}
.home-info__content li::marker{color:var(--accent)}
.home-info__image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px}
@media(max-width:720px){.home-info{display:block}.home-info__media{margin-top:20px}.home-info__content{margin-top:20px;font-size:15px}.home-info__content ul{padding-left:1.15em}}
@media(max-width:720px){.theme .hero--topic .hero__visual,.theme .hero--directory .hero__visual{height:390px!important;min-height:390px!important;aspect-ratio:4/3;background-size:cover!important;background-position:center!important}.theme .event-card__image{height:220px!important;min-height:220px!important;max-height:220px!important}.theme .event-card__image img{height:100%!important;object-fit:cover!important}}
@media(max-width:720px){[data-site-theme="deep-tech"] .theme .hero--topic .hero__visual,[data-site-theme="deep-tech"] .theme .hero--directory .hero__visual{height:420px!important;min-height:420px!important;background-size:cover!important}[data-site-theme="deep-tech"] .theme .card-grid{align-items:stretch!important}[data-site-theme="deep-tech"] .theme .event-card{display:flex!important;flex-direction:column!important;height:100%!important;overflow:hidden!important}[data-site-theme="deep-tech"] .theme .event-card__image{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3!important;flex:0 0 auto!important;background-size:cover!important;background-position:center!important}[data-site-theme="deep-tech"] .theme .event-card__body{flex:1 1 auto!important}}

/* Public event cards use a separate renderer from builder promo cards. Keep
   basic and merchant artwork anchored to the card's first pixel as well. */
.theme .event-card--basic,
.theme .event-card--merchant {
  overflow: hidden !important;
  transform: none !important;
}
.theme .event-card--basic:hover,
.theme .event-card--merchant:hover {
  transform: none !important;
}
.theme .event-card--basic .event-card__image,
.theme .event-card--merchant .event-card__image {
  position: relative !important;
  top: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.theme .event-card--basic .event-card__image img,
.theme .event-card--merchant .event-card__image img {
  display: block !important;
  margin: 0 !important;
  object-position: left top !important;
  transform: none !important;
}

/* Main LATEST basic banners: reserve the full square image area so the
   artwork is not reduced to a short half-height strip by theme rules. */
.home-event-grid .event-card--basic .event-card__image {
  box-sizing: content-box !important;
  width: calc(100% + 2px) !important;
  margin-left: -1px !important;
  height: 288px !important;
  min-height: 288px !important;
  max-height: 288px !important;
  aspect-ratio: 1 / 1 !important;
  background: #fff !important;
}
.home-event-grid .event-card--basic .event-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
@media (max-width: 720px) {
  .home-event-grid .event-card--basic .event-card__image {
    height: min(288px, calc(100vw - 40px)) !important;
    min-height: min(288px, calc(100vw - 40px)) !important;
    max-height: min(288px, calc(100vw - 40px)) !important;
  }
}
