/* Contact overlay (customize/contact) */
.rr-contact {
  --rr-bg: #f8f3ee;
  --rr-ink: #3b2320;
  --rr-label: #8b5d55;
  --rr-muted: #8c8580;
  --rr-line: #e6d8d1;
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(40, 26, 24, 0.38);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.rr-contact.rr-open { opacity: 1; }
.rr-contact-open #cursor, .rr-contact-open #f-cursor { visibility: hidden !important; }
/* the site hides the system cursor for its custom one */
.rr-contact, .rr-contact * { cursor: auto !important; }
.rr-contact a, .rr-contact button, .rr-contact select, .rr-contact input[type="date"] { cursor: pointer !important; }
.rr-contact input:not([type="date"]), .rr-contact textarea { cursor: text !important; }

.rr-panel {
  position: relative;
  width: min(1040px, 100%);
  max-height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 56px;
  padding: 48px 44px 44px;
  border-radius: 16px;
  background: var(--rr-bg);
  color: var(--rr-ink);
  font-family: Bague, ui-sans-serif, system-ui, sans-serif;
  text-align: left;
  box-shadow: 0 30px 80px rgba(40, 26, 24, 0.25);
  transform: translateY(18px);
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.rr-open .rr-panel { transform: none; }

.rr-close {
  position: absolute;
  top: 14px;
  right: 18px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  font-size: 26px;
  line-height: 1;
  color: var(--rr-muted);
  background: none;
}
.rr-close:hover { color: var(--rr-ink); background: rgba(59, 35, 32, 0.06); }

.rr-eyebrow {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rr-muted);
}
.rr-heading {
  margin: 22px 0 22px;
  font-family: Italiana, "Bodoni 72", Didot, serif;
  font-weight: 400;
  font-size: clamp(44px, 5.4vw, 66px);
  line-height: 0.98;
  letter-spacing: -0.01em;
  color: var(--rr-ink);
}
.rr-heading-sm { font-size: clamp(32px, 3.6vw, 44px); margin: 14px 0 16px; }
.rr-lead { margin: 0; font-size: 16px; line-height: 1.5; }
.rr-reach { margin-top: 34px; }
.rr-links { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; font-size: 15px; }
.rr-links a { color: var(--rr-ink); text-decoration: none; }
.rr-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rr-note { margin: 26px 0 0; font-size: 13px; line-height: 1.5; font-style: italic; color: var(--rr-label); }

.rr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.rr-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.rr-wide { grid-column: 1 / -1; }
.rr-label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rr-label); }
.rr-field input, .rr-field select, .rr-field textarea {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--rr-line);
  border-radius: 10px;
  background: #fff;
  color: var(--rr-ink);
  font: inherit;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
  appearance: none;
}
.rr-field select {
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%233b2320' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
.rr-field textarea { height: auto; min-height: 112px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.rr-field input::placeholder, .rr-field textarea::placeholder { color: #9aa0a6; opacity: 1; }
.rr-field input:focus, .rr-field select:focus, .rr-field textarea:focus {
  border-color: var(--rr-label);
  box-shadow: 0 0 0 3px rgba(139, 93, 85, 0.14);
}
.rr-tried .rr-field :invalid { border-color: #c0605a; }

.rr-submit {
  width: 100%;
  height: 48px;
  margin-top: 24px;
  border-radius: 999px;
  background: #858585;
  color: #fff;
  font: inherit;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background 0.25s, transform 0.15s;
}
.rr-ready .rr-submit { background: var(--rr-ink); }
.rr-ready .rr-submit:hover { background: #5a3a35; }
.rr-submit:active { transform: scale(0.99); }
.rr-submit:disabled { opacity: 0.6; }
.rr-status { min-height: 1.2em; margin: 10px 0 0; font-size: 13px; color: #a54a44; text-align: center; }
.rr-done { padding-top: 8px; }

@media (max-width: 820px) {
  .rr-contact { padding: 0; align-items: stretch; }
  .rr-panel {
    grid-template-columns: 1fr;
    gap: 30px;
    max-height: none;
    height: 100%;
    padding: 56px 22px 32px;
    border-radius: 0;
  }
  .rr-heading { font-size: 44px; margin: 16px 0; }
  .rr-reach { margin-top: 24px; }
}
@media (max-width: 480px) {
  .rr-grid { grid-template-columns: 1fr; }
}
