@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700;800&display=swap');

/* Professional typography and homepage event refinements. */
body{
  font-family:'Source Sans 3',Roboto,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:#202124;
}

p,
.google-section p,
.content-card p,
.content-card li{
  font-size:1.04rem;
  line-height:1.72;
}

.site-title__name,
h1,
h2,
h3,
h4{
  letter-spacing:-.025em;
}

.site-title__name{
  font-family:Comfortaa,Arial,sans-serif;
}

.site-nav a{
  font-family:'Source Sans 3',Roboto,Arial,sans-serif;
  font-size:1rem;
  font-weight:600;
  letter-spacing:.01em;
}

.home-lede{
  background:
    radial-gradient(circle at 12% 0%,rgba(17,87,206,.12),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfcff 52%,#f6f8fc 100%);
}

.home-lede__inner{
  max-width:1040px;
  padding-top:86px;
  padding-bottom:78px;
}

.home-lede h1{
  max-width:900px;
  font-size:clamp(3rem,6.7vw,5.45rem);
  line-height:1.02;
  letter-spacing:-.055em;
}

.home-lede__summary{
  max-width:700px;
  font-size:1.22rem;
  line-height:1.68;
}

.home-lede__actions{
  margin-top:34px;
}

.google-button,
.button{
  font-family:'Source Sans 3',Roboto,Arial,sans-serif;
  font-size:1rem;
  font-weight:700;
  padding:11px 20px;
}

.section-heading{
  margin-bottom:36px;
}

.section-heading h2,
.home-about h2,
.home-quick-links h2,
.acknowledgments h2{
  letter-spacing:-.04em;
}

.home-events{
  position:relative;
  overflow:hidden;
}

.home-events:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(180deg,var(--blue),rgba(191,144,0,.72));
}

.home-event-list{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  gap:22px;
}

.home-event-card{
  position:relative;
  grid-template-columns:132px minmax(0,1fr);
  gap:30px;
  padding:28px 30px;
  border:1px solid rgba(218,220,224,.86);
  border-radius:22px;
  box-shadow:0 10px 30px rgba(60,64,67,.08);
}

.home-event-card:before{
  content:"";
  position:absolute;
  left:-11px;
  top:38px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  border:5px solid var(--blue);
  box-shadow:0 0 0 5px #f8fafd;
}

.home-event-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 46px rgba(60,64,67,.15);
}

.home-event-card__date{
  min-height:132px;
  border-radius:18px;
  border:0;
  background:linear-gradient(180deg,#ffffff 0%,#f2f6ff 100%);
  box-shadow:inset 0 0 0 1px #e3e8f2;
}

.home-event-card__month,
.home-event-card__year{
  color:#5f6368;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
}

.home-event-card__day{
  font-size:2.75rem;
  letter-spacing:-.06em;
}

.home-event-card__content .date{
  margin-bottom:6px;
}

.home-event-card__content h3{
  max-width:760px;
  margin-top:0;
  margin-bottom:10px;
  font-size:clamp(1.35rem,2.4vw,1.78rem);
  line-height:1.2;
  letter-spacing:-.035em;
}

.home-event-card__content p{
  max-width:720px;
  color:#303134;
}

.event-actions{
  margin-top:18px;
}

.event-actions .google-button{
  padding:8px 16px;
}

.home-about__grid{
  gap:64px;
}

.home-about h2{
  max-width:420px;
  font-size:clamp(2.35rem,4.6vw,3.7rem);
  line-height:1.08;
}

.home-link-card{
  padding:26px;
  border-radius:20px;
}

.home-link-card span{
  font-size:1.12rem;
  letter-spacing:-.025em;
}

.home-link-card small{
  font-size:1rem;
}

@media(max-width:900px){
  .home-lede__inner{
    padding-top:60px;
    padding-bottom:58px;
  }

  .home-lede h1{
    font-size:clamp(2.65rem,9vw,4.5rem);
  }

  .home-events:before{
    width:4px;
  }

  .home-event-card{
    grid-template-columns:1fr;
    padding:24px;
  }

  .home-event-card:before{
    left:-9px;
    top:30px;
    width:16px;
    height:16px;
    border-width:4px;
  }

  .home-event-card__date{
    min-height:auto;
    align-items:flex-start;
    padding:18px 20px;
  }

  .home-about h2{
    max-width:none;
  }
}

@media(max-width:560px){
  body{
    font-size:16px;
  }

  .home-lede h1{
    font-size:2.55rem;
  }

  .home-lede__summary{
    font-size:1.08rem;
  }

  .home-event-card{
    border-radius:18px;
  }
}
