:root {
  --gv-public-blue: #789526;
  --gv-public-blue-dark: #657d1f;
  --gv-public-navy: #10263d;
  --gv-public-deep: #0a1a2b;
  --gv-public-ink: #162536;
  --gv-public-text: #617083;
  --gv-public-line: #dce3e8;
  --gv-public-sky: #eef3e2;
  --gv-public-sand: #f3f0e9;
  --gv-public-white: #ffffff;
}

.gvcp-projects-page .site-content > .ast-container { max-width: 1280px; }
.gvcp-projects-page .entry-content { margin: 0; }
.gvcp-experiences { color: var(--gv-public-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; padding: clamp(42px, 7vw, 92px) 0 80px; }
.gvcp-experiences * { box-sizing: border-box; }
.gvcp-experiences-hero { max-width: 820px; margin-bottom: 48px; }
.gvcp-public-eyebrow { color: var(--gv-public-blue-dark); font-size: .76rem; font-weight: 700; letter-spacing: .14em; margin: 0; text-transform: uppercase; }
.gvcp-public-eyebrow::before { background: currentColor; content: ""; display: inline-block; height: 2px; margin: 0 10px 3px 0; width: 28px; }
.gvcp-experiences-hero h1 { color: var(--gv-public-ink); font-size: clamp(2.4rem, 6vw, 5rem); letter-spacing: -.055em; line-height: 1; margin: 12px 0 20px; }
.gvcp-experiences-hero h2 { color: var(--gv-public-ink); font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.05em; line-height: 1.06; margin: 12px 0 20px; }
.gvcp-experiences-hero > p:last-child { color: var(--gv-public-text); font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.65; margin: 0; max-width: 720px; }
.gvcp-experiences-embedded { border-top: 1px solid var(--gv-public-line); margin-top: clamp(46px, 7vw, 86px); padding-top: clamp(42px, 6vw, 72px); }
.gvcp-experiences-embedded .gvcp-experiences-hero { margin-bottom: 34px; }
.gvcp-experience-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gvcp-experience-card { background: var(--gv-public-white); border: 1px solid rgba(16, 38, 61, .09); border-radius: 0 0 26px 0; box-shadow: 0 16px 46px rgba(10, 26, 43, .07); overflow: hidden; position: relative; }
.gvcp-experience-card::before { background: linear-gradient(90deg, var(--gv-public-navy) 0 72%, var(--gv-public-blue) 72% 100%); content: ""; height: 4px; inset: 0 0 auto; position: absolute; z-index: 2; }
.gvcp-experience-image { background: linear-gradient(135deg, var(--gv-public-deep), var(--gv-public-navy)); display: block; min-height: 270px; overflow: hidden; }
.gvcp-experience-image img { display: block; height: 270px; object-fit: cover; transition: transform .35s ease; width: 100%; }
.gvcp-experience-image > span { display: block; height: 270px; position: relative; }
.gvcp-experience-image > span::after { border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; content: ""; height: 180px; position: absolute; right: -35px; top: -30px; width: 180px; }
.gvcp-experience-card:hover .gvcp-experience-image img { transform: scale(1.025); }
.gvcp-experience-card-body { padding: clamp(24px, 4vw, 34px); }
.gvcp-experience-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.gvcp-experience-meta span { background: var(--gv-public-sky); border-radius: 999px; color: var(--gv-public-blue-dark); font-size: .68rem; font-weight: 700; padding: 6px 9px; text-transform: uppercase; }
.gvcp-experience-card h2 { font-size: clamp(1.3rem, 2.3vw, 1.75rem); letter-spacing: -.035em; line-height: 1.2; margin: 0 0 8px; }
.gvcp-experience-card h2 a { color: var(--gv-public-ink); text-decoration: none; }
.gvcp-experience-card-body > p { color: var(--gv-public-text); font-size: .9rem; line-height: 1.65; margin: 13px 0 21px; }
.gvcp-experience-card-body .gvcp-experience-location { color: #667085; font-size: .76rem; margin: 0; }
.gvcp-public-link { color: var(--gv-public-blue-dark); font-size: .82rem; font-weight: 700; text-decoration: none; }
.gvcp-experiences-empty { background: var(--gv-public-sand); border: 1px dashed #c5cdb6; border-radius: 0 0 22px 0; padding: 52px 28px; text-align: center; }
.gvcp-experiences-empty h2 { margin: 0 0 8px; }
.gvcp-experiences-empty p { color: var(--gv-public-text); margin: 0; }
.gvcp-experience-details { border-top: 1px solid var(--gv-public-line); margin-top: 34px; padding-top: 30px; }
.gvcp-experience-details dl { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 32px; }
.gvcp-experience-details dl > div { background: var(--gv-public-sand); border-left: 3px solid var(--gv-public-blue); border-radius: 0 0 12px 0; padding: 17px; }
.gvcp-experience-details dt { color: #667085; font-size: .72rem; margin-bottom: 5px; }
.gvcp-experience-details dd { color: var(--gv-public-ink); font-size: .88rem; font-weight: 700; margin: 0; }
.gvcp-experience-details section { margin: 28px 0; }
.gvcp-public-button { background: var(--gv-public-blue); border-radius: 3px; color: #fff; display: inline-flex; font-weight: 700; padding: 12px 18px; text-decoration: none; }
.gvcp-public-button:hover { background: var(--gv-public-blue-dark); color: #fff; }

@media (max-width: 760px) {
  .gvcp-experience-grid,
  .gvcp-experience-details dl { grid-template-columns: 1fr; }
  .gvcp-experience-image,
  .gvcp-experience-image img,
  .gvcp-experience-image > span { min-height: 220px; height: 220px; }
}
