/* お問い合わせ：パソコンの専用寸法と配置。スマホの変更は../responsive.css。 */
/* このセクション固有の値（-tablet は1200px以下） */
:where([data-section="contact"][data-ui="brume"]) {
  --contact-columns: 1.6fr 1fr;
  --contact-label-width: 168px;
  --contact-label-width-tablet: 136px;
  --contact-control-height: 48px;
  --contact-textarea-height: 120px;
}

:where([data-section="contact"][data-ui="brume"]).contact {
  padding-block: var(--space-section);
  background: var(--color-paper);
}

:where([data-section="contact"][data-ui="brume"]) .contact__layout {
  display: grid;
  grid-template-columns: var(--contact-columns);
  align-items: start;
  gap: var(--space-stack);
  margin-block-start: var(--space-heading);
}

:where([data-section="contact"][data-ui="brume"]) .contact__form {
  padding: var(--space-card-gap);
  border: var(--size-line) solid var(--color-line);
  background: var(--color-surface);
}

:where([data-section="contact"][data-ui="brume"]) .contact__form-title {
  margin-block-end: var(--space-stack);
  font-family: var(--font-title);
  font-size: var(--font-size-card);
  font-weight: var(--weight-title);
}

:where([data-section="contact"][data-ui="brume"]) .field {
  display: grid;
  grid-template-columns: var(--contact-label-width) minmax(0, 1fr);
  gap: var(--space-small);
  align-items: center;
  margin-block-end: var(--space-small);
}

:where([data-section="contact"][data-ui="brume"]) .field--message {
  align-items: start;
}

:where([data-section="contact"][data-ui="brume"]) .field__label {
  font-family: var(--font-control);
  font-weight: var(--weight-heading);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="brume"]) :is(.field__label, .contact__consent) span {
  color: var(--color-required);
}

:where([data-section="contact"][data-ui="brume"]) .field__control {
  width: 100%;
  min-width: 0;
  min-height: var(--contact-control-height);
  padding: var(--space-small);
  border: var(--size-line) solid var(--color-line);
  border-radius: 0;
  background: var(--color-warm);
  color: var(--color-text);
  font-size: var(--font-size-body);
  color-scheme: dark;
}

:where([data-section="contact"][data-ui="brume"]) textarea.field__control {
  min-height: var(--contact-textarea-height);
  resize: vertical;
}

:where([data-section="contact"][data-ui="brume"]) .contact__actions {
  display: grid;
  justify-items: center;
  gap: var(--space-stack);
  margin-block-start: var(--space-stack);
}

:where([data-section="contact"][data-ui="brume"]) .contact__consent {
  display: flex;
  align-items: center;
  gap: var(--space-tiny);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="brume"]) .contact__methods {
  display: grid;
  gap: var(--space-stack);
}

:where([data-section="contact"][data-ui="brume"]) .contact__method {
  display: grid;
  justify-items: start;
  gap: var(--space-tiny);
  padding: var(--space-stack);
  border: var(--size-line) solid var(--color-line);
  background: var(--color-surface);
}

:where([data-section="contact"][data-ui="brume"]) .contact__eyebrow {
  color: var(--color-primary);
  font-family: var(--font-latin);
  font-weight: var(--weight-title);
  font-size: var(--font-size-eyebrow);
  letter-spacing: var(--track-eyebrow);
}

:where([data-section="contact"][data-ui="brume"]) .contact__label {
  font-family: var(--font-title);
  font-size: var(--font-size-lead);
  font-weight: var(--weight-title);
}

:where([data-section="contact"][data-ui="brume"]) .contact__number {
  font-family: var(--font-latin);
  font-weight: var(--weight-title);
  font-size: var(--font-size-card);
  letter-spacing: var(--track-heading);
}

:where([data-section="contact"][data-ui="brume"]) .contact__text {
  color: var(--color-text-muted);
}

:where([data-section="contact"][data-ui="brume"]) .contact__method .button {
  margin-block-start: var(--space-small);
}
