/*
 * greencamp.cn — SITEWIDE design system (Apple/Tesla minimal).
 * Single authoritative visual layer. Enqueued at priority 999 → loads last.
 * Owns: typography, colors, chrome, buttons, tabs, page heroes, lists,
 * Stackable block re-skin, news center, talent program, article reading.
 *
 * Token prefix: --gd-*   Generic component: .gd-*
 * Scoped overrides target existing .gc-* / .ct-* / .stk-* classes.
 */

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
  --gd-ink:        #1d1d1f;
  --gd-ink-2:      #6e6e73;
  --gd-ink-3:      #86868b;
  --gd-line:       rgba(0,0,0,0.10);
  --gd-line-soft:  rgba(0,0,0,0.06);
  --gd-bg:         #ffffff;
  --gd-bg-soft:    #f5f5f7;
  --gd-bg-dark:    #111315;
  --gd-accent:     #21533d;
  --gd-radius:     20px;
  --gd-radius-sm:  12px;
  --gd-font-sys:   -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
                   "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  /* Override Blocksy theme font tokens so every Blocksy component reads system sans */
  --theme-font-family: var(--gd-font-sys);
  --theme-button-font-family: var(--gd-font-sys);
  --theme-form-font-family: var(--gd-font-sys);
}

/* ============================================================
   2. UNIVERSAL RESET — typography, body, links
   ============================================================ */
html, body {
  font-family: var(--gd-font-sys) !important;
  background: var(--gd-bg) !important;
  color: var(--gd-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.008em;
}
body * { font-family: inherit; }

/* Headings sitewide → system sans, tight letter-spacing. !important to beat Palatino/Noto-Serif fallbacks. */
h1, h2, h3, h4, h5, h6,
.entry-title, .ct-block-title, .widget-title,
.wp-block-heading,
.gc-legacy-news-title, .gc-camper-video-copy h2,
.gc-talent-news-item__title, .gc-site-heading, .gc-site-section-hero__title,
.gc-intro-block h1, .gc-intro-block h2,
.gc-talent-content-section__head h2,
.gc-site-news-item h3, .gc-site-section-feature__body h3,
.gc-section-page h2, .gc-section-page h3,
.gc-page-hero__title {
  font-family: var(--gd-font-sys) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.18;
  color: var(--gd-ink);
}

::selection { background: rgba(33,83,61,0.16); color: var(--gd-ink); }

a { color: inherit; transition: color .2s ease; }
a:hover { color: var(--gd-accent); }

img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   3. HEADER / NAVIGATION (Blocksy chrome)
   ============================================================ */
header.ct-header {
  background: var(--gd-bg) !important;
  border-bottom: 1px solid var(--gd-line-soft);
  box-shadow: none !important;
}
.ct-header [data-sticky] {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
}
.ct-menu-link, .menu-item a {
  font-family: var(--gd-font-sys) !important;
  color: var(--gd-ink) !important;
  font-weight: 500;
  letter-spacing: -0.005em;
}
.ct-menu-link:hover, .menu-item:hover > a { color: var(--gd-accent) !important; }
.current-menu-item > .ct-menu-link { color: var(--gd-ink) !important; font-weight: 600; }
/* All menu underline/accent strokes use brand green (kill yellow #ffcd05 default) */
header.ct-header *[style*="ffcd05"],
header.ct-header *[style*="rgb(255, 205, 5)"],
.current-menu-item > .ct-menu-link::before,
.current-menu-item > .ct-menu-link::after,
.menu-item > a::before, .menu-item > a::after,
.ct-menu-link::after { background-color: var(--gd-accent) !important; }
/* Search icon: convert yellow to dark ink */
header.ct-header .ct-toggle-button,
header.ct-header [data-toggle="search"],
header.ct-header .ct-header-search,
header.ct-header .ct-header-search svg,
.ct-toggle .ct-icon, header .ct-icon { color: var(--gd-ink) !important; fill: currentColor !important; stroke: currentColor !important; }
header.ct-header svg[stroke], header.ct-header svg path[fill] { stroke: var(--gd-ink); }
.ct-divider { background: var(--gd-line) !important; }
.ct-drawer-canvas .ct-mobile-menu a { font-family: var(--gd-font-sys) !important; color: var(--gd-ink) !important; }
/* Submenu (dropdown) — white panel + hairline borders + dark items */
.menu-item .sub-menu, header.ct-header .sub-menu, .ct-menu-dropdown {
  background: var(--gd-bg) !important;
  background-color: var(--gd-bg) !important;
  border: 1px solid var(--gd-line) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.08) !important;
  border-radius: 14px !important;
  padding: 8px !important;
}
.sub-menu .ct-menu-link { padding: 8px 12px !important; border-radius: 9px !important; }
.sub-menu .ct-menu-link:hover { background: var(--gd-bg-soft) !important; color: var(--gd-ink) !important; }

/* ============================================================
   4. FOOTER — FORCE LIGHT EVERYWHERE
   ============================================================ */
footer.ct-footer,
footer.ct-footer [data-row],
footer.ct-footer [data-row="bottom"],
footer.ct-footer [data-row="middle"],
footer.ct-footer [data-row="top"] {
  background: var(--gd-bg) !important;
  background-color: var(--gd-bg) !important;
  color: var(--gd-ink-2) !important;
}
footer.ct-footer * { color: var(--gd-ink-2); }
footer.ct-footer a { color: var(--gd-ink) !important; }
footer.ct-footer a:hover { color: var(--gd-accent) !important; }
footer.ct-footer h1, footer.ct-footer h2, footer.ct-footer h3, footer.ct-footer h4,
footer.ct-footer h5, footer.ct-footer h6, footer.ct-footer strong { color: var(--gd-ink) !important; }
.ct-footer-copyrights { color: var(--gd-ink-3) !important; font-size: 12.5px; }
footer.ct-footer [data-row="bottom"] { border-top: 1px solid var(--gd-line-soft); }

/* back-to-top */
.ct-back-to-top {
  background: var(--gd-ink) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
.ct-back-to-top svg { fill: #fff !important; color: #fff !important; }

/* ============================================================
   5. BUTTONS — proper hierarchy (NOT "everything is a black pill")
   Tier 1 PRIMARY: filled dark pill, white text — reserved for main CTAs
       (.wp-element-button / .wp-block-button__link / .ct-button / .gc-action-btn primary)
   Tier 2 SECONDARY: outlined pill, dark text on white — for secondary CTAs
       (.is-style-outline, .gc-action-btn--ghost, .gc-action-btn--outline)
   Tier 3 INLINE: text + arrow, no chrome — for "view all", "进入小组页面", "read more"
       (.gc-section-link, .gc-talent-news-item__more)
   ============================================================ */

/* Tier 1 — PRIMARY pill button */
.wp-element-button,
.wp-block-button__link,
.ct-button,
.gc-action-btn,
a.gc-action-btn,
.stk-button,
a.stk-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  font-family: var(--gd-font-sys) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
  padding: 12px 24px !important;
  min-height: 44px;
  border-radius: 999px !important;
  background: var(--gd-ink) !important;
  background-color: var(--gd-ink) !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid var(--gd-ink) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .25s, border-color .25s, transform .15s, color .25s;
  width: auto !important;
  cursor: pointer;
}
/* Ensure inner text spans inherit white */
.wp-element-button *, .wp-block-button__link *, .ct-button *, .gc-action-btn *, .stk-button * {
  color: inherit !important;
}
.wp-element-button:hover, .wp-block-button__link:hover, .ct-button:hover,
.gc-action-btn:hover, .stk-button:hover {
  background: #000 !important; border-color: #000 !important; color: #ffffff !important;
}
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.98); }

/* Tier 2 — SECONDARY outlined pill */
.is-style-outline > .wp-block-button__link,
.is-style-ghost > .wp-block-button__link,
.gc-action-btn--ghost, .gc-action-btn--outline,
a.gc-section-link--ghost {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--gd-ink) !important;
  border: 1px solid var(--gd-ink) !important;
}
.is-style-outline > .wp-block-button__link *,
.gc-action-btn--ghost *, .gc-action-btn--outline * { color: var(--gd-ink) !important; }
.is-style-outline > .wp-block-button__link:hover,
.gc-action-btn--ghost:hover, .gc-action-btn--outline:hover {
  background: var(--gd-ink) !important;
  color: #ffffff !important;
}
.is-style-outline > .wp-block-button__link:hover *,
.gc-action-btn--ghost:hover *, .gc-action-btn--outline:hover * { color: #ffffff !important; }

/* Tier 3 — INLINE text link (NOT a pill). "查看更多", "进入页面", "view all" */
.gc-section-link,
a.gc-section-link,
.gc-talent-news-item__more,
a.gc-talent-news-item__more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  font-family: var(--gd-font-sys) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.005em !important;
  color: var(--gd-ink) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color .2s, transform .2s;
}
.gc-section-link::after,
.gc-talent-news-item__more::after { content: "→"; margin-left: 4px; transition: transform .2s; }
.gc-section-link:hover,
.gc-talent-news-item__more:hover {
  color: var(--gd-accent) !important;
  background: transparent !important;
}
.gc-section-link:hover::after,
.gc-talent-news-item__more:hover::after { transform: translateX(3px); }

/* ============================================================
   6. STACKABLE TABS — UNIFIED Apple-segmented look + hash-deeplink support
   - Restores visible tab labels (clicks switch panels via Stackable JS).
   - Styles labels as Apple Settings segmented control.
   - Only the active panel shows (Stackable runtime handles this).
   ============================================================ */
