/* Hero and quote actions only. Load after style-20261004-1442.css. */
:root {
  --hero-photo-height: 760px;
  --hero-photo-left: 48%;
  --hero-photo-right: 52%;
  --hero-photo-padding: clamp(24px, 6vw, 96px);
  --hero-photo-padding-y: 64px;
  --hero-photo-measure: 620px;
  --hero-photo-h1: clamp(44px, 5.2vw, 76px);
  --hero-photo-leading: 1.05;
  --hero-photo-author-size: 15px;
  --hero-photo-author-color: #5B6B66;
  --hero-photo-author-gap: 20px;
  --hero-photo-actions-gap: 40px;
  --hero-photo-action-size: 16px;
  --hero-photo-button-height: 52px;
  --hero-photo-button-padding: 28px;
  --hero-photo-action-space: 24px;
  --hero-photo-pill: 999px;
  --hero-photo-underline-offset: 5px;
  --hero-photo-focus-width: 2px;
  --hero-photo-focus-offset: 4px;
  --hero-photo-object-position: 62% 60%;
  --hero-photo-mobile-position: 66% 58%;
  --hero-photo-mobile-image-height: 300px;
  --hero-photo-mobile-top: 32px;
  --hero-photo-mobile-side: 24px;
  --hero-photo-mobile-bottom: 40px;
  --hero-photo-mobile-heading: 44px;
}
.hero-photo {
  display: grid;
  grid-template-columns: minmax(0, var(--hero-photo-left)) minmax(0, var(--hero-photo-right));
  min-height: var(--hero-photo-height);
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
  background: var(--bg);
}
.hero-photo-copy {
  min-width: 0;
  padding: var(--hero-photo-padding-y) var(--s4) var(--hero-photo-padding-y) 0;
  align-self: center;
}
.hero-photo-quote { margin: 0; max-width: var(--hero-photo-measure); }
.hero-photo-quote h1 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-light);
  font-size: var(--hero-photo-h1);
  line-height: var(--hero-photo-leading);
  color: var(--text);
}
.hero-photo-quote figcaption {
  margin-top: var(--hero-photo-author-gap);
  font-family: var(--font-body);
  font-weight: var(--weight-normal);
  font-size: var(--hero-photo-author-size);
  color: var(--hero-photo-author-color);
}
.hero-photo-visual {
  position: relative;
  display: block;
  min-width: 0;
  align-self: stretch;
}
.hero-photo-visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: var(--hero-photo-object-position);
  border: none;
  border-radius: 0;
}
@media (max-width: 800px) {
  .hero-photo { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero-photo-visual { grid-row: 1; height: var(--hero-photo-mobile-image-height); }
  .hero-photo-visual img { object-position: var(--hero-photo-mobile-position); }
  .hero-photo-copy {
    grid-row: 2;
    padding: var(--hero-photo-mobile-top) 0 var(--hero-photo-mobile-bottom);
  }
  .hero-photo-quote h1 { font-size: var(--hero-photo-mobile-heading); }
}

/* The registration action is now below the Kabat-Zinn quote. */
.hero-frame { background: var(--bg); }
.quote-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:var(--s3); }
.quote-actions .button { min-height:var(--hero-photo-button-height); padding-inline:var(--hero-photo-button-padding); font-size:var(--hero-photo-action-size); font-weight:var(--weight-medium); }
@media(max-width:800px) { .quote-actions { flex-direction:column; } .quote-actions .button { width:100%; } }
