/* =====================================================================
   GSePC COMPONENTS + CHROME  (gsepc-components.css)
   Buttons, cards, and the responsive/class-only rules the chrome markup
   needs. Inline styles in the chrome/hero markup are ported verbatim from
   the design source (chrome.jsx / home.jsx); this file holds only what
   inline styles can't express (media queries, hover/active, pseudo) plus
   the few className-only rules the source defines elsewhere.
   ===================================================================== */

/* ---- Buttons (Button component) ------------------------------------- */
.gsepc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:700;border-radius:var(--radius-pill);border:2px solid transparent;height:var(--control-height);padding:0 22px;font-size:16px;cursor:pointer;text-decoration:none;line-height:1;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);}
.gsepc-btn--sm{height:var(--control-height-sm);padding:0 16px;font-size:15px;}
.gsepc-btn--md{height:var(--control-height);padding:0 22px;font-size:15px;}
.gsepc-btn--lg{height:56px;padding:0 28px;font-size:18px;}
.gsepc-btn--primary{background:var(--action-bg);color:var(--gsepc-white);}
.gsepc-btn--primary:hover{background:var(--action-bg-hover);color:#fff;}
.gsepc-btn--primary:active{background:var(--action-bg-active);transform:translateY(1px);}
.gsepc-btn--secondary{background:transparent;color:var(--gsepc-purple);border-color:var(--gsepc-purple);}
.gsepc-btn--secondary:hover{background:var(--purple-50);color:var(--gsepc-purple);}
.gsepc-btn--secondary:active{background:var(--purple-100);transform:translateY(1px);}
.gsepc-btn--ghost{background:transparent;color:var(--gsepc-purple);}
.gsepc-btn--ghost:hover{background:var(--purple-50);}
.gsepc-btn--category-butterfly{background:var(--cat-butterfly);color:var(--cat-butterfly-ink);}
.gsepc-btn--category-butterfly:hover{filter:brightness(0.96);color:var(--cat-butterfly-ink);}

/* ---- Cards (Card component) ----------------------------------------- */
.gsepc-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5);}
.gsepc-card--cream{background:var(--gsepc-cream);}
.gsepc-card--sky{background:var(--surface-cool);}
.gsepc-card--purple{background:var(--gsepc-purple);color:#fff;}
.gsepc-card--interactive{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);}
.gsepc-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.gsepc-card--accent-brand{border-top:4px solid var(--gsepc-purple);}
.gsepc-card--accent-butterfly{border-top:4px solid var(--cat-butterfly);}

/* ---- Header: nav links ---------------------------------------------- */
.gsepc-navlink{min-height:44px;display:inline-flex;align-items:center;padding:0 11px;border:none;background:transparent;color:var(--text-body);font-family:var(--font-ui);font-weight:500;font-size:14.5px;white-space:nowrap;cursor:pointer;text-decoration:none;border-bottom:3px solid transparent;}
.gsepc-navlink:hover{color:var(--gsepc-purple);}
.gsepc-navlink[aria-current="page"]{color:var(--gsepc-purple);font-weight:700;border-bottom-color:var(--gsepc-gold);}

/* ---- Header: responsive desktop/mobile swap ------------------------- */
.gsepc-mobile-toggle{display:none;}
@media (max-width:1024px){
  .gsepc-desktop-nav{display:none !important;}
  .gsepc-mobile-toggle{display:inline-flex !important;}
}
@media (min-width:1025px){
  .gsepc-mobile-menu{display:none !important;}
}
.gsepc-mobile-navlink{min-height:52px;display:flex;align-items:center;text-align:left;padding:0 14px;border-radius:var(--radius-md);border:none;background:transparent;border-left:4px solid transparent;color:var(--text-body);font-family:var(--font-ui);font-weight:500;font-size:17px;cursor:pointer;text-decoration:none;}
.gsepc-mobile-navlink[aria-current="page"]{background:var(--purple-50);border-left-color:var(--gsepc-gold);color:var(--gsepc-purple);font-weight:700;}

/* ---- Footer: top grid + partner band -------------------------------- */
@media (max-width:860px){
  .gsepc-footer-grid{grid-template-columns:1fr !important;}
  .uga-gf-grid{grid-template-columns:1fr !important;}
  .uga-gf-bottom{flex-direction:column !important;align-items:flex-start !important;}
}
.gsepc-footer-link{display:block;text-align:left;width:100%;color:#fff;font-size:14px;padding:6px 0;background:none;border:none;cursor:pointer;text-decoration:none;font-family:var(--font-ui);}
.gsepc-footer-link:hover{color:var(--gsepc-gold);}
.gsepc-partner-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;color:var(--purple-200);text-align:center;margin-bottom:var(--space-4);font-weight:var(--weight-semibold);}
.gsepc-partner-divider{width:1px;height:34px;background:var(--purple-700);flex:none;}