/* Container row — clean, centered, no warm bg */
html body[class*="page-id"] .wp-block-stackable-tab-labels,
html body[class*="page-id"] .stk-block-tab-labels {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 22px 16px 8px !important;
}
html body[class*="page-id"] .stk-block-tab-labels__wrapper {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px !important;
  margin: 0 auto !important;
  background: #f1f2f4 !important;
  border-radius: 999px !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/* Center the wrapper inside the labels block */
html body[class*="page-id"] .stk-block-tab-labels {
  text-align: center !important;
}
/* Kill the ☰ icon Stackable injects by default */
html body[class*="page-id"] .stk-block-tab-labels::before,
html body[class*="page-id"] .stk-block-tab-labels::after,
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab .stk--svg-wrapper,
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab svg {
  display: none !important;
  content: none !important;
}

/* Individual pill */
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab {
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 22px !important;
  margin: 0 !important;
  background: transparent !important;
  color: #515154 !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font: 600 14px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  letter-spacing: -0.005em !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease !important;
  cursor: pointer !important;
}
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab:hover {
  color: #1d1d1f !important;
  transform: none !important;
}
/* Active pill — Apple Settings white card */
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab.stk-block-tabs__tab--active,
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tabs__tab[aria-selected="true"] {
  background: #ffffff !important;
  color: #1d1d1f !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.10), 0 0 0 1px rgba(0,0,0,.04) !important;
}
/* Inner text node Stackable wraps */
html body[class*="page-id"] .stk-block-tab-labels .stk-block-tab-labels__text {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

/* Panels — keep Stackable's own show/hide (do NOT force all visible).
   We only soften the inactive transition so users feel the switch. */
html body[class*="page-id"] .stk-block-tab-content {
  transition: opacity .25s ease !important;
}

/* Hash deeplink support — when URL has #intro/#timeline/#partners/#jobs on
   page 15 (about), let visitors land directly on the right tab.
   Stackable's own JS doesn't handle hash-targeting, so a tiny helper
   in functions.php opens the matching pill on load. */
/* ============================================================
   7. STACKABLE BLOCKS — neutralize warm palette
   ============================================================ */
.wp-block-stackable-card, .wp-block-stackable-feature, .wp-block-stackable-icon-box {
  background: var(--gd-bg) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: var(--gd-radius) !important;
  box-shadow: none !important;
}
.wp-block-stackable-icon svg { color: var(--gd-ink) !important; }
.wp-block-stackable-separator { background: var(--gd-line) !important; }

/* ============================================================
   8. UNIFIED PAGE HERO — only an eyebrow "section label" on internal pages.
   Top nav already names the page, so the H1 is redundant and is hidden.
   Homepage (body.home) keeps its H1 because it's a brand tagline, not the page name.
   ============================================================ */
.gd-hero, .gh-hero, .gc-site-section-hero, .gc-site-section-hero.gc-site-shell {
  position: relative;
  width: 100%;
  min-height: 0 !important;
  max-height: none !important;
  background: var(--gd-bg) !important;
  background-color: var(--gd-bg) !important;
  color: var(--gd-ink) !important;
  text-align: center;
  border-bottom: 1px solid var(--gd-line-soft) !important;
  padding: clamp(60px, 7vw, 100px) 22px clamp(36px, 4vw, 60px) !important;
  display: block !important;
}
/* On the homepage, keep the BIG H1 + restore generous brand padding */
body.home .gd-hero, body.home .gh-hero {
  padding: clamp(96px, 11vw, 160px) 22px clamp(56px, 7vw, 100px) !important;
}
/* Hide the H1 on every internal page (menu already names them). Homepage exempt. */
body:not(.home) .gd-hero__title,
body:not(.home) .gh-headline,
body:not(.home) .gc-site-section-hero h1,
body:not(.home) .gc-site-section-hero__title {
  display: none !important;
}
/* Eyebrow becomes the only marker — give it a touch more breathing room */
body:not(.home) .gd-hero__eyebrow,
body:not(.home) .gh-eyebrow,
body:not(.home) .gc-site-section-hero__eyebrow {
  margin: 0 !important;
}
/* On internal pages, any lede/sub paragraph in hero is also hidden — keep it minimal */
body:not(.home) .gd-hero__inner > p,
body:not(.home) .gc-site-section-hero p:not(.gc-site-section-hero__eyebrow) {
  display: none !important;
}
/* Kill old image backgrounds and dark overlays */
.gd-hero__bg, .gd-hero__veil, .gh-hero__bg, .gh-hero__veil,
.gh-hero__cue, .gd-hero__cue { display: none !important; }
/* Hero inner container — centered, narrow measure */
.gd-hero__inner, .gh-hero__inner, .gc-site-section-hero__copy {
  position: relative !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}
/* Eyebrow */
.gd-hero__eyebrow, .gh-eyebrow, .gc-site-section-hero__eyebrow {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: var(--gd-ink-3) !important;
  margin: 0 0 18px !important;
  opacity: 1 !important;
}
/* H1 */
.gd-hero__title, .gh-headline, .gc-site-section-hero h1, .gc-site-section-hero__title,
section.gd-hero h1.gd-hero__title {
  margin: 0 !important;
  font-size: clamp(40px, 6.4vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.06 !important;
  font-family: var(--gd-font-sys) !important;
  color: var(--gd-ink) !important;
  background: none !important;
  text-shadow: none !important;
}
/* Optional sub-line (homepage uses .gh-lede / news-center has trailing p) */
.gh-lede, .gc-site-section-hero p:not(.gc-site-section-hero__eyebrow) {
  margin: 18px auto 0 !important;
  max-width: 36em !important;
  color: var(--gd-ink-2) !important;
  font-size: clamp(15px, 1.6vw, 19px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  opacity: 1 !important;
}
/* Remove the legacy hero CTA row from homepage (no buttons in hero) */
.gh-hero .gh-cta-row { display: none !important; }
/* Hide any legacy banner figure */
.gc-section-page .gc-about-hero-image,
body.page-id-11 .entry-content > figure.gc-about-hero-image,
body.page-id-15 .entry-content > figure.wp-block-image:first-of-type {
  display: none !important;
}

/* ============================================================
   9. NEWS CENTER PAGE — fix layout, light cards, proper containers
   ============================================================ */
.gc-site-shell {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
}
main.gc-site-section-page { background: var(--gd-bg); }
.gc-site-section-page { padding-bottom: clamp(60px, 8vw, 100px); }

/* Lead feature card: was dark, force light */
.gc-site-section-feature,
article.gc-site-section-feature {
  background: var(--gd-bg) !important;
  background-color: var(--gd-bg) !important;
  color: var(--gd-ink) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: var(--gd-radius) !important;
  padding: clamp(28px, 3.5vw, 48px) !important;
  box-shadow: none !important;
  margin: clamp(40px, 5vw, 64px) auto !important;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.gc-site-section-feature__body { padding: 0 !important; color: var(--gd-ink) !important; }
.gc-site-section-feature__body h2, .gc-site-section-feature__body h3 {
  font-size: clamp(22px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 8px 0 10px;
}
.gc-site-section-feature__body p { color: var(--gd-ink-2) !important; line-height: 1.6; }
.gc-site-section-feature__image { border-radius: var(--gd-radius-sm); overflow: hidden; }
.gc-site-section-feature__image img { display: block; width: 100%; border-radius: var(--gd-radius-sm); }
.gc-site-meta { color: var(--gd-ink-3) !important; font-size: 12.5px !important; letter-spacing: 0.04em; text-transform: uppercase; }

@media (max-width: 760px) {
  .gc-site-section-feature { grid-template-columns: 1fr; }
}

/* News stream heading + list */
.gc-site-heading,
.gc-site-section-stream .gc-site-heading {
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  padding: 0 !important;
}
.gc-site-news-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: var(--gd-radius) !important;
  overflow: hidden;
  background: var(--gd-bg) !important;
  max-width: 880px;
  margin: 0 auto;
}
.gc-site-news-item {
  padding: 20px 22px !important;
  background: var(--gd-bg) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 var(--gd-line) !important;
  border-radius: 0 !important;
  transition: background .25s ease;
}
.gc-site-news-item:first-child { box-shadow: none !important; }
.gc-site-news-item:hover { background: var(--gd-bg-soft) !important; }
.gc-site-news-item h3, .gc-site-news-item h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
  color: var(--gd-ink) !important;
  line-height: 1.4;
  margin: 4px 0 0 !important;
}
.gc-site-news-item a { color: var(--gd-ink) !important; }
.gc-site-news-item a:hover h3 { color: var(--gd-accent) !important; }

/* ============================================================
   10. TALENT PROGRAM PAGE — side nav, news items, intro blocks
   ============================================================ */
.gc-talent-mainpage,
.gc-talent-workspace,
.gc-talent-program-panel { background: var(--gd-bg) !important; }
.gc-talent-content-section {
  background: var(--gd-bg) !important;
  border-top: 1px solid var(--gd-line-soft);
  padding: clamp(48px, 6vw, 90px) 22px !important;
}
.gc-talent-content-section__head h2 {
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: var(--gd-ink) !important;
}
.gc-talent-side-nav {
  background: var(--gd-bg-soft) !important;
  border: 0 !important;
  border-radius: var(--gd-radius) !important;
  padding: 12px !important;
  box-shadow: none !important;
}
.gc-talent-side-nav__item {
  font-family: var(--gd-font-sys) !important;
  color: var(--gd-ink) !important;
  font-weight: 500;
  border-radius: 11px !important;
  padding: 11px 16px !important;
  border: 0 !important;
  background: transparent !important;
  transition: background .2s;
  display: block;
}
.gc-talent-side-nav__item:hover { background: rgba(0,0,0,0.04) !important; }
html body[class*="page-id"] .gc-talent-side-nav__item.is-active,
html body[class*="page-id"] .gc-talent-side-nav__item--active,
html body[class*="page-id"] .gc-talent-side-nav__item.gc-active,
html body[class*="page-id"] .gc-talent-side-nav__item[aria-selected="true"],
html body[class*="page-id"] .gc-talent-side-nav__item[aria-current="true"],
html body[class*="page-id"] .gc-talent-side-nav__item.current,
html body[class*="page-id"] .gc-talent-side-nav .gc-active {
  background: var(--gd-bg) !important;
  background-color: var(--gd-bg) !important;
  color: var(--gd-ink) !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
  border-left: 0 !important;
  border: 0 !important;
}
/* Kill the yellow ::before vertical bar on active side-nav item */
html body[class*="page-id"] .gc-talent-side-nav__item::before,
html body[class*="page-id"] .gc-talent-side-nav__item::after,
html body[class*="page-id"] .gc-talent-side-nav__item.is-active::before,
html body[class*="page-id"] .gc-talent-side-nav__item.is-active::after {
  display: none !important;
  background: transparent !important;
  content: none !important;
  width: 0 !important;
}

.gc-talent-news-list { display: flex; flex-direction: column; gap: 12px; }
.gc-talent-news-item {
  background: var(--gd-bg) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: var(--gd-radius) !important;
  padding: 22px 24px !important;
  transition: box-shadow .25s, transform .25s, border-color .25s !important;
  box-shadow: none !important;
}
.gc-talent-news-item:hover {
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.06) !important;
  transform: translateY(-2px);
}
.gc-talent-news-item__title {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
  color: var(--gd-ink) !important;
  line-height: 1.35;
  margin: 0 0 6px;
}
.gc-talent-news-item__date { color: var(--gd-ink-3) !important; font-size: 13px !important; }
.gc-talent-news-item__summary { color: var(--gd-ink-2) !important; font-size: 14.5px !important; line-height: 1.6 !important; }

/* ============================================================
   11. INTRO BLOCKS / DATA STATS — neutralize cream backgrounds
   ============================================================ */
.gc-intro-block {
  background: var(--gd-bg) !important;
  border: 0 !important;
  padding: clamp(40px, 5vw, 70px) 22px !important;
}
.gc-intro-block h1, .gc-intro-block h2 {
  font-size: clamp(26px, 3.4vw, 38px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.028em !important;
  color: var(--gd-ink) !important;
}
.gc-intro-stats,
.gc-intro-block .gc-intro-stats,
[class*="intro-stats"] {
  background: var(--gd-bg-soft) !important;
  background-color: var(--gd-bg-soft) !important;
  border: 0 !important;
  border-radius: var(--gd-radius) !important;
  padding: clamp(20px, 3vw, 36px) clamp(22px, 3vw, 40px) !important;
  margin: clamp(20px, 2.5vw, 32px) 0 !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
}
.gc-intro-stats *, [class*="intro-stats"] * { color: var(--gd-ink) !important; }

/* ============================================================
   12. SINGLE ARTICLE READING (gc_news / post / page)
   ============================================================ */
body.single-gc_news .entry-content,
body.single-post .entry-content,
body.single-gc_session .entry-content,
body.single-gc_program .entry-content,
body.single-gc_alumni .entry-content,
body.single-gc_group .entry-content {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 60px) 22px clamp(60px, 7vw, 100px) !important;
  font-size: 17px;
  line-height: 1.78;
  color: var(--gd-ink);
}
body.single-gc_news .entry-content :where(h2, h3, h4),
body.single-post .entry-content :where(h2, h3, h4) {
  margin-top: 1.6em; margin-bottom: 0.6em;
  letter-spacing: -0.025em !important;
}
body.single-gc_news .entry-content h2,
body.single-post .entry-content h2 { font-size: 26px; font-weight: 700; }
body.single-gc_news .entry-content h3,
body.single-post .entry-content h3 { font-size: 20px; font-weight: 700; }
body.single-gc_news .entry-content p, body.single-post .entry-content p { margin: 0 0 1em; }
body.single-gc_news .entry-content img, body.single-post .entry-content img {
  border-radius: var(--gd-radius-sm); margin: 1.4em 0;
}
body.single-gc_news .entry-content blockquote {
  border: 0; padding: 1em 0 1em 1.4em;
  border-left: 3px solid var(--gd-accent);
  color: var(--gd-ink-2);
  font-style: normal;
  margin: 1.6em 0;
}

/* Article entry header (when used) */
.entry-header, .page-header {
  background: var(--gd-bg) !important;
  text-align: center !important;
  padding: clamp(80px, 9vw, 130px) 22px clamp(40px, 5vw, 70px) !important;
  border-bottom: 1px solid var(--gd-line-soft);
}
.entry-title {
  font-size: clamp(34px, 5vw, 58px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  color: var(--gd-ink) !important;
  margin: 0 auto !important;
  max-width: 26em;
}
.entry-meta, .post-meta { color: var(--gd-ink-3) !important; font-size: 13px; letter-spacing: 0.02em; }

/* ============================================================
   13. FORMS
   ============================================================ */
input[type="text"], input[type="email"], input[type="search"],
input[type="tel"], input[type="url"], textarea, select {
  font-family: var(--gd-font-sys) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 11px !important;
  background: var(--gd-bg) !important;
  color: var(--gd-ink) !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--gd-ink) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.06) !important;
}

/* ============================================================
   13b. SECTION PAGE LAYOUT — provides container widths previously in dequeued legacy CSS
   Pages 12 (自然生态保护) / 13 (公众自然教育) / 14 (志愿者小组).
   ============================================================ */
.gc-section-page .entry-content { width: 100%; }
.gc-section-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 22px;
}
.gc-section-block {
  padding: clamp(48px, 6vw, 80px) 0;
  border-top: 1px solid var(--gd-line-soft);
}
.gc-section-block:first-of-type { border-top: 0; }
.gc-section-head { margin-bottom: clamp(28px, 3vw, 40px); }
.gc-section-head h2 {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.028em !important;
  line-height: 1.15 !important;
  color: var(--gd-ink) !important;
  margin: 0 0 10px;
}
.gc-section-head p {
  color: var(--gd-ink-2);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  max-width: 40em;
}

/* Volunteer group cards grid (page 14) */
.gc-group-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 900px) { .gc-group-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .gc-group-grid { grid-template-columns: 1fr; } }
.gc-group-card {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  padding: 22px 24px;
  transition: box-shadow .25s, border-color .25s, transform .25s;
}
.gc-group-card:hover {
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
.gc-group-card h3 {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--gd-ink);
  margin: 0 0 8px;
}
.gc-group-card p {
  font-size: 14.5px;
  color: var(--gd-ink-2);
  line-height: 1.6;
  margin: 0 0 16px;
}
.gc-group-card__link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--gd-ink) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  transition: color .2s;
}
.gc-group-card__link::after {
  content: "→";
  margin-left: 4px;
  display: inline-block;
  transition: transform .2s;
}
.gc-group-card__link:hover { color: var(--gd-accent) !important; }
.gc-group-card__link:hover::after { transform: translateX(3px); }

