/* Homepage OS library: isolated from the existing site and product styles. */
html body.fc-modern .fc-os {
  --fcos-ink:#102f52; --fcos-blue:#0564f5; --fcos-line:#d5e1ef;
  padding:clamp(56px,5.5vw,100px) 0; background:#fff; color:var(--fcos-ink);
}
.fc-os *, .fc-os *::before, .fc-os *::after { box-sizing:border-box; }
.fc-os .fc-os-inner { width:calc(100% - clamp(40px,5vw,104px)); max-width:1920px; margin-inline:auto; }
.fc-os .fc-os-heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:40px; margin-bottom:38px; }
.fc-os .fc-os-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 20px; font-size:13px; font-weight:700; letter-spacing:.09em; color:#426080; }
.fc-os-eyebrow > span { width:9px; height:9px; background:#0869ff; box-shadow:0 0 0 5px #eaf2ff; border-radius:2px; flex:none; }
html body.fc-modern .fc-os h2 { max-width:820px; margin:0; color:var(--fcos-ink); font-family:inherit; font-size:clamp(36px,3.8vw,62px); font-weight:700; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
html body.fc-modern .fc-os h2 > span { display:block; color:var(--fcos-blue); font:inherit; }
.fc-os .fc-os-intro { max-width:430px; justify-self:end; padding-bottom:5px; }
.fc-os .fc-os-intro p { margin:0 0 18px; color:#47607c; font-size:clamp(18px,1.5vw,22px); line-height:1.65; }
.fc-os .fc-os-intro a, .fc-os .fc-os-bottom a { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; font-size:17px; font-weight:600; line-height:1.5; color:#0555ce; text-decoration:none; }
.fc-os .fc-os-intro a:hover, .fc-os .fc-os-bottom a:hover { text-decoration:underline; text-underline-offset:5px; }
.fc-os a:focus-visible { outline:3px solid #176ef3; outline-offset:4px; border-radius:5px; }
.fc-os .fc-os-workspace { display:grid; grid-template-columns:260px minmax(0,1fr); border:1px solid var(--fcos-line); border-radius:20px; background:#f6f9fd; box-shadow:0 18px 60px #15365d0b; }
.fc-os .fc-os-library { padding:26px 18px; }
.fc-os .fc-os-library-label { display:flex; justify-content:space-between; gap:12px; color:#54708f; font-size:13px; font-weight:600; line-height:1.5; margin:0 12px 20px; }
.fc-os-library-label > span { font-variant-numeric:tabular-nums; font-size:12px; color:#5c7693; }
.fc-os .fc-os-tabs { display:flex; flex-direction:column; gap:9px; }
.fc-os .fc-os-tab { display:flex; align-items:center; gap:12px; min-height:75px; padding:12px; border:1px solid transparent; border-radius:10px; color:#153453; background:transparent; text-decoration:none; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.fc-os .fc-os-tab:hover { background:#e7effb; border-color:#cedef4; }
.fc-os .fc-os-tab[aria-selected=true] { color:#fff; background:#0961e9; border-color:#0961e9; box-shadow:0 5px 14px #0861e925; }
.fc-os .fc-os-icon { display:grid; place-items:center; width:43px; height:43px; flex:none; background:#fff; color:#1262d8; border-radius:9px; border:1px solid #e4ebf4; }
.fc-os .fc-os-icon img { width:30px; height:30px; object-fit:contain; }
.fc-os .fc-os-icon svg { width:29px; height:29px; }
.fc-os .fc-os-tab-label { min-width:0; }
.fc-os .fc-os-tab-label strong { display:block; font-size:17px; font-weight:650; line-height:1.25; }
.fc-os .fc-os-tab-label small { display:block; font-size:12px; font-weight:400; line-height:1.5; color:#56718f; margin-top:4px; }
.fc-os .fc-os-tab[aria-selected=true] small { color:#e3edff; }
.fc-os .fc-os-tab-indicator { margin-inline-start:auto; color:#5b789a; font-size:18px; }
.fc-os .fc-os-tab[aria-selected=true] .fc-os-tab-indicator { color:#fff; }
.fc-os .fc-os-stage { min-width:0; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(270px,.85fr); background:#fff; border-radius:0 19px 19px 0; }
.fc-os .fc-os-visual { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-width:0; overflow:hidden; color:#c0d6f3; background:radial-gradient(ellipse at 48% 42%,#174775 0%,#0b2d53 45%,#061d39 100%); }
.fc-os .fc-os-visual::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(#83baff07 1px,transparent 1px),linear-gradient(90deg,#83baff07 1px,transparent 1px); background-size:36px 36px; }
.fc-os .fc-os-visual-top { position:relative; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:26px 26px 0; font-size:12px; letter-spacing:.06em; line-height:1.4; }
.fc-os-visual-top > span:first-child { font-size:14px; letter-spacing:.035em; font-weight:650; color:#e1edff; }
.fc-os-visual-top i { display:inline-block; width:6px; height:6px; background:#62cbff; border-radius:50%; margin-inline-end:6px; }
.fc-os .fc-os-scene { position:relative; width:100%; max-width:760px; aspect-ratio:640/390; margin:auto; direction:ltr; }
.fc-os .fc-os-diagram { display:block; width:100%; height:auto; }
.fc-os .fc-os-scene-logo { position:absolute; left:61.71875%; top:44.35897%; width:11.25%; aspect-ratio:1; transform:translate(-50%,-50%); display:grid; place-items:center; border-radius:19%; background:linear-gradient(140deg,#fff,#e4f1ff); box-shadow:0 4px 20px #02132a40; color:#0760e4; }
.fc-os .fc-os-scene-logo img, .fc-os .fc-os-scene-logo svg { width:68%; height:68%; object-fit:contain; }
.fc-os .fc-os-route { position:relative; display:flex; align-items:center; gap:16px; margin:0 26px 26px; padding-top:20px; border-top:1px solid #749acd35; font-size:13px; line-height:1.5; }
.fc-os .fc-os-route-line { position:relative; flex:1; height:1px; background:linear-gradient(90deg,#4280bc,#5bd0ff); }
.fc-os-route-line::after { content:""; position:absolute; inset-inline-end:0; top:-3px; width:7px; height:7px; border-block-start:1px solid #6ed7ff; border-inline-end:1px solid #6ed7ff; transform:rotate(45deg); }
.fc-os .fc-os-route-line i { position:absolute; top:-2px; inset-inline-start:0; width:5px; height:5px; border-radius:50%; background:#d2f7ff; box-shadow:0 0 12px #55d6ff; opacity:0; }
.fc-os .fc-os-details { min-width:0; display:flex; flex-direction:column; padding:30px 28px 24px; }
.fc-os .fc-os-details-label { color:#54708f; font-size:13px; font-weight:600; margin:0 0 28px; line-height:1.5; }
.fc-os .fc-os-panel { margin:0 0 28px; scroll-margin-top:130px; }
.fc-os[data-fc-os-ready] .fc-os-panels { display:grid; flex:1; }
.fc-os[data-fc-os-ready] .fc-os-panel { margin:0; grid-area:1/1; }
.fc-os .fc-os-panel[hidden] { display:none!important; }
.fc-os .fc-os-detail-icon { display:grid; place-items:center; width:65px; height:65px; background:#f4f8ff; color:#0565ed; border:1px solid #dce8f8; border-radius:14px; margin-bottom:22px; }
.fc-os .fc-os-detail-icon img { width:40px; height:40px; object-fit:contain; }
.fc-os .fc-os-detail-icon svg { width:36px; height:36px; }
html body.fc-modern .fc-os h3 { color:var(--fcos-ink); font-family:inherit; font-size:clamp(27px,2.2vw,38px); font-weight:650; line-height:1.2; letter-spacing:-.035em; margin:0 0 16px; }
.fc-os .fc-os-description { font-size:17px; line-height:1.7; color:#49617c; margin:0 0 22px; }
.fc-os .fc-os-tags { list-style:none; display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:0; }
.fc-os .fc-os-tags li { margin:0; padding:5px 9px; border:1px solid #d7e3f1; border-radius:5px; font-size:12px; font-weight:500; line-height:1.5; color:#466584; }
.fc-os .fc-os-note { margin:26px 0 0; padding-top:18px; border-top:1px solid #dfE8f2; font-size:13px; color:#59708b; line-height:1.65; }
.fc-os .fc-os-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:20px; }
.fc-os .fc-os-bottom p { font-size:15px; line-height:1.6; color:#5a728b; margin:0; }
.fc-os .fc-os-bottom a { font-size:15px; }
.fc-os[dir=rtl] .fc-os-stage { border-radius:19px 0 0 19px; }
.fc-os[dir=rtl] .fc-os-route-line::after { transform:rotate(-45deg); }
html body.fc-modern .fc-os[dir=rtl] h2, html body.fc-modern .fc-os[dir=rtl] h3 { letter-spacing:0; }
.fc-os[data-fc-os-motion] .fc-os-scene-logo { animation:fcos-arrive .65s cubic-bezier(.2,.7,.3,1) both; }
.fc-os[data-fc-os-motion] .fc-os-route-line i { animation:fcos-transfer 1.5s ease-in-out 2; }
.fc-os[data-fc-os-motion] .fc-os-panel:not([hidden]) { animation:fcos-copy .28s ease-out both; }
@keyframes fcos-arrive { from { opacity:.5; transform:translate(-50%,-65%); } to { opacity:1; transform:translate(-50%,-50%); } }
@keyframes fcos-transfer { 0% { inset-inline-start:0; opacity:0; } 15%,85% { opacity:1; } 100% { inset-inline-start:100%; opacity:0; } }
@keyframes fcos-copy { from { opacity:.4; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:1700px) { .fc-os .fc-os-workspace { grid-template-columns:300px minmax(0,1fr); } .fc-os .fc-os-library { padding:32px 24px; } .fc-os .fc-os-tab { min-height:84px; } .fc-os .fc-os-details { padding:36px; } .fc-os .fc-os-description { font-size:19px; } }
@media (max-width:1199px) { .fc-os .fc-os-workspace { grid-template-columns:230px minmax(0,1fr); } .fc-os .fc-os-library { padding:23px 12px; } .fc-os .fc-os-stage { grid-template-columns:minmax(0,1fr) minmax(225px,.85fr); } .fc-os .fc-os-details { padding:24px 20px; } .fc-os .fc-os-visual-top { padding:24px 18px 0; } .fc-os .fc-os-route { margin:0 18px 24px; gap:10px; font-size:12px; } }
@media (max-width:1023px) {
 .fc-os .fc-os-heading { grid-template-columns:1.3fr 1fr; gap:28px; }
 .fc-os .fc-os-workspace { grid-template-columns:1fr; }
 .fc-os .fc-os-library { padding:20px; }
 .fc-os .fc-os-library-label { margin:0 0 14px; }
 .fc-os .fc-os-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
 .fc-os .fc-os-tab { flex-direction:column; align-items:flex-start; gap:10px; padding:12px; }
 .fc-os .fc-os-tab-label strong { font-size:15px; }
 .fc-os .fc-os-tab-label small { font-size:11px; }
 .fc-os .fc-os-tab-indicator { display:none; }
 .fc-os .fc-os-stage { grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); border-radius:0 0 19px 19px; }
 .fc-os .fc-os-visual { border-end-start-radius:19px; }
 .fc-os[dir=rtl] .fc-os-stage { border-radius:0 0 19px 19px; }
}
@media (max-width:699px) {
 .fc-os .fc-os-heading { grid-template-columns:1fr; gap:20px; margin-bottom:26px; }
 .fc-os .fc-os-eyebrow { font-size:11px; letter-spacing:.055em; margin-bottom:18px; }
 .fc-os .fc-os-intro { max-width:none; justify-self:stretch; }
 .fc-os .fc-os-intro p { font-size:18px; margin-bottom:8px; }
 .fc-os .fc-os-intro a { font-size:16px; }
 .fc-os .fc-os-workspace { border-radius:15px; }
 .fc-os .fc-os-library { padding:16px; }
 .fc-os .fc-os-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fc-os .fc-os-tab { min-height:64px; flex-direction:row; align-items:center; gap:9px; padding:10px 8px; border-color:#dce6f3; background:#fff; }
 .fc-os .fc-os-tab-label strong { font-size:14px; }
 .fc-os .fc-os-tab-label small { display:none; }
 .fc-os .fc-os-icon { width:32px; height:32px; border:0; border-radius:7px; }
 .fc-os .fc-os-icon img { width:25px; height:25px; }
 .fc-os .fc-os-icon svg { width:26px; height:26px; }
 .fc-os .fc-os-tab:last-child { grid-column:1/-1; }
 .fc-os .fc-os-tab:last-child .fc-os-tab-indicator { display:block; }
 .fc-os .fc-os-stage { grid-template-columns:1fr; border-radius:0 0 14px 14px; }
 .fc-os .fc-os-visual { border-radius:0; }
 .fc-os .fc-os-visual-top { padding:22px 22px 0; }
 .fc-os .fc-os-scene { max-width:480px; }
 .fc-os .fc-os-route { margin:0 22px 22px; padding-top:12px; }
 .fc-os .fc-os-details { padding:24px; }
 .fc-os .fc-os-details-label { margin-bottom:18px; }
 .fc-os .fc-os-detail-icon { float:inline-end; margin:0 0 12px; width:48px; height:48px; border-radius:11px; }
 .fc-os .fc-os-detail-icon img { width:30px; height:30px; }
 .fc-os .fc-os-detail-icon svg { width:29px; height:29px; }
 html body.fc-modern .fc-os h3 { padding-inline-end:58px; font-size:28px; min-height:34px; }
 .fc-os .fc-os-description { clear:both; font-size:17px; }
 .fc-os .fc-os-note { margin-top:22px; }
 .fc-os .fc-os-bottom { flex-direction:column; align-items:flex-start; gap:5px; padding-top:18px; }
 .fc-os .fc-os-bottom p { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .fc-os *, .fc-os *::before, .fc-os *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
