/* Bright RSVP color sampled from the original site's turquoise buttons. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.event-spotlight{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,76px);align-items:center;padding-block:40px 60px;border-bottom:1px solid var(--line)}
.event-spotlight-copy{min-width:0;padding-block:20px}
.event-spotlight-copy>.eyebrow{color:#336b7b;letter-spacing:.16em;margin-bottom:23px}
.event-spotlight-copy h1,.event-spotlight-copy h2{font-size:clamp(2.5rem,4.4vw,4.8rem);letter-spacing:-.045em;line-height:1.07}
.event-cross{display:block;font-size:.48em;color:#087a99;line-height:1.6;font-weight:500}
.event-edition{font-size:clamp(1.1rem,1.6vw,1.5rem);letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:28px}
.event-collaborator{font-size:1rem;color:var(--muted);margin-top:7px}
.event-spotlight .actions{margin-top:28px}
.event-spotlight .button{width:100%;max-width:440px;line-height:1.5;justify-content:space-between;gap:18px}
.event-details{font-size:.76rem;line-height:1.8;color:var(--muted);margin-top:17px}
.event-partner-link{display:inline-block;margin-top:24px;font-size:.85rem}
.event-flyer{display:block;max-width:570px;justify-self:center;overflow:hidden;border-radius:18px;box-shadow:0 16px 45px #102d4017;background:#081e31}
.event-flyer img{display:block;width:100%;height:auto;object-fit:contain}
.hero .community-title{font-size:clamp(3.3rem,5.35vw,5.7rem);line-height:1.025;letter-spacing:-.055em}
.rsvp-event-date{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#29637a;margin-bottom:15px;line-height:1.6}
@media(max-width:900px) and (min-width:721px){.event-spotlight{gap:28px;grid-template-columns:1fr 1fr}.event-spotlight-copy h1,.event-spotlight-copy h2{font-size:2.5rem}.event-spotlight .button{font-size:.82rem;padding-inline:18px}}
@media(max-width:720px){
  .event-spotlight{grid-template-columns:1fr;gap:25px;padding-block:24px 34px}
  .event-spotlight-copy{padding:0;text-align:center}
  .event-spotlight-copy>.eyebrow{margin-bottom:16px;font-size:.64rem}
  .event-spotlight-copy h1,.event-spotlight-copy h2{font-size:clamp(2.25rem,9vw,3.3rem)}
  .event-cross{font-size:.42em;line-height:1.4}
  .event-edition{font-size:1rem;margin-top:16px;letter-spacing:.1em}
  .event-collaborator{font-size:.86rem;margin-top:5px}
  .event-spotlight .actions{margin-top:20px;justify-content:center}
  .event-spotlight .button{font-size:.85rem;min-height:60px;max-width:100%}
  .event-details{font-size:.69rem;margin-top:13px}
  .event-partner-link{margin-top:15px;font-size:.78rem}
  .event-flyer{grid-row:1;width:100%;border-radius:14px}
  .hero .community-title{font-size:clamp(2.8rem,10.3vw,4.2rem);line-height:1.03}
}
:root{--rsvp-blue:#41c7e9;--rsvp-blue-hover:#62d5ef}
.button:is([href="/rsvp"],[href^="https://events.sweatpals.com/"],[href^="https://sweatpals.com/event/"]),.mobile-rsvp-bubble,.direct-form-card .rsvp-submit{background:var(--rsvp-blue);border-color:var(--rsvp-blue);color:#102d40;box-shadow:0 8px 26px #41c7e940;font-weight:700;text-align:center}
.button:is([href="/rsvp"],[href^="https://events.sweatpals.com/"],[href^="https://sweatpals.com/event/"]):hover,.mobile-rsvp-bubble:hover,.direct-form-card .rsvp-submit:hover{background:var(--rsvp-blue-hover);border-color:var(--rsvp-blue-hover)}
.button:is([href="/rsvp"],[href^="https://events.sweatpals.com/"],[href^="https://sweatpals.com/event/"])>span[aria-hidden="true"],.mobile-rsvp-bubble>span:last-child,.direct-form-card .rsvp-submit>span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:27px;height:27px;border-radius:50%;background:#ffffffdb;font-size:1.1rem;color:#102d40}
.external-application .form-panel-heading>p{font-size:1rem;line-height:1.65;margin:18px 0 24px}
.external-application .form-privacy{font-size:.85rem;line-height:1.65;margin-top:22px}
.external-application .notice{margin-bottom:24px}
.mobile-rsvp-bubble{line-height:1.4}
.community-gallery{padding-block:0 32px;scroll-margin-top:30px}
.community-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}
.community-gallery-heading h2{font-size:clamp(2.4rem,4.5vw,4.5rem);max-width:700px}
.community-gallery-heading>p{max-width:310px;color:var(--muted);font-size:1rem;line-height:1.75}
.community-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.community-photo{position:relative;min-width:0;overflow:hidden;border-radius:25px;background:#d9e7e8;isolation:isolate}
.community-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.community-photo:nth-child(4) img{object-position:center 38%}
.community-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,23,31,.82));pointer-events:none}
.community-photo figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:30px;color:#fff;text-shadow:0 2px 12px #0005}
.community-photo figcaption span{display:block;font-size:.67rem;font-weight:700;letter-spacing:.17em;margin-bottom:12px}
.community-photo figcaption h3{font-size:clamp(1.7rem,2.6vw,2.65rem);line-height:1.08;max-width:440px}
.community-gallery-end{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px}
.community-gallery-end>p{font-size:.84rem;color:var(--muted);max-width:320px;line-height:1.65}
.community-gallery-end .button{max-width:100%}
@media(min-width:1500px){.community-photo-grid{gap:30px}}
@media(max-width:720px){
  .community-gallery{padding-block:5px 12px}
  .community-gallery-heading{display:block;margin-bottom:25px}
  .community-gallery-heading h2{font-size:2.6rem}
  .community-gallery-heading>p{margin-top:20px;max-width:100%;font-size:.94rem}
  .community-photo-grid{grid-template-columns:1fr;gap:18px}
  .community-photo{border-radius:20px}
  .community-photo figcaption{padding:24px}
  .community-photo figcaption h3{font-size:2rem;max-width:300px}
  .community-photo figcaption span{font-size:.6rem;margin-bottom:9px}
  .community-gallery-end{flex-direction:column;align-items:stretch;margin-top:25px;text-align:center;gap:20px}
  .community-gallery-end>p{max-width:100%;font-size:.75rem}
  .community-gallery-end .button{width:100%;gap:16px}
  .mobile-rsvp-bubble{padding:12px 16px;font-size:.8rem;min-height:58px}
}