/* ---- UGA post-footer links (className-only in source) --------------- */
.uga-gf-link{display:block;color:#a7a09b;text-decoration:none;font-family:var(--font-ui);font-size:13.5px;line-height:1.5;padding:5px 0;}
.uga-gf-link:hover{color:#fff;}

/* ---- Suppress the theme/Bricks default page-title (each page supplies its
   own H1 in content; chrome + hero composition is custom). Targets only the
   direct-child auto-title of the Bricks content wrapper; nested content H1s
   (inside our sections) are untouched. -------------------------------------- */
#brx-content > h1:first-child{display:none;}

/* ---- Menu columns (footer + UGA), driven by WordPress Menus -------------- */
.gsepc-menu-col{min-width:0;}
.gsepc-footer-colhead{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.12em;font-size:12px;color:var(--purple-200);margin-bottom:10px;}
.uga-gf-colhead{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;color:#fff;margin-bottom:12px;font-weight:600;}

/* ---- Home: category preview + community grids + visit/org links (className-only) ---- */
@media (max-width:900px){.gsepc-cat-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:760px){.gsepc-org-grid{grid-template-columns:1fr !important;}}
.gsepc-visit-link:hover{text-decoration:underline !important;}
.gsepc-org-link{transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);}
.gsepc-org-link:hover{border-color:var(--gsepc-purple) !important;box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.gsepc-org-link:hover .gsepc-org-arrow{opacity:1 !important;color:var(--gsepc-purple) !important;}


/* Eight-category button + card-accent classes (Identify/Results). Accent + ink from tokens; AA-verified pairings. */
.gsepc-btn--category-bumble-bee{background:var(--cat-bumble-bee);color:var(--cat-bumble-bee-ink);}
.gsepc-btn--category-bumble-bee:hover{filter:brightness(0.96);color:var(--cat-bumble-bee-ink);}
.gsepc-card--accent-bumble-bee{border-top:4px solid var(--cat-bumble-bee);}
.gsepc-btn--category-carpenter-bee{background:var(--cat-carpenter-bee);color:var(--cat-carpenter-bee-ink);}
.gsepc-btn--category-carpenter-bee:hover{filter:brightness(0.96);color:var(--cat-carpenter-bee-ink);}
.gsepc-card--accent-carpenter-bee{border-top:4px solid var(--cat-carpenter-bee);}
.gsepc-btn--category-honey-bee{background:var(--cat-honey-bee);color:var(--cat-honey-bee-ink);}
.gsepc-btn--category-honey-bee:hover{filter:brightness(0.96);color:var(--cat-honey-bee-ink);}
.gsepc-card--accent-honey-bee{border-top:4px solid var(--cat-honey-bee);}
.gsepc-btn--category-small-bee{background:var(--cat-small-bee);color:var(--cat-small-bee-ink);}
.gsepc-btn--category-small-bee:hover{filter:brightness(0.96);color:var(--cat-small-bee-ink);}
.gsepc-card--accent-small-bee{border-top:4px solid var(--cat-small-bee);}
.gsepc-btn--category-wasp{background:var(--cat-wasp);color:var(--cat-wasp-ink);}
.gsepc-btn--category-wasp:hover{filter:brightness(0.96);color:var(--cat-wasp-ink);}
.gsepc-card--accent-wasp{border-top:4px solid var(--cat-wasp);}
.gsepc-btn--category-fly{background:var(--cat-fly);color:var(--cat-fly-ink);}
.gsepc-btn--category-fly:hover{filter:brightness(0.96);color:var(--cat-fly-ink);}
.gsepc-card--accent-fly{border-top:4px solid var(--cat-fly);}
.gsepc-btn--category-butterfly{background:var(--cat-butterfly);color:var(--cat-butterfly-ink);}
.gsepc-btn--category-butterfly:hover{filter:brightness(0.96);color:var(--cat-butterfly-ink);}
.gsepc-card--accent-butterfly{border-top:4px solid var(--cat-butterfly);}
.gsepc-btn--category-other{background:var(--cat-other);color:var(--cat-other-ink);}
.gsepc-btn--category-other:hover{filter:brightness(0.96);color:var(--cat-other-ink);}
.gsepc-card--accent-other{border-top:4px solid var(--cat-other);}

/* L1 (2026-06-24, Track D) — text-wrap:pretty on Home prose; the design source applies it to 7 paragraphs, the port dropped it. Purely additive line-break balancing (gracefully ignored where unsupported). */
.gsepc-home-prose, body.home p, body.home .gsepc-prose{text-wrap:pretty;}


/* ===== FAQ accordion — native Bricks port (2026-07-11 full-editability build session 1) ===== */
.gsepc-faq__callout{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4) var(--space-5);background:#FDF1DE;border-left:4px solid var(--cat-bumble-bee);border-radius:var(--radius-md);margin-bottom:var(--space-7);}
.gsepc-faq__callout::before{content:"";flex:none;width:40px;height:40px;background:url(../assets/mascots/bumble-bee.png) center/contain no-repeat;}
.gsepc-faq__callout-title{font-family:var(--font-ui);font-weight:700;font-size:16px;color:var(--text-strong);margin-bottom:var(--space-1);}
.gsepc-faq__callout-body{font-family:var(--font-body);font-size:15px;line-height:1.35;color:var(--text-body);}
.gsepc-faq__item{border-bottom:1px solid var(--border-subtle);}
.gsepc-faq__sum{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:56px;padding:var(--space-4) var(--space-2);cursor:pointer;}
.gsepc-faq__sum::-webkit-details-marker{display:none;}
.gsepc-faq__sum:focus-visible{outline:3px solid var(--gold-700);outline-offset:2px;border-radius:var(--radius-sm);}
.gsepc-faq__q{flex:1;font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);color:var(--text-strong);line-height:1.3;margin:0;}
.gsepc-faq__mk{width:32px;height:32px;flex:none;border-radius:var(--radius-pill);background:var(--purple-50);color:var(--text-brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:22px;line-height:1;transition:background 160ms ease;}
.gsepc-faq__mk::before{content:"+";}
.gsepc-faq__item[open] .gsepc-faq__mk{background:var(--gsepc-purple);color:#fff;}
.gsepc-faq__item[open] .gsepc-faq__mk::before{content:"\2212";}
.gsepc-faq__body{padding:0 var(--space-2) var(--space-5);}
.gsepc-faq__body p{font-family:var(--font-body);font-size:16.5px;color:var(--text-body);margin:0;line-height:1.6;max-width:660px;}
.gsepc-faq__body p+p{margin-top:var(--space-3);}
.gsepc-faq__body p.gsepc-faq__note{color:var(--text-muted);}
.gsepc-faq__body ul{margin:var(--space-3) 0 0;padding-left:1.25em;max-width:660px;display:flex;flex-direction:column;gap:5px;}
.gsepc-faq__body li{font-family:var(--font-body);font-size:16px;color:var(--text-body);line-height:1.5;}
.gsepc-faq__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);margin-top:var(--space-7);}
@media (prefers-reduced-motion: reduce){.gsepc-faq__mk{transition:none;}}

/* ===== Resources — download cards + research list (2026-07-11 full-editability build session 2) =====
   Ported byte-faithfully from the inline styles in gsepc-resources.php
   (gsepc_download_card() + research list). Native Bricks elements now carry
   these BEM classes instead of inline styles. Mascot icons are decorative CSS
   background-images (no <img>, so no alt/axe exposure), mirroring the FAQ
   callout pattern. */
.gsepc-download__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);}
.gsepc-download__card{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:0;height:100%;}
.gsepc-download__icon{position:relative;width:56px;height:56px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-download__icon::before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;transform:translate(-50%,-50%);background-repeat:no-repeat;background-position:center;background-size:contain;}
.gsepc-download__icon--bumble-bee::before{background-image:url(../assets/mascots/bumble-bee.png);}
.gsepc-download__icon--butterfly::before{background-image:url(../assets/mascots/butterfly.png);}
.gsepc-download__icon--carpenter-bee::before{background-image:url(../assets/mascots/carpenter-bee.png);}
.gsepc-download__icon--fly::before{background-image:url(../assets/mascots/fly.png);}
.gsepc-download__icon--wasp::before{background-image:url(../assets/mascots/wasp.png);}
.gsepc-download__icon--beetle::before{background-image:url(../assets/mascots/beetle.png);}
.gsepc-download__body{min-width:0;flex:1;display:flex;flex-direction:column;height:100%;}
.gsepc-download__badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.gsepc-download__badge{font-family:var(--font-ui);font-weight:600;font-size:11px;letter-spacing:0.06em;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid transparent;}
.gsepc-download__badge--fmt{color:var(--text-brand);background:var(--purple-50);border-color:var(--purple-100);}
.gsepc-download__badge--lang{color:var(--text-muted);border-color:var(--border-subtle);}
.gsepc-download__title{font-size:var(--text-h4);margin:0 0 6px;line-height:1.2;}
.gsepc-download__desc{font-size:14.5px;color:var(--text-muted);margin:0 0 var(--space-3);line-height:1.5;}
.gsepc-download__actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;}
.gsepc-research__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4);}
.gsepc-research__item{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:0;}
.gsepc-research__year{width:52px;height:52px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);color:var(--text-brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:16px;}
.gsepc-research__meta{min-width:0;}
.gsepc-research__title{font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--text-strong);margin:0 0 4px;line-height:1.4;}
.gsepc-research__cite{font-size:14.5px;color:var(--text-muted);margin:0;line-height:1.5;}
.gsepc-research__journal{color:var(--text-body);}

