/* Contact page: airy glass panels, vector waves and the shared brand icons. */
.rw-contact { background: #fff; --text-primary: #172b49; --text-secondary: #53647d; --text-tertiary: #586b86; }
.rw-contact [data-theme="deep"] { --text-primary: #f8fafc; --text-secondary: #b7c6da; --text-tertiary: #96abc7; }
.rw-contact h1, .rw-contact h2, .rw-contact h3 { font-weight: 800; letter-spacing: -.04em; }
.rw-contact a:focus-visible, .rw-contact button:focus-visible, .rw-contact summary:focus-visible { outline: 3px solid #1459d9; outline-offset: 5px; }
.rc-hero { padding-top: calc(var(--header-h) + 24px); }
.rc-hero-panel { isolation: isolate; position: relative; overflow: hidden; padding: 34px 30px 46px; text-align: center; border: 1px solid #d3e0f4; border-radius: 28px; background: radial-gradient(ellipse at 80% 90%, #b4d4fa99, transparent 62%), linear-gradient(115deg,#eef4ff,#fafcff 53%,#dceafa); }
.rc-hero .breadcrumb { justify-content: center; margin-bottom: 25px; font-size: 12px; }
.rc-hero .breadcrumb span, .rc-hero .breadcrumb a { color: #53647d; }
.rc-eyebrow { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .15em; color: #1459d9; }
.rc-hero h1 { font-size: clamp(38px,4.8vw,62px); line-height: 1.12; margin: 17px 0 20px; }
.rc-hero h1 span { color: #1459d9; }
.rc-hero p { color: #475b79; line-height: 1.7; font-size: 16px; }
.rc-hero-link { display: inline-flex; gap: 20px; align-items: center; margin-top: 25px; padding: 10px 2px; font-size: 13px; font-weight: 700; color: #173c77; border-bottom: 1px solid #a7bfe4; }
.rc-waves { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: .75; pointer-events: none; }
.rc-topics.section { padding-block: 74px; }
.rc-section-head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; margin-bottom: 36px; }
.rc-section-head .kicker, .rc-faq .kicker { color: #1459d9; font-size: 11px; margin-bottom: 14px; }
.rc-section-head h2, .rc-faq h2 { font-size: clamp(29px,3vw,40px); line-height: 1.18; }
.rc-section-head > p { color: var(--text-secondary); font-size: 16px; line-height: 1.75; max-width: 48ch; margin-bottom: 3px; }
.rc-topic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.rc-topic { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 28px 24px 25px; background: linear-gradient(145deg,#f4f7fc,#f0f5ff); border: 1px solid #e0e7f1; border-radius: 22px; color: #172b49; transition: border-color .5s, box-shadow .5s, transform .5s; }
.rc-topic:is(:hover,:focus-visible) { text-decoration: none; border-color: #afc6ee; box-shadow: 0 18px 36px -24px #183b7866; transform: translateY(-4px); }
.rc-topic h3 { margin-top: 25px; font-size: 21px; line-height: 1.3; max-width: 18ch; }
.rc-topic p { margin: 14px 0 23px; font-size: 14px; line-height: 1.7; color: #53647d; }
.rc-card-link { display: flex; gap: 10px; justify-content: space-between; align-items: center; width: 100%; margin-top: auto; padding-top: 18px; border-top: 1px solid #dce5f3; font-size: 12px; font-weight: 800; color: #1459d9; }
.rc-card-link > span { font-size: 19px; }
.rc-reach.section { padding-block: 4px 80px; scroll-margin-top: 88px; }
.rc-reach-panel { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; padding: 54px; border-radius: 28px; border: 1px solid #cfddf1; background: radial-gradient(ellipse at 0 65%,#aacafb88,transparent 65%), radial-gradient(ellipse at 100% 0,#fff,transparent 65%), linear-gradient(130deg,#dce9fc,#f0f5fd); }
.rc-reach-copy { padding-top: 17px; min-width: 0; }
.rc-reach-copy h2 { font-size: clamp(29px,3vw,39px); line-height: 1.22; margin: 19px 0 22px; }
.rc-reach-copy h2 span { color: #1459d9; }
.rc-reach-copy > p { color: #465e80; font-size: 15px; line-height: 1.8; max-width: 42ch; }
.rc-contact-methods { display: grid; gap: 33px; margin-top: 48px; }
.rc-method { display: flex; align-items: center; gap: 25px; padding: 8px; color: #172b49; }
.rc-method:hover { text-decoration: none; }
.rc-method > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.rc-method strong { font-size: 18px; letter-spacing: -.025em; }
.rc-method > span:nth-child(2) > span { font-size: 13px; color: #475b79; overflow-wrap: anywhere; }
.rc-method-arrow { margin-left: auto; color: #1459d9; font-size: 24px; }
.rc-response-note { display: flex; align-items: center; gap: 14px; padding-top: 27px; margin-top: 30px; border-top: 1px solid #b3c9e5; }
.rc-response-note > span { font-size: 25px; color: #1459d9; }
.rc-response-note p { font-size: 12px; line-height: 1.8; color: #475b79; }
.rc-form { min-width: 0; border: 1px solid #fff; border-radius: 22px; padding: 32px; background: rgba(255,255,255,.86); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 20px 55px -35px #183b7870; gap: 22px; }
.rc-form-step { font-size: 10px; font-weight: 700; letter-spacing: .14em; color: #537198; }
.rc-form h2 { scroll-margin-top: 110px; font-size: 28px; line-height: 1.25; margin: 10px 0; }
.rc-form-intro { font-size: 13px; color: #53647d; margin-bottom: 3px; }
.rc-form .form-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.rc-form .field { min-width: 0; }
.rc-form .field label { color: #334c6c; font-size: 12px; font-weight: 600; }
.rc-field-optional { font-weight: 400; }
.rc-form .field input:not([type="checkbox"]), .rc-form .field select, .rc-form .field textarea {
 -webkit-appearance: none; appearance: none; display: block; box-sizing: border-box; width: 100%; min-width: 0; margin: 0;
 border: 1px solid #d3deee; border-radius: 12px; background-color: #f7faff; color: #172b49;
 padding: 14px 16px; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 24px; min-height: 54px; box-shadow: none;
}
.rc-form .field select {
 padding-right: 44px; cursor: pointer;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2353647d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
 background-repeat: no-repeat; background-position: right 16px center; background-size: 20px;
}
.rc-form .field select:required:invalid { color: #687d98; }
.rc-form .field select option { color: #172b49; }
.rc-form .field :is(input,textarea)::placeholder { color: #687d98; opacity: 1; font-size: inherit; }
.rc-form .field :is(input,textarea,select):focus { border-color: #1459d9; box-shadow: 0 0 0 3px #1459d91a; }
.rc-form .field textarea { resize: vertical; min-height: 125px; }
.rc-form .field-consent { gap: 10px; }
.rc-form .field-consent input { margin-top: 2px; }
.rc-form .field-consent label { font-size: 11px; line-height: 1.7; font-weight: 400; }
.rc-form .field-consent a { text-decoration: underline; color: #1459d9; }
.rc-form .field[data-invalid="true"] :is(input,textarea,select) { border-color: #be354e; }
.rc-form .field-error { color: #b22840; font-size: 12px; }
.rc-submit { width: 100%; display: flex; justify-content: space-between; border-radius: 11px; background: #1459d9; font-size: 14px; }
.rc-submit:hover { background: #1048b2; }
.rc-delivery-note { text-align: center; color: #53647d; font-size: 11px; line-height: 1.8; }
.rc-delivery-note a { color: #1459d9; }
.rc-form .form-status { border-color: #afc8f1; background: #edf4ff; color: #193e76; font-size: 13px; }
.rc-draft { display: grid; gap: 17px; }
.rc-draft[hidden] { display: none; }
.rc-draft .btn { width: 100%; white-space: normal; text-align: center; font-size: 12px; }
.rc-draft summary { cursor: pointer; padding-block: 8px; color: #1459d9; font-size: 12px; }
.rc-draft label { display: block; font-size: 12px; margin: 12px 0; }
.rc-draft textarea { width: 100%; resize: vertical; border: 1px solid #ccd9ef; border-radius: 10px; background: #fff; color: #172b49; font-size: 12px; padding: 12px; margin-bottom: 10px; }
.rc-faq.section { padding-block: 5px 70px; }
.rc-faq-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 90px; }
.rc-faq-grid > div > p { margin-top: 20px; color: #53647d; font-size: 15px; }
.rc-questions details { border-bottom: 1px solid #dde5f1; }
.rc-questions summary { cursor: pointer; padding: 22px 28px 22px 0; font-weight: 700; font-size: 15px; list-style: none; position: relative; }
.rc-questions summary::-webkit-details-marker { display: none; }
.rc-questions summary::after { content: '+'; position: absolute; right: 3px; top: 20px; color: #1459d9; font-size: 21px; font-weight: 400; }
.rc-questions details[open] summary::after { content: '−'; }
.rc-questions p { color: #53647d; font-size: 14px; line-height: 1.8; padding-bottom: 22px; }
.rc-imprint { padding-bottom: 36px; scroll-margin-top: 100px; }
.rc-imprint details { border-top: 1px solid #dce5f3; padding-top: 20px; }
.rc-imprint summary { cursor: pointer; font-size: 12px; color: #53647d; }
.rc-imprint p, .rc-imprint dl { font-size: 13px; color: #53647d; margin-top: 20px; }
.rc-imprint dl { display: flex; flex-wrap: wrap; gap: 25px; }
.rc-imprint dt { font-weight: 700; }
.rc-imprint dd { margin: 6px 0; }
.rw-contact .site-footer { border-top: 1px solid #e5edf6; }
@media(max-width: 1100px) {
 .rc-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .rc-topic h3 { max-width: none; }
 .rc-reach-panel { gap: 30px; padding: 32px; }
 .rc-form { padding: 25px; }
 .rc-form .form-row { grid-template-columns: 1fr; }
 .rc-method { gap: 20px; }
 .rc-method .rw-flow-icon { width: 48px; height: 48px; }
}
@media(max-width: 767px) {
 .rc-hero { padding-top: calc(var(--header-h) + 15px); }
 .rc-hero-panel { padding: 25px 20px 32px; border-radius: 22px; }
 .rc-hero .breadcrumb { margin-bottom: 26px; }
 .rc-hero h1 { font-size: clamp(33px,7vw,50px); }
 .rc-hero p { font-size: 14px; }
 .rc-desktop-break { display: none; }
 .rc-topics.section { padding-block: 45px; }
 .rc-section-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 26px; }
 .rc-section-head > p { font-size: 14px; }
 .rc-topic-grid { gap: 14px; }
 .rc-topic { padding: 22px 18px; }
 .rc-topic h3 { font-size: 20px; }
 .rc-reach.section { padding-bottom: 48px; }
 .rc-reach-panel { grid-template-columns: 1fr; padding: 30px 22px 22px; gap: 30px; border-radius: 22px; }
 .rc-reach-copy { padding: 0 5px; }
 .rc-reach-copy h2 { font-size: 32px; }
 .rc-contact-methods { gap: 20px; margin-top: 30px; }
 .rc-method strong { font-size: 16px; }
 .rc-method > span:nth-child(2) > span { font-size: 12px; }
 .rc-method-arrow { font-size: 19px; }
 .rc-response-note { margin-top: 22px; padding-top: 18px; }
 .rc-form { padding: 25px 20px; }
 .rc-faq-grid { grid-template-columns: 1fr; gap: 22px; }
 .rc-faq.section { padding-bottom: 40px; }
}
@media(max-width: 479px) {
 .rc-topic-grid { grid-template-columns: 1fr; }
 .rc-topic { display: grid; grid-template-columns: 56px 1fr; column-gap: 18px; }
 .rc-topic .rw-flow-icon { grid-column: 1; grid-row: 1/3; width: 56px; height: 56px; border-radius: 16px; }
 .rc-topic h3 { margin: 0; font-size: 20px; }
 .rc-topic p { grid-column: 2; margin: 10px 0 18px; font-size: 13px; }
 .rc-card-link { grid-column: 1/-1; }
 .rc-reach-panel { padding: 25px 14px 14px; }
 .rc-reach-copy h2 { font-size: 29px; }
 .rc-reach-copy > p { font-size: 14px; }
 .rc-form { padding: 24px 16px; }
 .rc-form h2 { scroll-margin-top: 110px; font-size: 25px; }
 .rc-eyebrow { font-size: 10px; }
}
@media(prefers-reduced-motion: reduce) {
 .rc-topic { transition: none; }
 .rc-topic:is(:hover,:focus-visible) { transform: none; }
}
@media(forced-colors: active) {
 .rc-form .field select { -webkit-appearance: auto; appearance: auto; background-image: none; }
}
