:root {
    --lp-surface:var(--theme-bg-card); --lp-soft:var(--theme-bg-secondary); --lp-text:var(--theme-text-primary); --lp-muted:var(--theme-text-secondary); --lp-border:var(--theme-border-color); --lp-brand:var(--theme-light-primary-ink); --lp-tint:color-mix(in srgb,var(--theme-primary-color) 12%,var(--lp-surface));
}
:root[data-theme="dark"] {
    --lp-surface:var(--theme-dark-bg-primary); --lp-soft:var(--theme-dark-bg-secondary); --lp-text:var(--theme-dark-text-primary); --lp-muted:var(--theme-dark-text-secondary); --lp-border:var(--theme-dark-border-color); --lp-brand:var(--theme-dark-primary-ink); --lp-tint:color-mix(in srgb,var(--theme-primary-color) 16%,var(--lp-surface));
}
body.avalon-landing {background:var(--lp-surface);color:var(--lp-text);overflow-wrap:break-word}
*,*::before,*::after {box-sizing:border-box}
.brand-text {color:var(--lp-brand)}
:focus-visible {outline:3px solid var(--lp-brand);outline-offset:5px}
.skip-link {position:fixed;top:8px;left:16px;z-index:200;background:var(--lp-surface);color:var(--lp-text);padding:12px 18px;transform:translateY(-160%)}
.skip-link:focus {transform:translateY(0)}
.avalon-header {height:58px;border-bottom:1px solid var(--lp-border);position:relative;z-index:30;background:var(--lp-surface)}
.avalon-header-inner {height:100%;display:flex;align-items:center;gap:24px}
.avalon-logo {display:inline-flex;flex-shrink:0;align-items:center}
.avalon-logo img {display:block;width:112px;height:28px;object-fit:contain}
.logo-on-dark,:root[data-theme="dark"] .logo-on-light {display:none!important}
:root[data-theme="dark"] .logo-on-dark {display:block!important}
.avalon-menu {display:flex;align-items:center;gap:24px;flex:1}
.avalon-menu a,.avalon-support {display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:20px;font-weight:700;color:var(--lp-text);white-space:nowrap}
.avalon-menu a:hover,.avalon-support:hover {color:var(--lp-brand)}
.menu-chevron {display:inline-block;flex-shrink:0;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
.avalon-header-actions {display:flex;align-items:center;gap:10px}
.avalon-login,.avalon-hire {display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:14px 19px;min-height:48px;font-size:14px;font-weight:700;line-height:20px;white-space:nowrap}
.avalon-login {border:1px solid var(--lp-text);color:var(--lp-text)}
.avalon-hire {background:var(--theme-primary-color);color:var(--theme-button-text)}
.avalon-hire:hover {background:var(--theme-primary-dark)}
.avalon-menu-toggle,.avalon-login svg,.mobile-hire,.avalon-menu .mobile-support {display:none}
.avalon-theme-toggle,.avalon-menu-toggle {border:0;background:transparent;color:var(--lp-text);cursor:pointer;flex-shrink:0;padding:5px;width:32px;height:32px;border-radius:6px}
.avalon-theme-toggle:hover {background:var(--lp-soft)}
.avalon-theme-toggle svg,.avalon-menu-toggle svg {display:block;width:22px;height:22px}
.avalon-theme-toggle .sun-icon,:root[data-theme="dark"] .avalon-theme-toggle .moon-icon {display:none}
:root[data-theme="dark"] .avalon-theme-toggle .sun-icon {display:block}
.home-hero .ctas .cta,.textImg-default .open-chat {color:var(--theme-button-text);background:var(--theme-primary-color)}
.home-hero .ctas .cta:hover,.textImg-default .open-chat:hover {background:var(--theme-primary-dark)}
.textImg-default .cta-outline .cta {color:var(--lp-brand);background:transparent;border:1px solid var(--lp-brand)}
.logos-carousel {padding:60px 0}
.home-hero .cta:first-of-type:after {position:static;transform:none;top:auto}
.avalon-rails {display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:49px;overflow:auto;scrollbar-width:none}
.avalon-rails::-webkit-scrollbar {display:none}
.avalon-rails>span {display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--lp-muted);font-size:19px;min-width:fit-content}
.avalon-rails svg {width:28px;height:28px;flex-shrink:0}
.avalon-mosaic {width:570px;max-width:100%;line-height:0}
.avalon-mosaic>svg {display:block;width:100%;height:auto}
:root[data-theme="dark"] .text-image-cards__card-icon {filter:brightness(1.8)}
.products-ecosystem__card,.steps-cards-carousel .card,.cases-by-table__card,.post-card {background-color:var(--lp-surface)}
:root[data-theme="dark"] .products-ecosystem__card,:root[data-theme="dark"] .steps-cards-carousel .card,:root[data-theme="dark"] .cases-by-table__card,:root[data-theme="dark"] .post-card {background-color:var(--theme-dark-bg-card)}
.avalon-case-label {display:block;font-size:14px;font-weight:700;color:var(--lp-muted);margin-bottom:8px;min-height:20px}
.avalon-code-demo {height:537px;padding:22px 16px 8px;background:var(--lp-surface);font-family:Arial,sans-serif;color:var(--lp-text);border-radius:16px;overflow:hidden}
.avalon-language-label {font-size:12px;font-weight:700;line-height:15px;margin-bottom:12px}
.avalon-code-tabs {display:flex;gap:6px;margin-bottom:26px}
.avalon-code-tabs button {border:1px solid transparent;border-radius:8px;background:transparent;color:var(--lp-text);padding:10px 4px;flex:1;min-width:0;cursor:pointer;font-size:11px;line-height:16px}
.avalon-code-tabs button[aria-selected="true"] {border-color:var(--lp-border)}
.avalon-code-tabs button>span {display:block;color:var(--lp-brand);font-size:15px;margin-bottom:6px;line-height:18px}
.auth-label {display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.auth-label small {font-size:10px;font-weight:400}
.avalon-code-auth {border:1px solid var(--lp-border);border-radius:7px;display:flex;align-items:center;background:var(--lp-soft);font-size:11px;height:42px;margin-bottom:20px;white-space:nowrap;overflow:hidden}
.avalon-code-auth b {padding:12px 10px;border-right:1px solid var(--lp-border)}
.avalon-code-auth>span {font:11px monospace;padding:10px;color:var(--lp-muted)}
.avalon-code-panel {border:1px solid #252d34;background:#384248;color:#e5e7ef;border-radius:8px;overflow:hidden}
.avalon-code-toolbar {height:42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #56616a;padding:12px 10px;font-size:12px;font-weight:600}
.avalon-code-panel pre {margin:0;padding:22px 18px;height:202px;overflow:auto;white-space:pre;line-height:1.55;font-size:11px;color:#d5c0ed;tab-size:2}
.avalon-code-panel pre::selection {background:#0752e8}
.avalon-code-bottom {padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.avalon-code-bottom a,.avalon-code-bottom button {border:0;border-radius:6px;background:#15191c;color:#fff;padding:9px 12px;font-size:12px;cursor:pointer}
.avalon-code-bottom button {padding:5px 0;background:transparent;color:#e5e7ef}
.questions-section .section-question-wrapper {outline-offset:4px}
.questions-section .section-item .section-answer {color:var(--lp-muted)}
.avalon-footer {background:var(--lp-surface);padding-top:52px;padding-bottom:50px;color:var(--lp-muted)}
.avalon-footer .footer-sitemap {display:flex;justify-content:space-between;gap:42px}
.avalon-footer .group-column {flex:1;min-width:0}
.avalon-footer .footer-sitemap-group {margin-bottom:32px}
.avalon-footer .footer-sitemap-group-title {color:var(--lp-muted);border:0;background:transparent;padding:0;font-size:12px;line-height:20px;font-weight:700;text-transform:uppercase;cursor:default}
.avalon-footer .footer-sitemap-group-title .menu-chevron {display:none}
.avalon-footer .footer-sitemap-list {display:block;list-style:none;margin:12px 0 0;padding:0}
.avalon-footer .footer-sitemap-item {margin:0 0 9px}
.avalon-footer .footer-sitemap-item a {font-size:13px;line-height:20px;color:var(--lp-muted)}
.avalon-footer .footer-sitemap-item a:hover {color:var(--lp-brand)}
.avalon-footer-trust p {font-size:13px;line-height:21px}
.avalon-trust-icons {display:flex;gap:15px;margin-bottom:22px}
.avalon-trust-icons svg {width:46px;height:46px}
.avalon-footer-contact {display:inline-flex;margin-top:18px;color:var(--lp-muted);gap:14px;font-size:13px}
.avalon-footer .footer-bottom {display:flex;gap:50px;align-items:flex-start;margin-top:60px;border-top:1px solid var(--lp-border);padding-top:28px}
.avalon-footer .copyright {font-size:12px;line-height:20px;color:var(--lp-muted)}
.avalon-contact-float {position:fixed;right:20px;bottom:24px;width:56px;height:56px;background:var(--theme-primary-color);color:var(--theme-button-text);display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:40;box-shadow:0 4px 14px #0002}
.avalon-contact-float svg {width:34px;height:34px}
@media(max-width:1250px) and (min-width:1000px) {.avalon-header-inner {gap:16px}.avalon-menu {gap:15px}.avalon-support {display:none}.avalon-header-actions {gap:8px}.avalon-login,.avalon-hire {padding:12px 14px}}
@media(min-width:768px) {
    .text-image-cards__media {min-width:0;flex:1}
    .text-image-cards__content {flex:0 1 55%}
}
@media(min-width:768px) and (max-width:1199px) {
    .big-numbers-highlight .featured {min-width:0;padding-left:18px;padding-right:18px}
}
@media(min-width:1200px) {
    .text-image-cards__media {min-width:0;flex:1}
    .text-image-cards__content {flex:0 1 588px}
    .text-image-cards {min-height:832.78125px}
    .products-ecosystem {min-height:1236px}
    .api-page {min-height:864px}
    .steps-cards-carousel {min-height:672.1875px}
    .cases-by-table {min-height:692.390625px}
    .avalon-footer {min-height:681px}
}
@media(max-width:999px) {
    .avalon-header {height:94px}.avalon-header-inner {gap:12px}
    .avalon-menu-toggle {display:block;width:26px;padding:2px}
    .avalon-logo img {width:100px;height:28px}
    .avalon-header-actions {margin-left:auto;gap:8px}
    .avalon-menu {display:none;position:absolute;top:100%;left:0;width:100%;background:var(--lp-surface);border-bottom:1px solid var(--lp-border);padding:20px var(--container-size);box-shadow:0 12px 18px #0001;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 94px);overflow:auto}
    .avalon-menu.is-open {display:flex}.avalon-menu a {padding:15px 0;border-bottom:1px solid var(--lp-border);justify-content:space-between}.avalon-menu .mobile-support {display:flex}
    .avalon-support {display:none}.avalon-login span {display:none}.avalon-login svg {display:block;width:22px;height:22px}
    .avalon-login {width:40px;min-height:40px;padding:8px;border-radius:12px}
    .avalon-hire {min-height:44px;padding:12px 18px;border-radius:12px}
    .desktop-hire {display:none}.mobile-hire {display:inline}
}
@media(max-width:767px) {
    /* Preserve the spacing between the reference sections with Avalon-specific copy. */
    .text-image-cards.custom {padding-bottom:54px}
    .products-ecosystem {padding-bottom:92px}
    .api-page {padding-bottom:90px}
    .cases-by-table {padding-bottom:88px}
    .blog-posts {padding-bottom:48px}
    .avalon-header-inner {gap:8px}.avalon-header-actions {gap:6px}.avalon-theme-toggle {width:27px;padding:3px}
    .avalon-hire {padding:12px 15px;font-size:14px}
    .avalon-footer {padding-top:40px;padding-bottom:154px}
    .avalon-footer .footer-sitemap {display:block}
    .avalon-footer .footer-sitemap-group {margin:0;border-bottom:1px solid var(--lp-border)}
    .avalon-footer .footer-sitemap-group-title {display:flex;width:100%;align-items:center;justify-content:space-between;padding:18px 0;font-size:13px;cursor:pointer}
    .avalon-footer .footer-sitemap-group-title .menu-chevron {display:block}
    .avalon-footer .footer-sitemap-list {display:none;padding:0 0 12px;margin:0}
    .avalon-footer .footer-sitemap-group.is-open .footer-sitemap-list {display:block}
    .avalon-footer .footer-sitemap-group.is-open .menu-chevron {transform:rotate(225deg)}
    .avalon-footer .avalon-footer-trust {padding-top:32px}
    .avalon-trust-icons {gap:24px}
    .avalon-footer .footer-bottom {flex-direction:column;margin-top:36px;gap:20px;padding-top:24px}
    .avalon-rails {gap:40px}.avalon-rails>span {font-size:17px}
    .avalon-contact-float {right:16px;bottom:18px}
    .avalon-code-demo {padding:17px 12px 7px;height:auto;aspect-ratio:466/537}
    .avalon-code-demo .avalon-language-label {font-size:10px;line-height:12px;margin-bottom:9px}
    .avalon-code-tabs {margin-bottom:18px}
    .avalon-code-tabs button {padding:6px 4px;font-size:10px;line-height:13px}
    .avalon-code-tabs button>span {font-size:13px;line-height:14px;margin-bottom:4px}
    .avalon-code-auth {height:32px;margin-bottom:15px}
    .avalon-code-auth>span {font-size:9px}
    .avalon-code-toolbar {height:32px;padding:8px 10px;font-size:10px}
    .avalon-code-panel pre {height:clamp(100px,39vw,153px);padding:12px;font-size:10px}
    .avalon-code-bottom {padding:8px 10px}
}
@media(max-width:359px) {.avalon-header-inner {gap:6px}.avalon-logo img {width:84px;height:25px}.avalon-header-actions {gap:4px}.avalon-hire {font-size:12px;padding:10px}.avalon-login {width:34px;min-height:36px}.avalon-theme-toggle {width:24px}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto!important}*,*::before,*::after {transition:none!important;animation:none!important}}

/* Public company navigation shared by the landing and the Avalon blog. */
.avalon-nav-group{position:relative}
.avalon-nav-trigger{display:inline-flex;align-items:center;gap:7px;font:700 14px/20px 'Museo Sans',sans-serif;color:var(--lp-text);background:none;border:0;padding:0;cursor:pointer;white-space:nowrap}
.avalon-nav-trigger:hover{color:var(--lp-brand)}
.avalon-company-menu{position:absolute;top:calc(100% + 18px);left:-24px;width:370px;max-width:calc(100vw - 32px);padding:12px;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:16px;box-shadow:0 14px 28px #0002;z-index:50}
.avalon-company-menu[hidden]{display:none}
.avalon-menu .avalon-company-menu a{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;border-radius:10px;white-space:normal;font-size:14px;line-height:20px}
.avalon-company-menu a:hover{background:var(--lp-soft)}
.avalon-company-menu strong{font-size:16px;line-height:24px}
.avalon-company-menu span{font-weight:300;color:var(--lp-muted)}
.avalon-company-menu b{font-size:13px;color:var(--lp-brand)}
@media(max-width:999px){.avalon-nav-trigger{width:100%;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--lp-border)}.avalon-company-menu{position:static;width:100%;max-width:none;box-shadow:none;margin:8px 0;border:0;border-left:2px solid var(--lp-brand);border-radius:0;padding:0 0 0 12px}.avalon-menu .avalon-company-menu a{padding:12px;gap:5px}}