/* ===== Educators — videos, lessons, mascot pack, book+course, hosting tips (2026-07-11 full-editability build session 3) =====
   Ported byte-faithfully from gsepc-educators.php / gsepc-educators-blocks.php.
   Native Bricks elements now carry these BEM classes instead of inline styles.
   Mascots are decorative CSS ::before images (no <img>, no alt/axe exposure),
   mirroring the Resources download pattern + FAQ callout dodge. */

/* Extra download-icon mascot variant for the 4-H magazine card */
.gsepc-download__icon--moth::before{background-image:url(../assets/mascots/moth.png);}

/* Shared decorative mascot (::before image, centered ~70% of the box) */
.gsepc-masc{position:relative;}
.gsepc-masc::before{content:"";position:absolute;inset:0;margin:auto;width:70%;height:70%;background-repeat:no-repeat;background-position:center;background-size:contain;}
.gsepc-masc--bumble-bee::before{background-image:url(../assets/mascots/bumble-bee.png);}
.gsepc-masc--carpenter-bee::before{background-image:url(../assets/mascots/carpenter-bee.png);}
.gsepc-masc--honey-bee::before{background-image:url(../assets/mascots/honey-bee.png);}
.gsepc-masc--butterfly::before{background-image:url(../assets/mascots/butterfly.png);}
.gsepc-masc--beetle::before{background-image:url(../assets/mascots/beetle.png);}
.gsepc-masc--wasp::before{background-image:url(../assets/mascots/wasp.png);}
.gsepc-masc--fly::before{background-image:url(../assets/mascots/fly.png);}
.gsepc-masc--moth::before{background-image:url(../assets/mascots/moth.png);}

/* Hero CTA row */
.gsepc-edu-herocta{display:flex;gap:var(--space-3);flex-wrap:wrap;}

/* Watch & learn videos card */
.gsepc-eduvid{margin-bottom:0;}
.gsepc-eduvid__label{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-brand);margin:0 0 var(--space-4);}
.gsepc-eduvid__list{display:flex;flex-direction:column;gap:var(--space-4);}
.gsepc-eduvid__item{display:flex;gap:14px;align-items:flex-start;text-align:left;text-decoration:none;width:100%;}
.gsepc-eduvid__icon{width:52px;height:52px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-eduvid__meta{min-width:0;flex:1;}
.gsepc-eduvid__titlerow{display:flex;align-items:center;gap:8px;margin-bottom:2px;}
.gsepc-eduvid__play{width:0;height:0;flex:none;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--text-brand);}
.gsepc-eduvid__title{font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--text-strong);line-height:1.25;}
.gsepc-eduvid__desc{display:block;font-size:13.5px;color:var(--text-muted);line-height:1.45;}

/* Lesson plans grid */
.gsepc-lesson__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);}
.gsepc-lesson__card{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:0;}
.gsepc-lesson__icon{width:52px;height:52px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-lesson__body{min-width:0;}
.gsepc-lesson__title{font-size:var(--text-h4);margin:0 0 6px;line-height:1.2;}
.gsepc-lesson__desc{font-size:14.5px;color:var(--text-muted);margin:0;line-height:1.5;}

/* Mascot graphics callout */
.gsepc-mascotpack{max-width:var(--container-max);margin:0 auto;display:flex;gap:var(--space-6);align-items:center;flex-wrap:wrap;}
.gsepc-mascotpack__chips{display:flex;gap:var(--space-2);flex:none;}
.gsepc-mascotpack__chip{width:64px;height:64px;border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-mascotpack__body{min-width:280px;flex:1;}
.gsepc-mascotpack__title{font-size:var(--text-h3);margin:0 0 8px;}
.gsepc-mascotpack__text{font-size:16px;color:var(--text-muted);margin:0 0 var(--space-4);line-height:1.55;max-width:620px;}

/* Book + course cards */
.gsepc-eabook__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5);}
.gsepc-eabook__card{margin-bottom:0;}
.gsepc-eabook__title{font-size:var(--text-h3);margin:8px 0 var(--space-3);}
.gsepc-eabook__text{font-size:15.5px;color:var(--text-muted);margin:0 0 var(--space-3);line-height:1.55;}
.gsepc-eabook__text--cta{margin:0 0 var(--space-4);}
.gsepc-eabook__meta{font-family:var(--font-ui);font-size:13.5px;color:var(--text-body);margin:0;}

/* Hosting tips card */
.gsepc-hosttips{margin-bottom:0;}
.gsepc-hosttips__title{font-size:var(--text-h3);margin:0 0 var(--space-5);}
.gsepc-hosttips__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4) var(--space-6);}
.gsepc-hosttips__item{display:flex;gap:12px;align-items:flex-start;}
.gsepc-hosttips__num{width:28px;height:28px;flex:none;border-radius:var(--radius-pill);background:var(--gsepc-purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:14px;}
.gsepc-hosttips__text{font-size:15.5px;color:var(--text-body);margin:0;line-height:1.5;}
.gsepc-hosttips__foot{margin-top:var(--space-5);}

/* ============================================================================
 * Course (195) — full-editability BEM port (2026-07-11f). Byte-faithful to the
 * inline styles in gsepc-course.php / gsepc-course-blocks.php. Mascots render as
 * decorative ::before via the shared gsepc-masc system (fact tiles override to
 * 100%; week boxes use the 70% default ~ the original 40px in a 56px box).
 * ========================================================================== */
.gsepc-masc--small-bee::before{background-image:url(../assets/mascots/small-bee.png);}

/* Hero */
.gsepc-course-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface-card);border:1px solid var(--purple-100);border-radius:var(--radius-pill);padding:6px 16px;margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);}
.gsepc-course-badge__dot{width:8px;height:8px;border-radius:50%;background:var(--gsepc-purple);}
.gsepc-course-badge__tag{font-family:var(--font-ui);font-weight:700;font-size:12.5px;letter-spacing:0.04em;color:var(--text-brand);text-transform:uppercase;}
.gsepc-course-herocta{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;}
.gsepc-course-note{font-family:var(--font-ui);font-size:13.5px;color:var(--text-muted);margin:var(--space-3) 0 0;}

