.dharma-hero {
  color: #fff;
  background: linear-gradient(90deg, #091b17fa 0%, #091b17de 28%, #091b1780 61%, #091b1726 100%), #102a27 url("/assets/dharma-workshop.jpg") center 43% / cover no-repeat;
  padding: clamp(78px, 12vw, 166px) 0;
}
.dharma-hero-copy { max-width: 660px; }
.dharma-hero h1 {
  margin: 0;
  font-size: clamp(2.45rem, 6vw, 5.2rem);
  line-height: 1.02;
  letter-spacing: -.052em;
  font-weight: 800;
  text-wrap: balance;
}
.dharma-hero p { margin: 18px 0 26px; color: #c7ead8; font-weight: 650; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.dharma-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.dharma-hero-actions a, .dharma-contact-form button {
  display: inline-block;
  border-radius: 8px;
  padding: 12px 20px;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
}
.dharma-primary { background: #b7e3c5; color: #102a27; }
.dharma-primary:hover { background: #dbf4e2; }
.dharma-secondary { color: #fff; border: 1px solid #c7ead8; background: #102a27c9; }
.dharma-secondary:hover { background: #21483e; }
.dharma-contact {
  scroll-margin-top: 16px;
  padding: clamp(44px, 7vw, 94px) 0;
  background: linear-gradient(125deg, #102c26ef, #0d211cce), #102a27 url("/assets/perforated-mesh.jpg") center / 1000px auto;
}
.dharma-contact-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 7vw, 92px); align-items: center; }
.dharma-contact-copy { color: #f4faf6; }
.dharma-contact-copy .dharma-kicker, .dharma-contact-copy a { color: #b7e3c5; }
.dharma-contact-copy h2 { font-size: clamp(2.4rem, 5.5vw, 4.2rem); letter-spacing: -.05em; margin: .2em 0; }
.dharma-contact-copy p { max-width: 34ch; }
.dharma-contact-copy address { margin-top: 13px; font-style: normal; }
.dharma-contact-form { background: #f6faf6; color: #102a27; border-radius: 18px; padding: clamp(20px, 4vw, 40px); box-shadow: 0 14px 46px #0004; }
.dharma-contact-form h3 { margin: 0; }
.dharma-contact-form h3 + p { margin: 5px 0 18px; font-size: .9rem; }
.dharma-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.dharma-contact-form label { display: grid; gap: 4px; font-size: .95rem; font-weight: 700; }
.dharma-contact-form :is(input, textarea, select) { width: 100%; min-width: 0; padding: 10px; border: 1px solid #849c91; border-radius: 7px; background: #fff; color: #102a27; font: inherit; font-weight: 400; }
.dharma-contact-form :is(input, textarea, select, button):focus-visible { outline: 3px solid #306a54; outline-offset: 2px; }
.dharma-contact-form textarea { resize: vertical; }
.dharma-contact-form button { margin-top: 16px; border: 0; background: #245f4d; color: white; cursor: pointer; }
.dharma-contact-form button:hover { background: #194b3b; }
.dharma-contact-form button:disabled { opacity: .7; cursor: wait; }
.dharma-form-status { margin: 10px 0 0; font-weight: 700; }
.dharma-form-status:empty { margin: 0; }
@media (max-width: 720px) {
  .dharma-hero { background-image: linear-gradient(90deg, #091b17f0, #091b1780), url("/assets/dharma-workshop.jpg"); background-position: 57% center; }
  .dharma-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 450px) {
  .dharma-form-fields { grid-template-columns: 1fr; }
}
