/* Contact and the single shared footer; all styles scoped to these components. */
.rb-contact {
	padding: 180px 24px 100px;
	background: #090d0c;
	color: var(--rb-ivory);
	text-align: center;
}
.rb-contact-content { position: relative; isolation: isolate; max-width: 960px; margin-inline: auto; }
.rb-contact-content::before {
	content: "";
	position: absolute;
	inset: -100px -24px -70px;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(ellipse at 50% 55%, rgba(123, 53, 32, .22), transparent 67%);
}
.rb-contact-eyebrow { margin: 0 0 18px; color: var(--rb-copper); font: 700 11px/1.5 var(--rb-sans); letter-spacing: 3px; }
.rb-contact h2 { margin: 0; font-family: var(--rb-sans); font-size: clamp(64px, 6.72vw, 128px); font-weight: 700; line-height: .9; letter-spacing: -.065em; }
.rb-contact h2 span { display: block; }
.rb-contact-muted { color: var(--rb-muted); }
.rb-contact-description { max-width: 500px; margin: 12px auto 0; color: #bcb7ac; font: 18px/1.5 Georgia, "Times New Roman", serif; }
.rb-contact-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 225px;
	min-height: 50px;
	max-width: 100%;
	margin-top: 32px;
	padding: 17px 24px;
	background: var(--rb-copper);
	color: #fff;
	font: 700 10px/1.5 var(--rb-sans);
	letter-spacing: 1px;
	text-decoration: none;
	transition: transform 250ms ease, background-color 250ms ease, box-shadow 250ms ease;
}
.rb-contact-button:focus-visible { outline: 2px solid var(--rb-ivory); outline-offset: 6px; background: #c15d3c; box-shadow: 0 4px 28px rgba(179, 81, 51, .38); }
.rb-footer { padding: 0 7% 76px; background: #090d0c; color: #858a82; }
.rb-footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; border-top: 1px solid rgba(232, 228, 219, .13); padding-top: 14px; }
.rb-footer-copyright,
.rb-footer-tagline,
.rb-footer-legal { margin: 0; font: 400 8px/1.6 var(--rb-sans); letter-spacing: 1px; }
.rb-footer-tagline { text-align: center; }
.rb-footer-right { justify-self: end; text-align: right; }
.rb-footer-socials { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin: 0; padding: 0; list-style: none; }
.rb-footer-socials a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 3px; background: #f4f4f2; color: #090d0c; transition: background-color 250ms ease; }
.rb-footer-socials svg { display: block; width: 20px; height: 20px; fill: currentColor; }
.rb-footer-socials a:focus-visible { outline: 2px solid var(--rb-ivory); outline-offset: 4px; background: var(--rb-copper); }
.rb-footer-legal { margin-top: 8px; }
.rb-footer-legal span[aria-hidden] { margin-inline: 7px; }
@media (hover: hover) and (pointer: fine) {
	.rb-contact-button:hover { transform: translateY(-3px); background: #c15d3c; box-shadow: 0 4px 28px rgba(179, 81, 51, .38); }
	.rb-footer-socials a:hover { background: var(--rb-copper); }
}
@media (max-width: 900px) {
	.rb-contact { padding: 104px 24px 80px; }
	.rb-contact h2 { font-size: clamp(56px, 10vw, 88px); }
	.rb-footer { padding: 0 24px 44px; }
	.rb-footer-inner { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 24px; padding-top: 28px; text-align: center; }
	.rb-footer-right { justify-self: center; text-align: center; }
	.rb-footer-socials { justify-content: center; }
	.rb-footer-socials a { width: 44px; height: 44px; }
}
@media (max-width: 480px) {
	.rb-contact { padding-block: 80px 64px; }
	.rb-contact h2 { font-size: clamp(42px, 11vw, 56px); }
	.rb-contact-eyebrow { font-size: 10px; letter-spacing: 2px; }
	.rb-contact-description { margin-top: 24px; font-size: 17px; }
}
@media (hover: none) and (pointer: coarse) {
 .rb-contact-button:active { transform: translateY(-3px); background: #c15d3c; box-shadow: 0 4px 28px rgba(179, 81, 51, .38); }
 .rb-footer-socials a:active { background: var(--rb-copper); }
}
@media (hover: none) and (pointer: coarse) and (prefers-reduced-motion: reduce) {
 .rb-contact-button:active { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.rb-contact-button,
	.rb-footer-socials a { transition: none; }
	.rb-contact-button:hover { transform: none; }
}
