@font-face {
  font-family: Montserrat;
  src: url("montserrat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
body { font-family: Montserrat, system-ui, sans-serif; }
.hero-media, .event-media { position: relative; overflow: hidden; isolation: isolate; }
.hero-media { border: 1px solid #5c8999; border-radius: 1.1rem; }
.hero-media img { border: 0; border-radius: 0; }
.hero-media::after, .event-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(140deg, #83e4ef38, transparent 55%, #071f3152);
  opacity: .55;
}
.nav nav a { position: relative; }
.nav nav a[aria-current], .nav nav a:hover { border-bottom: 0; }
.nav nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 -3px;
  height: 2px;
  background: #147c92;
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: left;
}
.nav nav a:is(:hover, :focus-visible, [aria-current])::after { opacity: 1; transform: scaleX(1); }
.tier, .event-card { position: relative; isolation: isolate; }
.tier::after, .event-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px #21a2ba;
  opacity: 0;
  pointer-events: none;
}
.tier:is(:hover, :focus-within)::after, .event-card:is(:hover, :focus-within)::after { opacity: 1; }
.button:hover, .edit-bar button:hover { filter: none; background: #b5f2f7; color: var(--navy); }
.ghost:is(:hover, :focus-visible) { background: #e3f5f7; color: var(--navy); }
.compare summary:hover { color: #126777; }
.compare[open] .table-scroll { animation: comparison-appear .17s ease-out; }
@keyframes comparison-appear { from { opacity: .65; } }
@media (prefers-reduced-motion: no-preference) {
  .button, .edit-bar button { transition: background-color .18s ease, color .18s ease, translate .18s ease; }
  .button:active, .edit-bar button:active { translate: 0 1px; }
  .tier, .event-card { transition: translate .22s ease-out; }
  .tier::after, .event-card::after, .nav nav a::after { transition: opacity .2s ease, transform .2s ease; }
  .hero-media img, .event-media img { transition: scale .55s cubic-bezier(.2,.75,.3,1); }
  .hero-media::after, .event-media::after { transition: opacity .25s ease; }
  .event-card:focus-within .event-media img { scale: 1.04; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .tier:hover, .event-card:hover { translate: 0 -4px; }
  .hero-media:hover img, .event-card:hover .event-media img { scale: 1.045; }
  .hero-media:hover::after, .event-card:hover .event-media::after { opacity: .12; }
  .button:hover, .edit-bar button:hover { translate: 0 -2px; }
}

/* Lasting Mark title shimmer and reflective surfaces. */
.title-accent{color:#147c92}
.hero .title-accent{color:#83e4ef}
.button:not(.ghost),.edit-bar button{background:linear-gradient(115deg,#78dbe8,#b9f5f8 48%,#67d9e7 75%,#9ceef5);background-size:220% 100%}
.button.secondary{background:linear-gradient(115deg,#e3f5f7,#a8e8ef 55%,#e3f5f7);background-size:220% 100%}
.button:not(.ghost):is(:hover,:focus-visible),.edit-bar button:is(:hover,:focus-visible){background-position:100% 50%;background-color:#a8eef4}
.hero-media img,.fall-event .hero-media img{object-position:center 40%}
.hero-media::after,.event-media::after,.welcome-photos a::after,.photo-grid a::after,.speaker-photo::after,.tier-photos a::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,#e1fdff91 50%,transparent 62%) 130% 50%/285% 100%;
  opacity:0
}
:is(.welcome-photos a,.photo-grid a,.speaker-photo,.tier-photos a){position:relative}
@media(prefers-reduced-motion:no-preference){
  .title-accent{
    background:linear-gradient(110deg,#087989 18%,#219daf 38%,#075164 62%,#087989 84%) 15% 50%/240% 100%;
    background-clip:text;color:transparent;
  }
  .hero .title-accent,.accent-playing .title-accent{animation:title-sheen 3.9s .25s ease-in-out 2}
  .hero .title-accent{
    background-image:linear-gradient(110deg,#67d9e7 12%,#e6feff 42%,#74e5ef 64%,#4cb9d0 85%);
    color:transparent
  }
  .button:not(.ghost),.edit-bar button{transition:background-position .45s ease,translate .18s ease}
  .button:not(.ghost):is(:hover,:focus-visible),.edit-bar button:is(:hover,:focus-visible){background-position:100% 50%}
  :is(.hero-media,.event-media,.welcome-photos a,.photo-grid a,.speaker-photo,.tier-photos a)::after{transition:background-position .7s ease,opacity .22s ease}
  :is(.hero-media,.event-media,.welcome-photos a,.photo-grid a,.speaker-photo,.tier-photos a):is(:hover,:focus-visible)::after{opacity:1;background-position:-26% 50%}
}
@keyframes title-sheen{0%,100%{background-position:15% 50%}55%{background-position:100% 50%}}

.event-media img[src="photos/fall-event/01-0.webp"],
.fall-event .hero-media img {
  object-position: center 12%;
  transform-origin: center 20%;
}