/* Key facts */
.gsepc-course-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6);}
.gsepc-course-fact{margin-bottom:0;}
.gsepc-course-fact__mascot{position:relative;width:44px;height:44px;margin-bottom:10px;}
.gsepc-course-fact__mascot::before{width:100%;height:100%;}
.gsepc-course-fact__k{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-brand);margin:0 0 4px;}
.gsepc-course-fact__v{font-family:var(--font-display);font-weight:600;font-size:21px;color:var(--text-strong);margin:0 0 4px;line-height:1.15;}
.gsepc-course-fact__s{font-family:var(--font-ui);font-size:13.5px;color:var(--text-muted);margin:0;line-height:1.4;}

/* The details (commitment) */
.gsepc-course-details{margin-bottom:0;}
.gsepc-course-details__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);}
.gsepc-course-details__item{display:flex;gap:12px;align-items:flex-start;}
.gsepc-course-details__num{width:24px;height:24px;flex:none;margin-top:2px;border-radius:50%;background:var(--gsepc-purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:12px;}
.gsepc-course-details__text{font-size:15.5px;color:var(--text-body);margin:0;line-height:1.55;}

/* Weekly schedule */
.gsepc-course-sched{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5);}
.gsepc-course-card{margin-bottom:0;padding:0;overflow:hidden;}
.gsepc-course-photos{display:grid;grid-template-columns:1fr;gap:2px;background:var(--gsepc-charcoal);}
.gsepc-course-photos--multi{grid-template-columns:1fr 1fr;}
.gsepc-course-photo{width:100%;height:196px;object-fit:cover;display:block;}
.gsepc-course-row{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:0;}
@media (max-width:720px){.gsepc-course-row{grid-template-columns:1fr;}}
.gsepc-course-wk{background:var(--gsepc-purple);color:#fff;padding:var(--space-5);display:flex;flex-direction:column;gap:10px;}
.gsepc-course-wk__head{display:flex;align-items:center;gap:12px;}
.gsepc-course-wk__mascot{width:56px;height:56px;flex:none;border-radius:var(--radius-md);background:rgba(255,255,255,0.12);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-course-wk__num{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gsepc-gold);}
.gsepc-course-wk__date{font-family:var(--font-display);font-weight:600;font-size:18px;color:#fff;}
.gsepc-course-wk__topic{font-size:var(--text-h3);color:#fff;margin:0 0 4px;line-height:1.1;}
.gsepc-course-wk__tag{font-family:var(--font-body);font-style:italic;font-size:14.5px;color:var(--purple-200);margin:0;line-height:1.4;}
.gsepc-course-wk__kicker{align-self:flex-start;font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:var(--gsepc-charcoal);background:var(--gsepc-gold);padding:3px 10px;border-radius:var(--radius-pill);}
.gsepc-course-inst{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);}
.gsepc-course-inst__label{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin:0;}
.gsepc-course-inst__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.gsepc-course-inst__grid--multi{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.gsepc-course-person{display:flex;gap:12px;align-items:flex-start;}
.gsepc-course-person__photo{width:48px;height:48px;flex:none;border-radius:var(--radius-pill);object-fit:cover;object-position:center top;box-shadow:var(--shadow-sm);}
.gsepc-course-person__body{min-width:0;}
.gsepc-course-person__name{font-family:var(--font-ui);font-weight:700;font-size:15.5px;color:var(--text-strong);margin:0 0 4px;}
.gsepc-course-person__bio{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5;}

/* Register CTA */
.gsepc-course-cta{margin-bottom:0;text-align:center;padding:var(--space-8);}
.gsepc-course-cta__lead{font-size:var(--text-lead);color:var(--purple-200);margin:0 auto var(--space-5);max-width:560px;line-height:1.55;}
.gsepc-course-cta__row{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;}
.gsepc-course-cta__ghost{color:#fff;}

/* ============================================================================
 * About (188) — full-editability BEM port (2026-07-11g). Byte-faithful to the
 * inline styles in gsepc-about.php / gsepc-about-blocks.php. Goal mascots render
 * as decorative ::before via the shared gsepc-masc system (goal boxes override
 * to 100% = a bare 56px mascot). Becky's photo is a native Bricks image element.
 * ========================================================================== */

/* Three goals */
.gsepc-about-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);}
.gsepc-about-goal__mascot{position:relative;width:56px;height:56px;margin-bottom:var(--space-3);}
.gsepc-about-goal__mascot::before{width:100%;height:100%;}
.gsepc-about-goal__h{font-size:var(--text-h4);margin:0 0 8px;}
.gsepc-about-goal__p{font-size:15px;color:var(--text-muted);margin:0;line-height:1.55;}

/* History timeline */
.gsepc-about-hist{list-style:none;margin:0;padding:0;position:relative;}
.gsepc-about-hist__item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);}
.gsepc-about-hist__item:not(:last-child){padding-bottom:var(--space-5);}
.gsepc-about-hist__rail{display:flex;flex-direction:column;align-items:center;}
.gsepc-about-hist__year{width:64px;height:64px;flex:none;border-radius:var(--radius-pill);background:var(--gsepc-purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:0.01em;}
.gsepc-about-hist__line{flex:1;width:3px;background:var(--purple-100);margin-top:6px;min-height:16px;}
.gsepc-about-hist__item:last-child .gsepc-about-hist__line{display:none;}
.gsepc-about-hist__card{margin-bottom:0;}
.gsepc-about-hist__text{font-size:16px;color:var(--text-body);margin:0;line-height:1.55;}

/* Six-state roster */
.gsepc-about-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);}
.gsepc-about-state{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:0;}
.gsepc-about-state__abbr{width:60px;height:60px;flex:none;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:0.04em;}
.gsepc-about-state__abbr--honey-bee{background:var(--cat-honey-bee);color:var(--cat-honey-bee-ink);}
.gsepc-about-state__abbr--small-bee{background:var(--cat-small-bee);color:var(--cat-small-bee-ink);}
.gsepc-about-state__abbr--other{background:var(--cat-other);color:var(--cat-other-ink);}
.gsepc-about-state__abbr--butterfly{background:var(--cat-butterfly);color:var(--cat-butterfly-ink);}
.gsepc-about-state__abbr--fly{background:var(--cat-fly);color:var(--cat-fly-ink);}
.gsepc-about-state__abbr--wasp{background:var(--cat-wasp);color:var(--cat-wasp-ink);}
.gsepc-about-state__body{min-width:0;}
.gsepc-about-state__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.gsepc-about-state__name{font-size:var(--text-h4);margin:0 0 2px;}
.gsepc-about-state__since{font-family:var(--font-ui);font-weight:700;font-size:12px;color:var(--text-brand);text-transform:uppercase;letter-spacing:0.06em;}
.gsepc-about-state__role{font-size:14.5px;color:var(--text-muted);margin:4px 0 8px;line-height:1.5;}
.gsepc-about-state__inst{font-family:var(--font-ui);font-weight:600;font-size:13.5px;color:var(--text-body);margin:0;}
.gsepc-about-state__contact{display:inline-block;margin-top:4px;font-family:var(--font-ui);font-weight:600;font-size:13.5px;color:var(--text-link);text-decoration:none;word-break:break-word;}

