/* Approved M2 balance-v02 hero only. All lower-page styles remain unchanged.
   Michelangelus title is a rendered phrase; no font software is served. */
.hero.hero-m2 {
  display: grid;
  grid-template-columns: minmax(0,560px) minmax(0,558px);
  grid-template-areas: 'headline picture' 'details picture';
  column-gap: 60px;
  row-gap: 24px;
  align-items: start;
  width: calc(100% - 128px);
  max-width: 1280px;
  margin-inline: auto;
  padding: 100px 0 80px;
  overflow: visible;
  background: var(--night);
}
.hero-m2 h1 {
  grid-area: headline;
  margin: 0;
  font: 500 66px/70px var(--sans);
  letter-spacing: -1.1px;
  text-wrap: initial;
}
.hero-m2 h1 span { display: block; }
.hero-m2 .hero-details { grid-area: details; min-width: 0; }
.hero-m2 .hero-deck { margin: 0; max-width: none; font-size: 19px; line-height: 28px; text-wrap: pretty; }
.hero-m2 .hero-actions { display: flex; gap: 16px; margin-top: 28px; }
.hero-m2 .hero-actions .button,
.hero-m2 .m2-watch { min-height: 56px; border-radius: 6px; font-size: 17px; font-weight: 500; }
.hero-m2 .hero-actions .button { flex: 1; padding: 14px 20px; background: #cfa381; color: #0b1028; }
.hero-m2 .hero-actions .button:hover { background: #dfb997; }
.hero-m2 .m2-watch { display: inline-flex; align-items: center; justify-content: center; flex: 1; padding: 12px 20px; border: 1px solid #ffffff52; text-decoration: none; }
.hero-m2 .hero-facts { margin-top: 26px; text-wrap: pretty; }
.studio-composition { grid-area: picture; width: 100%; margin: 11.5px 0 0; background: var(--night); }
.studio-artwork { position: relative; width: 100%; aspect-ratio: 390/280; }
.studio-composition .studio-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.studio-composition .studio-wave { position: absolute; right: 6.923077%; bottom: -8px; width: 24.358974%; height: auto; }
.studio-course-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin: 32px 0 0; padding: 0; }
.studio-composition .studio-course-title { position: static; display: block; width: clamp(220px,22vw,280px); max-width: 100%; height: auto; }
.studio-series-label { color: #cfa381; font: 500 11px/1.3 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
@media (min-width:901px) and (max-width:1306px) {
  .hero.hero-m2 { width: calc(100% - 80px); column-gap: 40px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-top: 72px; }
  .hero-m2 h1 { font-size: clamp(43px,4.58vw,58px); line-height: 1.07; letter-spacing: -.8px; }
  .hero-m2 .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-m2 .hero-deck { font-size: 18px; }
}
@media (max-width:900px) {
  .hero.hero-m2 { width: 100%; max-width: 520px; grid-template-columns: minmax(0,1fr); grid-template-areas: 'headline' 'picture' 'details'; gap: 0; padding: 24px 0 48px; }
  .hero-m2 h1 { margin: 0 24px 18px; font-size: 43px; line-height: 46px; letter-spacing: -.8px; }
  .studio-composition { margin: 0; }
  .studio-course-identity { margin: 28px 24px 0; gap: 12px; }
  .studio-composition .studio-course-title { width: 230px; }
  .studio-series-label { font-size: 10px; }
  .hero-m2 .hero-details { margin: 24px 24px 0; }
  .hero-m2 .hero-deck { font-size: 16px; line-height: 23px; }
  .hero-m2 .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 30px; }
  .hero-m2 .hero-actions .button { min-height: 52px; }
  .hero-m2 .m2-watch { min-height: 47px; font-size: 16px; }
  .hero-m2 .hero-facts { margin-top: 24px; font-size: 13px; line-height: 1.65; text-align: center; }
}
@media (max-width:360px) {
  .hero-m2 h1 { margin-inline: 16px; }
  .studio-course-identity { margin-inline: 16px; }
}

/* Centered course identity and one simple enrollment stack. */
.hero-m2 .hero-purchase { margin-top: 28px; padding-top: 25px; border-top: 1px solid #ffffff24; }
.hero-product-identity { width: min(350px,100%); margin-inline: auto; }
.hero-m2 .hero-product-title { display: block; width: 100%; height: auto; }
.hero-product-series { display: block; margin-top: 3px; padding-right: 2px; text-align: right; color: #cfa381; font: italic 400 14px/1.25 var(--display); }
.hero-m2 .hero-purchase .hero-actions { flex-direction: column; align-items: center; gap: 11px; margin-top: 22px; }
.hero-m2 .hero-purchase .button { flex: 0 0 auto; width: 100%; min-width: 0; }
.hero-m2 .hero-product-format { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; text-align: center; }
@media (max-width:900px) {
  .hero-product-identity { width: min(320px,100%); }
  .hero-m2 .hero-purchase { margin-top: 25px; padding-top: 24px; }
  .hero-product-series { font-size: 13px; }
  .hero-m2 .hero-purchase .hero-actions { margin-top: 20px; }
}

/* Premium optical pass: warm, restrained, and source-led. */
.hero.hero-m2 { justify-content: center; row-gap: 28px; padding-top: 88px; padding-bottom: 88px; }
.hero-m2 h1 { font-size: clamp(43px,4.6vw,66px); line-height: 1.065; font-weight: 500; letter-spacing: -.025em; }
.hero-m2 .hero-deck { color: #cfcbc4; line-height: 1.58; }
.hero-m2 .hero-deck strong { color: var(--ivory); font-weight: 500; }
.studio-composition .studio-photo { border: 1px solid #f4eedf13; }
.studio-composition .studio-wave { border: 1px solid #f4eedf55; box-shadow: 0 6px 16px #0004; }
.hero-m2 .hero-purchase { max-width: 400px; margin: 24px auto 0; padding-top: 20px; border-top-color: #cfa38126; }
.hero-product-identity { width: min(292px,100%); }
.hero-product-series { margin-top: 3px; color: #c6a080; font-size: 13px; }
.hero-m2 .hero-purchase .hero-actions { margin-top: 18px; gap: 8px; }
.hero-m2 .hero-actions .button { min-height: 50px; border: 1px solid #e4c5a54d; border-radius: 4px; background: #d3ae8b; color: #101427; font-size: 16px; font-weight: 500; letter-spacing: .015em; box-shadow: inset 0 1px 0 #ffffff20; transition: background-color .18s ease, transform .18s ease; }
.hero-m2 .hero-actions .button:hover { background: #dfbd9b; transform: translateY(-1px); }
.hero-m2 .hero-actions .button:active { transform: translateY(0); }
.hero-m2 .m2-watch { width: 100%; min-height: 48px; border-color: #cfa38170; border-radius: 4px; color: var(--ivory); font-size: 15px; letter-spacing: .01em; transition: border-color .18s ease, background-color .18s ease; }
.hero-m2 .m2-watch:hover { border-color: #cfa381; background: #ffffff09; }
.hero-m2 .hero-product-format { color: #b5b0a9; font-size: 11.5px; letter-spacing: .025em; }
@media (min-width:901px) and (max-width:1306px) {
  .hero.hero-m2 { padding-top: 68px; padding-bottom: 72px; }
}
@media (max-width:900px) {
  .hero.hero-m2 { padding-top: 24px; padding-bottom: 44px; row-gap: 0; }
  .hero-m2 h1 { margin-bottom: 18px; font-size: clamp(40px,11vw,43px); line-height: 1.09; letter-spacing: -.024em; }
  .hero-m2 .hero-details { margin-top: 22px; }
  .hero-m2 .hero-deck { line-height: 1.6; }
  .hero-m2 .hero-purchase { margin-top: 15px; padding-top: 14px; }
  .hero-product-identity { width: min(232px,100%); }
  .hero-product-series { font-size: 12px; }
  .hero-m2 .hero-purchase .hero-actions { margin-top: 10px; gap: 6px; }
  .hero-m2 .hero-actions .button { min-height: 48px; }
  .hero-m2 .m2-watch { min-height: 44px; padding: 9px 18px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-m2 .hero-actions .button, .hero-m2 .m2-watch { transition: none; }
  .hero-m2 .hero-actions .button:hover { transform: none; }
}

/* Copper headline comparison: preserve the approved type size and line breaks. */
.hero-m2 h1 .hero-accent { color: #cfa381; font-style: normal; font-weight: inherit; }
