/* Public shell. One owner for header/footer, base type, controls and responsive boundaries. */
html.public-document { font-size: 16px; scroll-behavior: smooth; scroll-padding-top: 100px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.vitrin-page, .vitrin-page *, .vitrin-page *::before, .vitrin-page *::after { box-sizing: border-box; }
.vitrin-page { --bg:#fff; --surface:#fff; --surface-soft:#f6f5fa; --ink:#242139; --muted:#6f6b80; --line:#e9e6f0; --brand:#6450df; --brand-strong:#503bc5; --brand-soft:#f0edff; --vitrin-content:1440px; margin:0; min-width:0; color:var(--ink); background:#fff; font-family:'Aptos','Segoe UI',system-ui,sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
.vitrin-page h1,.vitrin-page h2,.vitrin-page h3,.vitrin-page p { overflow-wrap:break-word; }
:where(.vitrin-page) a { color:inherit; text-decoration:none; }
.vitrin-page button,.vitrin-page input,.vitrin-page textarea,.vitrin-page select { font:inherit; }
.vitrin-page button,.vitrin-page a,.vitrin-page summary { -webkit-tap-highlight-color:transparent; }
.vitrin-page :where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #ad9af6; outline-offset:4px; }
.vitrin-page img { max-width:100%; }
.vitrin-page .ui-icon { display:inline-block; width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
.vitrin-page .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.vitrin-page .skip-link { position:fixed; top:-90px; left:16px; padding:12px 20px; z-index:150; border-radius:8px; color:#fff; background:#30234d; }
.vitrin-page .skip-link:focus { top:12px; }
.public-shell,.vitrin-page .vitrin-header-inner { width:calc(100% - 80px); max-width:1440px; margin-inline:auto; }
.vitrin-page .vitrin-main { display:block; width:100%; max-width:none; padding:0; margin:0; min-width:0; }
.vitrin-page .primary-button,.vitrin-page .secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:50px; padding:13px 23px; border:1px solid transparent; border-radius:10px; font-size:15px; font-weight:650; line-height:1.4; cursor:pointer; text-decoration:none; white-space:normal; transition:background .15s,box-shadow .15s; }
.vitrin-page .primary-button { color:#fff; border-color:var(--brand); background:var(--brand); box-shadow:0 4px 10px #6450df12; }
.vitrin-page .primary-button:hover { background:var(--brand-strong); border-color:var(--brand-strong); box-shadow:0 7px 20px #6450df25; }
.vitrin-page .secondary-button { color:var(--ink); background:#fff; border-color:#dfdaea; }
.vitrin-page .secondary-button:hover { background:#f8f6ff; border-color:#c7bce7; }
.vitrin-page .icon-button { width:44px; height:44px; display:inline-grid; place-items:center; padding:0; border:1px solid var(--line); background:#fff; border-radius:10px; color:var(--ink); cursor:pointer; }
.vitrin-page .brand { display:inline-flex; gap:10px; align-items:center; white-space:nowrap; flex-shrink:0; }
.vitrin-page .brand-mark { display:grid; place-items:center; width:39px; height:39px; color:#fff; background:var(--brand); border-radius:12px; box-shadow:none; }
.vitrin-page .brand-mark .ui-icon { width:25px; height:25px; }
.vitrin-page .brand strong { color:var(--ink); font-size:30px; font-weight:750; line-height:1; letter-spacing:-1.5px; }
.vitrin-page .brand-period { color:var(--brand); }
.public-topline { color:#71677f; background:#f5f2fb; font-size:12px; border-bottom:1px solid #ece7f5; }
.public-topline > div { display:flex; justify-content:space-between; align-items:center; min-height:34px; gap:15px; }
.public-topline a { display:flex; align-items:center; gap:12px; font-weight:600; padding-block:5px; }
.vitrin-page .vitrin-header { position:sticky; top:0; z-index:60; background:#fffffff5; backdrop-filter:blur(18px); border-bottom:1px solid var(--line); box-shadow:0 2px 8px #211b3903; }
.vitrin-page .vitrin-header-inner { min-height:84px; padding:0; display:flex; align-items:center; justify-content:space-between; gap:26px; position:relative; }
.vitrin-page .vitrin-nav { display:flex; align-items:center; gap:25px; margin:0 auto; padding:0; }
.vitrin-page .vitrin-nav > a,.vitrin-page .product-menu > summary { display:flex; align-items:center; gap:7px; min-height:44px; padding:7px 0; font-size:14px; font-weight:550; color:#514b63; border-radius:0; white-space:nowrap; cursor:pointer; list-style:none; }
.vitrin-page .vitrin-nav > a:hover,.vitrin-page .vitrin-nav > a[aria-current='page'],.vitrin-page .product-menu[open] > summary { color:var(--brand); background:none; }
.vitrin-page .product-menu > summary::-webkit-details-marker { display:none; }
.vitrin-page .product-menu > summary > span { font-size:15px; margin-left:3px; }
.vitrin-page .product-menu { position:static; }
.vitrin-page .product-mega-menu { position:absolute; top:calc(100% - 5px); left:0; right:0; width:100%; padding:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; border:1px solid #e7e1f0; border-radius:0 0 19px 19px; background:#fff; box-shadow:0 25px 50px #2c174919; }
.vitrin-page .product-menu:not([open]) .product-mega-menu { display:none; }
.vitrin-page .product-mega-menu > div { min-width:0; }
.vitrin-page .product-mega-menu > div > strong { display:block; font-size:12px; letter-spacing:.035em; color:#8b7b9d; margin:0 0 12px 12px; }
.vitrin-page .product-mega-menu > div a { display:flex; align-items:center; gap:12px; padding:12px; border-radius:9px; color:#564b65; font-size:14px; line-height:1.4; }
.vitrin-page .product-mega-menu > div a:hover { background:#f6f2ff; color:var(--brand); }
.vitrin-page .product-mega-menu .ui-icon { color:#8a71bd; width:19px; height:19px; }
.vitrin-page .product-mega-menu .product-menu-all { grid-column:1/-1; display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding:20px 12px 0; font-size:14px; font-weight:600; color:var(--brand); }
.vitrin-page .vitrin-header-actions { display:flex; align-items:center; flex-shrink:0; gap:21px; }
.vitrin-page .vitrin-header-actions .primary-button { min-height:43px; padding:11px 17px; font-size:13px; gap:12px; }
.vitrin-page .vitrin-header-actions .ui-icon { width:17px; height:17px; }
.public-login { color:#494158; font-size:14px; font-weight:600; padding-block:12px; }
.vitrin-page .vitrin-nav-toggle,.vitrin-page .vitrin-nav-auth { display:none; }
.public-footer { background:#242035; color:#bcb4ce; margin-top:0; overflow:hidden; }
.public-footer-top { display:flex; justify-content:space-between; align-items:center; gap:50px; padding:60px 0 48px; border-bottom:1px solid #ffffff16; }
.public-footer-kicker { display:block; font-size:11px; font-weight:700; letter-spacing:.15em; color:#baa8ec; margin-bottom:15px; }
.public-footer-top h2 { color:#fff; font-size:clamp(32px,3vw,47px); font-weight:600; letter-spacing:-.04em; line-height:1.15; margin:0 0 15px; }
.public-footer-top p { max-width:630px; margin:0; color:#b6acc8; font-size:15px; line-height:1.8; }
.public-footer-top .primary-button { background:#fff; border-color:#fff; color:#56427d; flex-shrink:0; }
.public-footer-top .primary-button:hover { background:#ece5fb; border-color:#ece5fb; }
.public-footer-grid { display:grid; grid-template-columns:1fr 2.1fr; gap:60px; padding-block:50px; }
.public-footer .brand strong { color:#fff; }
.public-footer .brand-mark { background:#8064c6; }
.public-footer .brand-period { color:#b49be0; }
.public-footer-brand > p { font-size:14px; line-height:1.8; margin:20px 0 25px; color:#b1a7c3; }
.public-footer-contact { display:grid; gap:13px; font-size:13px; }
.public-footer-contact a { display:flex; align-items:center; gap:10px; overflow-wrap:anywhere; }
.public-footer-contact .ui-icon { width:16px; height:16px; color:#b296df; }
.public-footer-contact span { color:#a297b3; }
.public-footer-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:30px 25px; }
.public-footer-links > div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.public-footer-links h3 { margin:0 0 7px; color:#f1ecf7; font-size:14px; font-weight:600; letter-spacing:0; }
.public-footer-links a { color:#b6acc8; font-size:13px; line-height:1.5; padding-block:2px; }
.public-footer a:not(.primary-button):hover { color:#fff; }
.public-social-links { display:flex; flex-wrap:wrap; gap:12px; padding-bottom:28px; }
.public-social-links a { display:flex; gap:20px; align-items:center; border:1px solid #ffffff20; border-radius:8px; padding:10px 14px; font-size:12px; }
.public-footer-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:20px 30px; padding-block:24px; border-top:1px solid #ffffff16; color:#a295b6; font-size:12px; }
.public-footer-bottom nav { display:flex; flex-wrap:wrap; gap:23px; margin-left:auto; }
.public-back-top { color:#c0afd9!important; }
.public-proof { padding-block:60px; border-top:1px solid var(--line); }
.public-proof-heading { text-align:center; font-size:14px; color:var(--muted); margin:0 0 27px; }
.public-proof-logos { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:18px; }
.public-proof-logos > a,.public-proof-logos > div { display:grid; justify-items:center; align-content:center; gap:13px; min-width:160px; max-width:230px; flex:1 1 170px; padding:24px; border:1px solid var(--line); border-radius:14px; }
.public-proof-logos img { width:140px; height:48px; object-fit:contain; }
.public-proof-logos small { font-size:11px; line-height:1.5; color:var(--muted); text-align:center; }
.public-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; padding-block:25px 70px; }
.public-quote { padding:30px; border:1px solid #e7e0f0; border-radius:20px; background:#fcfaff; margin:0; }
.public-quote blockquote { margin:0 0 25px; font-size:20px; line-height:1.7; color:#473955; letter-spacing:-.02em; }
.public-quote figcaption { display:flex; align-items:center; gap:13px; }
.public-quote figcaption img { width:46px; height:46px; border-radius:50%; object-fit:cover; }
.public-quote figcaption strong { display:block; font-size:14px; color:#3c304d; }
.public-quote figcaption span { display:block; font-size:12px; color:#80708e; margin-top:3px; }
.public-legacy .vitrin-section { min-width:0; max-width:1440px; }
.public-legacy :where(.vitrin-module-grid,.coverage-grid,.public-channel-grid,.public-document-grid,.teamwork-story,.integration-explainer) > * { min-width:0; }
@media (max-width:1250px) { .public-shell,.vitrin-page .vitrin-header-inner { width:calc(100% - 48px); }
.vitrin-page .vitrin-nav { gap:20px; }
.vitrin-page .vitrin-header-actions { gap:14px; }
.vitrin-page .vitrin-nav > a,.vitrin-page .product-menu > summary { font-size:13px; }
.public-footer-grid { gap:40px; } }
@media (max-width:1100px) { .vitrin-page .vitrin-header-inner { min-height:74px; }
.vitrin-page .vitrin-nav-toggle { display:inline-grid; }
.vitrin-page .vitrin-header-actions { margin-left:auto; }
.vitrin-page .vitrin-nav { display:none; position:absolute; top:calc(100% + 1px); left:-24px; right:-24px; background:#fff; padding:20px 24px; max-height:calc(100dvh - 75px); overflow:auto; overscroll-behavior:contain; border-bottom:1px solid var(--line); box-shadow:0 20px 30px #37244910; align-items:stretch; gap:0; z-index:5; }
.vitrin-page .vitrin-nav.open { display:flex; flex-direction:column; }
.vitrin-page .vitrin-nav > a,.vitrin-page .product-menu > summary { padding:15px 6px; font-size:16px; border-bottom:1px solid #f1edf5; min-height:52px; justify-content:space-between; }
.vitrin-page .product-mega-menu { position:static; box-shadow:none; border:0; border-radius:0; padding:15px 0 20px; gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.vitrin-page .product-mega-menu > div a { font-size:13px; padding:10px 8px; }
.vitrin-page .product-mega-menu > div > strong { margin-left:8px; }
.vitrin-page .vitrin-nav-auth { display:flex; gap:10px; margin-top:22px; }
.vitrin-page .vitrin-nav-auth a { flex:1; }
.vitrin-menu-open { overflow:hidden; }
.public-footer-grid { grid-template-columns:1fr 1.8fr; } }
@media (max-width:768px) { .public-shell,.vitrin-page .vitrin-header-inner { width:calc(100% - 40px); }
.vitrin-page .vitrin-nav { left:-20px; right:-20px; padding-inline:20px; }
.public-footer-top { padding-block:43px 35px; gap:25px; }
.public-footer-top p { font-size:14px; }
.public-footer-grid { grid-template-columns:1fr; gap:32px; padding-block:35px; }
.public-footer-brand { display:grid; grid-template-columns:1fr 1fr; column-gap:25px; }
.public-footer-brand .brand { grid-column:1; }
.public-footer-brand > p { grid-column:1; margin-bottom:0; }
.public-footer-contact { grid-column:2; grid-row:1 / span 2; align-content:start; padding-top:4px; }
.public-footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-footer-bottom { gap:17px; }
.public-footer-bottom > span { flex:1 1 100%; }
.public-footer-bottom nav { margin-left:0; flex:1; gap:17px; } }
@media (max-width:540px) { .public-topline { font-size:11px; }
.public-topline > div { min-height:31px; }
.vitrin-page .vitrin-header-inner { min-height:70px; gap:14px; }
.vitrin-page .brand strong { font-size:27px; }
.vitrin-page .brand-mark { width:35px; height:35px; border-radius:10px; }
.vitrin-page .brand-mark .ui-icon { width:23px; height:23px; }
.vitrin-page .vitrin-header-actions { gap:8px; }
.vitrin-page .vitrin-header-actions .public-register { display:none; }
.vitrin-page .vitrin-header-actions .public-login { font-size:13px; }
.vitrin-page .product-mega-menu { grid-template-columns:1fr; }
.vitrin-page .vitrin-nav-auth { flex-direction:column; }
.public-footer-top { flex-direction:column; align-items:flex-start; }
.public-footer-top h2 { font-size:32px; }
.public-footer-top .primary-button { width:100%; }
.public-footer-brand { display:block; }
.public-footer-brand > p { margin-bottom:24px; }
.public-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
.public-footer-links a { font-size:13px; }
.public-footer-bottom { font-size:11px; }
.public-footer-bottom nav { flex-basis:100%; }
.public-back-top { margin-left:0; }
.public-proof { padding-block:38px; }
.public-proof-logos { gap:12px; }
.public-proof-logos > a,.public-proof-logos > div { min-width:0; flex-basis:calc(50% - 12px); padding:18px 12px; }
.public-proof-logos img { width:110px; height:38px; }
.public-quote blockquote { font-size:18px; } }
@media (max-width:359px) { .public-shell,.vitrin-page .vitrin-header-inner { width:calc(100% - 28px); }
.vitrin-page .vitrin-nav { left:-14px; right:-14px; padding-inline:14px; }
.vitrin-page .brand { gap:7px; }
.vitrin-page .brand strong { font-size:25px; }
.public-topline { font-size:10px; }
.public-login { display:none; }
.vitrin-page .vitrin-header-actions .primary-button { padding-inline:10px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { html.public-document { scroll-behavior:auto; }
.vitrin-page *, .vitrin-page *::before,.vitrin-page *::after { transition:none!important; animation:none!important; } }
.public-proof .public-kicker{text-align:center;font-size:12px;letter-spacing:.08em;color:#8a70a9;margin:0 0 22px}
.public-proof h2{text-align:center;font-size:38px;line-height:1.2;letter-spacing:-.04em;font-weight:600;margin:0 0 12px}
.public-proof-logo>span{font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
.public-quote figcaption small{display:block;font-size:12px;color:#91819f;line-height:1.6;margin-top:4px}
@media(max-width:540px){.vitrin-page .vitrin-header-actions>.primary-button{padding-inline:12px;font-size:12px;min-height:42px}
.vitrin-page .vitrin-header-actions>.primary-button .ui-icon{display:none}}