/* Coordinator quote */
.gsepc-about-quote{display:flex;gap:var(--space-6);align-items:center;flex-wrap:wrap;padding:var(--space-7);margin-bottom:0;}
.gsepc-about-quote__photo{width:132px;height:132px;flex:none;border-radius:var(--radius-pill);overflow:hidden;background:var(--gsepc-cream);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);}
.gsepc-about-quote__img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.gsepc-about-quote__body{min-width:280px;flex:1;}
.gsepc-about-quote__over{color:var(--gsepc-gold);}
.gsepc-about-quote__q{margin:8px 0 var(--space-4);padding:0;font-family:var(--font-body);font-size:var(--text-lead);line-height:1.5;color:#fff;}
.gsepc-about-quote__name{margin:0;font-family:var(--font-ui);font-weight:700;font-size:16px;color:#fff;}
.gsepc-about-quote__role{margin:2px 0 0;font-size:14px;color:var(--purple-200);}

/* Closing CTA */
.gsepc-about-cta__row{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;}

/* ============================================================
   HOME (156) — full-editability A2/B2 section styles (2026-07-11h)
   Byte-faithful port of the inline styles in gsepc-home.php /
   gsepc-home-blocks.php / gsepc-home-community-blocks.php.
   ============================================================ */

/* Hero */
.gsepc-home-hero{background:linear-gradient(180deg,var(--sky-200),var(--surface-page));padding:var(--space-6) var(--gutter) var(--space-8);}
.gsepc-home-hero__inner{max-width:var(--container-max);margin:0 auto;}
.gsepc-home-hero__banner{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:block;}
.gsepc-home-hero__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-6);}
.gsepc-home-hero__pillrow{display:flex;justify-content:center;margin-top:var(--space-5);}
.gsepc-home-hero__pill{display:inline-flex;align-items:center;gap:10px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:9px 18px;box-shadow:var(--shadow-sm);max-width:100%;}
.gsepc-home-hero__dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--cat-other);}
.gsepc-home-hero__pilltext{font-family:var(--font-ui);font-size:14.5px;color:var(--text-body);line-height:1.4;}
.gsepc-home-hero__pilltext strong{color:var(--text-brand);}

/* 2025 impact band */
.gsepc-home-impact{background:var(--gsepc-purple);padding:var(--space-8) var(--gutter);}
.gsepc-home-impact__inner{max-width:var(--container-max);margin:0 auto;}
.gsepc-home-impact__head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6);}
.gsepc-home-impact__overline{color:var(--gsepc-gold);}
.gsepc-home-impact__h2{color:#fff;font-size:var(--text-h2);margin:8px 0 0;}
.gsepc-home-impact__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-4);}
.gsepc-home-impact__tile{background:rgba(255,255,255,0.07);border:1px solid var(--purple-700);border-radius:var(--radius-lg);padding:var(--space-5);}
.gsepc-home-impact__value{font-family:var(--font-display);font-weight:600;font-size:40px;line-height:1.02;color:var(--gsepc-gold);}
.gsepc-home-impact__label{font-family:var(--font-ui);font-size:14px;color:var(--purple-200);margin-top:8px;}

/* Dedication ribbon */
.gsepc-home-ded{background:var(--gsepc-cream);border-bottom:1px solid var(--border-subtle);padding:var(--space-5) var(--gutter);}
.gsepc-home-ded__inner{max-width:var(--container-narrow);margin:0 auto;display:flex;gap:var(--space-4);align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;}
.gsepc-home-ded__masc{width:40px;height:40px;flex:none;}
.gsepc-home-ded__masc::before{width:100%;height:100%;}
.gsepc-home-ded__p{font-family:var(--font-body);font-size:16.5px;color:var(--text-body);margin:0;line-height:1.5;max-width:720px;}
.gsepc-home-ded__label{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-brand);display:block;margin-bottom:4px;}
.gsepc-home-ded__name{color:var(--text-strong);}

/* How it works — 3 steps */
.gsepc-home-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);}
.gsepc-home-step{text-align:center;}
.gsepc-home-step__masccenter{display:flex;justify-content:center;margin-bottom:var(--space-3);}
.gsepc-home-step__circle{width:88px;height:88px;border-radius:var(--radius-pill);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-home-step__badge{position:absolute;top:-6px;right:-6px;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--gsepc-purple);color:#fff;font-family:var(--font-display);font-weight:600;font-size:16px;display:inline-flex;align-items:center;justify-content:center;}
.gsepc-home-step__h{font-size:var(--text-h4);margin:0 0 6px;}
.gsepc-home-step__p{font-size:15px;color:var(--text-muted);margin:0;}

/* Eight-category grid */
.gsepc-home-cats{background:var(--gsepc-cream);padding:var(--space-9) var(--gutter);}
.gsepc-home-cats__inner{max-width:var(--container-max);margin:0 auto;}
.gsepc-home-cats__head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6);}
/* Fidelity H1 (2026-07-11k): the section-header lead group (overline+H2) is a Bricks .brxe-block → forced width:100%, which pushed the right-side action to its own line. Let it hug its content so the action sits inline-right on the H2 row (matches prototype). */
.gsepc-home-impact__head>*:first-child,.gsepc-home-cats__head>*:first-child{flex:0 1 auto;width:auto;min-width:0;}
.gsepc-home-cats__h2{font-size:var(--text-h2);margin:8px 0 0;}
.gsepc-home-cats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.gsepc-home-cat{cursor:pointer;text-align:center;text-decoration:none;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;align-items:center;gap:10px;}
.gsepc-home-cat__tile{width:64px;height:64px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-home-cat__tile--bumble-bee{background:var(--cat-bumble-bee);}
.gsepc-home-cat__tile--carpenter-bee{background:var(--cat-carpenter-bee);}
.gsepc-home-cat__tile--honey-bee{background:var(--cat-honey-bee);}
.gsepc-home-cat__tile--small-bee{background:var(--cat-small-bee);}
.gsepc-home-cat__tile--wasp{background:var(--cat-wasp);}
.gsepc-home-cat__tile--fly{background:var(--cat-fly);}
.gsepc-home-cat__tile--butterfly{background:var(--cat-butterfly);}
.gsepc-home-cat__tile--other{background:var(--cat-other);}
.gsepc-home-cat__label{font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--text-strong);line-height:1.25;}
@media (max-width:860px){.gsepc-home-cats__grid{grid-template-columns:repeat(2,1fr);}}

