/* Shared CTA sizing across pages and viewport sizes. Contextual brand colours stay local. */
:root { --button-font-size:16px; --button-line-height:24px; --button-padding-y:14px; --button-padding-x:28px; }
:is(.btn, .m-btn, .shiny-cta, .toolkit-cta, .cta-link) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-family:'Plus Jakarta Sans',sans-serif!important;
  font-size:var(--button-font-size)!important;
  font-weight:600!important;
  line-height:var(--button-line-height)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:var(--button-padding-y) var(--button-padding-x)!important;
  min-height:54px!important;
  height:auto!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:999px!important;
  gap:8px!important;
  text-align:center!important;
  text-decoration:none!important;
  max-width:100%;
  white-space:normal!important;
}
/* The two service hero sections share the exact same responsive typography. */
.page-speaking .speaking-hero h1,
.page-mentorship .m-hero h1 {
  font-family:'Newsreader',serif!important;
  font-size:clamp(44px,6.1vw,88px)!important;
  font-weight:500!important;
  line-height:1.06!important;
  letter-spacing:-.025em!important;
}
.page-speaking .speaking-hero .hero-copy,
.page-mentorship .m-hero .m-lead {
  font-family:'Plus Jakarta Sans',sans-serif!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
}
@media(max-width:767px) {
  .page-speaking .speaking-hero .hero-copy,
  .page-mentorship .m-hero .m-lead { font-size:16px!important; }
}

/* Matching service-page hero dimensions. Content can grow without clipping. */
.page-speaking .speaking-hero { padding:64px 24px; min-height:650px; display:flex; align-items:center; }
.page-speaking .speaking-hero .hero-grid,
.page-mentorship main .m-hero {
 width:100%; max-width:1100px; box-sizing:border-box;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:48px;
}
.page-speaking .speaking-hero .hero-grid { padding:0; margin:0 auto; }
.page-mentorship main .m-hero { max-width:1148px; padding:64px 24px; min-height:650px; }
.page-speaking .speaking-hero-frame,
.page-mentorship .m-hero .m-portrait {
 width:100%; height:480px; aspect-ratio:auto; margin:0; max-width:none; border-radius:24px;
}
.page-mentorship .m-hero .m-portrait { align-self:center; }
.page-speaking .speaking-hero + .wave,
.page-mentorship .m-hero-wave { height:80px; }
@media(max-width:767px) {
 .page-speaking .speaking-hero { padding:40px 24px; min-height:0; }
 .page-mentorship main .m-hero { padding:40px 24px; min-height:0; }
 .page-speaking .speaking-hero-frame,
 .page-mentorship .m-hero .m-portrait { width:100%; height:auto; aspect-ratio:1; max-width:none; margin:0; }
 .page-speaking .speaking-hero + .wave,
 .page-mentorship .m-hero-wave { height:32px; }
}
/* Burgundy interludes with readable light text. */
.page-mentorship main > .m-experience { background:#5a1721; color:#faf8f3; }
.page-mentorship .m-experience p,
.page-mentorship .m-experience .m-text-link { color:#faf8f3; }
.page-speaking #in-their-words { background:#5a1721; color:#faf8f3; }
.page-speaking #in-their-words .feedback-sub { color:#faf8f3; opacity:1; }
.page-speaking #in-their-words .feedback-attr { opacity:1; }
