/* ==============================================
   CONTACT PAGE
   ============================================== */
.contact-main {
  padding: var(--section-spacing-desktop) 0;
}
.contact-main-wrapper {
  width: calc(100% - 48px);
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: start;
}
/* Without the form card the details are the whole block, so they run as a row of items
   rather than a narrow column with half the width empty beside it. */
.contact-main-wrapper:not(:has(.contact-form-card)) {
  grid-template-columns: minmax(0, 1fr);
}
.contact-main-wrapper:not(:has(.contact-form-card)) .contact-info-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px 32px;
  align-items: start;
}
.contact-main-wrapper:not(:has(.contact-form-card)) .contact-info-divider {
  display: none;
}
.contact-form-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: 0 16px 40px rgba(32, 32, 30, 0.06);
}
.contact-info-card {
  background: var(--cream);
  border-radius: var(--radius-lg);
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.contact-info-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.contact-info-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--white);
  background: var(--gradient-brand);
  border-radius: 12px;
}
.contact-info-item h4 {
  margin-bottom: 2px;
}
.contact-info-item p,
.contact-info-item a {
  font-size: var(--font-size-small);
  color: var(--text-soft);
  margin: 0;
}
.contact-info-item a:hover {
  color: var(--brand-orange);
}
.contact-info-divider {
  height: 1px;
  background: var(--border);
}
@media (max-width: 1024px) {
  .contact-main-wrapper {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .contact-main {
    padding: var(--section-spacing-mobile) 0;
  }
  .contact-form-card,
  .contact-info-card {
    padding: 24px;
  }
}
/* Optional section header — the design's contact page has none, but the block is also
   used to close the front page, where it needs to introduce itself. */
.contact-main .contact-header {
  max-width: var(--container);
  margin: 0 auto 44px;
  padding-inline: 24px;
  text-align: center;
}
.contact-main .contact-header .eyebrow {
  display: block;
  margin-bottom: 10px;
}
/* The item heading level follows the page outline, so size by position not tag. */
.contact-info-item > div > :is(h2, h3, h4, h5, h6) {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--text);
}
/*# sourceMappingURL=style.css.map */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3N0eWxlLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUE7RUFDSSxTQUFTLGdDQUFUOztBQUdKO0VBQ0ksT0FBTyxpQkFBUDtFQUNBLFdBQVcsZ0JBQVg7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBOzs7O0FBS0oscUJBQXFCLElBQUk7RUFDckIsdUJBQXVCLGNBQXZCOztBQUdKLHFCQUFxQixJQUFJLDBCQUEyQjtFQUNoRCxhQUFBO0VBQ0EsdUJBQXVCLGlCQUFpQixtQkFBeEM7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7O0FBR0oscUJBQXFCLElBQUksMEJBQTJCO0VBQ2hELGFBQUE7O0FBR0o7RUFDSSxZQUFZLFlBQVo7RUFDQSxrQkFBa0IsYUFBbEI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsYUFBQTtFQUNBLDhDQUFBOztBQUdKO0VBQ0ksWUFBWSxZQUFaO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBOztBQUdKO0VBQ0ksYUFBQTtFQUNBLFNBQUE7RUFDQSx1QkFBQTs7QUFHSjtFQUNJLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtFQUNBLE9BQU8sWUFBUDtFQUNBLFlBQVkscUJBQVo7RUFDQSxtQkFBQTs7QUFHSixrQkFBbUI7RUFDZixrQkFBQTs7QUFHSixrQkFBbUI7QUFDbkIsa0JBQW1CO0VBQ2YsV0FBVyxzQkFBWDtFQUNBLE9BQU8sZ0JBQVA7RUFDQSxTQUFBOztBQUdKLGtCQUFtQixFQUFDO0VBQ2hCLE9BQU8sbUJBQVA7O0FBR0o7RUFDSSxXQUFBO0VBQ0EsWUFBWSxhQUFaOztBQUdKLFFBQTJCO0VBQ3ZCO0lBQXdCLDBCQUFBOzs7QUFHNUIsUUFBMEI7RUFDdEI7SUFBZ0IsU0FBUywrQkFBVDs7RUFDaEI7RUFDQTtJQUFxQixhQUFBOzs7OztBQUt6QixhQUFjO0VBQ1YsV0FBVyxnQkFBWDtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTs7QUFKSixhQUFjLGdCQU1WO0VBQVcsY0FBQTtFQUFnQixtQkFBQTs7O0FBSS9CLGtCQUFtQixNQUFNLE1BQUs7RUFDMUIsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLE9BQU8sV0FBUCIsImZpbGUiOiJjb250YWN0X2luZm8vc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOltdfQ== */
