/* Opt-in public-page theme. Admin, checkout and GIC layouts are not selected. */
.gx-public {
  --gx-brand: #38b09d;
  --gx-ink: #103d35;
  --gx-muted: #536b64;
  --gx-line: #d5e5df;
  --bs-link-color: #207667;
  --bs-link-hover-color: #174c40;
  --bs-link-color-rgb: 32,118,103;
  --bs-link-hover-color-rgb: 23,76,64;
  font-family: "Manrope", sans-serif;
  color: var(--gx-ink);
  background: #f3f7f3;
  line-height: 1.75;
}
.gx-public :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.btn) {
  font-family: "Manrope", sans-serif !important;
}
.gx-public :is(h1,h2,h3,h4,h5,h6) { font-weight: 600; letter-spacing: -.025em; }
.gx-public a:not([class]) { color:#207667; text-decoration-color:#38b09d66; text-underline-offset:4px; }
.gx-public a[href^="/members/"] { color:inherit; text-decoration:none; }
.gx-public a[href^="/members/"]:is(:hover,:focus-visible) { text-decoration:underline; text-decoration-color:#38b09d; text-underline-offset:4px; }
.gx-public a[href^="/members/"]:focus-visible { outline:2px solid #38b09d; outline-offset:4px; border-radius:3px; }
.gx-public :is(.text-primary,.link-primary) { color:#207667!important; }
.gx-public :is(.team-page,.sections-page,.structure-page,.legacy-page,.contact-page,.events-page,.gallery-page,.program-detail-page,.register-page,.event-registration-page,.shop-page) {
  background: #f3f7f3;
}
.gx-public .gx-page-hero {
  background: radial-gradient(ellipse at 85% 5%, #246e5e 0%, transparent 52%), linear-gradient(120deg, #103d35, #174c40);
  color: #fff;
  border-bottom: 4px solid var(--gx-brand);
  padding-block: clamp(3rem, 6vw, 5.5rem);
  min-height: 320px;
}
.gx-public .gx-page-hero h1 {
  color: #fff;
  font-weight: 600;
  font-size: clamp(2.15rem, 4.5vw, 4.25rem);
  line-height: 1.15;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.gx-public .gx-page-hero :is(p,.program-meta-row,.program-meta-row span,.program-meta-row strong,.register-subtitle strong) {
  color: #d0e7de;
  line-height: 1.8;
}
.gx-public .gx-page-hero h1 span { color: #53d4bb; }
.gx-public .gx-page-kicker {
  color: #78e4cd;
  background: #ffffff0d;
  border: 1px solid #ffffff33;
  border-radius: 6px;
  padding: .45rem .85rem;
  font-weight: 700;
  font-size: .7rem;
  letter-spacing: .14em;
}
.gx-public :is(.events-batch-pill,.team-batch-pill) {
  color: #e2fff5;
  background: #ffffff0d;
  border-color: #ffffff40;
  box-shadow: none;
  font-weight: 600;
}
.gx-public .gx-page-card {
  background: #fff;
  border: 1px solid var(--gx-line);
  border-radius: 16px;
  box-shadow: 0 10px 28px #103d350a;
}
.gx-public .gx-page-card:hover { border-color: #91c6b8; }
.gx-public .gx-page-card :is(h2,h3,h4,h5) { color: var(--gx-ink); font-weight: 600; }
.gx-public :is(.about-stat-card,.events-stat-card,.gallery-stat-card) {
  background: var(--gx-brand);
  border: 1px solid var(--gx-brand);
  border-radius: 12px;
  box-shadow: none;
}
.gx-public :is(.about-stat-card,.events-stat-card,.gallery-stat-card) :is(h2,p,strong,span) {
  color: #092f28;
  font-weight: 600;
}
.gx-public :is(.events-stat-card,.about-stat-card) h2 { font-size: 2.35rem; }
.gx-public :is(.motto-card,.contact-info-card) { background: #164c40; color: #fff; border-color: #164c40; }
.gx-public :is(.motto-card,.contact-info-card) :is(h2,h3,p,strong,span,a) { color: #e3f5ed; }
.gx-public .contact-info-card i { color: #71dcc4; }
.gx-public :is(.text-greenix,.section-title,.events-toolbar-label,.contact-form-kicker,.program-section-kicker) { color: #207667 !important; }
.gx-public :is(.btn-greenix,.btn-home-primary,.btn-register-primary,.btn-shop-primary,.contact-submit-btn) {
  background: var(--gx-brand);
  color: #092f28;
  border: 1px solid var(--gx-brand);
  border-radius: 8px !important;
  font-weight: 700;
  box-shadow: none;
}
.gx-public :is(.btn-greenix,.btn-home-primary,.btn-register-primary,.btn-shop-primary,.contact-submit-btn):hover {
  background: #65c9b6;
  border-color: #65c9b6;
  color: #092f28;
}
.gx-public :is(.btn-outline-greenix,.btn-register-secondary,.btn-shop-secondary) {
  color: #175c4e;
  border-color: #75a99a;
  background: transparent;
  border-radius: 8px !important;
  font-weight: 600;
}
.gx-public .gx-page-hero :is(.btn-outline-greenix,.btn-shop-secondary) { color: #fff; border-color: #ffffff66; background: #ffffff08; }
.gx-public :is(.btn-outline-greenix,.btn-register-secondary,.btn-shop-secondary):hover { background: #d8eee4; color: #103d35; }
.gx-public :is(.gallery-filter,.events-toggle-btn,.shop-filter-pill,.register-tab,.compact-register-tab).active {
  background: #103d35;
  border-color: #103d35;
  color: #fff;
  box-shadow: none;
}
.gx-public :is(.form-control,.form-select) { border-color: #bdd3ca; border-radius: 8px; }
.gx-public :is(.form-control,.form-select):focus { border-color: #207667; box-shadow: 0 0 0 3px #38b09d33; }
.gx-public :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #207667; outline-offset: 3px; }
.gx-public .gx-page-hero :is(a,button):focus-visible { outline-color: #78e4cd; }
.gx-public .event-registration-header { border-radius: 12px; padding: 2.5rem 1.5rem; min-height: 0; margin-bottom: 2rem; }
.gx-public .event-registration-header > span { color: #78e4cd; }
.gx-public .register-hero-inner { padding: 0 1rem; }
.gx-public .shop-bg-orb { display: none; }
.gx-public .shop-hero-content { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.gx-public .shop-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.gx-public .shop-hero-actions .hero-btn { width: auto; min-width: 140px; }
.gx-public .shop-main { padding-top: 2.5rem; }
.gx-public .hero-panel-card { background: #ffffff0d; border-color: #ffffff33; color: #fff; box-shadow: none; }
.gx-public .hero-panel-card :is(strong,span,p) { color: #e2f5ed; }
.gx-public .legacy-button { background: #fff; color: #103d35; }
.gx-public .legacy-button:not(.collapsed) { background: #d8eee4; }
body:has(.gx-public) > .navbar { border-bottom: 3px solid #38b09d; box-shadow: none; }
body:has(.gx-public) > .navbar :is(.nav-link,.dropdown-item,.navbar-brand) { font-family: "Manrope", sans-serif; font-weight: 600; }
body:has(.gx-public) > footer { font-family: "Manrope", sans-serif; }
@media (max-width: 575.98px) {
  .gx-public .events-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .gx-public .gx-page-hero { min-height: 280px; padding-block: 3rem; }
  .gx-public .event-registration-header { min-height: 0; padding: 2rem 1rem; }
  .gx-public .gx-page-hero h1 { overflow-wrap: anywhere; }
  .gx-public .gx-page-card { border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .gx-public *, .gx-public *::before, .gx-public *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .gx-public [data-aos] { opacity: 1 !important; transform: none !important; }
}

