/* Homepage control geometry: variants change colour, never shape or alignment. */
.home-page :is(.button, .conference-countdown-link, .speaker-bio-button),
.home-page .home-featured-footer .button,
.home-page .hero .button,
.home-page .site-header .nav-cta.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  height:auto;
  padding:12px 20px !important;
  border:1px solid currentColor;
  border-radius:999px;
  font-family:Inter, Arial, sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:22px;
  letter-spacing:0;
  text-align:center;
  white-space:nowrap;
  text-decoration:none;
  vertical-align:middle;
  box-shadow:none;
  transform:none;
  transition:background-color .2s, color .2s, border-color .2s;
}
.home-page .button.primary { border-color:var(--terra); background:var(--terra); color:var(--paper); }
.home-page .button.primary:hover { border-color:var(--terra-dark); background:var(--terra-dark); transform:none; }
.home-page :is(.button.secondary, .conference-countdown-link, .speaker-bio-button) { background:transparent; }
.home-page .conference-countdown-link:hover,
.home-page .conference-countdown-link:focus-visible { background:var(--paper); color:var(--navy); border-color:var(--paper); transform:none; }
.home-page .button.secondary:hover { transform:none; }
.home-page .hero .button.secondary { color:var(--paper); border-color:#f5ecd799; }
@media(max-width:620px) {
 .home-page .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
 .home-page .hero-actions .button { width:100%; }
}
.home-page .home-featured-footer .button { min-height:48px; }
.home-page :is(.button, .conference-countdown-link) > span,
.home-page .text-link > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  padding:0;
  font-size:0;
  line-height:1;
  vertical-align:middle;
}
.home-page :is(.button, .conference-countdown-link, .text-link) > span::before {
  content:"";
  display:block;
  width:18px;
  height:18px;
  background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 9h12M10 4l5 5-5 5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.home-page .text-link { display:inline-flex; align-items:center; gap:8px; line-height:1.5; }
.home-page .text-link[target="_blank"] > span { transform:rotate(-45deg); }
.home-page .speaker-bio-button svg { width:18px; height:18px; flex:0 0 18px; }
.home-page .speaker-bio-button { width:48px; height:48px; min-width:48px; flex:0 0 48px; padding:0 !important; border-radius:50%; }
.home-page :is(.button, .conference-countdown-link, .speaker-bio-button):focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
/* Keep card text and its inline actions inside narrow mobile columns. */
.home-page :is(.inspiration-home-profiles, .patrons-grid) article > div { min-width:0; overflow-wrap:anywhere; }
@media (min-width:541px) and (max-width:1100px) {
  .home-page :is(.inspiration-home-profiles, .patrons-grid) article { grid-template-columns:96px minmax(0,1fr); gap:18px; padding:24px; }
}
@media (max-width:540px) {
  .home-page :is(.inspiration-home-profiles, .patrons-grid) article { grid-template-columns:88px minmax(0,1fr); gap:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page :is(.button, .conference-countdown-link, .speaker-bio-button) { transition:none; }
}
