.rb-contact {
	--rb-ink: #171714;
	--rb-paper: #f2efe8;
	--rb-sage: #9ca594;
	--rb-line: rgba(23, 23, 20, 0.22);
	background: var(--rb-paper);
	color: var(--rb-ink);
	font-family: Arial, Helvetica, sans-serif;
	padding: clamp(80px, 9vw, 150px) max(24px, 6vw);
}

.rb-contact *, .rb-contact *::before, .rb-contact *::after { box-sizing: border-box; }
.rb-contact-inner { width: min(1380px, 100%); margin: 0 auto; }
.rb-contact-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); gap: clamp(40px, 8vw, 140px); align-items: end; margin-bottom: clamp(55px, 7vw, 105px); }
.rb-contact-kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.rb-contact-kicker span { width: 34px; height: 1px; background: currentColor; }
.rb-contact h2 { margin: 0; color: var(--rb-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(54px, 7vw, 104px); font-weight: 400; letter-spacing: -.045em; line-height: .92; }
.rb-contact h2 em { font-weight: 400; }
.rb-contact-intro > p { max-width: 520px; margin: 0; font-size: 17px; line-height: 1.65; }
.rb-contact-grid { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.5fr); gap: clamp(45px, 8vw, 140px); border-top: 1px solid var(--rb-ink); padding-top: clamp(45px, 6vw, 80px); }
.rb-contact-details { display: grid; align-content: start; gap: 34px; }
.rb-contact-detail { padding-bottom: 30px; border-bottom: 1px solid var(--rb-line); }
.rb-contact-detail span { display: block; margin-bottom: 14px; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.rb-contact-detail p { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(20px, 2vw, 28px); line-height: 1.35; overflow-wrap: anywhere; }
.rb-contact a, .rb-contact a:hover, .rb-contact a:focus, .rb-contact a:active { color: var(--rb-ink) !important; text-decoration: none; }
.rb-contact-card { min-width: 0; }
.rb-contact-notice { margin: 0 0 30px; padding: 18px 20px; border: 1px solid currentColor; font-size: 14px; line-height: 1.5; }
.rb-contact-notice ul { margin: 10px 0 0 18px; padding: 0; }
.rb-contact-success { background: #e5ece2; color: #244022; }
.rb-contact-error { background: #f3e4e0; color: #6d241d; }
.rb-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 36px; }
.rb-contact-field { min-width: 0; }
.rb-contact-field-wide { grid-column: 1 / -1; }
.rb-contact-field label { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 10px; font-size: 10px; font-weight: 700; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.rb-contact-field label small { font: inherit; opacity: .55; }
.rb-contact input:not([type='hidden']), .rb-contact textarea { display: block; width: 100%; border: 0 !important; border-bottom: 1px solid var(--rb-ink) !important; border-radius: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; color: var(--rb-ink) !important; font: 17px/1.5 Arial, Helvetica, sans-serif; }
.rb-contact input:not([type='hidden']) { height: 48px; padding: 5px 0; }
.rb-contact textarea { min-height: 155px; padding: 10px 0; resize: vertical; }
.rb-contact input:focus, .rb-contact textarea:focus { border-bottom-width: 2px !important; }
.rb-contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rb-contact-recaptcha { margin-top: 30px; }
.rb-contact-submit, .rb-contact-submit:hover, .rb-contact-submit:focus, .rb-contact-submit:active, .rb-contact-submit:visited { display: flex !important; width: 100%; align-items: center; justify-content: space-between; margin-top: 34px; padding: 20px 22px !important; border: 1px solid var(--rb-ink) !important; border-radius: 0 !important; background: var(--rb-ink) !important; box-shadow: none !important; color: var(--rb-paper) !important; font: 700 11px/1 Arial, Helvetica, sans-serif !important; letter-spacing: .16em; text-decoration: none !important; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.rb-contact-submit:hover, .rb-contact-submit:focus-visible { background: var(--rb-sage) !important; border-color: var(--rb-sage) !important; color: var(--rb-ink) !important; }
.rb-contact-submit:disabled { cursor: wait; background: #4a4a45 !important; border-color: #4a4a45 !important; color: var(--rb-paper) !important; opacity: .8; }
.rb-contact-privacy { margin: 16px 0 0; font-size: 12px; line-height: 1.5; opacity: .65; }

@media (max-width: 800px) {
	.rb-contact-intro, .rb-contact-grid { grid-template-columns: 1fr; }
	.rb-contact-intro { align-items: start; }
	.rb-contact-grid { gap: 55px; }
	.rb-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.rb-contact { padding-inline: 20px; }
	.rb-contact-details, .rb-contact-fields { grid-template-columns: 1fr; }
	.rb-contact-field-wide { grid-column: auto; }
	.rb-contact h2 { font-size: clamp(48px, 16vw, 72px); }
}
