/* Software preview only. The existing page structure and navigation are retained. */
.jl-finish-software { --ink:#19283d; --muted:#607087; --surface:#fff; --soft:#f4f6f8; --line:#dce2e9; --line-strong:#bcc8d6; background:#fff; color:#19283d; }
.jl-finish-software .agency-page-hero { background:linear-gradient(125deg,#fff 18%,#f4f6f9 62%,#e8edf3 100%); color:#19283d; border-bottom:1px solid #dce2e9; padding:29px 0 75px; }
.jl-finish-software .agency-page-hero .breadcrumbs { color:#69798e; margin-bottom:48px; }
.jl-finish-software .service-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:50px; align-items:center; }
.jl-finish-software .service-hero-grid>div:first-child { min-width:0; }
.jl-finish-software .service-hero-grid h1 { color:#19283d; font-size:clamp(40px,4.25vw,61px); line-height:1.1; letter-spacing:-.055em; font-weight:600; text-wrap:balance; }
.jl-finish-software .service-hero-grid .agency-label { color:#2b65c8; font-size:10px; letter-spacing:.13em; }
.jl-finish-software .service-hero-grid .lead { color:#5d6e84; font-size:15px; line-height:1.9; max-width:540px; }
.jl-finish-software .service-hero-grid .button { color:white; background:#245eea; border-color:#245eea; border-radius:5px; box-shadow:0 6px 20px #245eea1a; font-size:11px; }
.jl-finish-software .service-hero-grid .button:hover { background:#164ccf; border-color:#164ccf; }
.jl-finish-software .service-page-body .agency-label { color:#2b65c8; }
.jl-finish-software .service-page-body h2 { color:#19283d; letter-spacing:-.04em; }
.jl-finish-software .service-page-body .capabilities-grid article { background:#f8f9fb; border-color:#dce2e9; border-radius:7px; }
.jl-finish-software .service-page-body .capabilities-grid .cap-number { color:#326cde; }
.jl-finish-software .service-page-body .agency-solution-list>a { border-color:#dce2e9; }
.jl-finish-software .service-page-body .agency-solution-list>a>div>svg { color:#346bce; }
.jl-finish-software .service-page-body .deliverable-split>div:nth-child(2) { background:#f3f6f9; border:1px solid #dce2e9; border-radius:8px; }
.jl-finish-software .sf-scene { width:100%; max-width:570px; min-width:0; margin:0 auto; color:#21344e; font:500 12px/1.45 Manrope,"Segoe UI",sans-serif; isolation:isolate; }
.jl-finish-software .sf-device { position:relative; padding:9px; background:linear-gradient(115deg,#fff 2%,#ced6df 27%,#f5f7fa 49%,#bbc6d2 100%); border:1px solid #aebcca; border-radius:22px; box-shadow:inset 0 0 0 1px #fff9,0 23px 55px -22px #29496e40,9px 10px 0 -8px #9caab9; }
.jl-finish-software .sf-screen { overflow:hidden; border:1px solid #c1ccd9; border-radius:14px; background:#fff; box-shadow:0 1px 1px #fff; }
.jl-finish-software .sf-windowbar { display:flex; align-items:center; gap:13px; height:44px; padding:0 17px; background:linear-gradient(180deg,#fbfcfd,#f0f3f7); border-bottom:1px solid #dfe5ed; }
.jl-finish-software .sf-windowmark { display:flex; gap:8px; align-items:center; font-size:14px; font-weight:800; color:#2560d9; }
.jl-finish-software .sf-windowmark>span { font-weight:650; font-size:10px; letter-spacing:-.01em; color:#53667e; }
.jl-finish-software .sf-demo-label { margin-left:auto; font-size:6px; letter-spacing:.1em; color:#71839a; }
.jl-finish-software .sf-account { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#e3eafa; color:#3869c3; font-size:8px; }
.jl-finish-software .sf-app { display:grid; grid-template-columns:47px minmax(0,1fr); min-height:322px; }
.jl-finish-software .sf-sidebar { display:flex; flex-direction:column; align-items:center; gap:17px; padding:22px 0; border-right:1px solid #e8ecf1; background:#f6f8fb; }
.jl-finish-software .sf-nav-icon { display:grid; place-items:center; width:28px; height:28px; color:#8ca0bb; border-radius:7px; }
.jl-finish-software .sf-nav-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.jl-finish-software .sf-nav-active { color:#3269df; background:#e5edff; }
.jl-finish-software .sf-workspace { min-width:0; padding:22px 22px 15px; }
.jl-finish-software .sf-app-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:20px; }
.jl-finish-software .sf-app-heading>div { display:flex; flex-direction:column; gap:4px; }
.jl-finish-software .sf-app-heading small { font-size:6px; letter-spacing:.14em; color:#8390a3; }
.jl-finish-software .sf-app-heading strong { font-size:18px; font-weight:700; letter-spacing:-.04em; color:#21344e; }
.jl-finish-software .sf-sync { display:flex; align-items:center; gap:5px; color:#7e8ea3; font-size:7px; }
.jl-finish-software .sf-sync i { width:4px; height:4px; border-radius:50%; background:#4c82df; }
.jl-finish-software .sf-stages { position:relative; min-height:231px; }
.jl-finish-software .sf-stage { position:absolute; inset:0; opacity:0; transform:translateY(7px); visibility:hidden; transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.3,1),visibility .45s; }
.jl-finish-software .sf-scene[data-stage="0"] .sf-stage[data-sf-stage="0"],.jl-finish-software .sf-scene[data-stage="1"] .sf-stage[data-sf-stage="1"],.jl-finish-software .sf-scene[data-stage="2"] .sf-stage[data-sf-stage="2"] { opacity:1; transform:none; visibility:visible; }
.jl-finish-software .sf-stage-heading { display:flex; align-items:center; gap:9px; padding-bottom:18px; }
.jl-finish-software .sf-stage-number { width:25px; height:25px; display:grid; place-items:center; border-radius:7px; font-size:9px; color:#2a66d7; background:#eef3ff; }
.jl-finish-software .sf-stage-heading h3 { margin:0; font-size:13px; font-weight:700; letter-spacing:-.025em; line-height:1.5; color:#243751; }
.jl-finish-software .sf-stage-heading p { margin:2px 0 0; font-size:7px; line-height:1.6; color:#8c98a9; }
.jl-finish-software .sf-stage-icon { margin-left:auto; width:18px; height:18px; fill:none; stroke:#91a5c3; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.jl-finish-software .sf-request-line { display:flex; align-items:center; gap:9px; padding:12px; background:#f6f8fb; border:1px solid #e5eaf1; border-radius:8px; }
.jl-finish-software .sf-company-icon { display:grid; place-items:center; width:29px; height:29px; background:#e4ebf8; color:#5a78a7; border-radius:7px; font-size:9px; }
.jl-finish-software .sf-request-line>div { display:flex; flex-direction:column; gap:2px; }
.jl-finish-software .sf-request-line strong { color:#344964; font-size:10px; }
.jl-finish-software .sf-request-line>div>span { color:#8796a9; font-size:7px; }
.jl-finish-software .sf-small-tag { margin-left:auto; color:#346edc; background:#e7effe; padding:3px 7px; border-radius:4px; font-size:6px; }
.jl-finish-software .sf-product-row { display:flex; align-items:center; gap:12px; padding:19px 4px 17px; border-bottom:1px solid #e5eaf1; }
.jl-finish-software .sf-product-icon { width:43px; height:34px; color:#91a4be; }
.jl-finish-software .sf-product-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.jl-finish-software .sf-laptop-blue { fill:#e2ebfe; stroke:none; }
.jl-finish-software .sf-product-row>div:not(.sf-quantity) { display:flex; flex-direction:column; gap:3px; }
.jl-finish-software .sf-product-row strong { font-size:11px; font-weight:700; color:#253b58; }
.jl-finish-software .sf-product-row>div>span { font-size:7px; color:#8796a9; }
.jl-finish-software .sf-quantity { margin-left:auto; text-align:right; }
.jl-finish-software .sf-quantity strong { display:block; font-size:23px; letter-spacing:-.05em; line-height:1.1; }
.jl-finish-software .sf-quantity small { color:#8a98ab; font-size:7px; }
.jl-finish-software .sf-processing { display:flex; gap:7px; align-items:center; padding-top:13px; color:#71839b; font-size:8px; }
.jl-finish-software .sf-processing-dot { height:5px; width:5px; background:#4581ec; border-radius:50%; box-shadow:0 0 0 4px #edf3ff; }
.jl-finish-software .sf-dotrun { color:#6696ee; letter-spacing:2px; margin-left:auto; animation:sf-software-pulse 1.2s ease-in-out infinite; }
.jl-finish-software .sf-stock-product { display:flex; flex-direction:column; gap:3px; margin-bottom:15px; }
.jl-finish-software .sf-stock-product>strong { font-size:11px; color:#344964; }
.jl-finish-software .sf-stock-product>span { font-size:7px; color:#8b98aa; }
.jl-finish-software .sf-stock-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:17px; }
.jl-finish-software .sf-stock-metrics>div { border-right:1px solid #e7ebf2; }
.jl-finish-software .sf-stock-metrics>div:last-child { border-right:0; }
.jl-finish-software .sf-stock-metrics small { display:block; color:#8b98a9; font-size:7px; margin-bottom:4px; }
.jl-finish-software .sf-stock-metrics strong { color:#344964; font-size:28px; letter-spacing:-.05em; line-height:1.2; }
.jl-finish-software .sf-stock-metrics strong>span { color:#9aa7b8; font-size:7px; letter-spacing:0; font-weight:500; margin-left:4px; }
.jl-finish-software .sf-stock-metrics .sf-metric-blue strong { color:#2e68db; }
.jl-finish-software .sf-stock-track { height:7px; border-radius:2px; background:#e3e9f2; overflow:hidden; }
.jl-finish-software .sf-stock-reserved { display:block; width:57.142%; height:100%; background:#3c75e2; transform:scaleX(0); transform-origin:left; transition:transform 1.1s cubic-bezier(.16,.7,.3,1) .5s; }
.jl-finish-software .sf-scene[data-stage="1"] .sf-stock-reserved,.jl-finish-software .sf-scene[data-stage="2"] .sf-stock-reserved { transform:scaleX(1); }
.jl-finish-software .sf-stock-legend { display:flex; justify-content:space-between; margin-top:7px; color:#97a3b5; font-size:6px; }
.jl-finish-software .sf-stock-legend>span:first-child { color:#6584b8; }
.jl-finish-software .sf-stock-legend i { display:inline-block; width:4px; height:4px; background:#3c75e2; margin-right:4px; border-radius:1px; }
.jl-finish-software .sf-confirmation { display:flex; align-items:center; gap:7px; margin-top:17px; color:#4a75b9; font-size:8px; opacity:0; transform:translateY(4px); transition:opacity .5s 1.2s,transform .5s 1.2s; }
.jl-finish-software .sf-confirmation svg,.jl-finish-software .sf-document-check svg { width:13px; height:13px; fill:none; stroke:#4b7dca; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.jl-finish-software .sf-scene[data-stage="1"] .sf-confirmation { opacity:1; transform:none; }
.jl-finish-software .sf-order-document { border:1px solid #dce5f1; border-left:3px solid #4d80e5; border-radius:3px 7px 7px 3px; background:linear-gradient(115deg,#fff,#f7faff); padding:12px 14px; box-shadow:0 5px 12px #22395404; }
.jl-finish-software .sf-document-head { display:flex; justify-content:space-between; gap:10px; color:#8796a9; font-size:6px; letter-spacing:.06em; }
.jl-finish-software .sf-document-head strong { color:#5878a7; font-size:9px; letter-spacing:0; }
.jl-finish-software .sf-document-customer { display:flex; flex-direction:column; gap:3px; padding:9px 0; }
.jl-finish-software .sf-document-customer small { color:#9aa7b7; font-size:6px; }
.jl-finish-software .sf-document-customer strong { color:#334c70; font-size:10px; }
.jl-finish-software .sf-document-item { display:flex; justify-content:space-between; padding:8px 0; border-block:1px solid #e7edf5; font-size:8px; color:#70849f; }
.jl-finish-software .sf-document-item strong { color:#426596; font-weight:650; }
.jl-finish-software .sf-document-check { display:flex; gap:5px; align-items:center; color:#6d8ebc; font-size:6px; margin-top:8px; }
.jl-finish-software .sf-review-status { display:flex; gap:8px; align-items:center; margin-top:12px; }
.jl-finish-software .sf-review-icon { display:grid; place-items:center; width:25px; height:25px; background:#eef3fd; color:#4b7cd4; border-radius:50%; }
.jl-finish-software .sf-review-icon svg { width:15px; height:15px; stroke:currentColor; stroke-width:1.4; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.jl-finish-software .sf-review-status>div { display:flex; flex-direction:column; gap:2px; }
.jl-finish-software .sf-review-status strong { color:#42618c; font-size:9px; }
.jl-finish-software .sf-review-status>div>span { color:#91a0b5; font-size:6px; }
.jl-finish-software .sf-timeline { position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; height:43px; padding:5px 22px 0; border-top:1px solid #e4eaf2; background:#f9fbfd; }
.jl-finish-software .sf-timeline-track { position:absolute; height:2px; top:-1px; inset-inline:0; background:#e5ebf5; overflow:hidden; }
.jl-finish-software .sf-timeline-track>span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:#6290e9; }
.jl-finish-software .sf-timeline>span { display:flex; align-items:center; gap:6px; font-size:7px; color:#a0aec0; white-space:nowrap; transition:color .35s; }
.jl-finish-software .sf-timeline i { display:grid; place-items:center; width:15px; height:15px; border:1px solid #d9e2ef; border-radius:50%; font-size:6px; font-style:normal; color:#9babc1; }
.jl-finish-software .sf-timeline>span[data-active] { color:#3d6db6; }
.jl-finish-software .sf-timeline>span[data-active] i { color:#3270df; background:#e8f0ff; border-color:#bdcff1; }
.jl-finish-software .sf-stand { position:relative; width:162px; height:38px; margin:0 auto; }
.jl-finish-software .sf-stand::before { content:""; display:block; position:absolute; width:79px; height:32px; left:41px; top:0; background:linear-gradient(90deg,#b7c3d0,#e1e6ed 34%,#f4f6f9 55%,#b5c2d0); clip-path:polygon(14% 0,86% 0,100% 100%,0 100%); }
.jl-finish-software .sf-stand>span { position:absolute; width:162px; height:8px; left:0; bottom:0; border-radius:50% 50% 30% 30%; background:linear-gradient(#e8edf2,#aab8c8); box-shadow:0 9px 14px #233d5c17; }
.jl-finish-software .sf-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; padding:22px 16px 0; color:#687a91; font-size:9px; }
.jl-finish-software .sf-capabilities>span { position:relative; padding-left:10px; }
.jl-finish-software .sf-capabilities>span::before { content:""; position:absolute; width:3px; height:3px; top:.6em; left:0; background:#6c94d7; }
.jl-finish-software .sf-caption { display:flex; flex-direction:column; gap:6px; text-align:center; margin-top:22px; color:#7190b7; font-size:7px; letter-spacing:.11em; }
.jl-finish-software .sf-caption small { color:#9aa8ba; font-size:7px; letter-spacing:.01em; }
.jl-finish-software .sf-scene[data-motion-paused] * { animation-play-state:paused!important; }
@keyframes sf-software-pulse { 0%,100% { opacity:.3 } 50% { opacity:1 } }
@media(min-width:1500px) { .jl-finish-software .service-hero-grid { gap:65px; } }
@media(max-width:1100px) { .jl-finish-software .service-hero-grid { gap:30px; } .jl-finish-software .service-hero-grid h1 { font-size:clamp(38px,4.8vw,53px); } .jl-finish-software .sf-workspace { padding-inline:16px; } .jl-finish-software .sf-app { grid-template-columns:36px minmax(0,1fr); } }
@media(max-width:900px) { .jl-finish-software .service-hero-grid { grid-template-columns:minmax(0,1fr); gap:42px; } .jl-finish-software .service-hero-grid>div:first-child { max-width:660px; } .jl-finish-software .service-hero-grid h1 { font-size:clamp(40px,6vw,58px); max-width:680px; } .jl-finish-software .service-hero-grid .lead { max-width:660px; } .jl-finish-software .sf-scene { max-width:590px; } .jl-finish-software .sf-workspace { padding-inline:25px; } .jl-finish-software .agency-page-hero .breadcrumbs { margin-bottom:35px; } }
@media(max-width:540px) { .jl-finish-software .agency-page-hero { padding-bottom:42px; } .jl-finish-software .service-hero-grid { gap:34px; } .jl-finish-software .service-hero-grid h1 { font-size:clamp(36px,9.7vw,48px); } .jl-finish-software .service-hero-grid .lead { font-size:14px; line-height:1.85; } .jl-finish-software .sf-device { padding:6px; border-radius:17px; } .jl-finish-software .sf-screen { border-radius:11px; } .jl-finish-software .sf-windowbar { height:39px; padding-inline:11px; gap:9px; } .jl-finish-software .sf-windowmark { font-size:12px; gap:6px; } .jl-finish-software .sf-windowmark>span { font-size:9px; } .jl-finish-software .sf-demo-label { font-size:5px; letter-spacing:.03em; } .jl-finish-software .sf-account { width:18px; height:18px; font-size:6px; } .jl-finish-software .sf-app { grid-template-columns:31px minmax(0,1fr); min-height:321px; } .jl-finish-software .sf-sidebar { padding-top:21px; gap:17px; } .jl-finish-software .sf-nav-icon { width:23px; height:25px; } .jl-finish-software .sf-nav-icon svg { width:15px; height:15px; } .jl-finish-software .sf-workspace { padding:19px 12px 14px; } .jl-finish-software .sf-app-heading { padding-bottom:19px; } .jl-finish-software .sf-app-heading strong { font-size:17px; } .jl-finish-software .sf-sync { font-size:6px; } .jl-finish-software .sf-stage-heading { gap:7px; } .jl-finish-software .sf-stage-heading h3 { font-size:12px; } .jl-finish-software .sf-stage-heading p { font-size:6px; } .jl-finish-software .sf-stage-icon { display:none; } .jl-finish-software .sf-stage-number { width:23px; height:23px; font-size:8px; } .jl-finish-software .sf-request-line { gap:7px; padding:10px; } .jl-finish-software .sf-company-icon { width:25px; height:25px; font-size:8px; } .jl-finish-software .sf-request-line strong { font-size:9px; } .jl-finish-software .sf-small-tag { font-size:5px; padding:3px 5px; } .jl-finish-software .sf-product-row { gap:8px; } .jl-finish-software .sf-product-icon { width:34px; } .jl-finish-software .sf-product-row strong { font-size:10px; } .jl-finish-software .sf-quantity strong { font-size:22px; } .jl-finish-software .sf-product-row>div>span { font-size:6px; } .jl-finish-software .sf-processing { font-size:7px; } .jl-finish-software .sf-stock-metrics { gap:8px; } .jl-finish-software .sf-stock-metrics strong { font-size:25px; } .jl-finish-software .sf-stock-metrics small { font-size:6px; } .jl-finish-software .sf-stock-metrics strong>span { display:block; margin-left:0; font-size:6px; } .jl-finish-software .sf-confirmation { font-size:7px; } .jl-finish-software .sf-order-document { padding-inline:11px; } .jl-finish-software .sf-document-item { font-size:7px; } .jl-finish-software .sf-timeline { padding-inline:13px; gap:5px; } .jl-finish-software .sf-timeline>span { font-size:6px; gap:5px; } .jl-finish-software .sf-capabilities { padding:19px 5px 0; gap:8px; font-size:8px; } .jl-finish-software .sf-caption { font-size:6px; letter-spacing:.06em; margin-top:20px; } .jl-finish-software .sf-caption small { font-size:6px; } }
@media(prefers-reduced-motion:reduce) { .jl-finish-software .sf-stage,.jl-finish-software .sf-stock-reserved,.jl-finish-software .sf-confirmation,.jl-finish-software .sf-timeline>span { transition:none!important; } .jl-finish-software .sf-dotrun { animation:none!important; } }
/* Keep the conceptual application light, while its page follows the selected theme. */
html[data-theme="dark"] .jl-finish-software .agency-page-hero { background:linear-gradient(125deg,#14171c 18%,#1d222a 62%,#29323f 100%);color:var(--finish-ink);border-color:var(--finish-line); }
html[data-theme="dark"] .jl-finish-software .agency-page-hero .breadcrumbs,
html[data-theme="dark"] .jl-finish-software .service-hero-grid .lead { color:var(--finish-muted); }
html[data-theme="dark"] .jl-finish-software .service-hero-grid h1,
html[data-theme="dark"] .jl-finish-software .service-page-body h2 { color:var(--finish-ink); }
html[data-theme="dark"] .jl-finish-software .service-hero-grid .agency-label,
html[data-theme="dark"] .jl-finish-software .service-page-body .agency-label,
html[data-theme="dark"] .jl-finish-software .service-page-body .capabilities-grid .cap-number,
html[data-theme="dark"] .jl-finish-software .service-page-body .agency-solution-list>a>div>svg { color:var(--finish-blue); }
html[data-theme="dark"] .jl-finish-software .service-page-body .capabilities-grid article { background:var(--finish-card);border-color:var(--finish-line); }
html[data-theme="dark"] .jl-finish-software .service-page-body .agency-solution-list>a { border-color:var(--finish-line); }
html[data-theme="dark"] .jl-finish-software .service-page-body .deliverable-split>div:nth-child(2) { background:var(--soft);border-color:var(--finish-line); }
.jl-finish-software .sf-capabilities { color:#526178;font-size:10px; }
.jl-finish-software .sf-caption { color:#526178;font-size:9px; }
.jl-finish-software .sf-caption small { color:#526178;font-size:9px; }
html[data-theme="dark"] .jl-finish-software .sf-capabilities,
html[data-theme="dark"] .jl-finish-software .sf-caption,
html[data-theme="dark"] .jl-finish-software .sf-caption small { color:var(--finish-muted); }
@media(max-width:540px) { .jl-finish-software .sf-capabilities { font-size:9px; }.jl-finish-software .sf-caption,.jl-finish-software .sf-caption small { font-size:8px; } }