/* Learn before you count — 3 cards */
.gsepc-home-learn{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);}
.gsepc-home-learn__card{display:flex;flex-direction:column;}
.gsepc-home-learn__masc{width:54px;height:54px;margin-bottom:var(--space-3);}
.gsepc-home-learn__masc::before{width:100%;height:100%;}
.gsepc-home-learn__h{font-size:var(--text-h4);margin:0 0 8px;}
.gsepc-home-learn__p{font-size:15px;color:var(--text-muted);margin:0 0 var(--space-4);line-height:1.55;flex:1;}

/* Pollinator Course feature */
.gsepc-home-course{background:var(--gsepc-cream);padding:var(--space-9) var(--gutter);}
.gsepc-home-course__grid{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center;}
.gsepc-home-course__badge{display:inline-flex;align-items:center;gap:8px;background:var(--purple-50);border:1px solid var(--purple-100);border-radius:var(--radius-pill);padding:5px 14px;margin-bottom:var(--space-3);}
.gsepc-home-course__badgedot{width:8px;height:8px;border-radius:50%;background:var(--gsepc-purple);}
.gsepc-home-course__badgetext{font-family:var(--font-ui);font-weight:700;font-size:12.5px;letter-spacing:0.04em;color:var(--text-brand);text-transform:uppercase;}
.gsepc-home-course__h2{font-size:var(--text-h1);margin:0 0 var(--space-3);}
.gsepc-home-course__lead{font-size:var(--text-lead);color:var(--text-body);margin:0 0 var(--space-5);}
.gsepc-home-course__cta{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.gsepc-home-course__facts{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-4);}
.gsepc-home-course__factv{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--text-strong);line-height:1.1;}
.gsepc-home-course__factl{font-family:var(--font-ui);font-size:13px;color:var(--text-muted);}
.gsepc-home-course__panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);}
.gsepc-home-course__panelhead{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.12em;font-weight:600;font-size:12px;color:var(--text-muted);margin:0 0 var(--space-4);}
.gsepc-home-course__list{display:flex;flex-direction:column;gap:var(--space-3);}
.gsepc-home-course__row{display:flex;align-items:center;gap:14px;}
.gsepc-home-course__rowmasc{width:46px;height:46px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-home-course__rowbody{min-width:0;flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.gsepc-home-course__topic{font-family:var(--font-ui);font-weight:600;font-size:15px;color:var(--text-strong);line-height:1.3;}
.gsepc-home-course__date{font-family:var(--font-ui);font-size:12.5px;font-weight:700;color:var(--text-brand);letter-spacing:0.03em;white-space:nowrap;}
.gsepc-home-course__note{font-family:var(--font-ui);font-size:13px;color:var(--text-muted);margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);}
@media (max-width:768px){.gsepc-home-course__grid{grid-template-columns:1fr;}}

/* The book */
.gsepc-home-book{background:var(--gsepc-cream);padding:var(--space-8) var(--gutter);}
.gsepc-home-book__inner{max-width:var(--container-max);margin:0 auto;}
.gsepc-home-book__card{display:flex;flex-direction:row;gap:var(--space-6);align-items:center;flex-wrap:wrap;}
.gsepc-home-book__cover{width:172px;height:auto;flex:none;border-radius:var(--radius-md);box-shadow:0 10px 28px rgba(46,42,40,0.18);}
.gsepc-home-book__body{min-width:280px;flex:1;}
.gsepc-home-book__h{font-size:var(--text-h3);margin:8px 0 var(--space-2);}
.gsepc-home-book__p{font-size:16px;color:var(--text-muted);margin:0 0 var(--space-3);line-height:1.55;max-width:660px;}
.gsepc-home-book__credit{font-family:var(--font-ui);font-size:13.5px;color:var(--text-body);margin:0;}

/* Community CTA (native mascots + social) */
.gsepc-home-comm__mascs{display:flex;gap:var(--space-2);flex:none;width:fit-content;}
/* Track D fidelity 2026-07-12: community CTA card is a ROW (mascots left, body right); .brxe-block forces flex-direction:column so scope-restore it. Card carries only .gsepc-card--sky, so target via :has(). */
.gsepc-card--sky:has(> .gsepc-home-comm__mascs){flex-direction:row;align-items:center;flex-wrap:wrap;}
.gsepc-card--sky:has(> .gsepc-home-comm__mascs) > .brxe-block:not(.gsepc-home-comm__mascs){flex:1 1 0;width:auto;min-width:280px;}
.gsepc-home-comm__masc{width:72px;height:72px;border-radius:var(--radius-pill);background:var(--surface-card);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);}
.gsepc-home-comm__social{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.gsepc-home-comm__btn{white-space:normal;max-width:100%;text-align:center;}

/* Count-days band */
.gsepc-home-countdays{max-width:var(--container-max);margin:0 auto;padding:var(--space-9) var(--gutter);}
.gsepc-home-countdays__card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-7);}
.gsepc-home-countdays__body{min-width:260px;flex:1;}
.gsepc-home-countdays__overline{color:var(--gsepc-gold);}
.gsepc-home-countdays__h2{color:#fff;font-size:var(--text-h2);margin:8px 0 6px;}
.gsepc-home-countdays__sub{color:var(--purple-200);margin:0;font-size:16px;}
/* === gsepc-coord (full-editability session 7 — coordinators query-loop proof; card=native Bricks, cells+links computed) === */
.gsepc-coord-proof{max-width:var(--container-max);margin:0 auto;padding:var(--space-9) var(--gutter);}
.gsepc-coord__label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.14em;font-weight:600;font-size:12.5px;color:var(--text-muted);margin:0 0 var(--space-4);}
.gsepc-coord__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);}
.gsepc-coord__card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-top:4px solid var(--gsepc-purple);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);}
.gsepc-coord__row{display:flex;flex-direction:row;align-items:flex-start;gap:14px;margin-bottom:var(--space-3);}
.gsepc-coord__logo{width:60px;height:60px;flex:none;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;padding:6px;}
.gsepc-coord__logo img{max-width:100%;max-height:100%;object-fit:contain;}
.gsepc-coord__logo--mono{background:var(--gsepc-purple);border:none;color:#fff;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:0.03em;padding:0;}
.gsepc-coord__logo--long{font-size:15px;}
.gsepc-coord__idwrap{min-width:0;flex:1;}
.gsepc-coord__name{font-family:var(--font-ui);font-weight:700;font-size:16px;color:var(--text-strong);margin:0 0 4px;line-height:1.25;}
.gsepc-coord__meta{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;}
.gsepc-coord__abbr{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:0.05em;color:#fff;background:var(--gsepc-purple);padding:2px 8px;border-radius:var(--radius-pill);}
.gsepc-coord__since{font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--text-brand);}
.gsepc-coord__role{font-family:var(--font-ui);font-weight:700;font-size:13px;color:var(--text-brand);margin:0 0 6px;}
.gsepc-coord__visit{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--text-brand);text-decoration:none;margin:0 0 var(--space-3);}
.gsepc-coord__desc{font-size:14.5px;color:var(--text-muted);margin:0 0 var(--space-4);line-height:1.55;flex:1;}
.gsepc-coord__foot{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);}
.gsepc-coord__photo{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover;object-position:center top;box-shadow:var(--shadow-sm);}
.gsepc-coord__photo--mono{background:var(--gsepc-cream);color:var(--text-brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;box-shadow:none;}
.gsepc-coord__cwrap{min-width:0;flex:1;}
.gsepc-coord__cname{font-family:var(--font-ui);font-weight:700;font-size:14.5px;color:var(--text-strong);margin:0 0 1px;}
.gsepc-coord__ctitle{font-family:var(--font-ui);font-size:12px;color:var(--text-muted);margin:0 0 3px;line-height:1.35;}
.gsepc-coord__email{font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--text-brand);text-decoration:none;word-break:break-all;}

