*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#e1e7fd;--ink:#0a1426;--ink-2:#394862;--ink-3:#6a7893;--line:#0f234b1a;--card:#ffffffc7;--card-solid:#fffffff2;--card-edge:#fffffff2;--shadow:0 30px 60px -32px #0f286461;--brand:#11568e;--brand-2:#3875b0;--brand-accent:#9ad438;--accent:var(--brand);--glow-a:#86adff;--glow-b:#7fdcec;--display:"Open Sans", "Noto Sans Devanagari", "Segoe UI", system-ui, sans-serif;--body:"Open Sans", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--col:min(560px, 44vw);--pad:clamp(18px, 5vw, 72px);--top:120px;--h1:clamp(38px, 5.2vw, 66px);--h2:clamp(26px, 3.1vw, 40px);--h3:clamp(19px, 2vw, 26px);--gut:max(var(--pad), calc((100% - 1280px) / 2))}:root[data-theme=dark]{--bg:#040914;--ink:#edf2ff;--ink-2:#b3bfdc;--ink-3:#7d89a8;--line:#a0b9ff1f;--card:#0b1226b3;--card-solid:#0a1022f0;--card-edge:#96afff24;--shadow:0 30px 70px -30px #000000d9;--brand:#709abb;--brand-2:#8fb6da;--brand-accent:#9ad438;--glow-a:#16307e;--glow-b:#07465a}:root:not([data-theme=dark]) .glow{opacity:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body.sol-page{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65;transition:background .4s,color .4s;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.glow{filter:blur(100px);opacity:.6;border-radius:50%;animation:30s ease-in-out infinite alternate drift;position:absolute}.glow--a{background:var(--glow-a);width:52vw;height:52vw;top:-14vw;right:-12vw}.glow--b{background:var(--glow-b);width:40vw;height:40vw;animation-delay:-12s;bottom:-18vw;right:10vw}@keyframes drift{to{transform:translate(-4vw,3vh)scale(1.08)}}#scene{z-index:1;pointer-events:none;width:100%;height:100%;transition:opacity .6s;display:block;position:fixed;inset:0}body.dim3d #scene{opacity:.3}body.no3d #scene{opacity:0}main{z-index:2;position:relative}.btn{font-family:var(--body);cursor:pointer;white-space:nowrap;will-change:transform;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-size:15px;font-weight:600;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.btn span{transition:transform .25s}.btn:hover span{transform:translate(4px)}.btn--primary{color:#fff;background:linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 55%, var(--brand-2)));box-shadow:0 14px 30px -12px var(--brand)}.btn--primary:hover{box-shadow:0 20px 40px -12px var(--brand)}.btn--accent{color:#fff;background:var(--accent);box-shadow:0 14px 30px -14px var(--accent)}.btn--accent:hover{box-shadow:0 20px 40px -12px var(--accent)}.btn--ghost{color:var(--ink);background:var(--card);border-color:var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn--ghost:hover{border-color:var(--accent)}.btn--sm{padding:10px 18px;font-size:14px}.icon-btn{width:40px;height:40px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:12px;place-items:center;transition:border-color .2s,color .2s;display:inline-grid}.icon-btn:hover{color:var(--brand);border-color:var(--brand)}.icon-btn svg{grid-area:1/1;transition:opacity .25s,transform .35s}.icon-btn--text{font:700 12px/1 var(--body);letter-spacing:.06em}.icon-btn--text[aria-pressed=false]{opacity:.5}.ico-moon{opacity:0;transform:rotate(-60deg)scale(.6)}:root[data-theme=dark] .ico-sun{opacity:0;transform:rotate(60deg)scale(.6)}:root[data-theme=dark] .ico-moon{opacity:1;transform:none}.eyebrow{font:600 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:10px;padding:7px 14px 7px 12px;display:inline-flex}.dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite blip}@keyframes blip{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 8%, transparent)}}.col{width:var(--col);margin-left:var(--gut)}.section-head{width:var(--col);margin-left:var(--gut);margin-bottom:20px}.section-head h2,.fit h2,.contact__intro h2{font-family:var(--display);font-weight:700;font-size:var(--h2);letter-spacing:-.03em;margin:18px 0 14px;line-height:1.1}.section-head p:not(.eyebrow){color:var(--ink-2);max-width:54ch;font-size:17px}.hero{min-height:100vh;padding:var(--top) 0 120px;align-items:flex-start;display:flex;position:relative}.hero__title{font-family:var(--display);font-weight:800;font-size:var(--h1);letter-spacing:-.04em;margin:22px 0;line-height:1.02}.hero__title em{color:#29588a;font-style:normal}:root[data-theme=dark] .hero__title em{color:#93bce0}.hero__lead{color:var(--ink-2);max-width:52ch;font-size:clamp(16px,1.25vw,18.5px)}.hero__ctas{flex-wrap:wrap;gap:12px;margin:30px 0;display:flex}.index{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.index a{color:var(--ink);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:8px;padding:7px 13px 7px 9px;font-size:13.5px;font-weight:600;transition:transform .25s,border-color .25s;display:inline-flex}.index .ico{width:18px;height:18px;color:var(--accent)}.index a:hover{border-color:var(--accent);transform:translateY(-2px)}.ticker{border-block:1px solid var(--line);position:absolute;bottom:26px;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ticker__track{width:max-content;animation:40s linear infinite ticker;display:flex}.ticker span{font:500 12.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;padding:15px 26px}.ticker span:before{content:"◆";color:var(--brand);margin-right:12px;font-size:.8em}@keyframes ticker{to{transform:translate(-50%)}}.rail{z-index:6;opacity:0;pointer-events:none;gap:9px;transition:opacity .4s;display:grid;position:fixed;top:50%;left:16px;transform:translateY(-50%)}.rail.on{opacity:1;pointer-events:auto}.rail a{width:22px;height:22px;color:var(--ink-3);place-items:center;transition:color .3s;display:grid}.rail a:hover{color:var(--accent)}.rail i{border:2px solid;border-radius:3px;width:10px;height:10px;transition:all .3s}.rail a.on{color:var(--accent)}.rail a.on i{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 20%, transparent);transform:scale(1.3)}.solutions{padding-top:10vh}.sol{min-height:115vh;padding:8vh var(--gut);align-items:center;display:flex}.sol[data-side=right]{justify-content:flex-end}.sol__card{width:var(--col);background:var(--card-solid);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:26px;padding:clamp(20px,2.2vw,30px);position:relative;overflow:hidden}.sol__card:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 15%, transparent));height:4px;position:absolute;inset:0 0 auto}.sol__card:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 20%, transparent), transparent 70%);pointer-events:none;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.sol__meta{font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;margin-bottom:14px;display:flex}.sol__icon{width:40px;height:40px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:12px;place-items:center;display:grid}.sol__code{color:var(--accent);font-weight:700}.sol__cat{border-left:1px solid var(--line);padding-left:12px}.sol__name{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.04}.sol__tag{color:var(--accent);margin:4px 0 10px;font-size:16px;font-weight:600}.sol__powered{color:var(--ink);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px 6px 6px;text-decoration:none;transition:border-color .2s,transform .2s;display:inline-flex}.sol__powered span{color:#fff;background:var(--accent);font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:4px 8px}.sol__powered b{font-family:var(--display);font-size:15px;font-weight:700}.sol__powered i{color:var(--accent);font-style:normal;font-weight:700;transition:transform .2s}.sol__powered:hover{border-color:var(--accent);transform:translateY(-1px)}.sol__powered:hover i{transform:translate(3px)}.sol__lead{color:var(--ink-2);font-size:15px;line-height:1.6}.sol__h{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;margin:18px 0 10px;display:flex}.sol__h:after{content:"";background:var(--line);flex:1;height:1px}.ticks{grid-template-columns:1fr 1fr;gap:8px 18px;list-style:none;display:grid}.ticks li{padding-left:26px;font-size:14.5px;line-height:1.45;position:relative}.ticks li:before{content:"";background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:6px;width:17px;height:17px;position:absolute;top:1px;left:0}.ticks li:after{content:"";border:solid var(--accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:4px;left:6px;transform:rotate(40deg)}.outcomes{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:16px 0 14px;list-style:none;display:grid;overflow:hidden}.outcomes li{align-items:flex-start;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:600;line-height:1.3;display:flex}.outcomes li+li{border-left:1px solid var(--line)}.outcomes .ico{width:16px;height:16px;color:var(--accent);stroke-width:2.2px;margin-top:1px}.sol__for{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px;display:flex}.sol__for>span{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.chips{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.chips li{color:var(--ink);background:color-mix(in srgb, var(--accent) 9%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.sol__cta{flex-wrap:wrap;gap:10px;display:flex}.js [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(22px)}.js [data-reveal].in{opacity:1;transform:none}.fit{align-items:center;min-height:100vh;padding:14vh 0 10vh;display:flex}.fit__lead{color:var(--ink-2);max-width:50ch;margin-bottom:22px;font-size:17px}.goals{flex-wrap:wrap;gap:8px;display:flex}.goals button{font:600 14px/1.2 var(--body);color:var(--ink-2);cursor:pointer;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:10px 16px;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}.goals button:hover{border-color:var(--brand);color:var(--ink)}.goals button[aria-pressed=true]{color:#fff;background:linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 55%, var(--brand-2)));box-shadow:0 12px 26px -12px var(--brand);border-color:#0000}.fit__panel{background:var(--card-solid);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:22px;margin-top:22px;padding:20px}.fit__count{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}.picks{flex-direction:column;gap:8px;margin-bottom:18px;list-style:none;display:flex}.js .picks li:not(.match){display:none}.picks li.match{animation:.45s cubic-bezier(.2,.8,.2,1) both pop}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.picks a{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:15px;grid-template-columns:42px 1fr auto;align-items:center;gap:1px 12px;padding:11px 16px 11px 11px;transition:border-color .25s,transform .25s;display:grid}.picks .ico{width:42px;height:42px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:12px;grid-row:span 2;padding:10px}.picks b{font-family:var(--display);font-size:17px;line-height:1.2}.picks span{color:var(--ink-3);grid-column:2;font-size:13.5px;line-height:1.3}.picks a:after{content:"→";color:var(--accent);grid-area:1/3/span 2;font-weight:700}.picks a:hover{border-color:var(--accent);transform:translate(4px)}.contact{padding:16vh var(--gut) 12vh;grid-template-columns:1fr 1.05fr;align-items:start;gap:clamp(28px,5vw,80px);display:grid}.contact__intro>p:not(.eyebrow){color:var(--ink-2);max-width:48ch;font-size:17px}.steps{counter-reset:st;max-width:460px;margin:28px 0 26px;list-style:none}.steps li{counter-increment:st;gap:2px;padding:0 0 18px 42px;display:grid;position:relative}.steps li:before{content:"0" counter(st);width:30px;height:30px;font:700 11.5px/1 var(--mono);color:var(--brand);background:color-mix(in srgb, var(--brand) 13%, transparent);border-radius:9px;place-items:center;display:grid;position:absolute;top:0;left:0}.steps li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:34px;bottom:4px;left:14.5px}.steps b{font-family:var(--display);font-size:17px;line-height:1.8}.steps span{color:var(--ink-3);font-size:14.5px}.channels{gap:10px;max-width:420px;list-style:none;display:grid}.channels a{background:var(--card);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;transition:border-color .25s,transform .25s;display:flex}.channels a:hover{border-color:var(--brand);transform:translate(4px)}.channels b{font-family:var(--display);font-size:17px}.channels span{color:var(--ink-3);font-size:14px}.form{background:var(--card-solid);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow);border-radius:26px;gap:14px;padding:clamp(22px,3vw,36px);display:grid}.form__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.form__head b{font-family:var(--display);font-size:22px}.form__head span{font:600 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.form__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form label{color:var(--ink-2);gap:7px;font-size:13.5px;font-weight:600;display:grid}.form label em{color:var(--ink-3);font-style:normal;font-weight:500}.form input,.form select,.form textarea{font:500 15px var(--body);color:var(--ink);border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);resize:vertical;border-radius:13px;padding:13px 15px;transition:border-color .2s,box-shadow .2s}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.form [aria-invalid=true]{border-color:#ef4444}.form__submit{justify-content:center;margin-top:6px}.form__note{color:var(--ink-3);text-align:center;font-size:13px}.form__note.ok{color:#16a34a}.form__note.err{color:#ef4444}.foot{padding:0 var(--gut) 40px}.foot__panel{background:var(--card-solid);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:26px;grid-template-columns:1.1fr 2fr 1.2fr;gap:clamp(22px,3vw,44px);padding:clamp(24px,3.2vw,42px);display:grid}.foot__brand img{width:auto;height:46px;margin-bottom:16px}:root[data-theme=dark] .foot__brand img{content:url(/finlabs-logo-dark.png)}.foot__mail{color:var(--ink-2);align-items:center;gap:10px;margin-bottom:16px;font-size:14.5px;display:inline-flex}.foot__mail:hover{color:var(--brand)}.social{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.social a,.foot__mail-ico{width:36px;height:36px;color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, transparent);border-radius:11px;place-items:center;transition:transform .2s,background .2s,color .2s;display:grid}.social a:hover,.foot__mail:hover .foot__mail-ico{background:var(--brand);color:#fff;transform:translateY(-3px)}.social svg,.foot__mail-ico svg{width:18px;height:18px}.foot__cols{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.foot__cols ul{align-content:start;gap:11px;list-style:none;display:grid}.foot__cols a{color:var(--ink-2);font-size:14.5px;transition:color .2s}.foot__cols a:hover{color:var(--brand)}.foot__cross{font-weight:600;color:var(--brand)!important}.foot__cross:after{content:" ↗"}.foot__cta h3{font-family:var(--display);margin-bottom:8px;font-size:19px;font-weight:700}.foot__cta p{color:var(--ink-2);margin-bottom:18px;font-size:14.5px}.foot__copy{text-align:center;color:var(--ink-3);margin-top:22px;font-size:13px}@media (width<=1100px){:root{--col:min(540px, 52vw)}.ticks{grid-template-columns:1fr}}@media (width<=900px){:root{--col:calc(100% - 2 * var(--gut))}.nav__links,.rail{display:none}#scene{opacity:.35}body.dim3d #scene{opacity:.2}.sol,.sol[data-side=right]{min-height:auto;padding:7vh var(--gut);justify-content:center}.sol__card{width:100%}.outcomes{grid-template-columns:1fr}.outcomes li+li{border-left:0;border-top:1px solid var(--line)}.fit{min-height:auto}.contact,.form__row,.foot__panel{grid-template-columns:1fr}}@media (width<=560px){.nav__brand img{height:30px}.btn--sm,.sol__cat{display:none}.foot__cols{grid-template-columns:1fr 1fr}.hero{padding-bottom:110px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;transform:none}}