/* Conservation case items (page 12) — 3 children (meta/h3/p): meta sits in col1 spanning both rows, h3 + p stack in col2 */
.gc-case-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.gc-case-item {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  padding: 22px 24px;
  display: grid;
  grid-template-columns: 110px 1fr;
  grid-template-areas:
    "meta title"
    "meta desc";
  gap: 6px 22px;
  align-items: start;
  transition: box-shadow .25s, border-color .25s;
}
.gc-case-item:hover {
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}
.gc-case-item__meta {
  grid-area: meta;
  color: var(--gd-ink-3);
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  padding-top: 2px;
}
.gc-case-item h3 {
  grid-area: title;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.018em;
  margin: 0 0 4px;
  color: var(--gd-ink);
  line-height: 1.35;
}
.gc-case-item h3 a { color: inherit; text-decoration: none; }
.gc-case-item h3 a:hover { color: var(--gd-accent); }
.gc-case-item p {
  grid-area: desc;
  color: var(--gd-ink-2);
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 600px) {
  .gc-case-item {
    grid-template-columns: 1fr;
    grid-template-areas: "meta" "title" "desc";
    gap: 4px;
  }
}

/* Volunteer/Education news/update lists (pages 13, 14) */
.gc-volunteer-updates, .gc-update-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  overflow: hidden;
  background: #fff;
}
.gc-volunteer-update-item, .gc-update-item {
  padding: 18px 22px !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 var(--gd-line);
  background: transparent;
}
.gc-volunteer-update-item:first-child, .gc-update-item:first-child { box-shadow: none; }
.gc-update-item:hover, .gc-volunteer-update-item:hover { background: var(--gd-bg-soft); }

/* Empty state */
.gc-empty {
  padding: 60px 22px;
  text-align: center;
  color: var(--gd-ink-3);
  font-size: 14px;
  background: var(--gd-bg-soft);
  border-radius: var(--gd-radius);
  border: 0;
}

/* ============================================================
   13c. TALENT PROGRAM LAYOUT (page 11) — provides side-nav + main grid
   ============================================================ */
.gc-talent-mainpage,
.gc-talent-workspace {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 70px) 22px;
}
/* Only the program-panel does the side-nav split. `.gc-talent-content-section`
   is the main content area (stacks vertically — DO NOT make it flex). */
.gc-talent-program-panel {
  display: flex;
  gap: 56px;
  align-items: flex-start;
}
.gc-talent-side-nav { flex: 0 0 220px; }
.gc-talent-program-panel > *:not(.gc-talent-side-nav) {
  flex: 1 1 0;
  min-width: 0;
}
.gc-talent-content-section,
.gc-talent-main-content {
  /* Stack content vertically: page-head + multiple intro blocks */
  display: block;
}
.gc-talent-content-section > * + * { margin-top: 28px; }
@media (max-width: 900px) {
  .gc-talent-program-panel { flex-direction: column; gap: 24px; }
  .gc-talent-side-nav { flex: 0 0 auto; width: 100%; }
}

/* Intro stats data box (page 11) */
.gc-intro-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  padding: 24px 28px;
  background: var(--gd-bg-soft) !important;
  border-radius: var(--gd-radius);
  margin: 24px 0;
  border: 0;
}
.gc-intro-stats > *, .gc-intro-stats * { color: var(--gd-ink); }

/* ============================================================
   13d. OTHER HUB CARDS (page 12721) — unify with volunteer cards
   ============================================================ */
.gc-special-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 22px clamp(48px, 6vw, 80px);
}
@media (max-width: 700px) { .gc-special-grid { grid-template-columns: 1fr; } }
.gc-special-card {
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  padding: 26px 28px;
  transition: box-shadow .25s, border-color .25s, transform .25s;
}
.gc-special-card:hover {
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
.gc-special-card .gc-label,
.gc-special-card p[class*="label"] {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--gd-ink-3) !important;
  margin: 0 0 8px !important;
}
.gc-special-card h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--gd-ink);
  margin: 0 0 10px;
}
.gc-special-card h3 a { color: inherit; text-decoration: none; }
.gc-special-card h3 a:hover { color: var(--gd-accent); }
.gc-special-card p {
  color: var(--gd-ink-2);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 16px;
}
/* Override the dark pill on "进入页面" inside special cards → Tier 3 inline arrow */
.gc-special-card .gc-action-btn,
.gc-special-card .wp-element-button,
.gc-special-card a.gc-action-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--gd-ink) !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  box-shadow: none !important;
  letter-spacing: -0.005em;
  transition: color .2s;
}
.gc-special-card .gc-action-btn:hover,
.gc-special-card .wp-element-button:hover {
  background: transparent !important;
  color: var(--gd-accent) !important;
}

/* ============================================================
   14. KILL ANY REMAINING YELLOW BRAND ACCENTS (h2 underline bars, focus rings, etc.)
   ============================================================ */
