/* RunPTO Elevate Template */
:root{--navy:#314a75;--navy2:#243958;--blue:#47a8df;--cyan:#6dc5ee;--ink:#243247;--muted:#6a7788;--line:#e4e9f0;--soft:#f5f8fc;--shadow:0 18px 55px rgba(37,59,93,.12);--radius:18px;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body.elevate-template{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.site-container{width:min(var(--container),calc(100% - 40px));margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{position:sticky;top:0;z-index:1000;background:rgba(49,74,117,.97);color:#fff}.site-header.is-scrolled{box-shadow:0 8px 28px rgba(20,38,62,.18)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font:800 1.05rem Manrope,sans-serif}.brand img{width:50px;height:50px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}.primary-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a{font-weight:700;font-size:.92rem;color:rgba(255,255,255,.92)}.primary-nav .nav-cta{padding:10px 18px;border:2px solid var(--cyan);border-radius:999px}.nav-toggle{display:none;background:transparent;border:0}.nav-toggle>span:not(.visually-hidden){display:block;width:26px;height:2px;margin:5px 0;background:#fff}.hero.elevate-hero{position:relative;overflow:hidden;min-height:610px;display:grid;align-items:center;color:#fff;background:radial-gradient(circle at 78% 24%,rgba(109,197,238,.22),transparent 28%),linear-gradient(135deg,var(--navy2),var(--navy))}.hero-pattern{position:absolute;inset:0;background:radial-gradient(circle at 10% 90%,rgba(255,255,255,.06) 0 140px,transparent 141px),radial-gradient(circle at 93% 5%,rgba(255,255,255,.05) 0 180px,transparent 181px)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:64px;align-items:center}.hero-copy{padding:88px 0}.eyebrow{display:inline-block;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-copy .eyebrow{color:var(--cyan)}.hero-copy h1{margin:14px 0 18px;font:800 clamp(2.7rem,5vw,4.8rem)/1.02 Manrope,sans-serif;letter-spacing:-.045em}.hero-copy p{max-width:600px;margin:0 0 28px;color:rgba(255,255,255,.84);font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-image-wrap{padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(255,255,255,.08);box-shadow:0 30px 60px rgba(9,24,45,.28);transform:rotate(1.5deg)}.hero-image-wrap img{width:100%;min-height:390px;object-fit:cover;border-radius:20px}.hero-badge{position:absolute;left:-26px;bottom:28px;display:flex;gap:10px;padding:14px 18px;border-radius:14px;background:#fff;color:var(--navy);box-shadow:var(--shadow);font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 22px;border-radius:999px;font-weight:800}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{border:1px solid rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.08)}.btn-light{background:#fff;color:var(--navy)}.quick-actions{margin-top:-34px;position:relative;z-index:5;padding:0 0 28px}.quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.quick-card{min-height:132px;display:grid;place-items:center;align-content:center;gap:8px;padding:20px 14px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.quick-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf7fd;color:var(--blue);font-size:1.55rem}.quick-card small{display:block;color:var(--muted);font-size:.78rem}.quick-card>i:last-child{display:none}.section{padding:82px 0}.section-soft{background:var(--soft)}.section-heading{margin-bottom:34px}.section-heading.centered{max-width:760px;margin-inline:auto;text-align:center}.section h2,.section-heading h2,.faq-intro h2,.contact-copy h2{margin:8px 0 10px;color:var(--navy);font:800 clamp(1.9rem,3vw,2.8rem)/1.12 Manrope,sans-serif;letter-spacing:-.035em}.section-heading p,.faq-intro p,.contact-copy>p{color:var(--muted)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.section-image img{width:100%;min-height:380px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.body-copy{color:var(--muted)}.check-list{display:grid;gap:12px;list-style:none;padding:0}.check-list li{display:flex;gap:10px}.check-list i{color:var(--blue)}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.event-card,.blog-card,.team-card,.message-card,.committee-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 28px rgba(38,59,90,.06);overflow:hidden}.event-image{height:185px}.event-image img,.blog-image img,.team-photo img{width:100%;height:100%;object-fit:cover}.event-content,.blog-content,.team-content{padding:20px}.event-label,.blog-content time{color:var(--blue);font-size:.75rem;font-weight:800}.event-content p,.blog-content p,.team-content p,.service-card p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 28px rgba(38,59,90,.06)}.service-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--navy);color:#fff;font-size:1.45rem}.service-card h3{color:var(--navy)}.service-link,.read-more{color:var(--blue);font-weight:800}.cta-band{padding:62px 0;color:#fff;background:linear-gradient(135deg,var(--navy2),var(--navy))}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.message-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.message-card{padding:30px}.message-person{display:flex;gap:14px;align-items:center}.message-person img{width:58px;height:58px;border-radius:50%;object-fit:cover}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-image{display:block;height:220px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.team-photo{height:230px;background:#edf3f8}.team-placeholder{display:grid;place-items:center;font-size:3rem;color:var(--blue)}.committee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.committee-card{padding:26px}.sponsor-logo{height:110px;display:grid;place-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.sponsor-logo img{max-height:70px;width:auto}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:44px}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;padding:18px;border:0;background:transparent;color:var(--navy);text-align:left;font-weight:800}.faq-answer{padding:0 18px 18px;color:var(--muted)}.section-contact{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-card{padding:30px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:grid;gap:7px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;padding:12px 14px;border:1px solid #cfd7e3;border-radius:10px}.honeypot{position:absolute!important;left:-10000px!important}.form-status.success{color:#27823f}.form-status.error{color:#b62c2c}.site-footer{background:#21324d;color:rgba(255,255,255,.84)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:46px;padding:58px 0 34px}.brand-light{color:#fff}.site-footer h3{color:#fff}.site-footer ul{padding:0;list-style:none}.social-links{display:flex;gap:10px}.social-links a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08)}.footer-bottom{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid rgba(255,255,255,.12)}.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:0;border-radius:50%;background:var(--blue);color:#fff;opacity:0;pointer-events:none}.back-to-top.visible{opacity:1;pointer-events:auto}.blog-hero{padding:90px 0 72px;background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff}.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px}.article-card,.sidebar-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.article-card{padding:34px}.sidebar-card{padding:24px;margin-bottom:18px}.spinner{width:38px;height:38px;border:4px solid #dbe4ee;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.quick-grid{grid-template-columns:repeat(3,1fr)}.event-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.nav-toggle{display:block}.primary-nav{position:absolute;left:20px;right:20px;top:100%;display:none;padding:18px;background:var(--navy);border-radius:14px}.primary-nav.open{display:block}.primary-nav ul{flex-direction:column}.hero-grid,.two-column,.faq-layout,.contact-grid,.article-shell{grid-template-columns:1fr}.service-grid,.blog-grid,.committee-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.quick-grid,.event-grid,.service-grid,.blog-grid,.team-grid,.committee-grid,.message-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.hero-copy h1{font-size:2.5rem}}


/* Live Upcoming Calendar */
.elevate-calendar-section {
  background: #fff;
}

.live-calendar,
.live-photo-album {
  min-height: 150px;
}

.calendar-loading,
.album-loading {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--muted);
}

