/* Contact and legal surfaces preserve the landing's Manrope/silver/lime system. */
.contact-dialog { box-sizing: border-box; max-width: 540px; width: calc(100% - 32px); padding: 32px; max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; background: #fff; box-shadow: 0 24px 80px #18212a30; }
.contact-dialog h2 { margin: 0 46px 12px 0; font-size: 28px; font-weight: 650; line-height: 1.2; letter-spacing: -.03em; }
.contact-dialog .close { float: right; margin: -8px -8px 0 0; width: 44px; height: 44px; }
.contact-dialog #dialog-description { margin: 0 0 24px; font-size: 15px; line-height: 1.6; color: #555e66; }
.contact-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.channel-link { display: flex; gap: 10px; align-items: center; justify-content: center; min-height: 56px; padding: 12px; background: #f2f4f5; color: #1e2327; border-radius: 12px; font-size: 14px; font-weight: 650; text-decoration: none; transition: background 160ms ease; }
.channel-link img { flex: 0 0 24px; object-fit: contain; }
.channel-link:hover { background: #e7ebee; }
.contact-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 4px; color: #636c74; font-size: 13px; }
.contact-divider::before,.contact-divider::after { content: ''; flex: 1; height: 1px; background: #e3e7ea; }
.contact-dialog .field-label { margin: 16px 0 0; font-size: 14px; font-weight: 600; }
.contact-dialog .field { box-sizing: border-box; margin: 8px 0 0; padding: 14px; height: 54px; }
.contact-dialog .cta-guidance { margin: 22px 0 0; }
:is(#consultation-form, #dialog-form) .form-consent { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #e3e7ea; }
:is(#consultation-form, #dialog-form) .consent-choice { grid-column: 1 / -1; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; min-height: 44px; margin: 0; cursor: pointer; color: #424c55; font-size: 13px; line-height: 1.55; font-weight: 400; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"] { appearance: none; display: grid; place-content: center; box-sizing: border-box; width: 22px; height: 22px; min-height: 22px; padding: 0; margin: 0; border: 1px solid #a5aeb5; border-radius: 6px; background: #fff; cursor: pointer; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]::before { content: ''; width: 9px; height: 5px; margin-top: -2px; border-left: 2px solid #202427; border-bottom: 2px solid #202427; transform: rotate(-45deg); visibility: hidden; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]:checked { background: #c9fe6e; border-color: #c9fe6e; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]:checked::before { visibility: visible; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]:focus-visible { outline: 2px solid #202427; outline-offset: 4px; }
:is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]:disabled { opacity: .55; cursor: progress; }
:is(#consultation-form, #dialog-form) .consent-copy { min-width: 0; padding-top: 1px; text-wrap: pretty; }
:is(#consultation-form, #dialog-form) .legal-links { grid-column: 2; display: block; min-width: 0; margin: 0; font-size: 12px; line-height: 1.5; }
:is(#consultation-form, #dialog-form) .legal-links a { display: inline-flex; align-items: center; min-height: 32px; color: #424c55; text-decoration: underline; text-decoration-color: #a5aeb5; text-underline-offset: 3px; }
:is(#consultation-form, #dialog-form) .form-consent a:focus-visible { outline: 2px solid #202427; outline-offset: 3px; border-radius: 2px; }
@media (hover: hover) and (pointer: fine) {
 :is(#consultation-form, #dialog-form) .form-consent a:hover { color: #202427; text-decoration-color: currentColor; }
 :is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]:not(:disabled):hover { border-color: #202427; }
}
@media (forced-colors: active) {
 :is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"] { appearance: auto; }
 :is(#consultation-form, #dialog-form) .consent-choice input[type="checkbox"]::before { display: none; }
}
.contact-dialog .cta { margin-top: 20px; font-size: 15px; font-weight: 650; min-height: 54px; }
.contact-dialog .feedback { font-size: 12px; line-height: 1.6; color: #636c74; margin: 12px 0 0; }
.site-footer { gap: 40px; padding: 48px 65px 24px; background: #f2f4f5; }
.footer-brand p { margin: 20px 0 0; font-size: 15px; line-height: 1.6; color: #555e66; max-width: 30ch; }
.footer-reach { justify-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.footer-reach h2 { margin: 0 0 8px; font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
.footer-reach>a { min-height: 44px; display: flex; align-items: center; color: #424c55; font-size: 14px; text-decoration: none; }
.footer-reach>a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-reach .footer-contact { min-height: 44px; font-size: 15px; color: #1e2327; font-weight: 650; text-underline-offset: 4px; }
.site-footer .footer-meta { margin-top: 0; gap: 24px; font-size: 12px; color: #555e66; align-items: flex-start; }
.footer-operator { display: flex; flex-direction: column; gap: 8px; }
.footer-meta nav { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: flex-end; }
.footer-meta nav a { display: flex; align-items: center; min-height: 44px; color: #424c55; text-underline-offset: 4px; }
.contact-dialog :focus-visible,.site-footer :focus-visible,.legal-document :focus-visible { outline: 2px solid #496626; outline-offset: 4px; }
@media(max-width:650px) {
 .contact-dialog { padding: 24px; }
 .contact-dialog h2 { font-size: 25px; }
 .contact-channels { grid-template-columns: 1fr 1fr; gap: 8px; }
 .channel-prefix { display: none; }
 .channel-link { min-height: 50px; justify-content: center; padding: 10px 8px; gap: 8px; }
 .channel-link img { width: 20px; height: 20px; flex-basis: 20px; }
 .contact-divider { margin-top: 18px; }
 .contact-dialog .field-label { margin-top: 12px; }
 .contact-dialog .cta-guidance { margin-top: 18px; }
 .contact-dialog .cta-guidance { font-size: 15px; }
 .site-footer { padding: 36px 24px 24px; gap: 32px; }
 .footer-reach { justify-self: start; }
 .site-footer .footer-meta { flex-direction: column; gap: 20px; }
 .footer-meta nav { flex-direction: column; gap: 0; align-items: flex-start; }
}
@media(prefers-reduced-motion:reduce) { .channel-link { transition: none; } }
@media(max-width:360px) { .contact-channels { grid-template-columns: repeat(2,minmax(0,1fr)); } .channel-link { font-size: 13px; gap: 6px; } }

.consent-copy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Compact country picker, shared by the landing and case contact forms. */
.phone-field { display: flex; align-items: stretch; margin-top: 8px; border: 1px solid #8c8c8c; border-radius: 12px; background: var(--surface-raised, #fff); color: var(--text-main, #161616); }
.phone-field:focus-within { outline: 2px solid var(--text-main, #161616); outline-offset: 3px; }
.phone-country { position: relative; display: flex; flex: 0 0 auto; border-right: 1px solid #d5d5d5; border-radius: 11px 0 0 11px; }
.phone-country-trigger { display: flex; align-items: center; gap: 7px; min-width: 98px; min-height: 52px; padding: 0 11px; border: 0; border-radius: 11px 0 0 11px; background: transparent; color: inherit; font: 500 14px/1.4 Manrope, Arial, sans-serif; }
.phone-country-trigger:hover, .phone-country-trigger[aria-expanded="true"] { background: #f2f4f5; }
.phone-country-trigger::after { content: ''; flex: 0 0 5px; width: 5px; height: 5px; margin-left: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.phone-country-trigger:focus-visible { outline: none; }
.phone-country-trigger:disabled { opacity: .6; cursor: progress; }
.phone-country-flag, .phone-country-option img { flex: 0 0 18px; display: block; width: 18px; height: 14px; object-fit: cover; border-radius: 2px; }
.phone-code, .phone-country-dial { font-variant-numeric: tabular-nums; }
.phone-field .phone-national.field { flex: 1; min-width: 0; width: 100%; height: 52px; margin: 0; padding: 14px 12px; border: 0; border-radius: 0 11px 11px 0; outline: none; font-size: 16px; }
.phone-field .phone-national::placeholder { color: #555e66; opacity: 1; }
.phone-country-menu { position: fixed; inset: auto; z-index: 50; display: flex; flex-direction: column; box-sizing: border-box; width: 276px; max-height: 276px; margin: 0; padding: 6px; border: 0; border-radius: 12px; background: #fff; color: #161616; box-shadow: 0 8px 32px #18212a2b; overflow: hidden; font-family: Manrope, Arial, sans-serif; }
.phone-country-menu[hidden] { display: none; }
.phone-country-menu .phone-country-search { flex: 0 0 auto; box-sizing: border-box; width: 100%; min-width: 0; height: 38px; min-height: 38px; margin: 0 0 5px; padding: 8px 10px; border: 1px solid #d5d5d5; border-radius: 8px; background: #f5f6f7; color: #161616; font: 400 16px/1.4 Manrope, Arial, sans-serif; }
.phone-country-search::placeholder { color: #555e66; opacity: 1; }
.phone-country-search:focus-visible { outline: 2px solid #202427; outline-offset: -2px; }
.phone-country-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #b0b0b0 transparent; }
.phone-country-option { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: inherit; text-align: left; font: 400 13px/1.4 Manrope, Arial, sans-serif; }
.phone-country-option:hover, .phone-country-option:focus-visible { background: #f1f3f5; outline: none; }
.phone-country-option[aria-selected="true"] { background: #e4efda; }
.phone-country-name { flex: 1; min-width: 0; }
.phone-country-dial { flex: 0 0 auto; color: #555e66; font-size: 12px; }
.phone-country-menu .phone-country-empty { margin: 10px; color: #555e66; font-size: 13px; line-height: 1.5; }
.phone-country-empty[hidden] { display: none; }
@media(prefers-reduced-motion:reduce) { .phone-country-trigger, .phone-country-option { transition: none; } }