.gc-section-head h2::before,
.gc-section-head h2::after,
.gc-section-head::before,
.gc-section-head::after,
.gc-case-list .gc-section-head h2::after,
[class*="section-head"] h2::after,
[class*="section-head"] h2::before {
  background: var(--gd-line) !important;
  background-color: var(--gd-line) !important;
  border-color: var(--gd-line) !important;
}
.gc-section-head h2 {
  color: var(--gd-ink) !important;
}
/* Yellow ring / outline on focused active tab — neutralize */
html body[class*="page-id"] .stk-block-tabs__tab:focus,
html body[class*="page-id"] .stk-block-tabs__tab:focus-visible {
  outline: 2px solid var(--gd-ink) !important;
  outline-offset: 2px !important;
}

/* ============================================================
   15. UTILITY — reduce-motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================
   16. UNIFIED CARD SYSTEM (gc-prog-* / gc-card-grid)
   Used by: single-gc-program, single-gc-group future-rewrites,
   contact/privacy/join wraps.
   ============================================================ */
.gc-shell { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (max-width: 640px) { .gc-shell { padding: 0 18px; } }

/* Page intro band sits right under gd-hero */
.gc-prog-intro {
  padding: clamp(36px, 5vw, 72px) 0 0;
  background: var(--gd-bg);
}
.gc-prog-lede {
  max-width: 820px;
  margin: 0 auto;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
  color: var(--gd-ink-2);
  text-align: center;
  letter-spacing: -0.005em;
}

.gc-prog-body {
  padding: clamp(56px, 7vw, 110px) 0 clamp(80px, 9vw, 140px);
  background: var(--gd-bg);
}

/* Section head — eyebrow + title + meta (right) */
.gc-sec-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin: 0 0 clamp(28px, 3.5vw, 48px);
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gd-line);
}
.gc-sec-eyebrow {
  display: block;
  width: 100%;
  font: 600 12.5px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--gd-ink-3);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.gc-sec-title {
  font: 700 clamp(26px, 2.6vw, 36px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: -0.025em;
  color: var(--gd-ink);
  margin: 0;
}
.gc-sec-meta {
  font: 500 14px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3);
  margin: 0;
}

/* Card grid */
.gc-card-grid {
  display: grid;
  gap: clamp(20px, 2vw, 28px);
  grid-template-columns: 1fr;
}
.gc-card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gc-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gc-card-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
  .gc-card-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .gc-card-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .gc-card-grid--4, .gc-card-grid--3, .gc-card-grid--2 { grid-template-columns: 1fr; }
}

.gc-card {
  position: relative;
  display: block;
  padding: clamp(24px, 2.4vw, 36px);
  background: var(--gd-bg);
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  text-decoration: none;
  color: var(--gd-ink);
  transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .25s ease, box-shadow .25s ease;
}
.gc-card:hover {
  transform: translateY(-3px);
  border-color: var(--gd-ink);
  box-shadow: 0 18px 36px rgba(0,0,0,.06);
}
.gc-card__eyebrow {
  display: inline-block;
  font: 600 12px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gd-ink-3);
  margin: 0 0 14px;
}
.gc-card__title {
  font: 700 clamp(18px, 1.45vw, 22px)/1.35 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  letter-spacing: -0.015em;
  color: var(--gd-ink);
  margin: 0 0 12px;
}
.gc-card__desc {
  font: 400 14.5px/1.65 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 18px;
}
.gc-card__arrow {
  display: inline-block;
  font: 500 14px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-2);
  transition: transform .25s ease, color .25s ease;
}
.gc-card:hover .gc-card__arrow {
  transform: translateX(4px);
  color: var(--gd-ink);
}

.gc-empty {
  padding: clamp(60px, 8vw, 100px) 24px;
  text-align: center;
  color: var(--gd-ink-3);
  font-size: 15px;
  background: var(--gd-bg-soft);
  border-radius: var(--gd-radius);
}

/* ============================================================
   17. SIMPLE-PAGE WRAPPER — privacy / join-us / contact / tang
   Wraps default WP entry-content in a clean reading column.
   ============================================================ */
body.page-id-12755 .entry-content,   /* privacy */
body.page-id-12756 .entry-content,   /* join-us */
body.page-id-3906 .entry-content,    /* contact */
body.page-id-12717 .entry-content    /* tang-xiyang */
{
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 72px) 24px clamp(64px, 8vw, 120px);
  font-size: 16.5px;
  line-height: 1.75;
  color: var(--gd-ink);
}
body.page-id-12755 .entry-content h2,
body.page-id-12756 .entry-content h2,
body.page-id-3906 .entry-content h2,
body.page-id-12717 .entry-content h2 {
  font: 700 clamp(20px, 1.8vw, 24px)/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  letter-spacing: -0.02em;
  margin: clamp(36px, 4vw, 48px) 0 16px;
  color: var(--gd-ink);
}
body.page-id-12755 .entry-content p,
body.page-id-12756 .entry-content p,
body.page-id-3906 .entry-content p {
  margin: 0 0 16px;
  color: var(--gd-ink-2);
}
body.page-id-12755 .entry-content ul,
body.page-id-12756 .entry-content ul {
  margin: 0 0 16px;
  padding-left: 22px;
  color: var(--gd-ink-2);
}
body.page-id-12755 .entry-content ul li,
body.page-id-12756 .entry-content ul li { margin: 6px 0; }
body.page-id-12755 .entry-content a,
body.page-id-12756 .entry-content a,
body.page-id-3906 .entry-content a {
  color: var(--gd-ink);
  text-decoration: underline;
  text-decoration-color: var(--gd-line);
  text-underline-offset: 3px;
  transition: text-decoration-color .2s ease;
}
body.page-id-12755 .entry-content a:hover,
body.page-id-12756 .entry-content a:hover,
body.page-id-3906 .entry-content a:hover { text-decoration-color: var(--gd-ink); }

/* News-center hero unification — keep its image but apply gd-hero polish */
.gc-site-section-hero {
  background: var(--gd-bg) !important;
  padding: clamp(72px, 10vw, 140px) 0 clamp(36px, 5vw, 64px) !important;
  border-bottom: 1px solid var(--gd-line) !important;
}
.gc-site-section-hero__title {
  font: 700 clamp(32px, 4vw, 56px)/1.1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.035em !important;
  color: var(--gd-ink) !important;
}


/* ============================================================
   18. UNIVERSAL HERO UNIFICATION
   Make every legacy hero variant render with gd-hero --plain look.
   ============================================================ */
.gc-memorial-hero,
.gc-hero-page,
.gc-dir-page-hero,
.gco-article__hero,
.page-hero,
.gc-home-hero,
.gc-site-section-hero {
  background: var(--gd-bg) !important;
  border-bottom: 1px solid var(--gd-line) !important;
  padding: clamp(72px, 10vw, 140px) clamp(20px, 4vw, 48px) clamp(40px, 6vw, 64px) !important;
  display: block !important;
  position: relative !important;
}
.gc-memorial-hero { display: flex !important; flex-wrap: wrap; gap: clamp(24px, 4vw, 64px) !important; align-items: flex-end; }
.gc-memorial-hero__copy { flex: 1 1 600px; min-width: 0; }
.gc-memorial-hero__aside { flex: 0 1 300px; min-width: 0; }

/* Hero kicker/eyebrow */
.gc-kicker,
.gc-hero-page .gc-kicker,
.gc-dir-page-hero__kicker,
.gco-article__eyebrow,
.gc-memorial-hero .gc-kicker,
.page-hero .eyebrow {
  display: block !important;
  font: 600 12.5px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-3) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

/* Hero title */
.gc-title,
.gc-hero-title,
.gc-dir-page-hero__title,
.gco-article__title,
.gc-memorial-hero h1,
.page-hero h1 {
  font: 700 clamp(32px, 4.2vw, 64px)/1.1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.035em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}
.gc-memorial-hero__years {
  font: 500 18px/1 -apple-system, sans-serif !important;
  color: var(--gd-ink-3) !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 22px !important;
}

/* Hero lede / lead */
.gc-lead,
.gc-hero-lead,
.gc-dir-page-hero__lead,
.gco-article__lede,
.page-hero .lead-text {
  font: 400 clamp(16px, 1.4vw, 19px)/1.65 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  max-width: 760px;
  margin: 0 !important;
  letter-spacing: -0.005em !important;
}

/* Side card on memorial hero */
.gc-side-card {
  background: var(--gd-bg-soft);
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  padding: 22px 24px;
}
.gc-side-card h3 {
  font: 600 13px/1 -apple-system, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gd-ink-3);
  margin: 0 0 16px;
}
.gc-article-side__links { display: flex; flex-direction: column; gap: 10px; }
.gc-article-side__links a {
  font: 500 14.5px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink);
  text-decoration: none;
  padding: 4px 0;
  transition: color .2s ease;
}
.gc-article-side__links a:hover { color: var(--gd-ink); text-decoration: underline; text-underline-offset: 4px; }

/* ============================================================
   19. UNIVERSAL SECTION STYLING — gc-section / gc-section-heading
   ============================================================ */
.gc-section,
.gc-memorial-section {
  padding: clamp(56px, 7vw, 110px) clamp(20px, 4vw, 48px) !important;
  max-width: 1200px;
  margin: 0 auto;
  background: transparent !important;
}
.gc-section-heading,
.gc-memorial-section .gc-section-heading {
  margin: 0 0 clamp(28px, 3.5vw, 44px);
  max-width: 820px;
}
.gc-section-heading h2,
.gc-memorial-section h2 {
  font: 700 clamp(26px, 2.6vw, 36px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 14px !important;
}
.gc-section-heading p {
  font: 400 16px/1.7 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  margin: 0 !important;
}
.gc-section-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: clamp(32px, 4vw, 64px);
}
@media (max-width: 900px) {
  .gc-section-columns { grid-template-columns: 1fr; }
}

/* Memorial biography prose */
.gc-memorial-biography p {
  font: 400 16.5px/1.85 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 16px;
  max-width: 800px;
}

/* Memorial quote cards */
.gc-memorial-quotes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.gc-memorial-quote {
  padding: 28px 28px 22px;
  background: var(--gd-bg);
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
}
.gc-memorial-quote p {
  font: 400 15.5px/1.75 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink);
  margin: 0 0 18px;
}
.gc-memorial-quote footer {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 14px;
  border-top: 1px solid var(--gd-line);
}
.gc-memorial-quote footer strong {
  font: 600 14px/1.3 -apple-system, sans-serif;
  color: var(--gd-ink);
}
.gc-memorial-quote footer span {
  font: 400 12.5px/1.4 -apple-system, sans-serif;
  color: var(--gd-ink-3);
}

