.otb-site-footer {
    background: #376fec;
    color: #fff;
    font: 400 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-bottom: 32px;
    overflow-wrap: anywhere;
}
.otb-site-footer *,
.otb-site-footer *::before,
.otb-site-footer *::after { box-sizing: border-box; }
.otb-site-footer :is(p, h3, ul) { margin: 0; }
.otb-site-footer a { color: inherit; text-decoration: none; }
.otb-site-footer img { display: block; max-width: 100%; width: auto; }
.otb-site-footer :is(a, button, input, textarea):focus-visible {
    outline: 2px solid #55f0ac;
    outline-offset: 4px;
}
.otb-site-footer .otb-footer-wrap { width: 100%; margin: 0 auto; padding: 0 16px; }
.otb-site-footer .otb-footer-top { padding-top: 52px; }
.otb-site-footer .otb-footer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: start; }
.otb-site-footer .otb-footer-grid > * { min-width: 0; }
.otb-site-footer .otb-footer-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
.otb-site-footer .otb-footer-brand img { height: 32px; margin-bottom: 8px; }
.otb-site-footer .otb-footer-brand p { font-weight: 300; margin-bottom: 20px; }
.otb-site-footer .otb-footer-menu { margin-top: 40px; }
.otb-site-footer .otb-footer-menu-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.otb-site-footer .otb-footer-menu h3 { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 20px; }
.otb-site-footer .otb-footer-menu ul { list-style: none; padding: 0; }
.otb-site-footer .otb-footer-menu li + li { margin-top: 12px; }
.otb-site-footer .otb-footer-menu a { font-size: 14px; }
.otb-site-footer :is(.otb-footer-menu a, .otb-footer-social a):hover { color: #55f0ac; }
.otb-site-footer #footer-contact-form { padding: 0 24px; }
.otb-site-footer #footer-contact-form > * + * { margin-top: 16px; }
.otb-site-footer #footer-contact-form h3 { color: #fff; font-size: 24px; line-height: 1.33; font-weight: 600; margin-bottom: 20px; }
.otb-site-footer .otb-footer-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.otb-site-footer #footer-contact-form :is(input:not([type="hidden"]), textarea) {
    display: block;
    width: 100%;
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    background: #f8fafc;
    color: #1e293b;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.otb-site-footer #footer-contact-form textarea { resize: vertical; }
.otb-site-footer #footer-contact-form :is(input, textarea)::placeholder { color: #64748b; opacity: 1; }
.otb-site-footer #footer-contact-form [aria-invalid="true"] { border-color: #b91c1c; outline-color: #fecaca; }
.otb-site-footer #footer-contact-form [id^="error-"] { color: #fff; font-size: 12px; margin-top: 4px; }
.otb-site-footer #footer-form-status { color: #fff; font-size: 14px; }
.otb-site-footer #footer-captcha-question { display: block; font-size: 14px; margin-bottom: 4px; color: #fff; }
.otb-site-footer #footer-submit {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%; min-height: 44px; padding: 8px 16px; border: 0;
    border-radius: 6px; background: #9cd23a; color: #fff;
    font: inherit; font-weight: 500; cursor: pointer;
}
.otb-site-footer #footer-submit:hover { background: #9cd23a; }
.otb-site-footer #footer-submit:disabled { opacity: .65; cursor: wait; }
.otb-site-footer #footer-submit svg { width: 16px; height: 16px; margin-left: 8px; animation: otb-footer-spin 1s linear infinite; }
.otb-site-footer .hidden { display: none; }
.otb-site-footer .otb-footer-group { margin-top: 40px; }
.otb-site-footer .otb-footer-group-panel { border-radius: 16px; background: white; padding: 28px 20px; color: #10231b; }
.otb-site-footer .otb-footer-brands > p { margin-bottom: 20px; text-align: center; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.otb-site-footer .otb-footer-brands-row { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; }
.otb-site-footer .otb-footer-brands-row a { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; max-width: 100%; min-height: 44px; opacity: .9; }
.otb-site-footer .otb-footer-brands-row a:hover { opacity: 1; }
.otb-site-footer .otb-footer-brands-row a > img { min-width: 0; }
.otb-site-footer .otb-footer-brands-row a:nth-of-type(2) img { height: 27px; }
.otb-site-footer .otb-footer-brands-row > span { display: none; width: 1px; height: 32px; background: rgb(16 35 27 / .2); flex-shrink: 0; }
.otb-site-footer .otb-footer-bottom { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding-top: 32px; border-top: 1px dashed rgb(255 255 255 / .4); }
.otb-site-footer .otb-footer-credit { display: flex; flex-direction: column; align-items: center; gap: 16px; font-size: 14px; text-align: center; }
.otb-site-footer .otb-footer-credit > a { display: inline-flex; align-items: center; min-height: 44px; }
.otb-site-footer .otb-footer-credit img { height: 24px; }
.otb-site-footer .otb-footer-credit > span { display: none; width: 1px; height: 24px; background: rgb(255 255 255 / .4); }
.otb-site-footer .otb-footer-follow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; font-size: 14px; }
.otb-site-footer .otb-footer-social { display: flex; align-items: center; gap: 8px; }
.otb-site-footer .otb-footer-social a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 50%; }
.otb-site-footer .otb-footer-social svg { display: block; width: 24px; height: 24px; fill: currentColor; }
@keyframes otb-footer-spin { to { transform: rotate(360deg); } }
@media (min-width: 640px) {
    .otb-site-footer .otb-footer-wrap { max-width: 640px; }
    .otb-site-footer .otb-footer-brand img { height: 40px; }
    .otb-site-footer .otb-footer-group { margin-top: 48px; }
    .otb-site-footer .otb-footer-group-panel { padding: 32px; }
    .otb-site-footer .otb-footer-brands-row { flex-direction: row; flex-wrap: wrap; gap: 24px; }
    .otb-site-footer .otb-footer-brands-row > span { display: block; }
    .otb-site-footer .otb-footer-credit { flex-direction: row; text-align: left; }
    .otb-site-footer .otb-footer-credit > span { display: block; }
}
@media (min-width: 768px) {
    .otb-site-footer .otb-footer-wrap { max-width: 768px; }
    .otb-site-footer .otb-footer-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; }
    .otb-site-footer .otb-footer-brand { align-items: flex-start; text-align: left; }
    .otb-site-footer .otb-footer-brand img { height: 48px; }
    .otb-site-footer .otb-footer-menu-columns { grid-template-columns: repeat(var(--footer-columns, 1), minmax(0, 1fr)); }
    .otb-site-footer .otb-footer-bottom { flex-direction: row; }
}
@media (min-width: 1024px) {
    .otb-site-footer .otb-footer-wrap { max-width: 1024px; }
    .otb-site-footer .otb-footer-brand img { height: 40px; }
    .otb-site-footer .otb-footer-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .otb-site-footer .otb-footer-brands-row { gap: 40px; }
}
@media (min-width: 1280px) { .otb-site-footer .otb-footer-wrap { max-width: 1280px; } }
@media (min-width: 1536px) { .otb-site-footer .otb-footer-wrap { max-width: 1536px; } }
@media (prefers-reduced-motion: reduce) { .otb-site-footer #footer-submit svg { animation: none; } }