/* === gsepc-sup (supporting organizations — native card, logo+visit computed) === */
.gsepc-sup__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);}
.gsepc-sup__card{display:flex;flex-direction:row;gap:14px;align-items:flex-start;background:var(--gsepc-cream);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);}
.gsepc-sup__logo{width:52px;height:52px;flex:none;border-radius:var(--radius-md);background:#fff;border:1px solid var(--purple-100);display:inline-flex;align-items:center;justify-content:center;padding:6px;}
.gsepc-sup__logo img{max-width:100%;max-height:100%;object-fit:contain;}
.gsepc-sup__logo--mono{color:var(--text-brand);font-family:var(--font-display);font-weight:600;font-size:15px;}
.gsepc-sup__logo--long{font-size:12px;}
.gsepc-sup__body{min-width:0;}
.gsepc-sup__name{font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--text-strong);margin:0 0 2px;line-height:1.3;}
.gsepc-sup__role{font-family:var(--font-ui);font-weight:700;font-size:12px;color:var(--text-brand);margin:0 0 6px;letter-spacing:0.03em;}
.gsepc-sup__desc{font-size:14px;color:var(--text-muted);margin:0 0 6px;line-height:1.5;}
.gsepc-sup__visit{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--text-brand);text-decoration:none;}
/* === gsepc-comm (project partners & community — grid native, card computed for link/div + accent + fallback) === */
.gsepc-comm__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3);}
.gsepc-comm__card{display:flex;flex-direction:row;gap:12px;align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);}
a.gsepc-comm__card{text-decoration:none;color:inherit;}
a.gsepc-comm__card:hover{border-color:var(--purple-200);}
.gsepc-comm__logo{width:92px;height:56px;flex:none;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;padding:7px;}
.gsepc-comm__logo img{max-width:100%;max-height:100%;object-fit:contain;}
.gsepc-comm__logo--mono{background:var(--gsepc-cream);position:relative;padding:0;}
.gsepc-comm__bar{position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);}
.gsepc-comm__init{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--text-brand);letter-spacing:0.04em;}
.gsepc-comm__body{min-width:0;flex:1;}
.gsepc-comm__name{font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--text-strong);margin:0 0 3px;line-height:1.3;}
.gsepc-comm__cat{font-family:var(--font-ui);font-weight:600;font-size:11.5px;color:var(--text-muted);margin:0;letter-spacing:0.03em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;}
.gsepc-comm__dot{width:7px;height:7px;border-radius:50%;flex:none;}
.gsepc-comm__arrow{flex:none;color:var(--text-muted);opacity:0.55;}

/* === gsepc-partners (Home section shell for the three grids) === */
.gsepc-partners{max-width:var(--container-max);margin:0 auto;padding:var(--space-9) var(--gutter) var(--space-7);}
.gsepc-partners__head{text-align:center;max-width:680px;margin:0 auto var(--space-7);}
.gsepc-partners__lead{font-size:var(--text-lead);color:var(--text-muted);margin:0 auto;}
.gsepc-partners__label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.14em;font-weight:600;font-size:12.5px;color:var(--text-muted);margin:0 0 var(--space-4);align-self:stretch;text-align:left;}
.gsepc-partners__cogrid{margin-bottom:var(--space-7);}
.gsepc-partners__cmhead{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-8) 0 var(--space-4);}
.gsepc-partners__cmhead .gsepc-partners__label{margin:0;}
.gsepc-partners__count{font-family:var(--font-ui);font-size:13.5px;color:var(--text-muted);margin:0;}

