.rc-contact-page { --contact-ink: #173650; --contact-muted: #526b7d; --contact-blue: #176d9e; color: var(--contact-ink); background: #f7fafc; font-family: 'ResearchCave Open Sans', 'Open Sans', sans-serif; }
.rc-contact-page h1, .rc-contact-page h2, .rc-contact-page h3 { color: var(--contact-ink); font-family: inherit; font-weight: 600; }
.rc-contact-page p { color: var(--contact-muted); font-size: 15px; line-height: 1.8; }
/* Keep the sky local to the hero and reserve a separate column for the plane. */
.rc-contact-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(32px, 4vw, 56px) 0; background: #85b9dd; }
.rc-contact-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.rc-contact-hero-content { min-width: 0; }
.rc-contact-hero h1 { max-width: 22ch; color: #fff; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.045em; margin: 0 0 20px; font-weight: 600; }
.rc-contact-hero .rc-contact-hero-copy { max-width: 560px; color: #234761; font-size: 17px; line-height: 1.8; margin: 0; }
.rc-contact-plane-frame { --plane-travel: 100px; position: relative; min-width: 0; height: 240px; pointer-events: none; }
.rc-contact-plane-container { position: absolute; top: 28px; right: 10%; width: min(80%, 240px); animation: rc-contact-plane-scoping 2s linear alternate infinite; }
.rc-contact-plane { display: block; width: 100%; height: auto; animation: rc-contact-plane-soaring 4s ease-in-out infinite; }
.rc-contact-clouds { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.rc-contact-cloud { position: absolute; top: 20%; right: 0; width: 300px; height: auto; opacity: .35; animation: rc-contact-cloud-movement 8s linear infinite; }
.rc-contact-cloud.front { z-index: 2; }
.rc-contact-cloud.distant { z-index: 0; }
.rc-contact-cloud.smaller { top: 35%; right: 400px; width: 100px; animation-delay: -3s; }
.rc-contact-cloud.small { right: 200px; width: 150px; animation-delay: -5s; }
.rc-contact-cloud.big { top: 45%; right: 150px; width: 500px; animation-delay: -4s; }
.rc-contact-cloud.massive { top: 26%; width: 600px; animation-delay: -12s; }
.rc-contact-cloud.slow { animation-duration: 9.2s; }
.rc-contact-cloud.slower { top: 65%; animation-duration: 11.2s; animation-delay: -8s; }
.rc-contact-cloud.slowest { animation-duration: 13.5s; }
.rc-contact-cloud.super-slow { animation-duration: 20.5s; }
@keyframes rc-contact-plane-scoping { from { transform: translateY(0); } to { transform: translateY(var(--plane-travel)); } }
@keyframes rc-contact-plane-soaring { 0%, 100% { transform: rotate(0deg); } 40%, 50% { transform: rotate(15deg); } 60%, 70% { transform: rotate(-10deg); } }
@keyframes rc-contact-cloud-movement { 0% { opacity: .1; transform: translateX(300px); } 10% { opacity: .7; } 90% { opacity: 0; } 100% { opacity: 0; transform: translateX(calc(-100vw - 600px)); } }
.rc-contact-page [id] { scroll-margin-top: 24px; }
.rc-contact-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; gap: 32px; padding-top: 48px; padding-bottom: 64px; }
.rc-contact-card, .rc-contact-details-card { padding: clamp(24px, 3vw, 38px); border: 1px solid #dce7ee; border-radius: 16px; background: #fff; }
.rc-contact-page h2 { font-size: 25px; line-height: 1.35; margin-bottom: 14px; }
.rc-contact-intro { margin-bottom: 28px; }
.rc-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.rc-contact-field-wide { grid-column: 1 / -1; }
.rc-contact-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.rc-contact-field label > span:not(.rc-contact-optional) { color: #9d3b36; }
.rc-contact-optional { font-size: 11px; font-weight: 400; color: var(--contact-muted); margin-left: 5px; }
.rc-contact-field input, .rc-contact-field textarea { display: block; width: 100%; min-width: 0; border: 1px solid #b9cedc; border-radius: 7px; background: #fff; color: var(--contact-ink); padding: 12px 14px; font-family: inherit; font-size: 16px; line-height: 1.5; }
.rc-contact-field textarea { resize: vertical; min-height: 180px; }
.rc-contact-field .iti { display: block; width: 100%; --iti-border-color: #b9cedc; --iti-hover-color: #edf5fa; --iti-country-selector-bg: #fff; }
.rc-contact-field .iti__selected-country { border-radius: 6px 0 0 6px; font: inherit; color: var(--contact-ink); }
.rc-contact-field .iti__search-input { padding-left: 34px; padding-right: 34px; }
.rc-contact-page a:focus-visible, .rc-contact-page button:focus-visible, .rc-contact-field input:focus-visible, .rc-contact-field textarea:focus-visible { outline: 3px solid var(--contact-blue); outline-offset: 3px; }
.rc-contact-honeypot { display: none; }
.rc-contact-verification { min-width: 0; margin: 26px 0; }
.rc-contact-verification researchcave-captcha { display: block; max-width: 100%; }
.rc-contact-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.rc-contact-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 14px 22px; border: 0; border-radius: 8px; color: #fff; background: var(--contact-blue); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.rc-contact-button:hover, .rc-contact-button:focus-visible { color: #fff; background: #115477; }
.rc-contact-button:disabled { opacity: .65; cursor: wait; }
.rc-contact-page a { overflow-wrap: anywhere; }
.rc-contact-detail { display: flex; align-items: flex-start; gap: 16px; padding: 18px 0; }
.rc-contact-detail > i { width: 22px; flex-shrink: 0; color: var(--contact-blue); font-size: 18px; margin-top: 3px; }
.rc-contact-detail h3 { font-size: 13px; margin: 0 0 6px; }
.rc-contact-detail a, .rc-contact-detail address { color: var(--contact-muted); font-size: 15px; line-height: 1.7; font-style: normal; margin: 0; }
.rc-contact-support { margin-top: 24px; }
.rc-contact-support h3 { font-size: 17px; line-height: 1.5; }
.rc-contact-support p { font-size: 14px; }
.rc-contact-support a { font-size: 14px; font-weight: 600; color: var(--contact-blue); }
.rc-contact-support a i { margin-left: 8px; }
.rc-contact-map { margin-top: 24px; border: 1px solid #dce7ee; border-radius: 16px; overflow: hidden; background: #eaf2f7; }
.rc-contact-map iframe { display: block; width: 100%; max-width: 100%; height: 280px; border: 0; }
.rc-contact-map > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; background: #fff; font-size: 13px; font-weight: 600; color: var(--contact-blue); }
.rc-contact-status { padding: 14px 18px; margin-bottom: 24px; border: 1px solid #e1b8b5; border-radius: 8px; color: #873a34; background: #fff4f2; font-size: 14px; line-height: 1.6; }
.rc-contact-status[data-state="sending"], .rc-contact-status[data-state="verifying"] { color: var(--contact-ink); background: #eaf4fb; border-color: #bdd7e8; }
.rc-contact-success { padding: 36px 0; }
.rc-contact-success-icon { display: block; font-size: 42px; color: #197460; margin-bottom: 22px; }
.rc-contact-success h3 { font-size: 23px; }
.rc-contact-success p { margin-bottom: 24px; }
.rc-contact-page [hidden] { display: none !important; }
@media (max-width: 991.98px) { .rc-contact-grid { grid-template-columns: 1fr; gap: 24px; padding-top: 32px; } }
@media (max-width: 575.98px) {
    .rc-contact-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .rc-contact-hero h1 { max-width: 22ch; }
    .rc-contact-hero .rc-contact-hero-copy { font-size: 16px; }
    .rc-contact-plane-frame { --plane-travel: 60px; height: 140px; }
    .rc-contact-plane-container { top: 0; right: 12%; width: 160px; }
    .rc-contact-cloud.big { top: 60%; }
    .rc-contact-cloud.massive { top: 45%; }
    .rc-contact-fields { grid-template-columns: 1fr; gap: 18px; }
    .rc-contact-button { width: 100%; }
    .rc-contact-card, .rc-contact-details-card { padding: 22px 18px; }
}