.upcoming-events-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.upcoming-event-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 28px rgba(38, 59, 90, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.upcoming-event-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.event-date-box {
  min-height: 102px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, var(--navy), var(--blue));
}

.event-month {
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.event-day {
  margin: 1px 0;
  font: 800 2.25rem/1 Manrope, sans-serif;
}

.event-weekday {
  font-size: .76rem;
  color: rgba(255,255,255,.82);
}

.event-details h3 {
  margin: 0 0 7px;
  color: var(--navy);
  font: 800 1.12rem/1.25 Manrope, sans-serif;
}

.event-time {
  margin-bottom: 7px;
  color: var(--blue);
  font-weight: 700;
  font-size: .86rem;
}

.event-details p {
  margin: 0;
  color: var(--muted);
}

.calendar-empty,
.album-empty {
  padding: 28px;
  border: 1px dashed #cfd9e5;
  border-radius: var(--radius);
  background: #fff;
  color: var(--muted);
  text-align: center;
}

/* Google Photos Album */
.photo-album-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.photo-album-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  background: #eaf0f6;
  box-shadow: 0 8px 24px rgba(38, 59, 90, .08);
}

.photo-album-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

.photo-album-item:hover img {
  transform: scale(1.045);
}

.photo-album-item::after {
  content: "\F49E";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(36,57,88,.76);
  opacity: 0;
  transition: opacity .2s ease;
}

.photo-album-item:hover::after {
  opacity: 1;
}

.album-actions {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

@media (max-width: 900px) {
  .photo-album-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .upcoming-events-grid {
    grid-template-columns: 1fr;
  }

  .photo-album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .upcoming-event-card {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 15px;
    padding: 16px;
  }

  .event-date-box {
    min-height: 88px;
  }

  .event-day {
    font-size: 1.9rem;
  }
}
