/* Focused additions for the Schmutzjagd coaching sections. Reuses existing tokens only. */
.egp .cc-stat-cta { display: flex; justify-content: center; padding-top: 32px; }
.egp .cc-problem-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 48px;
}
.egp .cc-card-text { margin: 0; color: var(--ink); font-size: 17px; }
.egp .cc-problem-turn { margin-top: 56px; text-align: center; }
.egp .cc-steps {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
  margin: 0; padding: 0; list-style: none;
}
.egp .cc-fit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.egp .cc-cross { color: var(--soft); }
.egp .cc-quote { margin: 0 auto; max-width: 760px; text-align: center; }
.egp .cc-quote__title { margin: 0 0 16px; font-size: clamp(30px, 4.5vw, 48px); line-height: 1.15; }
.egp .cc-quote__text { margin: 0; color: var(--soft); font-size: 18px; line-height: 1.6; }
.egp .cc-quote__person[hidden], .egp .cc-quote__photo[hidden] { display: none; }
.egp .cc-quote__person { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
.egp .cc-quote__photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.egp .cc-faq-cta { display: flex; justify-content: center; margin-top: 40px; }
.egp .cc-final .gf-cta { margin-top: 0; padding-top: 0; border-top: 0; }
.egp .cc-final__title { max-width: 22ch; margin: 0; font-size: clamp(32px, 5vw, 52px); line-height: 1.15; }
.egp .cc-final__text { max-width: 56ch; margin: 18px auto 0; color: var(--soft); font-size: 18px; line-height: 1.6; }
@media (max-width: 760px) {
  .egp .cc-problem-grid, .egp .cc-steps, .egp .cc-fit-grid { grid-template-columns: 1fr; }
}

/* Supplementary privacy dialog */
.privacy-dialog {
  box-sizing: border-box; width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  padding: 0; border: 0; border-radius: 12px; background: #fff; color: #13213c;
}
.privacy-dialog::backdrop { background: rgb(19 33 60 / 65%); }
.privacy-dialog[open] { display: flex; flex-direction: column; }
.privacy-dialog__body { overflow-y: auto; padding: 16px 20px 24px; font-size: 15px; line-height: 1.6; }
.privacy-dialog__body h3 { margin: 20px 0 6px; font-size: 16px; }
.privacy-dialog__body p, .privacy-dialog__body ul { margin: 0 0 10px; }
.privacy-dialog__body a { color: #2347c5; text-decoration: underline; }
@media (max-width: 600px) {
  .privacy-dialog { width: 100vw; max-height: 100dvh; height: 100dvh; margin: 0; border-radius: 0; }
}

/* Mobile usability overrides (360-430px social traffic). Desktop untouched. */
@media (max-width: 600px) {
  .egp, .egp * { min-width: 0; }
  .egp .wrap { padding-inline: 18px; }
  .egp p, .egp li, .egp .lede, .egp .cc-card-text, .egp .lecturer-intro__description,
  .egp .workshop-pillars__description, .egp .workshop-pillars__item,
  .egp .egp-footer, .egp .egp-footer a, .egp .egp-footer p, .egp .egp-footer span { font-size: 16px !important; line-height: 1.6; overflow-wrap: anywhere; hyphens: auto; }
  .egp h1, .egp h2, .egp h3 { overflow-wrap: break-word; hyphens: auto; }

  /* Header: stack logo + full-width button */
  .egp .top .wrap { height: auto !important; flex-direction: column; align-items: stretch; gap: 10px; padding-block: 10px; }
  .egp .top img { height: 36px !important; align-self: center; }
  .egp .top .btn { font-size: 16px !important; padding: 12px 16px !important; }

  /* All CTA buttons */
  .egp .btn, .egp a.btn, .egp button.btn {
    display: flex !important; align-items: center; justify-content: center;
    width: 100% !important; max-width: 100%; min-height: 48px !important; box-sizing: border-box;
    white-space: normal !important; text-align: center; line-height: 1.3; overflow-wrap: anywhere;
  }
  .egp .cta, .egp .cc-stat-cta, .egp .cc-faq-cta, .egp .gf-cta,
  .egp .workshop-pillars__cta, .egp .lecturer-intro__cta { display: flex; flex-direction: column; align-items: stretch; width: 100%; }

  /* Hero */
  .egp .hero h1 { max-width: none !important; font-size: 30px !important; line-height: 1.14 !important; letter-spacing: -.02em; }
  .egp .hero .lede, .egp .hero .lede p { font-size: 16px !important; }
  .egp .hero .media-frame { aspect-ratio: auto !important; min-height: 0 !important; max-height: 290px !important; height: auto !important; }
  .egp .hero .media-frame > img, .egp .hero .media-frame img {
    width: 100% !important; height: 290px !important; max-height: 290px !important; object-fit: contain !important;
  }
  .egp .hero.has-workspace-backdrop .media.is-workspace-backdrop .media-frame { aspect-ratio: auto !important; max-height: 290px !important; }
  .egp .hero .media-caption, .egp .hero.has-workspace-backdrop .media.is-workspace-backdrop .media-caption {
    display: block !important; position: static !important; margin-top: 8px !important; font-size: 16px !important; line-height: 1.45; color: #566579;
  }

  /* Stats 2x2 */
  .egp .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 0 !important; }
  .egp .stat { padding-inline: 12px !important; }
  .egp .stat strong { font-size: 24px !important; overflow-wrap: anywhere; }
  .egp .stat span { font-size: 16px !important; line-height: 1.4 !important; overflow-wrap: anywhere; hyphens: auto; }

  /* Card grids stacked */
  .egp .cc-problem-grid, .egp .cc-steps, .egp .cc-fit-grid, .egp .workshop-pillars__cards,
  .egp .lecturer-intro__grid, .egp .workshop-pillars__inner { grid-template-columns: 1fr !important; gap: 20px !important; }
  .egp .workshop-pillars__cards, .egp .lecturer-intro__grid { display: grid !important; }
  .egp .cc-problem-grid { margin-top: 32px; }
  .egp .workshop-pillars__card { padding: 22px 18px !important; }
  .egp .cc-quote__title { font-size: 28px; }
  .egp .cc-quote__text, .egp .cc-final__text { font-size: 17px; }
  .egp .cc-final__title { font-size: 30px; max-width: none; }

  /* FAQ */
  .egp summary { min-height: 48px !important; box-sizing: border-box; padding-block: 16px !important; padding-right: 40px !important; font-size: 17px !important; line-height: 1.4; }
  .egp details p, .egp details li { font-size: 16px !important; }

  /* Privacy dialog */
  .privacy-dialog { height: 100dvh; max-height: 100dvh; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
  .privacy-dialog__body { font-size: 16px; }
  .privacy-dialog__body h3 { font-size: 17px; }
}
@media (max-width: 380px) {
  .egp .hero h1 { font-size: 28px !important; }
  .egp .wrap { padding-inline: 16px; }
}
