/* Static-build overrides only. Palette stays black and gold (theme vars); no navy. */

/* Testimonials / hub quote cards — clearer quote→name grouping */
.mvf-hub{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.75rem 1.5rem;
  margin-top:1.25rem;
}
.mvf-hub__card{
  background:#fff;
  border:1px solid var(--mvf-line,#e6e1d6);
  border-top:3px solid var(--mvf-gold,#c9a227);
  box-shadow:0 14px 30px -24px rgba(0,0,0,.3);
  padding:1.35rem 1.35rem 1.25rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.mvf-hub--quotes .mvf-hub__card,
.mvf-quote-card{
  gap:.45rem;
}
.mvf-hub__card > .mvf-eyebrow{
  margin:0;
  order:1;
}
.mvf-hub__card > .mvf-team__quote,
.mvf-quote-card > .mvf-team__quote{
  order:2;
  margin:.15rem 0 0;
  flex:1 1 auto;
  font-size:.95rem;
  line-height:1.55;
  color:var(--mvf-ink,#2b2b2b);
}
.mvf-hub__card > h3,
.mvf-hub__attribution{
  order:3;
  margin:.35rem 0 0;
  padding-top:.55rem;
  border-top:1px solid var(--mvf-line,#e6e1d6);
  font:600 1.05rem/1.25 var(--mvf-serif,Georgia,serif);
  color:#0b0b0b;
}
.mvf-hub--quotes{
  gap:2.1rem 1.75rem; /* more space BETWEEN cards */
}
@media (max-width:1100px){
  .mvf-hub{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .mvf-hub{grid-template-columns:1fr; gap:1.4rem;}
}

/* Partners page — logo cards matching black/gold hub style */
.mvf-partners{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  margin-top:1.25rem;
}
.mvf-partner-card{
  background:#fff;
  border:1px solid var(--mvf-line,#e6e1d6);
  border-top:3px solid var(--mvf-gold,#c9a227);
  box-shadow:0 14px 30px -24px rgba(0,0,0,.3);
  padding:1.25rem 1.25rem 1.15rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.mvf-partner-card__logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:7.5rem;
  margin:0 0 .35rem;
  background:#faf9f6;
  border:1px solid var(--mvf-line,#e6e1d6);
  padding:.75rem;
}
.mvf-partner-card__logo img{
  max-width:100%;
  max-height:6.5rem;
  width:auto;
  height:auto;
  object-fit:contain;
}
.mvf-partner-card > .mvf-eyebrow{margin:0;}
.mvf-partner-card > h3{
  margin:.15rem 0 0;
  font:600 1.1rem/1.25 var(--mvf-serif,Georgia,serif);
  color:#0b0b0b;
}
.mvf-partner-card__sub{
  margin:0;
  font-size:.9rem;
  color:#555;
}
.mvf-partner-card .mvf-link{font-size:.9rem;}
.mvf-partner-benefits{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.25rem;
  margin:1rem 0 1.25rem;
  padding:0;
  font-weight:600;
  color:#0b0b0b;
}
.mvf-partner-benefits li::before{
  content:"★ ";
  color:var(--mvf-gold,#c9a227);
}
@media (max-width:1100px){
  .mvf-partners{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .mvf-partners{grid-template-columns:1fr;}
}

/* Desktop header nav (hamburger is hidden from 600px; this row must fit 1024–1440).
   The link list defaults to flex-wrap: wrap, so Partners drops under Get Involved.
   Donate's .wp-block-button__link uses overflow-wrap: anywhere and shrinks, so the label stacks.
   Partners stays a top-level link. Below 1024px the same nowrap row overflows the viewport, so it is not forced there. */
@media (min-width:1024px){
  .mvf-site-header .mvf-nav .wp-block-navigation__container{
    flex-wrap:nowrap;
  }
  .mvf-site-header .mvf-nav .wp-block-navigation__container > .wp-block-navigation-item{
    flex-shrink:0;
  }
  .mvf-site-header .mvf-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  .mvf-site-header .mvf-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
  .mvf-header__right{
    flex-wrap:nowrap !important;
  }
  .mvf-header__donate,
  .mvf-header__donate .wp-block-button,
  .mvf-header__donate .wp-block-button__link{
    flex-shrink:0;
  }
  .mvf-header__donate .wp-block-button__link{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
    min-width:max-content;
  }
}
/* Just above 1060px the Donate padding steps up while the header is still narrower than 1240px. */
@media (min-width:1061px) and (max-width:1100px){
  .mvf-site-header .mvf-nav .wp-block-navigation__container{gap:16px;}
}
/* Above 1300px the base 30px gap overflows the 1240px header. 20px matches the 1280px row. */
@media (min-width:1301px){
  .mvf-site-header .mvf-nav{
    letter-spacing:.1em;
  }
  .mvf-site-header .mvf-nav .wp-block-navigation__container{gap:20px;}
}

/* 9th Annual sponsor wall. Lead logos share one baseline. Tier logos sit in
   equal cells on #F4F2EC, the same ground as the high-res files. */
section:has(#sponsors){
  background:#F4F2EC;
}
.mvf-sponsors__tier{
  margin:40px 0;
}
.mvf-sponsors--lead{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:32px;
  align-items:start;
  margin:0;
}
.mvf-sponsor-lead{
  display:grid;
  grid-template-rows:2.6rem 220px;
  justify-items:center;
  align-items:end;
  width:100%;
}
.mvf-sponsors__role{
  align-self:end;
  margin:0 0 8px !important;
  text-align:center;
}
.mvf-sponsors--lead .mvf-sponsor{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:220px;
  background:#F4F2EC;
  border:0;
  box-shadow:none;
}
.mvf-sponsors--lead img{
  display:block;
  width:100%;
  height:220px;
  object-fit:contain;
  object-position:center bottom;
}
.mvf-sponsors--rest{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:32px;
  row-gap:28px;
  align-items:center;
  justify-items:center;
  margin:0;
}
.mvf-sponsors--rest .mvf-sponsor{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%,240px);
  height:120px;
  margin:0 auto;
  padding:0;
  background:#F4F2EC;
  border:0;
  box-shadow:none;
  text-align:center;
}
.mvf-sponsors--rest img{
  display:block;
  max-height:100px;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.mvf-sponsors--rest .mvf-sponsor--name{
  font:600 .8rem/1.3 var(--mvf-sans,Inter,sans-serif);
  color:#1a1917;
}

/* Financials hero only. Zoom the existing ceremony photo so the man in the
   dark cap at the far left of the stage (beside the podium, under the VALOR
   sign) is outside the frame. The group stays near the center of the crop. */
body.page-id-721 .mvf-phero--photo .mvf-phero__media{
  overflow:hidden;
}
body.page-id-721 .mvf-phero--photo .mvf-phero__media img{
  object-position:78% 40%;
  transform:scale(2.35);
  transform-origin:78% 40%;
}
@media (max-width:640px){
  .mvf-sponsors--lead{
    grid-template-columns:1fr;
    row-gap:28px;
  }
  .mvf-sponsor-lead{
    grid-template-rows:auto 160px;
  }
  .mvf-sponsors--lead .mvf-sponsor,
  .mvf-sponsors--lead img{
    height:160px;
  }
  .mvf-sponsors--rest{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px;
    row-gap:24px;
  }
  .mvf-sponsors--rest .mvf-sponsor{
    height:100px;
  }
  .mvf-sponsors--rest img{
    max-height:84px;
  }
}

/* Founding-story photo under the motto. Same frame as the cadre photo above the bio. */
.mvf-story__fig--end{
  margin:2.2rem 0 0;
}

/* Timeline. Dots sit beside the year. Each entry is top-aligned, so the
   years share one baseline and shorter columns do not open a gap under the title.
   Today is the 8th item, so on the 7-column desktop row it starts the next row
   in the first column of the same grid. */
.mvf-tl{
  align-items:start;
  row-gap:2rem;
}
.mvf-tl > div{
  display:grid;
  grid-template-columns:1.75rem minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:.4rem;
  align-content:start;
  align-items:start;
  padding:0 1rem 0 0;
  min-height:0;
}
.mvf-tl > div::before{
  position:relative;
  top:0;
  left:0;
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:center;
  margin:0;
}
.mvf-tl b{
  grid-column:2;
  grid-row:1;
  align-self:center;
  margin:0;
  line-height:1;
}
.mvf-tl h5{
  grid-column:2;
  grid-row:2;
  margin:8px 0 0;
  text-wrap:wrap;
}
.mvf-tl p{
  grid-column:2;
  grid-row:3;
  margin:7px 0 0;
}

/* Host an Event hero only. hero-2021-group-helicopter.jpg puts the crowd
   along the bottom in front of the plane. The shared 40% crop keeps the sky
   and the tail. No other hero uses this photo. */
body.page-id-15 .mvf-phero--photo .mvf-phero__media{
  overflow:hidden;
}
body.page-id-15 .mvf-phero--photo .mvf-phero__media img{
  object-position:center 82%;
  transform:scale(1.75);
  transform-origin:center 82%;
}
@media (max-width:900px){
  body.page-id-15 .mvf-phero--photo .mvf-phero__media img{
    object-position:center bottom;
    transform:scale(2.45);
    transform-origin:center bottom;
  }
}

/* 9th Annual sponsor wall, final pass: one lead baseline at every width,
   uniform 240x120 tier cells, serif wordmarks for sponsors without a logo. */
#sponsors .mvf-sponsors__tier{margin:40px 0 16px !important;text-align:center;}
#sponsors .mvf-sponsors--lead{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;column-gap:32px;max-width:900px;margin:0 auto;}
#sponsors .mvf-sponsors--rest{grid-template-columns:repeat(4,240px);justify-content:center;column-gap:32px;row-gap:28px;}
#sponsors .mvf-sponsors--rest .mvf-sponsor{width:240px;height:120px;background:#F4F2EC;border:0;box-shadow:none;text-decoration:none;}
#sponsors .mvf-sponsors--rest img{max-width:100%;max-height:100px;object-fit:contain;}
#sponsors .mvf-sponsor--name .mvf-sponsor__wordmark{font:600 1.15rem/1.25 Georgia,"Times New Roman",serif;color:#1a1917;letter-spacing:.01em;padding:0 10px;}
@media (max-width:1100px){#sponsors .mvf-sponsors--rest{grid-template-columns:repeat(4,minmax(0,240px));}#sponsors .mvf-sponsors--rest .mvf-sponsor{width:100%;}}
@media (max-width:640px){
  #sponsors .mvf-sponsors--lead{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;}
  #sponsors .mvf-sponsor-lead{grid-template-rows:2.6rem 110px;}
  #sponsors .mvf-sponsors--lead .mvf-sponsor,#sponsors .mvf-sponsors--lead img{height:110px;}
  #sponsors .mvf-sponsors__role{font-size:.6rem;}
}
@media (max-width:600px){
  #sponsors .mvf-sponsors--rest{grid-template-columns:repeat(2,minmax(0,240px));column-gap:32px;row-gap:28px;}
  #sponsors .mvf-sponsors--rest .mvf-sponsor{width:100%;height:120px;}
  #sponsors .mvf-sponsors--rest img{max-height:100px;}
  #sponsors .mvf-sponsor--name .mvf-sponsor__wordmark{font-size:.95rem;}
}

/* 9th Annual sponsor wall: tier panels with bold headers and color bars. */
#sponsors .mvf-tier{position:relative;margin:56px auto 0;padding:36px 32px 40px;background:#FAF8F3;border-top:6px solid var(--tier,#C9A227);border-radius:4px;box-shadow:0 10px 30px rgba(26,25,23,.07);max-width:1200px}
#sponsors .mvf-tier--platinum{--tier:#A9ADB3;--bar:linear-gradient(90deg,#8E9298,#E9EBEE 30%,#B7BBC1 50%,#F4F5F7 70%,#9A9EA4)}
#sponsors .mvf-tier--gold{--tier:#C9A227;--bar:linear-gradient(90deg,#B08A1E,#E8C766 50%,#B08A1E)}
#sponsors .mvf-tier--red{--tier:#9E1B32;--bar:#9E1B32}
#sponsors .mvf-tier--white{--tier:#C9A227;--bar:#fff}
#sponsors .mvf-tier--blue{--tier:#1B2A4A;--bar:#1B2A4A}
#sponsors h3.mvf-sponsors__tier{margin:0 0 14px !important;text-align:center;font:700 clamp(26px,3vw,32px)/1.1 "Playfair Display",Georgia,"Times New Roman",serif;letter-spacing:.06em;text-transform:uppercase;color:#1a1917}
#sponsors .mvf-tier__bar{display:block;height:8px;margin:0 0 32px;border-radius:4px;background:var(--bar)}
#sponsors .mvf-tier--white .mvf-tier__bar{border:1.5px solid #C9A227;box-shadow:inset 0 0 0 1px rgba(26,25,23,.08)}
#sponsors .mvf-tier .mvf-sponsors--rest .mvf-sponsor{background:#F4F2EC;border-radius:3px;transition:transform .15s ease,box-shadow .15s ease}
#sponsors .mvf-tier a.mvf-sponsor:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(26,25,23,.10)}
#sponsors .mvf-tier--lead{margin-top:32px;padding:44px 32px 40px;background:linear-gradient(180deg,#FFFDF6,#F7F1DF);border-top:6px solid #C9A227;outline:1px solid rgba(201,162,39,.35);outline-offset:-10px}
#sponsors .mvf-tier--lead .mvf-sponsors__role{font:700 15px/1.2 "Playfair Display",Georgia,serif !important;letter-spacing:.14em;text-transform:uppercase;color:#8A6A12 !important}
#sponsors .mvf-tier--lead .mvf-sponsor{background:transparent}
@media (max-width:600px){
  #sponsors .mvf-tier{padding:28px 14px 30px;margin-top:40px}
  #sponsors .mvf-tier--lead{padding:30px 10px}
  #sponsors .mvf-tier--lead .mvf-sponsors__role{font-size:10px !important;letter-spacing:.06em}
  #sponsors .mvf-sponsors--rest{column-gap:16px}
}

/* Mobile Donate: slim full-width bottom bar instead of a floating pill, with matching body padding so nothing is covered. */
@media (min-width:783px){.mvf-float-donate{display:none!important}}
@media (max-width:782px){
 .mvf-float-donate{display:flex!important;align-items:center;justify-content:center;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:90;height:52px;padding:0 0 env(safe-area-inset-bottom);margin:0;border-radius:0;box-sizing:content-box;background:linear-gradient(180deg,#D8B25A,#C99A3B);color:#1a1712!important;font:700 .82rem var(--mvf-sans);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 -4px 14px -6px rgba(0,0,0,.35);border-top:1px solid rgba(0,0,0,.12)}
 body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}
 .mvf-footer{padding-bottom:2rem}
}

/* ===== Mobile type system (≤782px): same fonts, fluid sizes, no mid-word breaks ===== */
@media (max-width:782px){
 body{line-height:1.6}
 h1,h2,h3,h4,h5,h6,.wp-block-post-title{overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important;-webkit-hyphens:manual!important;text-wrap:balance}
 p,li,blockquote,figcaption{overflow-wrap:normal;word-break:normal;hyphens:manual;text-wrap:pretty}
 .mvf-eyebrow,span.mvf-eyebrow,p.mvf-eyebrow{overflow-wrap:normal!important;word-break:normal!important}
 h1,.wp-block-post-title,h1.wp-block-post-title{font-size:clamp(2.05rem,1.35rem + 3.6vw,2.5rem)!important;line-height:1.1!important;letter-spacing:-.005em}
 main h2:not(.mvf-eyebrow),.entry-content h2,.wp-site-blocks h2:not(.mvf-footer h2){font-size:clamp(1.75rem,1.3rem + 2vw,2rem)!important;line-height:1.15!important}
 main h3,.wp-site-blocks h3{font-size:clamp(1.375rem,1.25rem + .6vw,1.5rem)!important;line-height:1.2!important}
 main h4,.wp-site-blocks h4{font-size:1.2rem!important;line-height:1.25!important}
 /* footer column labels and small eyebrow headings keep their label size */
 .mvf-footer h2,.mvf-footer h3{font-size:.72rem!important;line-height:1.4!important}
 /* card/grid titles in two-up layouts stay proportional */
 .mvf-cards h3,.mvf-team h3,.mvf-card h3,.mvf-sponsors h3:not(.mvf-sponsors__tier){font-size:clamp(1.1rem,1rem + .6vw,1.25rem)!important}
 .mvf-sponsors__tier{font-size:clamp(1.4rem,1.2rem + 1vw,1.6rem)!important}
 h1,h2,h3{margin-top:0}
 /* consistent section rhythm */
 main section,.mvf-section,.wp-block-group.alignfull{scroll-margin-top:80px}
 /* long handles / chips may wrap at punctuation instead of overflowing */
 .mvf-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:.72rem;letter-spacing:0}
 /* tap targets ≥ 44px */
 .mvf-footer nav li a{display:inline-flex;align-items:center;min-height:44px}
 .mvf-footer nav li{margin:0}
 .mvf-yearnav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
 .wp-block-navigation__responsive-container-open{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .mvf-header__donate .wp-block-button__link{min-height:44px;display:inline-flex;align-items:center}
 .mvf-logo{display:inline-flex;align-items:center;min-height:44px}
 .mvf-slider__dots button{position:relative}
 .mvf-slider__dots button::after{content:"";position:absolute;inset:-16px}
 .mvf-hero__toggle,.mvf-film__toggle{min-height:44px;min-width:44px}
 .mvf-link{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:782px){.mvf-hub__card,.mvf-quote-card{min-width:0;max-width:100%}.mvf-quote-card .mvf-eyebrow{letter-spacing:.1em!important;display:block}}
@media (max-width:782px){.mvf-facts a{display:inline-block;padding:12px 6px;margin:-12px -6px;position:relative}}
@media (max-width:782px){input[type=text],input[type=email],input[type=number],input[type=tel],select,textarea{min-height:44px}}
@media (max-width:782px){.mvf-chip{white-space:nowrap;overflow-wrap:normal!important;word-break:normal!important;font-size:.64rem;max-width:none}}
@media (max-width:782px){label:has(>input[name$="-freq"]){min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}}
/* Supporter map */
.sm{padding:clamp(3rem,7vw,6rem) 1.25rem}
.sm-inner{max-width:1240px;margin:0 auto;text-align:center}
.sm-eyebrow{font:600 .75rem/1 Inter,system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#a8862f;margin:0 0 .9rem}
.sm-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2rem,4.6vw,3.4rem);color:#111;margin:0;line-height:1.05}
.sm-title:after{content:"";display:block;width:64px;height:2px;margin:1.1rem auto 0;background:linear-gradient(90deg,transparent,#c9a646,transparent)}
.sm-lede{max-width:40rem;margin:1rem auto 1.6rem;color:#4a4f57;font:400 1rem/1.6 Inter,system-ui,sans-serif}
.sm-legend{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1.2rem}
.sm-tog{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1.05rem;border:1px solid #111;border-radius:999px;background:#111;color:#fff;font:600 .8rem/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.sm-tog[aria-pressed=false]{background:transparent;color:#777;border-color:#bbb}
.sm-tog[aria-pressed=false] .sm-sw{opacity:.3;box-shadow:none}
.sm-tog:focus-visible,.sm-view:focus-visible,.sm-arrow:focus-visible,.sm-stage:focus-visible{outline:2px solid #c9a646;outline-offset:3px}
.sm-sw{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.sm-sw.sm-sponsor{box-shadow:0 0 0 2px #e8c66a,0 0 8px #fff}
.sm-sponsor{--c:#f7f5ef}.sm-competitor{--c:#ff4545}.sm-donor{--c:#2ef08f}
.sm-views{display:inline-flex;align-items:center;gap:.35rem;margin:0 auto 1.2rem;padding:.3rem;border-radius:999px;background:#1b1d21;border:1px solid #c9a646}
.sm-view{white-space:nowrap;border:0;border-radius:999px;padding:.55rem 1.1rem;background:transparent;color:#c8cbd0;font:600 .78rem/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.sm-view[aria-selected=true]{background:#c9a646;color:#111}
.sm-arrow{width:2rem;height:2rem;border-radius:50%;border:0;background:transparent;color:#e8c66a;font-size:1.4rem;line-height:1;cursor:pointer}
.sm-arrow:hover{background:#2a2d33}
.sm-stage{position:relative;aspect-ratio:975/610;width:100%;cursor:pointer;border-radius:12px}
.sm-panel{position:absolute;inset:0;margin:0;transition:opacity .6s ease,transform .6s ease}
.sm-panel svg{width:100%;height:100%;display:block;overflow:visible}
.sm-stage[data-view=us] .sm-intl,.sm-stage[data-view=intl] .sm-us{opacity:0;transform:translateX(3%) scale(.98);pointer-events:none;visibility:hidden;transition:opacity .6s ease,transform .6s ease,visibility 0s .6s}
.sm-stage[data-view=intl] .sm-us{transform:translateX(-3%) scale(.98)}
.sm-states{fill:none;stroke:#d4b04f;stroke-width:.8;stroke-opacity:.85}
.sm-nation{fill:none;stroke:#e0bd5c;stroke-width:1.4}
.sm-wland{stroke:none}.sm-wborders{fill:none;stroke:#c9a646;stroke-width:.5;stroke-opacity:.7}.sm-wus{fill:none;stroke:#e0bd5c;stroke-width:1.2}
.sm-intl figcaption{position:absolute;left:0;right:0;bottom:-.4rem;font:400 .85rem/1.5 Inter,system-ui,sans-serif;color:#4a4f57}
.sm-hint{font:400 .78rem/1.4 Inter,system-ui,sans-serif;color:#7a7f87;margin:1.6rem 0 0}
.sm-dot{fill:var(--c);stroke:rgba(0,0,0,.35);stroke-width:.6}
.sm-sponsor .sm-dot{stroke:#e8c66a;stroke-width:1.1}
.sm-halo{fill:var(--c);opacity:.25;transform-box:fill-box;transform-origin:center}
.sm-pin{opacity:0;transition:opacity .6s ease min(var(--d,0ms),1500ms)}
.sm-in .sm-pin{opacity:1}.sm-in .sm-halo{animation:smPulse 3.2s ease-out infinite;animation-delay:var(--d,0ms)}
.sm-hide-sponsor .sm-sponsor.sm-pin,.sm-hide-competitor .sm-competitor.sm-pin,.sm-hide-donor .sm-donor.sm-pin{opacity:0!important;pointer-events:none}
@keyframes smPulse{0%{transform:scale(.6);opacity:.4}70%{transform:scale(1.9);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.sm-pin,.sm-panel{transition:none!important}.sm-in .sm-halo{animation:none}}
@media (max-width:600px){.sm{padding-left:.5rem;padding-right:.5rem}.sm-view{padding:.5rem .6rem;font-size:.66rem;letter-spacing:.05em}.sm-arrow{width:1.6rem}.sm-intl figcaption{position:static;margin-top:.5rem}.sm-stage{margin-bottom:3.8rem}}