/* List items + chip */
.gc-list { display: flex; flex-direction: column; }
.gc-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--gd-line);
}
.gc-list-item:last-child { border-bottom: 1px solid var(--gd-line); }
.gc-list-item__title {
  font: 600 15.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink);
  text-decoration: none;
  transition: color .2s ease;
}
.gc-list-item__title:hover { color: var(--gd-ink); text-decoration: underline; text-underline-offset: 4px; }
.gc-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.gc-chip {
  display: inline-block;
  padding: 3px 10px;
  background: var(--gd-bg-soft);
  border-radius: 999px;
  font: 500 11.5px/1.4 -apple-system, sans-serif;
  color: var(--gd-ink-3);
  letter-spacing: 0.02em;
}

/* gco-article (single news) — make the article body readable */
.gco-article {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px clamp(60px, 8vw, 100px);
}
.gco-article__body p,
.gco-article__content p {
  font: 400 16.5px/1.85 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  margin: 0 0 18px !important;
}
.gco-article__body h2,
.gco-article__content h2 {
  font: 700 clamp(20px, 1.8vw, 24px)/1.4 -apple-system, sans-serif !important;
  color: var(--gd-ink) !important;
  letter-spacing: -0.02em !important;
  margin: clamp(36px, 4vw, 48px) 0 14px !important;
}
.gco-article__body img,
.gco-article__content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 24px auto;
  border-radius: var(--gd-radius-sm);
}


/* ============================================================
   20. GC-PROGRAM (talent single) polish
   Sidebar nav + sections.
   ============================================================ */
.gc-program-page {
  background: var(--gd-bg);
}
.gc-program-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 140px);
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
@media (max-width: 900px) {
  .gc-program-shell { grid-template-columns: 1fr; gap: 24px; }
}
.gc-program-side {
  position: sticky;
  top: 92px;
}
.gc-program-side-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 1px solid var(--gd-line);
  padding-left: 18px;
}
.gc-program-side-nav a {
  font: 500 14.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  text-decoration: none;
  padding: 10px 0;
  transition: color .2s ease;
  border-bottom: 1px solid transparent;
}
.gc-program-side-nav a:hover {
  color: var(--gd-ink);
}
@media (max-width: 900px) {
  .gc-program-side { position: static; }
  .gc-program-side-nav { flex-direction: row; flex-wrap: wrap; gap: 0 18px; border-left: 0; border-bottom: 1px solid var(--gd-line); padding: 0 0 16px; }
  .gc-program-side-nav a { padding: 8px 0; }
}
.gc-program-main { min-width: 0; }
.gc-program-section {
  padding: 0 0 clamp(48px, 6vw, 88px);
  margin: 0 0 clamp(48px, 6vw, 88px);
  border-bottom: 1px solid var(--gd-line);
}
.gc-program-section:last-child { border-bottom: 0; margin-bottom: 0; }
.gc-program-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 28px;
  flex-wrap: wrap;
}
.gc-program-section__head h2 {
  font: 700 clamp(24px, 2.2vw, 32px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 0 !important;
}
.gc-program-back,
.gc-program-more {
  font: 500 14px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  text-decoration: none !important;
  transition: color .2s ease;
}
.gc-program-back:hover,
.gc-program-more:hover { color: var(--gd-ink) !important; }
.gc-program-meta-count {
  font: 500 14px/1 -apple-system, sans-serif;
  color: var(--gd-ink-3);
}
.gc-program-summary {
  font: 400 17px/1.75 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 18px;
  max-width: 760px;
}
.gc-program-richtext p {
  font: 400 16.5px/1.85 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 16px;
  max-width: 800px;
}
.gc-program-empty,
.gc-program-placeholder {
  padding: 40px 24px;
  text-align: center;
  color: var(--gd-ink-3);
  font-size: 14.5px;
  background: var(--gd-bg-soft);
  border-radius: var(--gd-radius);
}

/* News list inside program */
.gc-program-news-list { display: flex; flex-direction: column; }
.gc-program-news-item {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 24px;
  padding: 18px 0;
  border-top: 1px solid var(--gd-line);
  align-items: baseline;
}
.gc-program-news-item:last-child { border-bottom: 1px solid var(--gd-line); }
.gc-program-news-item time {
  font: 500 13px/1.4 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3);
  letter-spacing: 0.02em;
}
.gc-program-news-item h3 {
  font: 600 15.5px/1.55 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.005em !important;
  color: var(--gd-ink) !important;
  margin: 0 !important;
}
.gc-program-news-item h3 a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.gc-program-news-item h3 a:hover { color: var(--gd-ink); text-decoration: underline; text-underline-offset: 4px; }

/* Session list */
.gc-program-session-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.gc-program-session-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  transition: border-color .25s ease, transform .25s cubic-bezier(.16,1,.3,1);
}
.gc-program-session-item:hover { border-color: var(--gd-ink); transform: translateY(-2px); }
.gc-program-session-item__year {
  font: 700 24px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: -0.02em;
  color: var(--gd-ink);
}
.gc-program-session-item__body h3 {
  font: 600 15.5px/1.45 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink) !important;
  margin: 0 0 8px !important;
}
.gc-program-session-item__body h3 a { color: inherit; text-decoration: none; }
.gc-program-session-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  font: 400 13px/1.4 -apple-system, sans-serif;
  color: var(--gd-ink-3);
}

/* Alumni table */
.gc-program-table-wrap { overflow-x: auto; }
.gc-program-table {
  width: 100%;
  border-collapse: collapse;
  font: 400 14.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}
.gc-program-table thead th {
  text-align: left;
  font-weight: 600;
  color: var(--gd-ink-3);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 0 16px 12px;
  border-bottom: 1px solid var(--gd-line);
}
.gc-program-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--gd-line);
  color: var(--gd-ink);
}
.gc-program-table tbody tr:hover td { background: var(--gd-bg-soft); }

/* ============================================================
   21. GC-INNER-PAGE (gc-group single) polish
   ============================================================ */
.gc-inner-page { background: var(--gd-bg); }
.gc-hero-page {
  padding: clamp(72px, 10vw, 140px) clamp(20px, 4vw, 48px) clamp(40px, 6vw, 64px) !important;
  background: var(--gd-bg) !important;
  border-bottom: 1px solid var(--gd-line) !important;
}
.gc-hero-page__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.gc-breadcrumb {
  font: 500 13px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-3);
  margin: 0 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.gc-breadcrumb a {
  color: var(--gd-ink-2);
  text-decoration: none;
  transition: color .2s ease;
}
.gc-breadcrumb a:hover { color: var(--gd-ink); }
.gc-breadcrumb span { color: var(--gd-ink-3); }
.gc-breadcrumb .current { color: var(--gd-ink); }
.gc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12.5px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-3) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}
.gc-eyebrow svg { width: 14px; height: 14px; stroke: currentColor; }
.gc-page-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 18px 0 0;
}
.gc-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font: 500 12px/1.4 -apple-system, sans-serif;
  letter-spacing: 0.02em;
  background: var(--gd-bg-soft);
  color: var(--gd-ink-2);
}
.gc-tag--green { background: var(--gd-bg-soft); color: var(--gd-ink); }
.gc-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.gc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  font: 500 14px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .25s cubic-bezier(.16,1,.3,1);
  cursor: pointer;
  border: 1px solid transparent;
}
.gc-btn:hover { transform: translateY(-1px); }
.gc-btn--outline { background: transparent; color: var(--gd-ink); border-color: var(--gd-line); }
.gc-btn--outline:hover { border-color: var(--gd-ink); }
.gc-btn--primary { background: var(--gd-ink); color: #fff; }
.gc-btn--primary:hover { background: #000; }
.gc-btn svg { width: 14px; height: 14px; stroke: currentColor; }

.gc-body {
  padding: clamp(56px, 7vw, 100px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 140px);
}
.gc-body__inner { max-width: 1200px; margin: 0 auto; }
.gc-two-col { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(32px, 4vw, 64px); }
@media (max-width: 900px) { .gc-two-col { grid-template-columns: 1fr !important; gap: 24px !important; } }
.gc-section-head {
  margin: 0 0 24px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--gd-line);
}
.gc-section-head__title {
  font: 700 clamp(22px, 2vw, 28px)/1.25 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 0 !important;
}

/* ============================================================
   22. GCO-ARTICLE (single news) hero polish
   ============================================================ */
.gco-shell { max-width: 1080px; margin: 0 auto; padding: 0; }
.gco-article { padding: 0 24px clamp(64px, 8vw, 120px); }
.gco-article__hero {
  padding: clamp(48px, 6vw, 84px) 0 clamp(28px, 3vw, 44px) !important;
  background: transparent;
  border: 0;
}
.gco-article__hero h1 {
  font: 700 clamp(28px, 3.4vw, 44px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.03em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 18px !important;
  max-width: 820px;
}
.gco-article__crumbs {
  font: 500 13px/1.5 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3);
  margin: 0 0 22px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.gco-article__crumbs a { color: var(--gd-ink-2); text-decoration: none; }
.gco-article__crumbs a:hover { color: var(--gd-ink); }
.gco-meta-line {
  font: 500 13.5px/1.4 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0;
}
.gco-meta-line span { display: inline-flex; align-items: center; }
.gco-article__cover {
  margin: 0 0 clamp(32px, 4vw, 48px);
  border-radius: var(--gd-radius);
  overflow: hidden;
}
.gco-article__cover img {
  display: block;
  width: 100%;
  height: auto;
}
.gco-article__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}
@media (max-width: 900px) { .gco-article__layout { grid-template-columns: 1fr; } }
.gco-article__aside { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 20px; }
.gco-side-panel {
  padding: 22px 24px;
  background: var(--gd-bg-soft);
  border-radius: var(--gd-radius);
}
.gco-side-panel h2 {
  font: 600 13px/1 -apple-system, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gd-ink-3) !important;
  margin: 0 0 14px !important;
}
.gco-side-list { display: flex; flex-direction: column; gap: 10px; }
.gco-side-list a {
  font: 500 14px/1.45 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink);
  text-decoration: none;
  transition: color .2s ease;
}
.gco-side-list a:hover { color: var(--gd-ink); text-decoration: underline; text-underline-offset: 4px; }

/* ============================================================
   23. ROOT VARIABLES — ensure defaults are sane (some themes drop them)
   ============================================================ */
