.manifesto { position: relative; overflow: hidden; }
.manifesto-grid { position: relative; }
.manifesto-mark { position: absolute; right: 6%; top: 50%; height: 360px; aspect-ratio: 1024 / 1536; transform: translateY(-50%); opacity: .11; }
.manifesto-mark img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 760px) { .manifesto-mark { right: -16%; height: 270px; opacity: .08; } }

/* Two-trainer "Meet the Haus" section: two stacked .meet-grid rows inside the existing .meet section. */
.meet .section-head { margin-bottom: 55px; }
.meet .meet-grid { margin-bottom: 95px; }
.meet .meet-grid:last-child { margin-bottom: 0; }
.meet .meet-copy h2 { margin-bottom: 20px; }
.meet-grid-reverse .portrait { order: 2; }
.meet-grid-reverse .meet-copy { order: 1; }
@media (max-width: 760px) {
  .meet .meet-grid { margin-bottom: 50px; }
  .meet-grid-reverse .portrait, .meet-grid-reverse .meet-copy { order: unset; }
}

/* Small accent photo above a trainer's bio copy — object-fit:contain (no cropping). */
.bio-photo { width: 220px; aspect-ratio: 1723/2048; background: #1b1d22; box-shadow: 10px 10px 0 var(--gold); margin-bottom: 26px; }
.bio-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
@media (max-width: 760px) {
  .bio-photo { width: 170px; margin-bottom: 20px; }
}

/* Training-photo gallery grid — uniform frames, object-fit:contain (no cropping). */
.gallery { padding: 105px 0; background: var(--ink); color: #fff; }
.gallery .kicker, .gallery .section-head > p { color: #d2d2cf; }
.gallery .section-head h2 { color: #fff; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: rgba(255,255,255,.14); }
.gallery-grid figure { margin: 0; position: relative; background: #1b1d22; aspect-ratio: 4/5; overflow: hidden; }
.gallery-grid img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gallery-grid figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; font: 10px 'DM Mono'; letter-spacing: .08em; background: linear-gradient(0deg, rgba(0,0,0,.72), transparent); color: #fff; }
@media (max-width: 760px) {
  .gallery { padding: 70px 0; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Lead form: textarea + footer contact */
#interest-form textarea { width: 100%; font: 15px "DM Sans", sans-serif; padding: 14px; border: 0; border-bottom: 2px solid currentColor; background: rgba(255,255,255,.08); color: inherit; resize: vertical; }
#interest-form { position: relative; }
#interest-form .success { margin-top: 14px; font-weight: 600; }
.lead-section { padding-top: 60px; }
.foot-contact a { color: inherit; }

/* Lead form lives in the hero under the H1 */
.lead-section { display: none; }
.hero-form-wrap { margin-top: 30px; background: var(--ink); color: #fff; padding: 26px 26px 22px; box-shadow: 10px 10px 0 var(--gold); max-width: 560px; scroll-margin-top: 20px; }
.hero-form-wrap .form-title { font: 11px 'DM Mono'; letter-spacing: .14em; color: var(--gold); margin: 0 0 16px; }
.hero-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hero-form label { font: 10px 'DM Mono'; letter-spacing: .08em; display: grid; gap: 6px; }
.hero-form input, .hero-form textarea { font: 15px 'DM Sans', sans-serif; padding: 11px 12px; border: 0; border-bottom: 2px solid var(--gold); background: rgba(255,255,255,.1); color: #fff; width: 100%; box-sizing: border-box; }
.hero-form label:nth-of-type(n+3) { grid-column: span 2; }
.hero-form .primary, .hero-form .success { grid-column: span 2; }
@media (max-width: 760px) {
  .hero-form { grid-template-columns: 1fr; }
  .hero-form label:nth-of-type(n+3), .hero-form .primary, .hero-form .success { grid-column: auto; }
  .hero-form-wrap { padding: 20px; }
}
.hero-form textarea{font:15px "DM Sans",sans-serif!important}
/* Mobile: photos above the lead form */
@media (max-width: 760px) {
  .hero { display: flex; flex-direction: column; }
  .hero-copy { display: contents; }
  .hero-copy > * { order: 1; align-self: stretch; text-align: left; }
  .hero-art { order: 2; width: 100%; }
  .hero-copy > .hero-form-wrap { order: 3; margin-top: 40px; max-width: none; }
}
