:root {
    --site-nav-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.site-nav {
    position: fixed;
    top: 42px;
    left: 0;
    right: 0;
    z-index: 1200;
    padding: 14px 18px 0;
    font-family: var(--site-nav-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    font-synthesis: none;
    transition: padding .28s ease;
}

.site-nav button,
.site-nav input,
.site-nav textarea,
.site-nav select { font-family: var(--site-nav-font); }

.site-skip-link {
    position: fixed;
    top: 50px;
    left: 18px;
    z-index: 2500;
    padding: .8rem 1rem;
    border-radius: 12px;
    background: #fff;
    color: #171923;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(15,18,28,.18);
    transform: translateY(calc(-100% - 64px));
    transition: transform .2s ease;
}

.site-skip-link:focus { transform: translateY(0); }
body.announcement-dismissed .site-skip-link { top:10px; }
.site-main-anchor { display:block; height:0; scroll-margin-top:112px; }

.site-nav-shell {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
    max-width: 1320px;
    margin: 0 auto;
    min-height: 78px;
    padding: 0 24px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(201,19,26,.96), rgba(255,48,53,.94));
    box-shadow: 0 24px 60px rgba(15,18,28,.24);
    backdrop-filter: blur(18px);
    transition: min-height .28s ease, background .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.site-nav.is-scrolled { padding-top: 8px; }
.site-nav.is-scrolled .site-nav-shell {
    min-height: 68px;
    border-color: rgba(255,255,255,.2);
    background: linear-gradient(135deg, rgba(170,13,20,.98), rgba(229,31,37,.98));
    box-shadow: 0 18px 48px rgba(15,18,28,.3);
}

.site-nav-logo { display:flex; align-items:center; gap:.85rem; color:#fff; font-weight:800; line-height:1; letter-spacing:-.015em; }
.site-nav-icon {
    display:grid; place-items:center; width:44px; height:44px; border-radius:14px;
    box-shadow: 0 12px 28px rgba(255,48,53,.28);
    overflow:hidden;
}
.site-nav-icon img { display:block; width:100%; height:100%; object-fit:cover; }
.site-nav-wordmark { display:grid; gap:.12rem; font-size:1.16rem; }
.site-nav-wordmark small { color:rgba(255,255,255,.54); font-size:.53rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }

.site-nav-center { justify-self:center; }
.site-nav-list { display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; }
.site-nav-item { position:relative; }
.site-nav-link {
    display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.75rem 1rem;
    border:0; background:transparent; color:rgba(255,255,255,.88); font-family:var(--site-nav-font);
    font-size:.94rem; font-weight:700; line-height:1.2; letter-spacing:-.015em; cursor:pointer;
    border-radius:14px; transition:background .2s ease,color .2s ease,transform .2s ease;
}
.site-nav-link-arrow { width:15px; height:15px; margin-left:.4rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s ease; }
.site-nav-item.is-open > .site-nav-link .site-nav-link-arrow { transform:rotate(180deg); }
.site-nav-link:hover, .site-nav-item.is-active > .site-nav-link, .site-nav-item:hover > .site-nav-link {
    background: rgba(255,255,255,.08); color:#fff;
}
.site-nav-link:focus-visible,
.site-nav-icon-btn:focus-visible,
.site-nav-cta:focus-visible,
.site-nav-burger:focus-visible,
.site-nav-ddl:focus-visible,
.demo-modal-close:focus-visible,
.demo-submit:focus-visible {
    outline: 3px solid rgba(255,255,255,.92);
    outline-offset: 3px;
}
.site-nav-item.is-active > .site-nav-link { color:#ffd5d6; }

@media (max-width: 1320px) and (min-width: 1061px) {
    .site-nav-shell { gap:.75rem; padding-inline:18px; }
    .site-nav-link { padding:.7rem .68rem; font-size:.84rem; }
    .site-nav-wordmark small { display:none; }
    .site-nav-cta { padding-inline:1rem; }
}

@media (max-width: 1320px) {
    .announcement-bar { justify-content:flex-start; min-height:42px; padding:.5rem 3rem .5rem 1rem; overflow:hidden; }
    .announcement-bar > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .announcement-badge, .announcement-countdown { display:none; }
    .announcement-bar > a { flex:0 0 auto; }
}

.site-nav-panels {
    position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%);
    width:min(1060px, calc(100vw - 36px)); pointer-events:none;
}
.site-nav-panel {
    display:none;
    padding:16px;
    border:1px solid rgba(226,230,238,.9);
    border-radius:24px;
    background:#fff;
    box-shadow:0 28px 70px rgba(18,24,39,.18);
}
.site-nav-panel.is-open { display:block; pointer-events:auto; }
.site-nav-panel.is-open { animation: nav-panel-in .24s cubic-bezier(.2,.8,.2,1) both; }
.site-nav-panel-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:1.5rem; }
.site-nav-col { padding:.5rem; }
.site-nav-kicker { display:block; margin-bottom:.7rem; color:#d92127; font-size:.7rem; font-weight:800; line-height:1.3; letter-spacing:.14em; text-transform:uppercase; }
.site-nav-col h3 { margin:0 0 .75rem; color:#171923; font-size:1.5rem; font-weight:800; line-height:1.15; letter-spacing:-.03em; }
.site-nav-col p { margin:0; color:#5f6472; font-size:.91rem; font-weight:400; line-height:1.62; }
.site-nav-ddl {
    display:flex; padding:1rem 1.05rem; border:1px solid #eceef2; border-radius:16px; background:#fff; color:#171923;
    font-size:.92rem; font-weight:700; line-height:1.25; letter-spacing:-.012em; margin-bottom:.85rem;
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.site-nav-ddl:hover, .site-nav-ddl:focus-visible { transform:translateY(-2px); border-color:#ffcacc; background:#fff5f5; color:#d92127; }

.site-nav-panel-grid.is-solution-menu,
.site-nav-panel-grid.is-project-menu { grid-template-columns:.72fr 1.28fr; gap:1rem; }
.site-nav-menu-intro {
    display:flex; flex-direction:column; min-height:100%; padding:1.35rem; border-radius:19px;
    background:linear-gradient(145deg,#f7f8fa,#fff3f3);
}
.site-nav-menu-intro h3 { font-size:1.7rem; font-weight:800; line-height:1.14; letter-spacing:-.035em; }
.site-nav-menu-intro p { font-size:.91rem; font-weight:400; line-height:1.62; }
.site-nav-panel-cta {
    display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.4rem;
    color:#d92127; font-size:.82rem; font-weight:700; line-height:1.25; letter-spacing:-.01em;
}
.site-nav-panel-cta span { font-size:1.1rem; transition:transform .2s ease; }
.site-nav-panel-cta:hover span { transform:translateX(4px); }
.site-nav-solution-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; padding:.35rem; }
.site-nav-link-group { min-width:0; }
.site-nav-group-title {
    display:block; margin:0 0 .55rem; padding:0 .2rem; color:#8a8f9b; font-size:.66rem; font-weight:800; line-height:1.3;
    letter-spacing:.1em; text-transform:uppercase;
}
.site-nav-compact-links { display:grid; gap:.42rem; }
.site-nav-compact-link {
    display:block; min-width:0; padding:.67rem .78rem; border:1px solid #eceef2; border-radius:13px; background:#fff;
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.site-nav-compact-link strong { display:block; color:#1c1f28; font-size:.83rem; font-weight:700; line-height:1.25; letter-spacing:-.012em; }
.site-nav-compact-link small { display:block; margin-top:.22rem; color:#858a96; font-size:.68rem; font-weight:500; line-height:1.4; }
.site-nav-compact-link:hover,.site-nav-compact-link:focus-visible { transform:translateX(3px); border-color:#ffcacc; background:#fff7f7; }
.site-nav-compact-link:hover strong,.site-nav-compact-link:focus-visible strong { color:#d92127; }
.site-nav-compact-link.is-accent { border-color:#ffd3d4; background:#fff4f4; }
.site-nav-project-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; padding:.35rem; }
.site-nav-project-link {
    display:flex; align-items:center; gap:.85rem; min-width:0; min-height:94px; padding:1rem; border:1px solid #e9ebef;
    border-radius:18px; background:#fff; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.site-nav-project-link>span {
    flex:0 0 auto; display:grid; place-items:center; width:46px; height:46px; border-radius:14px;
    background:color-mix(in srgb,var(--project-color) 13%,#fff); color:var(--project-color); font-size:.78rem; font-weight:800; line-height:1;
}
.site-nav-project-link div { min-width:0; }
.site-nav-project-link strong { display:block; color:#1c1f28; font-size:.83rem; font-weight:700; line-height:1.25; letter-spacing:-.012em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-nav-project-link small { display:block; margin-top:.25rem; color:#858a96; font-size:.68rem; font-weight:500; line-height:1.4; }
.site-nav-project-link:hover,.site-nav-project-link:focus-visible { transform:translateY(-2px); border-color:color-mix(in srgb,var(--project-color) 38%,#e9ebef); box-shadow:0 12px 26px rgba(23,25,35,.07); }

.site-nav-end { display:flex; align-items:center; gap:.7rem; }
.site-nav-icon-btn {
    display:grid; place-items:center; width:44px; height:44px; border-radius:14px; color:#fff;
    border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05);
    cursor:pointer;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.site-nav-icon-btn:hover { transform: translateY(-2px); background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.24); }
.site-nav-icon-btn svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; }
.site-nav-cta {
    display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.9rem 1.2rem;
    border-radius:14px; background:#ff3035; color:#fff; font-size:.94rem; font-weight:700; line-height:1.2;
    border:0; cursor:pointer; letter-spacing:-.015em; box-shadow:0 14px 30px rgba(255,48,53,.24);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-nav-cta:hover { transform: translateY(-2px); background:#e9252a; box-shadow:0 18px 34px rgba(255,48,53,.3); }
.site-nav-burger { display:none; flex-direction:column; gap:4px; border:0; background:transparent; padding:.4rem; cursor:pointer; }
.site-nav-burger span { display:block; width:22px; height:2px; background:#fff; border-radius:999px; }

.site-nav-mobile {
    display:none;
    max-width:1320px;
    max-height:calc(100dvh - 132px);
    margin:10px auto 0;
    padding:12px;
    border:1px solid rgba(226,230,238,.95);
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 60px rgba(18,24,39,.14);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:stable;
}
.site-nav-mobile.is-open { display:grid; gap:8px; }
.site-nav-mobile.is-open { animation: mobile-nav-in .24s cubic-bezier(.2,.8,.2,1) both; }
.site-nav-mobile-link {
    display:block; width:100%; padding:1rem 1.05rem; border:0; border-radius:14px; color:#171923; background:#f8f9fb;
    font-size:.94rem; font-weight:700; line-height:1.25; letter-spacing:-.012em;
    text-align:left; cursor:pointer;
}
.site-nav-mobile-link.is-accent { background:#ff3035; color:#fff; }

.demo-modal {
    width:min(1040px, calc(100% - 1.5rem));
    border:0;
    padding:0;
    margin:auto;
    inset:0;
    border-radius:28px;
    background:#fff;
    box-shadow:0 30px 90px rgba(15,18,28,.3);
    max-height:calc(100dvh - 1.5rem);
    overflow:hidden;
    opacity:0;
    transform:translateY(16px) scale(.975);
    transition:opacity .22s ease, transform .22s ease, overlay .22s ease allow-discrete, display .22s ease allow-discrete;
}
.demo-modal[open] { opacity:1; transform:translateY(0) scale(1); }
.demo-modal.is-closing { opacity:0; transform:translateY(12px) scale(.98); }
.demo-modal::backdrop { background:rgba(17,20,31,0); backdrop-filter:blur(0); transition:background .22s ease, backdrop-filter .22s ease, overlay .22s ease allow-discrete, display .22s ease allow-discrete; }
.demo-modal[open]::backdrop { background:rgba(17,20,31,.6); backdrop-filter:blur(7px); }
@starting-style {
    .demo-modal[open] { opacity:0; transform:translateY(16px) scale(.975); }
    .demo-modal[open]::backdrop { background:rgba(17,20,31,0); backdrop-filter:blur(0); }
}
.demo-modal-shell { display:contents; }
.demo-modal-close {
    position:absolute;
    top:16px;
    right:16px;
    z-index:3;
    width:42px; height:42px;
    border:0; border-radius:50%;
    background:#171923; color:#fff;
    font-size:1.45rem; cursor:pointer;
    transition:transform .2s ease, background .2s ease;
}
.demo-modal-close:hover { transform:rotate(6deg) scale(1.06); background:#ff3035; }
.demo-modal-body {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
    max-height:calc(100dvh - 1.5rem);
    overflow:auto;
}
.demo-modal-copy {
    padding:2rem;
    background:linear-gradient(160deg,#ff3035,#ff6d72);
    color:#fff;
}
.demo-modal-kicker {
    display:inline-flex;
    margin-bottom:1rem;
    padding:.42rem .72rem;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    color:#fff;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.demo-modal-copy h2 { margin:0 0 1rem; font-size:clamp(2rem,4vw,3rem); line-height:1.05; letter-spacing:-.04em; }
.demo-modal-copy p { margin:0 0 1.4rem; color:rgba(255,255,255,.84); line-height:1.75; }
.demo-modal-benefits { display:grid; gap:.75rem; list-style:none; padding:0; margin:0; }
.demo-modal-benefits li { display:flex; align-items:center; gap:.75rem; font-weight:700; }
.demo-modal-benefits li span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#fff; color:#ff3035; }
.demo-modal .demo-form-card {
    display:grid;
    gap:1.15rem;
    padding:2rem;
    margin:0;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
}
.demo-modal .demo-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.demo-modal .demo-field { min-width:0; }
.demo-modal .demo-field label { display:block; margin-bottom:.5rem; color:#171923; font-size:.9rem; font-weight:700; }
.demo-modal .demo-optional { color:#8a8f9d; font-size:.76rem; font-weight:600; }
.demo-modal .demo-field input,
.demo-modal .demo-field select,
.demo-modal .demo-field textarea {
    width:100%;
    border:1px solid #dedee7;
    border-radius:13px;
    outline:none;
    background:#fbfbfd;
    color:#171923;
    font:inherit;
    font-size:1rem;
    padding:.95rem 1rem;
}
.demo-modal .demo-field textarea { min-height:105px; resize:vertical; }
.demo-modal .demo-field input:focus,
.demo-modal .demo-field select:focus,
.demo-modal .demo-field textarea:focus { border-color:#ff3035; background:#fff; box-shadow:0 0 0 3px rgba(255,48,53,.1); }
.demo-modal .demo-field input.is-invalid,
.demo-modal .demo-field textarea.is-invalid { border-color:#d92127; background:#fff8f8; box-shadow:0 0 0 3px rgba(217,33,39,.08); }
.demo-modal .demo-submit {
    width:100%;
    border:0;
    border-radius:11px;
    padding:1.1rem 1.5rem;
    background:#ff3035;
    color:#fff;
    font:inherit;
    font-size:1.05rem;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(255,48,53,.2);
    transition:transform .2s ease, background .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.demo-modal .demo-submit:hover:not(:disabled) { transform:translateY(-2px); background:#e9252a; box-shadow:0 16px 32px rgba(255,48,53,.28); }
.demo-modal .demo-submit:disabled { cursor:wait; opacity:.72; }
.demo-modal .demo-form-note { margin:-.35rem 0 0; color:#7b8190; font-size:.78rem; text-align:center; }
.demo-modal .demo-form-note.is-error { color:#c81e24; font-weight:700; }
.demo-modal .demo-form-note.is-success { color:#17834a; font-weight:700; }
.form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }

body.is-nav-open,
body.is-modal-open { overflow:hidden; }

.live-support-panel {
    position:fixed; right:22px; bottom:92px; z-index:1800;
    width:min(365px,calc(100vw - 32px)); padding:1rem;
    border:1px solid #e6e8ee; border-radius:24px; background:#fff;
    box-shadow:0 28px 80px rgba(15,18,28,.24);
    opacity:0; pointer-events:none; transform:translateY(14px) scale(.96);
    transform-origin:right bottom; transition:opacity .22s ease,transform .22s ease;
}
.live-support-panel { visibility:hidden; transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s; }
.live-support-panel.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); transition-delay:0s; }
.live-support-head { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; padding:.2rem .2rem .85rem; border-bottom:1px solid #eceef2; }
.live-support-avatar { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; overflow:hidden; box-shadow:0 8px 20px rgba(255,48,53,.2); }
.live-support-avatar img { width:100%; height:100%; }
.live-support-head small { display:block; color:#d92127; font-size:.61rem; font-weight:850; letter-spacing:.12em; }
.live-support-head strong { display:block; margin-top:.14rem; color:#171923; font-size:.92rem; line-height:1.3; }
.live-support-head > button { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:11px; background:#f2f3f6; color:#171923; font-size:1.25rem; cursor:pointer; }
.live-support-panel > p { margin:.9rem .2rem; color:#626877; font-size:.84rem; line-height:1.55; }
.live-support-options { display:grid; gap:.55rem; }
.live-support-options a,.live-support-options button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:.8rem .9rem; border:1px solid #e8eaf0; border-radius:14px; background:#fbfbfd; color:#20232c; font:700 .83rem var(--site-nav-font); cursor:pointer; text-align:left; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.live-support-options a:hover,.live-support-options button:hover { transform:translateX(3px); border-color:#ffcacc; background:#fff5f5; color:#d92127; }
.live-support-options span { font-size:1rem; }
.live-support-note { display:block; margin:.8rem .2rem .1rem; color:#959aa6; font-size:.68rem; }
.live-support-fab { position:fixed; right:22px; bottom:22px; z-index:1790; display:grid; place-items:center; width:56px; height:56px; border:0; border-radius:18px; background:#ff3035; color:#fff; box-shadow:0 18px 38px rgba(255,48,53,.34); cursor:pointer; transition:transform .2s ease,background .2s ease; }
.live-support-fab:hover { transform:translateY(-3px) scale(1.03); background:#e9252a; }
.live-support-fab svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; }
.live-support-fab > span { display:none; }

.announcement-bar{position:fixed;inset:0 0 auto 0;z-index:2300;display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:42px;padding:.45rem 3rem;background:#171923;color:#fff;font-family:var(--site-nav-font);font-size:.72rem;line-height:1.2;transition:transform .24s ease,visibility 0s linear 0s}.announcement-badge{padding:.28rem .5rem;border-radius:999px;background:#ff3035;font-size:.57rem;font-weight:900;letter-spacing:.1em}.announcement-countdown{display:inline-flex;gap:.14rem;color:rgba(255,255,255,.66);font-variant-numeric:tabular-nums}.announcement-countdown b{color:#fff}.announcement-bar>a{color:#ff8589;font-weight:800;text-decoration:underline;text-underline-offset:3px}.announcement-bar>button{position:absolute;right:14px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:1rem;cursor:pointer}.announcement-bar.is-dismissed{visibility:hidden;pointer-events:none;transform:translateY(-110%);transition-delay:0s,.24s}
body.announcement-dismissed .site-nav{top:0}body.announcement-dismissed.has-shared-navbar{padding-top:108px}body.announcement-dismissed.has-shared-navbar.has-overlay-navbar{padding-top:0}body.announcement-dismissed.has-shared-navbar.has-overlay-navbar .hero{padding-top:118px}body.announcement-dismissed.has-shared-navbar.has-overlay-navbar .hero>.site-nav{top:0}

.whatsapp-nudge{position:fixed;right:22px;bottom:92px;z-index:1750;width:min(330px,calc(100vw - 32px));padding:1.2rem;border:1px solid #e4e6eb;border-radius:22px;background:#fff;color:#171923;box-shadow:0 24px 70px rgba(15,18,28,.22);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px) scale(.96);transform-origin:right bottom;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}.whatsapp-nudge.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}.whatsapp-nudge>button{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:9px;background:#f2f3f6;color:#252832;cursor:pointer}.whatsapp-nudge-status{display:block;padding-right:2rem;color:#18a55c;font-size:.65rem;font-weight:850;letter-spacing:.05em}.whatsapp-nudge strong{display:block;margin:1rem 0 .45rem;font-size:1.08rem}.whatsapp-nudge p{margin:0 0 1rem;color:#6d7280;font-size:.8rem;line-height:1.55}.whatsapp-nudge>a{display:flex;justify-content:center;padding:.8rem;border-radius:12px;background:#20bf68;color:#fff;font-size:.78rem;font-weight:850}

.callback-modal{width:min(500px,calc(100% - 1.25rem));margin:auto;padding:2rem;border:0;border-radius:28px;background:#fff;color:#171923;box-shadow:0 32px 90px rgba(15,18,28,.34);opacity:0;transform:translateY(14px) scale(.97);transition:opacity .22s ease,transform .22s ease,overlay .22s ease allow-discrete,display .22s ease allow-discrete}.callback-modal[open]{opacity:1;transform:none}.callback-modal::backdrop{background:rgba(14,17,26,.66);backdrop-filter:blur(6px)}.callback-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f0f1f4;color:#20232b;font-size:1.25rem;cursor:pointer}.callback-kicker{display:block;margin-bottom:.9rem;color:#d92127;font-size:.65rem;font-weight:900;letter-spacing:.16em}.callback-modal h2{max-width:390px;margin:0 0 .8rem;font-size:clamp(2rem,6vw,3rem);line-height:1;letter-spacing:-.05em}.callback-modal>p{margin:0 0 1.3rem;color:#6b7180;line-height:1.65}.callback-modal form{display:grid;gap:.65rem}.callback-modal label{font-size:.76rem;font-weight:800}.callback-modal input{width:100%;min-height:52px;padding:.85rem 1rem;border:1px solid #dedfe5;border-radius:13px;background:#fafafd;font:inherit}.callback-modal input:focus{outline:0;border-color:#ff3035;box-shadow:0 0 0 3px rgba(255,48,53,.1)}.callback-modal form>button[type=submit]{min-height:52px;margin-top:.4rem;border:0;border-radius:13px;background:#ff3035;color:#fff;font-weight:850;cursor:pointer}.callback-later{border:0;background:transparent;color:#777d89;font-size:.78rem;cursor:pointer}.callback-modal small{color:#888e99;font-size:.67rem;text-align:center}.callback-modal small.is-error{color:#c91f25}.callback-modal small.is-success{color:#168248}

.site-scroll-progress {
    position:fixed;
    top:0;
    left:0;
    z-index:2400;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,#ff3035,#ff8c8f);
    transform:scaleX(0);
    transform-origin:left center;
    pointer-events:none;
}

.site-back-to-top {
    position:fixed;
    right:90px;
    bottom:26px;
    z-index:1100;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    background:#171923;
    color:#fff;
    box-shadow:0 16px 36px rgba(17,20,31,.22);
    cursor:pointer;
    opacity:0;
    pointer-events:none;
    transform:translateY(14px) scale(.92);
    transition:opacity .22s ease, transform .22s ease, background .22s ease;
}
.site-back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.site-back-to-top:hover { background:#ff3035; transform:translateY(-3px); }
.site-back-to-top:focus-visible { outline:3px solid rgba(255,48,53,.3); outline-offset:3px; }
.site-back-to-top svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.site-reveal {
    opacity:0;
    transform:translateY(24px);
    transition:opacity .64s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms), transform .64s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms);
}
.site-reveal.is-revealed { opacity:1; transform:translateY(0); }
.site-reveal .chart-bars i,
.site-reveal .showcase-ui.is-bars span { transform:scaleY(0); transform-origin:center bottom; }
.site-reveal.is-revealed .chart-bars i,
.site-reveal.is-revealed .showcase-ui.is-bars span { animation:site-bar-grow .7s cubic-bezier(.2,.8,.2,1) calc(var(--reveal-delay, 0ms) + 180ms) both; }
.site-reveal.is-revealed .chart-bars i:nth-child(2),
.site-reveal.is-revealed .showcase-ui.is-bars span:nth-child(2) { animation-delay:calc(var(--reveal-delay, 0ms) + 230ms); }
.site-reveal.is-revealed .chart-bars i:nth-child(3),
.site-reveal.is-revealed .showcase-ui.is-bars span:nth-child(3) { animation-delay:calc(var(--reveal-delay, 0ms) + 280ms); }
.site-reveal.is-revealed .chart-bars i:nth-child(4),
.site-reveal.is-revealed .showcase-ui.is-bars span:nth-child(4) { animation-delay:calc(var(--reveal-delay, 0ms) + 330ms); }
.site-reveal.is-revealed .chart-bars i:nth-child(n+5),
.site-reveal.is-revealed .showcase-ui.is-bars span:nth-child(n+5) { animation-delay:calc(var(--reveal-delay, 0ms) + 380ms); }
.site-reveal .line-chart .stroke { stroke-dasharray:1200; stroke-dashoffset:1200; }
.site-reveal.is-revealed .line-chart .stroke { animation:site-line-draw 1.2s cubic-bezier(.2,.8,.2,1) .25s forwards; }
.site-reveal .line-chart .area { opacity:0; }
.site-reveal.is-revealed .line-chart .area { animation:site-area-in .7s ease .75s forwards; }

main a,
main button { -webkit-tap-highlight-color:transparent; }
main a:focus-visible,
main button:focus-visible { outline:3px solid rgba(255,48,53,.28); outline-offset:3px; }
main :is(.card,.hero-card,.highlight-card,.step,.feature-card,.gallery-card,.data-card,.testimonial-card,.faq-card,.info-card,.metric-card,.kpi-card,.viz-card,.table-card,.deep-card,.showcase-card) {
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
main :is(.card,.hero-card,.highlight-card,.step,.feature-card,.gallery-card,.data-card,.testimonial-card,.faq-card,.info-card,.metric-card,.kpi-card,.viz-card,.table-card,.deep-card,.showcase-card):hover {
    transform:translateY(-5px);
    border-color:rgba(255,48,53,.24);
    box-shadow:0 24px 58px rgba(31,34,46,.11);
}

.site-filter-bar { display:flex; flex-wrap:wrap; gap:.7rem; margin:0 0 1.5rem; }
.site-filter-button {
    min-height:42px;
    padding:.65rem 1rem;
    border:1px solid #e7e9ef;
    border-radius:999px;
    background:#fff;
    color:#5f6472;
    font:700 .86rem Inter,sans-serif;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.site-filter-button:hover { transform:translateY(-2px); border-color:#ffcacc; color:#d92127; }
.site-filter-button.is-active { border-color:#ff3035; background:#ff3035; color:#fff; }
[data-filter-value][hidden] { display:none !important; }

.site-lightbox {
    width:min(980px,calc(100% - 1.5rem));
    max-height:calc(100dvh - 1.5rem);
    margin:auto;
    padding:0;
    border:0;
    border-radius:26px;
    overflow:hidden;
    background:#10131c;
    color:#fff;
    box-shadow:0 32px 100px rgba(8,10,16,.52);
    opacity:0;
    transform:scale(.97);
    transition:opacity .22s ease,transform .22s ease,overlay .22s ease allow-discrete,display .22s ease allow-discrete;
}
.site-lightbox[open] { opacity:1; transform:scale(1); }
.site-lightbox[open].is-closing { opacity:0; transform:scale(.97); }
.site-lightbox::backdrop {
    background:rgba(6,8,13,.82);
    backdrop-filter:blur(7px);
    transition:background .22s ease,backdrop-filter .22s ease;
}
.site-lightbox.is-closing::backdrop { background:rgba(6,8,13,0); backdrop-filter:blur(0); }
.site-lightbox figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:min(760px,calc(100dvh - 1.5rem)); margin:0; }
.site-lightbox figure > img { width:100%; min-height:0; height:100%; max-height:calc(100dvh - 125px); object-fit:contain; background:#0b0e15; }
.site-lightbox figcaption { display:grid; gap:.3rem; padding:1rem 4.5rem 1.15rem; background:#171923; text-align:center; }
.site-lightbox figcaption strong { font-size:1rem; }
.site-lightbox figcaption span { color:rgba(255,255,255,.66); font-size:.84rem; line-height:1.5; }
.site-lightbox-close,.site-lightbox-arrow {
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(15,18,28,.8);
    color:#fff;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:background .2s ease,transform .2s ease;
}
.site-lightbox-close { top:14px; right:14px; width:44px; height:44px; border-radius:50%; font-size:1.5rem; }
.site-lightbox-arrow { top:50%; width:48px; height:64px; border-radius:16px; font-size:2rem; transform:translateY(-50%); }
.site-lightbox-arrow.is-prev { left:14px; }
.site-lightbox-arrow.is-next { right:14px; }
.site-lightbox-close:hover { background:#ff3035; transform:scale(1.06); }
.site-lightbox-arrow:hover { background:#ff3035; transform:translateY(-50%) scale(1.06); }

@starting-style { .site-lightbox[open] { opacity:0; transform:scale(.97); } }

@keyframes nav-panel-in {
    from { opacity:0; transform:translateY(-8px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
}

@keyframes mobile-nav-in {
    from { opacity:0; transform:translateY(-8px); }
    to { opacity:1; transform:translateY(0); }
}

@keyframes site-bar-grow { to { transform:scaleY(1); } }
@keyframes site-line-draw { to { stroke-dashoffset:0; } }
@keyframes site-area-in { to { opacity:1; } }

body.has-shared-navbar { padding-top: 150px; }
body.has-shared-navbar.has-overlay-navbar { padding-top: 0; }

body.has-shared-navbar.has-overlay-navbar .hero {
    position: relative;
    padding-top: 160px;
}

body.has-shared-navbar.has-overlay-navbar .hero > .site-nav {
    position: absolute;
    top: 42px;
    left: 0;
    right: 0;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-shell {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-link,
body.has-shared-navbar.has-overlay-navbar .site-nav-logo,
body.has-shared-navbar.has-overlay-navbar .site-nav-icon-btn {
    color: #fff;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-link:hover,
body.has-shared-navbar.has-overlay-navbar .site-nav-item.is-active > .site-nav-link,
body.has-shared-navbar.has-overlay-navbar .site-nav-item:hover > .site-nav-link {
    background: transparent;
    color: #fff4c4;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-item.is-active > .site-nav-link {
    color: #fff4c4;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-icon {
    background: transparent;
    box-shadow: none;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-icon-btn {
    border: 0;
    background: transparent;
}

body.has-shared-navbar.has-overlay-navbar .site-nav-cta {
    background: rgba(255,255,255,.12);
    color: #fff;
    box-shadow: none;
    border: 1px solid rgba(255,255,255,.18);
}

body.has-shared-navbar.has-overlay-navbar .site-nav-cta:hover {
    background: rgba(255,255,255,.18);
}

@media (max-width: 1060px) {
    .site-nav-center { display:none; }
    .site-nav-burger { display:flex; }
    .site-nav-icon-btn, .site-nav-cta { display:none; }
    .site-nav-shell { grid-template-columns:auto 1fr auto; }
    .announcement-bar { justify-content:flex-start; min-height:42px; padding:.5rem 3rem .5rem 1rem; overflow:hidden; }
    .announcement-bar > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .announcement-badge, .announcement-countdown { display:none; }
    .announcement-bar > a { flex:0 0 auto; }
}

@media (max-width: 640px) {
    .site-nav { padding:10px 10px 0; }
    .site-nav-shell { min-height:68px; padding:0 16px; border-radius:20px; }
    .site-nav-wordmark { font-size:1.02rem; }
    .site-nav-wordmark small { display:none; }
    .site-nav-icon { width:40px; height:40px; border-radius:12px; }
    .live-support-panel { right:12px; bottom:80px; width:calc(100vw - 24px); border-radius:20px; }
    .live-support-fab { right:12px; bottom:12px; width:52px; height:52px; border-radius:16px; }
    .demo-modal { width:min(1040px, calc(100% - 1rem)); border-radius:22px; }
    .demo-modal-body { grid-template-columns:1fr; }
    .demo-modal-copy,
    .demo-modal .demo-form-card { padding:1.25rem; }
    .demo-modal .demo-form-row { grid-template-columns:1fr; }
    body.has-shared-navbar { padding-top: 92px; }
    body.has-shared-navbar.has-overlay-navbar { padding-top: 0; }
    body.has-shared-navbar.has-overlay-navbar .hero { padding-top: 94px; }
    .site-back-to-top { right:76px; bottom:16px; width:44px; height:44px; border-radius:14px; }
}

@media (max-width: 640px) {
    .announcement-bar { justify-content:flex-start; min-height:42px; padding:.5rem 2.9rem .5rem .8rem; overflow:hidden; }
    .announcement-bar > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .announcement-badge, .announcement-countdown { display:none; }
    .announcement-bar > a { flex:0 0 auto; font-size:.65rem; }
    .announcement-bar > button { right:8px; }
    body.has-shared-navbar { padding-top:134px; }
    body.has-shared-navbar.has-overlay-navbar { padding-top:0; }
    body.has-shared-navbar.has-overlay-navbar .hero { padding-top:136px; }
    body.has-shared-navbar.has-overlay-navbar .hero > .site-nav { top:42px; }
    body.announcement-dismissed.has-shared-navbar { padding-top:92px; }
    body.announcement-dismissed.has-shared-navbar.has-overlay-navbar { padding-top:0; }
    body.announcement-dismissed.has-shared-navbar.has-overlay-navbar .hero { padding-top:94px; }
    body.announcement-dismissed.has-shared-navbar.has-overlay-navbar .hero > .site-nav { top:0; }
    .whatsapp-nudge { right:12px; bottom:76px; width:calc(100vw - 24px); }
    .callback-modal { padding:1.45rem; border-radius:22px; }
}

@media (max-width: 1320px) {
    .announcement-bar { justify-content:flex-start; min-height:42px; padding:.5rem 3rem .5rem 1rem; overflow:hidden; }
    .announcement-bar > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .announcement-badge, .announcement-countdown { display:none; }
    .announcement-bar > a { flex:0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
    .site-nav *, .demo-modal, .demo-modal::backdrop { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