:root {
  --gd-ink:        #1d1d1f;
  --gd-ink-2:      #515154;
  --gd-ink-3:      #86868b;
  --gd-bg:         #ffffff;
  --gd-bg-soft:    #f5f5f7;
  --gd-line:       #d2d2d7;
  --gd-radius:     16px;
  --gd-radius-sm:  10px;
}


/* ============================================================
   24. UNIFIED NEWS CARD — site-wide for all news/dynamic listings
   Renderer: gc_render_news_card() in functions.php
   Default layout: 2-column responsive grid; falls to 1 column ≤640px.
   Variants: --row (1-col list), --grid (vertical card), --feature (big lead)
   ============================================================ */

/* Wrapper — default is 2-column grid that fills container */
.gc-news-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  margin: 0 auto;
}
.gc-news-cards--row {
  grid-template-columns: 1fr;
  gap: 0;
}
.gc-news-cards--grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}

@media (max-width: 760px) {
  .gc-news-cards { grid-template-columns: 1fr; }
}

/* Card — horizontal media object */
.gc-news-card {
  position: relative;
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  padding: 14px;
  background: var(--gd-bg, #ffffff);
  border: 1px solid var(--gd-line, #e5e5e7);
  border-radius: 14px;
  text-decoration: none;
  color: var(--gd-ink, #1d1d1f);
  transition: border-color .25s ease, box-shadow .3s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1);
}
.gc-news-card::after {
  /* Tiny arrow indicator bottom-right */
  content: "›";
  position: absolute;
  right: 16px;
  bottom: 12px;
  font: 500 18px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3, #b0b0b5);
  transition: transform .25s ease, color .25s ease;
}
.gc-news-card:hover {
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
.gc-news-card:hover::after { transform: translateX(3px); color: var(--gd-ink, #1d1d1f); }
.gc-news-card:hover .gc-news-card__thumb img { transform: scale(1.05); }
.gc-news-card:hover .gc-news-card__title { color: #000; }

/* Thumb */
.gc-news-card__thumb {
  display: block;
  width: 116px;
  height: 116px;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(135deg, #f0f1f4 0%, #e8e9ec 100%);
  flex-shrink: 0;
}
.gc-news-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}

/* Body */
.gc-news-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 6px;
  padding-right: 26px; /* leave room for arrow */
  padding-bottom: 2px;
}

/* Meta row */
.gc-news-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  font: 500 12px/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-3, #86868b);
  letter-spacing: 0.01em;
  margin-bottom: 4px;
}
.gc-news-card__cat {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 4px;
  background: rgba(33,83,61,0.08);
  color: #21533d;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
}
.gc-news-card__date { font-variant-numeric: tabular-nums; }
.gc-news-card__src { color: var(--gd-ink-3, #86868b); }
.gc-news-card__src::before { content: "·"; margin-right: 8px; }

/* Title — 2-line clamp */
.gc-news-card__title {
  font: 600 15.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: -0.008em;
  color: var(--gd-ink, #1d1d1f);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .2s ease;
}

/* Excerpt — also 2-line clamp */
.gc-news-card__excerpt {
  font: 400 13px/1.55 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2, #6e6e73);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 2px;
}

/* Old arrow svg slot — hide, use CSS ::after instead */
.gc-news-card__arrow { display: none; }

/* === VARIANTS === */

/* --grid layout: vertical card with full-width image on top */
.gc-news-card--grid {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  padding: 0;
  overflow: hidden;
}
.gc-news-card--grid .gc-news-card__thumb {
  width: 100%;
  height: 0;
  padding-bottom: 56%; /* 16:9 */
  border-radius: 0;
  position: relative;
}
.gc-news-card--grid .gc-news-card__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.gc-news-card--grid .gc-news-card__body {
  padding: 18px 20px 22px;
  gap: 8px;
  padding-right: 20px;
}
.gc-news-card--grid::after {
  right: 20px;
  bottom: 18px;
}
.gc-news-card--grid .gc-news-card__title {
  font-size: 16.5px;
  -webkit-line-clamp: 3;
}

/* --row layout: single-column list (legacy/news-center compact) */
.gc-news-cards--row .gc-news-card {
  border: 0;
  border-radius: 0;
  border-top: 1px solid var(--gd-line, #e5e5e7);
  padding: 16px 4px;
  background: transparent;
  transform: none !important;
  box-shadow: none !important;
}
.gc-news-cards--row .gc-news-card:last-child { border-bottom: 1px solid var(--gd-line, #e5e5e7); }
.gc-news-cards--row .gc-news-card:hover {
  background: rgba(0,0,0,.02);
  border-color: rgba(0,0,0,.10);
}
.gc-news-cards--row .gc-news-card::after { display: none; }

/* News-center lead news — featured large card spanning two columns */
.gc-news-cards--lead {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 32px;
}
.gc-news-cards--lead .gc-news-card {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 32px;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
}
.gc-news-cards--lead .gc-news-card__thumb {
  width: 100%;
  height: 100%;
  min-height: 280px;
  border-radius: 0;
}
.gc-news-cards--lead .gc-news-card__body {
  padding: 32px 36px 36px 0;
  justify-content: center;
  gap: 12px;
}
.gc-news-cards--lead .gc-news-card__title {
  font-size: 24px;
  line-height: 1.35;
  -webkit-line-clamp: 3;
}
.gc-news-cards--lead .gc-news-card__excerpt {
  font-size: 14.5px;
  -webkit-line-clamp: 3;
}
.gc-news-cards--lead::after,
.gc-news-cards--lead .gc-news-card::after { display: none; }
@media (max-width: 760px) {
  .gc-news-cards--lead .gc-news-card {
    grid-template-columns: 1fr;
  }
  .gc-news-cards--lead .gc-news-card__thumb {
    min-height: 0;
    height: 0;
    padding-bottom: 56%;
    position: relative;
  }
  .gc-news-cards--lead .gc-news-card__thumb img {
    position: absolute; inset: 0;
  }
  .gc-news-cards--lead .gc-news-card__body { padding: 20px 22px 24px; }
  .gc-news-cards--lead .gc-news-card__title { font-size: 19px; }
}

/* Empty state */
.gc-news-empty {
  grid-column: 1 / -1;
  padding: 56px 24px;
  text-align: center;
  color: var(--gd-ink-3, #86868b);
  font-size: 14.5px;
  background: var(--gd-bg-soft, #f5f5f7);
  border-radius: 14px;
}

/* Responsive */
@media (max-width: 640px) {
  .gc-news-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }
  .gc-news-card__thumb { width: 96px; height: 96px; border-radius: 8px; }
  .gc-news-card__body { padding-right: 18px; }
  .gc-news-card__title { font-size: 14.5px; -webkit-line-clamp: 2; }
  .gc-news-card__meta { font-size: 11.5px; }
  .gc-news-card::after { right: 12px; bottom: 10px; font-size: 16px; }
}

/* Ensure news sections occupy full content width inside their containers */
.gh-news .gc-news-cards,
.gc-program-news-list .gc-news-cards,
.gc-talent-news-list .gc-news-cards,
.gc-section-block .gc-news-cards,
.gc-site-section-stream .gc-news-cards {
  max-width: none;
}

/* ============================================================
   25. TALENT PAGE LAYOUT OPTIMIZATION — 2026-05-20
   - Hide inactive content sections (let JS toggle .is-active)
   - Sticky sidebar nav
   - Tighter section padding for cleaner rhythm
   ============================================================ */
html body.page-id-11 .gc-talent-content-section {
  display: none !important;
}
html body.page-id-11 .gc-talent-content-section.is-active {
  display: block !important;
}

/* Sticky side nav so users always see the section selector */
html body.page-id-11 .gc-talent-side-nav {
  position: sticky;
  top: 100px;
  align-self: flex-start;
  z-index: 5;
}

/* Tighter, more even section rhythm */
html body.page-id-11 .gc-talent-content-section {
  padding: clamp(20px, 2.5vw, 36px) 0 clamp(40px, 5vw, 72px) !important;
  border-top: 0 !important;
}
html body.page-id-11 .gc-talent-content-section + .gc-talent-content-section {
  padding-top: clamp(36px, 4vw, 60px) !important;
}
html body.page-id-11 .gc-talent-content-section__head {
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  padding: 0 0 18px;
  border-bottom: 1px solid var(--gd-line);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
html body.page-id-11 .gc-talent-content-section__head h2 {
  font: 700 clamp(22px, 2vw, 30px)/1.25 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.025em !important;
  color: var(--gd-ink) !important;
  margin: 0 !important;
}

/* Workspace gap — give more breathing room sidebar↔main */
html body.page-id-11 .gc-talent-program-panel {
  gap: clamp(32px, 4vw, 64px);
  padding: clamp(28px, 3.5vw, 48px) 0;
}

/* Intro blocks — better typography */
html body.page-id-11 .gc-talent-content-section h3 {
  font: 600 17px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.015em !important;
  color: var(--gd-ink) !important;
  margin: clamp(20px, 2.4vw, 32px) 0 12px !important;
}
html body.page-id-11 .gc-talent-content-section p {
  font: 400 15.5px/1.75 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 14px;
}

/* Sessions list — already styled in section 20 but tighten here */
html body.page-id-11 .gc-talent-content-section .gc-program-session-list,
html body.page-id-11 .gc-talent-content-section .gc-program-news-list {
  margin: 0;
}

/* Alumni table tighter */
html body.page-id-11 .gc-program-table-wrap {
  margin: 0;
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius-sm);
  overflow: hidden;
}
html body.page-id-11 .gc-program-table thead th {
  background: var(--gd-bg-soft);
  padding: 12px 16px;
  border-bottom: 1px solid var(--gd-line);
}
html body.page-id-11 .gc-program-table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--gd-line);
  font-size: 14px;
}
html body.page-id-11 .gc-program-table tbody tr:last-child td { border-bottom: 0; }

/* Side nav cleaner */
html body.page-id-11 .gc-talent-side-nav {
  background: transparent !important;
  border-left: 1px solid var(--gd-line) !important;
  border-radius: 0 !important;
  padding: 8px 0 8px 18px !important;
}
html body.page-id-11 .gc-talent-side-nav__item {
  padding: 9px 14px !important;
  font-size: 14.5px !important;
  border-radius: 8px !important;
  text-align: left;
  width: 100%;
  cursor: pointer;
}
html body.page-id-11 .gc-talent-side-nav__item.is-active {
  background: var(--gd-bg-soft) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* Side-nav on mobile becomes a horizontal pill row above content */
@media (max-width: 900px) {
  html body.page-id-11 .gc-talent-side-nav {
    position: static;
    border-left: 0 !important;
    padding: 0 0 16px !important;
    display: flex;
    overflow-x: auto;
    gap: 6px;
    border-bottom: 1px solid var(--gd-line) !important;
  }
  html body.page-id-11 .gc-talent-side-nav__item {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}


/* ============================================================
   26. TALENT PAGE — INTERNATIONAL LAYOUT REDESIGN
   Inspired by Apple Newsroom / WWF / Linear docs:
   - Wider container (1320px)
   - Horizontal tab pills replace vertical sidebar
   - 3-column news cards on wide screens
   - Bigger section rhythm
   ============================================================ */

/* Override outer container — wider, more breathing room */
html body.page-id-11 .gc-talent-mainpage,
html body.page-id-11 .gc-talent-workspace {
  max-width: 1320px !important;
  padding: clamp(36px, 4vw, 56px) clamp(24px, 4vw, 64px) !important;
}

/* Program panel — switch from horizontal split to vertical stack */
html body.page-id-11 .gc-talent-program-panel {
  display: block !important;
  gap: 0 !important;
  padding: 0 !important;
}

/* Side nav becomes a horizontal scrollable pill row above content */
html body.page-id-11 .gc-talent-side-nav {
  position: static !important;
  flex: none !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 6px !important;
  padding: 0 0 0 0 !important;
  margin: 0 0 clamp(28px, 3.5vw, 48px) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gd-line) !important;
  border-radius: 0 !important;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
html body.page-id-11 .gc-talent-side-nav::-webkit-scrollbar { display: none; }
html body.page-id-11 .gc-talent-side-nav__item {
  position: relative;
  flex: 0 0 auto !important;
  background: transparent !important;
  padding: 14px 4px !important;
  margin: 0 18px 0 0 !important;
  border-radius: 0 !important;
  font: 500 15.5px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  white-space: nowrap !important;
  cursor: pointer;
  transition: color .2s ease !important;
  box-shadow: none !important;
}
html body.page-id-11 .gc-talent-side-nav__item:hover {
  background: transparent !important;
  color: var(--gd-ink) !important;
}
html body.page-id-11 .gc-talent-side-nav__item.is-active {
  background: transparent !important;
  color: var(--gd-ink) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
html body.page-id-11 .gc-talent-side-nav__item.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--gd-ink);
  border-radius: 2px;
}

/* Main content area — now full width inside container */
html body.page-id-11 .gc-talent-main-content {
  width: 100% !important;
  max-width: none !important;
}

/* Section padding rhythm */
html body.page-id-11 .gc-talent-content-section {
  padding: 0 0 clamp(48px, 6vw, 80px) !important;
  border-top: 0 !important;
}
html body.page-id-11 .gc-talent-content-section.is-active {
  animation: gcFadeIn .35s cubic-bezier(.16,1,.3,1);
}
@keyframes gcFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Section heading */
html body.page-id-11 .gc-talent-content-section__head {
  margin: 0 0 clamp(24px, 3vw, 40px);
  padding: 0;
  border-bottom: 0;
}
html body.page-id-11 .gc-talent-content-section__head h2 {
  font: 700 clamp(28px, 3vw, 40px)/1.15 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.03em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 6px !important;
}

/* Intro prose — wider reading column, larger type */
html body.page-id-11 .gc-talent-content-section h3 {
  font: 600 19px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  margin: clamp(28px, 3vw, 40px) 0 14px !important;
}
html body.page-id-11 .gc-talent-content-section p {
  font: 400 16.5px/1.8 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  margin: 0 0 14px;
  max-width: 880px;
}

/* News cards: 3 columns on wide screens */
@media (min-width: 1100px) {
  html body.page-id-11 .gc-news-cards:not(.gc-news-cards--row):not(.gc-news-cards--lead) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Sessions list spans wider; tighten card */
html body.page-id-11 .gc-program-session-list {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
}

/* Alumni preview as a cleaner data card */
html body.page-id-11 #full-talent-alumni,
html body.page-id-11 .gc-talent-content-section [id$="-alumni"] {
  /* placeholder for alumni section styling */
}

/* Mobile */
@media (max-width: 768px) {
  html body.page-id-11 .gc-talent-mainpage,
  html body.page-id-11 .gc-talent-workspace {
    padding: 24px 18px !important;
  }
  html body.page-id-11 .gc-talent-side-nav__item { font-size: 14px !important; padding: 12px 4px !important; }
  html body.page-id-11 .gc-talent-content-section__head h2 { font-size: 22px !important; }
}


/* ============================================================
   27. SITEWIDE CONTAINER WIDTH — 2026-05-20
   Make every editorial page feel wide and intentional, like
   Apple Newsroom / Linear / Stripe. Default max-width 1320px,
   generous side padding.
   ============================================================ */
:root {
  --gc-container: 1320px;
  --gc-container-narrow: 1080px;
  --gc-side-pad: clamp(20px, 4vw, 56px);
}

/* Apply to all the main containers across templates */
.gc-shell,
.gc-site-shell,
.gc-program-shell,
.gh-wrap,
.gc-talent-mainpage,
.gc-talent-workspace,
.gc-site-section-page,
.gc-site-section-page > .gc-site-shell,
.gco-shell {
  max-width: var(--gc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--gc-side-pad) !important;
  padding-right: var(--gc-side-pad) !important;
  box-sizing: border-box;
}

/* Hero stays full-bleed but text is centered on container */
.gd-hero__inner {
  max-width: var(--gc-container) !important;
  margin: 0 auto !important;
  padding-left: var(--gc-side-pad) !important;
  padding-right: var(--gc-side-pad) !important;
}

/* News center hero and section body share container */
.gc-site-section-hero .gc-site-section-hero__copy,
.gc-site-section-body {
  max-width: var(--gc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tang xiyang memorial page */
.gc-page-shell,
.gc-page-shell--wide {
  max-width: var(--gc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--gc-side-pad) !important;
  padding-right: var(--gc-side-pad) !important;
}

/* Simple pages (privacy/join/contact) keep a narrower reading column,
   but the outer container is full-width for header rhythm */
body.page-id-12755 .entry-content,
body.page-id-12756 .entry-content,
body.page-id-3906 .entry-content {
  max-width: 820px !important;
  margin: 0 auto !important;
}

/* Group page (gc-inner-page) */
.gc-inner-page .gc-hero-page__inner,
.gc-inner-page .gc-body__inner {
  max-width: var(--gc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Section pages 12/13/14 — make sure they breathe wider too */
.gc-site-section-page main,
.gc-section-main {
  max-width: var(--gc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--gc-side-pad) !important;
  padding-right: var(--gc-side-pad) !important;
  box-sizing: border-box;
}

/* News cards default 3-col on very wide screens */
@media (min-width: 1200px) {
  .gc-news-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gc-news-cards--row { grid-template-columns: 1fr; }
  .gc-news-cards--grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
}
@media (max-width: 1199px) and (min-width: 760px) {
  .gc-news-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Fix: --lead should NEVER become multi-column */
@media (min-width: 1200px) {
  .gc-news-cards.gc-news-cards--lead {
    grid-template-columns: 1fr !important;
  }
  .gc-news-cards--lead { grid-template-columns: 1fr !important; }
}
.gc-news-cards--lead { grid-template-columns: 1fr !important; }
.gc-news-cards--row { grid-template-columns: 1fr !important; }


/* ============================================================
   28. TALENT PAGE — INTRO / SESSIONS / ALUMNI CTA REDESIGN
   gc-pgm-lede / gc-pgm-kpi / gc-pgm-pillars / gc-pgm-sessions / gc-pgm-cta
   ============================================================ */

/* ---- LEDE (big intro paragraph) ---- */
.gc-pgm-lede {
  font: 400 clamp(20px, 1.8vw, 26px)/1.55 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.015em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 clamp(36px, 4.5vw, 64px) !important;
  max-width: 920px;
}

/* ---- KPI strip (6 numbers) ---- */
.gc-pgm-kpi {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 clamp(48px, 6vw, 88px);
  padding: clamp(32px, 4vw, 56px) 0;
  border-top: 1px solid var(--gd-line);
  border-bottom: 1px solid var(--gd-line);
}
.gc-pgm-kpi__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0 24px;
}
.gc-pgm-kpi__item + .gc-pgm-kpi__item {
  border-left: 1px solid var(--gd-line);
}
.gc-pgm-kpi__item b {
  font: 700 clamp(28px, 3.2vw, 44px)/1 -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: -0.035em;
  color: var(--gd-ink);
  font-variant-numeric: tabular-nums;
}
.gc-pgm-kpi__item b sup {
  font-size: 0.55em;
  font-weight: 600;
  vertical-align: super;
  margin-left: 1px;
  letter-spacing: -0.015em;
}
.gc-pgm-kpi__item i {
  font: 500 12.5px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  font-style: normal;
  color: var(--gd-ink-3);
  letter-spacing: 0.02em;
}
@media (max-width: 900px) {
  .gc-pgm-kpi { grid-template-columns: repeat(3, 1fr); gap: 28px 0; padding: 32px 0; }
  .gc-pgm-kpi__item { padding: 0 18px; }
  .gc-pgm-kpi__item:nth-child(4),
  .gc-pgm-kpi__item:nth-child(5),
  .gc-pgm-kpi__item:nth-child(6) { border-top: 1px solid var(--gd-line); padding-top: 28px; }
  .gc-pgm-kpi__item:nth-child(3n+1) { border-left: 0; }
}
@media (max-width: 540px) {
  .gc-pgm-kpi { grid-template-columns: repeat(2, 1fr); }
  .gc-pgm-kpi__item:nth-child(2n+1) { border-left: 0; }
  .gc-pgm-kpi__item:nth-child(n+3) { border-top: 1px solid var(--gd-line); padding-top: 24px; }
}

/* ---- PILLARS (2x2 cards) ---- */
.gc-pgm-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
  margin: 0;
}
@media (max-width: 760px) { .gc-pgm-pillars { grid-template-columns: 1fr; } }
.gc-pgm-pillar {
  position: relative;
  background: var(--gd-bg);
  border: 1px solid var(--gd-line);
  border-radius: 18px;
  padding: clamp(28px, 3vw, 40px);
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .25s ease;
}
.gc-pgm-pillar:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.18);
}
.gc-pgm-pillar__num {
  display: inline-block;
  font: 700 13px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: 0.1em;
  color: var(--gd-ink-3);
  margin: 0 0 14px;
  font-variant-numeric: tabular-nums;
}
.gc-pgm-pillar__title {
  font: 700 clamp(20px, 1.8vw, 24px)/1.3 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.02em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 14px !important;
}
.gc-pgm-pillar p {
  font: 400 15px/1.75 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  margin: 0 0 10px !important;
}
.gc-pgm-pillar ul {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.gc-pgm-pillar ul li {
  position: relative;
  padding: 8px 0 8px 22px;
  font: 400 14.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--gd-ink-2);
  border-top: 1px solid var(--gd-line);
}
.gc-pgm-pillar ul li:first-child { border-top: 0; padding-top: 12px; }
.gc-pgm-pillar ul li::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 12px; height: 1px;
  background: var(--gd-ink-3);
}

/* ---- SESSIONS GRID (营期列表) ---- */
.gc-pgm-sessions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: clamp(12px, 1.4vw, 18px);
}
.gc-pgm-session {
  position: relative;
  display: grid;
  grid-template-columns: 88px 1fr 18px;
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  background: var(--gd-bg);
  border: 1px solid var(--gd-line);
  border-radius: 14px;
  text-decoration: none;
  color: var(--gd-ink);
  transition: border-color .25s ease, transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.gc-pgm-session:hover {
  border-color: var(--gd-ink);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.gc-pgm-session__year {
  font: 700 28px/1 -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: -0.03em;
  color: var(--gd-ink);
  font-variant-numeric: tabular-nums;
}
.gc-pgm-session__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gc-pgm-session__title {
  font: 600 15.5px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  letter-spacing: -0.01em;
  color: var(--gd-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gc-pgm-session__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  font: 400 12.5px/1.4 -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--gd-ink-3);
}
.gc-pgm-session__arrow {
  font: 500 22px/1 -apple-system, sans-serif;
  color: var(--gd-ink-3);
  transition: transform .25s ease, color .2s ease;
}
.gc-pgm-session:hover .gc-pgm-session__arrow { transform: translateX(3px); color: var(--gd-ink); }

/* ---- ALUMNI CTA CARD ---- */
.gc-pgm-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin: clamp(36px, 4vw, 56px) 0 0;
  padding: clamp(28px, 3.5vw, 44px);
  background: var(--gd-bg-soft);
  border-radius: 18px;
}
.gc-pgm-cta__body { flex: 1 1 0; min-width: 280px; }
.gc-pgm-cta__title {
  font: 700 clamp(20px, 1.8vw, 24px)/1.3 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  letter-spacing: -0.02em !important;
  color: var(--gd-ink) !important;
  margin: 0 0 8px !important;
}
.gc-pgm-cta__desc {
  font: 400 15px/1.65 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
  color: var(--gd-ink-2) !important;
  margin: 0 !important;
  max-width: 620px;
}
.gc-pgm-cta__btn {
  display: inline-flex;
  align-items: center;
  padding: 13px 28px;
  background: var(--gd-ink);
  color: #fff;
  border-radius: 999px;
  font: 500 14.5px/1 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  text-decoration: none;
  transition: transform .25s cubic-bezier(.16,1,.3,1), background .2s ease;
  white-space: nowrap;
}
.gc-pgm-cta__btn:hover {
  background: #000;
  transform: translateY(-1px);
}

/* Hide legacy intro-block + intro-stats since template no longer renders them */
.gc-intro-stats, .gc-intro-block { display: none !important; }

/* Hide legacy session-item (template no longer renders) */
.gc-talent-session-item, .gc-talent-session-list { display: none !important; }
/* Hide legacy alumni-action (template no longer renders) */
.gc-alumni-action { display: none !important; }

/* Tighten alumni table on talent page */
html body.page-id-11 .gc-talent-table-wrap {
  border: 1px solid var(--gd-line);
  border-radius: 14px;
  overflow: hidden;
  margin: 0;
}
html body.page-id-11 .gc-talent-table {
  width: 100%;
  border-collapse: collapse;
  font: 400 14.5px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}
html body.page-id-11 .gc-talent-table thead th {
  background: var(--gd-bg-soft);
  text-align: left;
  padding: 14px 18px;
  font: 600 12.5px/1 -apple-system, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gd-ink-3);
  border-bottom: 1px solid var(--gd-line);
}
html body.page-id-11 .gc-talent-table tbody td {
  padding: 12px 18px;
  border-bottom: 1px solid var(--gd-line);
  color: var(--gd-ink);
}
html body.page-id-11 .gc-talent-table tbody tr:last-child td { border-bottom: 0; }
html body.page-id-11 .gc-talent-table tbody tr:hover td { background: rgba(0,0,0,.02); }


/* ============================================================
   29. TALENT PAGE — RESTORE VERTICAL STICKY SIDEBAR
   Overrides section 26 horizontal pill nav.
   ============================================================ */

/* Re-enable horizontal split: sidebar | main */
html body.page-id-11 .gc-talent-program-panel {
  display: flex !important;
  gap: clamp(40px, 4vw, 64px) !important;
  align-items: flex-start !important;
  padding: clamp(28px, 3.5vw, 48px) 0 !important;
}

/* Sidebar — vertical, sticky */
html body.page-id-11 .gc-talent-side-nav {
  position: sticky !important;
  top: 100px !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  padding: 8px 0 8px 18px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid var(--gd-line) !important;
  border-radius: 0 !important;
  border-bottom: 0 !important;
  overflow: visible !important;
  align-self: flex-start !important;
  z-index: 5;
}

html body.page-id-11 .gc-talent-side-nav__item {
  position: relative;
  flex: none !important;
  text-align: left !important;
  width: auto !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  font: 500 14.5px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  color: var(--gd-ink-2) !important;
  white-space: normal !important;
  cursor: pointer;
  transition: background .2s ease, color .2s ease !important;
  box-shadow: none !important;
}
html body.page-id-11 .gc-talent-side-nav__item:hover {
  background: rgba(0,0,0,.04) !important;
  color: var(--gd-ink) !important;
}
html body.page-id-11 .gc-talent-side-nav__item.is-active {
  background: var(--gd-bg-soft) !important;
  color: var(--gd-ink) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
/* Remove the bottom underline indicator from horizontal version */
html body.page-id-11 .gc-talent-side-nav__item.is-active::after,
html body.page-id-11 .gc-talent-side-nav__item::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* Main content takes remaining width */
html body.page-id-11 .gc-talent-main-content {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* On mobile fall back to vertical column with horizontal scroll nav */
@media (max-width: 900px) {
  html body.page-id-11 .gc-talent-program-panel {
    flex-direction: column !important;
    gap: 24px !important;
  }
  html body.page-id-11 .gc-talent-side-nav {
    position: static !important;
    width: 100% !important;
    flex: none !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    border-left: 0 !important;
    border-bottom: 1px solid var(--gd-line) !important;
    padding: 0 0 12px !important;
    gap: 6px !important;
  }
  html body.page-id-11 .gc-talent-side-nav__item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}

/* On wide screens, news cards stay 2-col (sidebar takes 220px so content area is ~1000px) */
@media (min-width: 1200px) {
  html body.page-id-11 .gc-news-cards:not(.gc-news-cards--row):not(.gc-news-cards--lead) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body.page-id-11 .gc-pgm-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ============================================================
   30. CONTENT WIDTH — MATCH HEADER (logo-left ↔ search-right)
   Blocksy header uses width:90% with max-width:1900px.
   Mirror that so every content container aligns exactly.
   ============================================================ */
:root {
  --gc-container: min(90%, 1900px);
  --gc-side-pad: 0; /* container itself uses % margins, no extra padding */
}

.gc-shell,
.gc-site-shell,
.gc-program-shell,
.gh-wrap,
.gc-talent-mainpage,
.gc-talent-workspace,
.gc-site-section-page,
.gc-page-shell,
.gc-page-shell--wide,
.gd-hero__inner,
.gco-shell {
  width: 90% !important;
  max-width: 1900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* Section main inner block — also align */
.gc-site-section-hero .gc-site-section-hero__copy,
.gc-site-section-body,
.gc-inner-page .gc-hero-page__inner,
.gc-inner-page .gc-body__inner,
.gc-section-main {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Body for hero gets the full-bleed look but inner aligns */
.gd-hero {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Re-anchor talent page mainpage so content aligns identically */
html body.page-id-11 .gc-talent-mainpage,
html body.page-id-11 .gc-talent-workspace {
  width: 90% !important;
  max-width: 1900px !important;
  padding: clamp(36px, 4vw, 56px) 0 !important;
  margin: 0 auto !important;
}

/* Simple pages keep narrow reading column WITHIN the wide container */
body.page-id-12755 .entry-content,
body.page-id-12756 .entry-content,
body.page-id-3906 .entry-content,
body.page-id-12717 .entry-content {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding-left: clamp(20px, 4vw, 60px) !important;
  padding-right: clamp(20px, 4vw, 60px) !important;
}

/* On very wide viewports, news cards can be 3-col */
@media (min-width: 1400px) {
  .gc-news-cards:not(.gc-news-cards--row):not(.gc-news-cards--lead) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1100px) and (max-width: 1399px) {
  .gc-news-cards:not(.gc-news-cards--row):not(.gc-news-cards--lead) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ============================================================
   31. TALENT PAGE — WIDEN INNER CONTENT
   Shrink sidebar so the reading area fills more of the container.
   Sidebar: 220→180px, gap: 60→36px.
   Net inner content gain: ~64px wider.
   ============================================================ */
html body.page-id-11 .gc-talent-program-panel {
  gap: clamp(28px, 2.4vw, 36px) !important;
}
html body.page-id-11 .gc-talent-side-nav {
  flex: 0 0 180px !important;
  width: 180px !important;
}
html body.page-id-11 .gc-talent-side-nav__item {
  padding: 9px 12px !important;
  font-size: 14px !important;
}

/* Section heading + content has zero horizontal padding now */
html body.page-id-11 .gc-talent-content-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body.page-id-11 .gc-talent-content-section__head {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* On very wide screens, news cards / pillars / sessions can go 3-col */
@media (min-width: 1280px) {
  html body.page-id-11 .gc-news-cards:not(.gc-news-cards--row):not(.gc-news-cards--lead) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


/* ============================================================
   32. FIX — talent workspace inherits 90% from mainpage,
   stacking 90% × 90% = 81%. Force workspace to 100% within parent.
   ============================================================ */
html body.page-id-11 .gc-talent-workspace {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