/* === gsepc-ded (dedication ribbon — native, sentence computed for bold honoree) === */
.gsepc-ded{background:var(--gsepc-cream);border-bottom:1px solid var(--border-subtle);padding:var(--space-5) var(--gutter);}
.gsepc-ded__inner{max-width:var(--container-narrow);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3);align-items:center;justify-content:center;text-align:center;}
.gsepc-ded__masc{width:40px;height:40px;flex:none;}
.gsepc-ded__masc::before{width:100%;height:100%;}
.gsepc-ded__p{font-family:var(--font-body);font-size:16.5px;color:var(--text-body);margin:0;line-height:1.5;max-width:720px;}
.gsepc-ded__over{font-family:var(--font-ui);font-weight:700;font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-brand);display:block;margin-bottom:4px;}
.gsepc-ded__name{color:var(--text-strong);}
/* === gsepc-crs (course teaser — native left column baked verbatim, 7-session query loop) === */
.gsepc-crs{background:var(--gsepc-cream);padding:var(--space-9) var(--gutter);}
.gsepc-crs__grid{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center;}
.gsepc-crs__tag{display:inline-flex;flex-direction:row;align-items:center;gap:8px;background:var(--purple-50);border:1px solid var(--purple-100);border-radius:var(--radius-pill);padding:5px 14px;margin-bottom:var(--space-3);}
.gsepc-crs__tagdot{width:8px;height:8px;border-radius:50%;background:var(--gsepc-purple);flex:none;}
.gsepc-crs__taglabel{font-family:var(--font-ui);font-weight:700;font-size:12.5px;letter-spacing:0.04em;color:var(--text-brand);text-transform:uppercase;}
.gsepc-crs__h2{font-size:var(--text-h1);margin:0 0 var(--space-3);}
.gsepc-crs__lead{font-size:var(--text-lead);color:var(--text-body);margin:0 0 var(--space-5);}
.gsepc-crs__btns{display:flex;flex-direction:row;gap:var(--space-3);flex-wrap:wrap;}
.gsepc-crs__facts{display:flex;flex-direction:row;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-4);}
.gsepc-crs__factv{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--text-strong);line-height:1.1;}
.gsepc-crs__factl{font-family:var(--font-ui);font-size:13px;color:var(--text-muted);}
.gsepc-crs__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);}
.gsepc-crs__cardlabel{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.12em;font-weight:600;font-size:12px;color:var(--text-muted);margin:0 0 var(--space-4);}
.gsepc-crs__list{display:flex;flex-direction:column;gap:var(--space-3);}
.gsepc-crs__sess{display:flex;flex-direction:row;align-items:center;gap:14px;}
.gsepc-crs__masc{width:46px;height:46px;flex:none;border-radius:var(--radius-md);background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;}
.gsepc-crs__sessrow{min-width:0;flex:1;display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;}
.gsepc-crs__topic{font-family:var(--font-ui);font-weight:600;font-size:15px;color:var(--text-strong);line-height:1.3;}
.gsepc-crs__date{font-family:var(--font-ui);font-size:12.5px;font-weight:700;color:var(--text-brand);letter-spacing:0.03em;white-space:nowrap;}
.gsepc-crs__note{font-family:var(--font-ui);font-size:13px;color:var(--text-muted);margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);}

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

/* --- Home newsletter (native framing; GF-3 embedded via [gsepc_newsletter_form]) — 2026-07-11j session 8 --- */
.gsepc-news{max-width:var(--container-max);margin:0 auto;padding:var(--space-3) var(--gutter) var(--space-9);}
.gsepc-news__card{background:var(--gsepc-purple);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:row;gap:var(--space-7);align-items:center;flex-wrap:wrap;box-shadow:var(--shadow-md);overflow:hidden;position:relative;}
.gsepc-news__orb{position:absolute;right:-28px;bottom:-28px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,0.05);pointer-events:none;}
.gsepc-news__mascots{display:flex;flex-direction:row;gap:10px;flex:0 0 auto;width:-moz-fit-content;width:fit-content;}
.gsepc-news__masc{width:76px;height:76px;flex:none;border-radius:var(--radius-pill);background:var(--gsepc-cream);}
.gsepc-news__body{flex:1 1 0;width:auto;min-width:280px;position:relative;}
.gsepc-news__overline{color:var(--gsepc-gold);}
.gsepc-news__h2{font-size:var(--text-h2);color:#fff;margin:8px 0 var(--space-2);}
.gsepc-news__blurb{font-size:16px;color:var(--purple-200);margin:0 0 var(--space-4);line-height:1.55;max-width:540px;}
/* Gravity Form 3 (newsletter) — scoped styling ported verbatim from the gsepc-home.php inline block (Backlog #15). Legacy gravity-theme so this author CSS wins. */
.gsepc-newsletter .gform_wrapper{margin:0;font-family:var(--font-ui);}
.gsepc-newsletter .gform_wrapper form{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-start;margin:0;}
.gsepc-newsletter .gform-body{flex:1;min-width:240px;}
.gsepc-newsletter .gform_fields{display:block;grid-template-columns:none;}
.gsepc-newsletter .gfield{margin:0;}
.gsepc-newsletter .gform_required_legend{display:none;}
.gsepc-newsletter .gfield_label{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.gsepc-newsletter .gform_wrapper input[type=email]{width:100%;height:52px;padding:0 18px;border-radius:var(--radius-md);border:1px solid var(--purple-700);background:#fff;color:var(--text-strong);font-family:var(--font-ui);font-size:16px;box-sizing:border-box;}
.gsepc-newsletter .gform_wrapper input[type=email]:focus{outline:3px solid var(--gsepc-gold);outline-offset:2px;border-color:var(--gsepc-purple);}
.gsepc-newsletter .gform_footer{margin:0;padding:0;display:flex;align-items:stretch;}
.gsepc-newsletter .gform_wrapper .gform_footer input[type=submit],
.gsepc-newsletter .gform_wrapper .gform_footer button{font-family:var(--font-ui);font-weight:700;font-size:16px;height:52px;padding:0 26px;color:var(--cat-butterfly-ink);background:var(--cat-butterfly);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:filter var(--duration-fast) var(--ease-out);}
.gsepc-newsletter .gform_wrapper .gform_footer input[type=submit]:hover,
.gsepc-newsletter .gform_wrapper .gform_footer button:hover{filter:brightness(0.96);}
.gsepc-newsletter .gform_wrapper .gform_footer input[type=submit]:focus,
.gsepc-newsletter .gform_wrapper .gform_footer button:focus{outline:3px solid var(--gsepc-gold);outline-offset:2px;}
.gsepc-newsletter .gform_validation_errors,
.gsepc-newsletter .validation_message,
.gsepc-newsletter .gfield_validation_message{background:var(--gsepc-cream);color:#983020;font-family:var(--font-ui);font-size:14px;border-radius:var(--radius-md);padding:8px 12px;margin-top:8px;}
.gsepc-newsletter .gfield_error input[type=email]{border-color:#983020;}
.gsepc-newsletter .gform_confirmation_message{color:#fff;font-family:var(--font-ui);font-size:17px;line-height:1.55;max-width:540px;}
@media (prefers-reduced-motion: reduce){.gsepc-newsletter .gform_wrapper .gform_footer input[type=submit],.gsepc-newsletter .gform_wrapper .gform_footer button{transition:none;}}
