:root{--navy:#0B1F44;--navy-2:#0E2A5C;--navy-3:#08183A;--cobalt:#2F6FE0;--cobalt-bright:#4D8BFF;--cyan:#5FB8FF;--white:#FFFFFF;--paper:#F4F6FB;--ink:#1B2A4A;--muted:#5C6B8A;--line:#E4E9F2;--radius:20px;--maxw:1160px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Hanken Grotesk,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,.display{font-family:Sora,sans-serif;letter-spacing:-.03em;line-height:1.04}a{text-decoration:none;color:inherit}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:Sora,sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--cobalt)}.btn{display:inline-flex;align-items:center;gap:9px;font-family:Sora,sans-serif;font-weight:700;font-size:15px;padding:14px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap}.btn-primary{background:var(--cobalt);color:#fff;box-shadow:0 10px 26px -10px #2f6fe0b3}.btn-primary:hover{background:var(--cobalt-bright);transform:translateY(-2px);box-shadow:0 16px 34px -12px #4d8bffd9}.btn-ghost{border-color:#ffffff47;color:#fff}.btn-ghost:hover{background:#ffffff14;border-color:#ffffff80}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--navy-2);transform:translateY(-2px)}.arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(3px)}header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s}header.scrolled{background:#0b1f44d1;backdrop-filter:blur(14px);box-shadow:0 1px #ffffff14}.nav{display:flex;align-items:center;justify-content:space-between;height:78px}.brand{display:flex;align-items:center;gap:12px}.brand .mark{width:38px;height:38px}.brand .name{font-family:Sora,sans-serif;font-weight:800;font-size:23px;color:#fff;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{font-weight:600;font-size:15px;color:#ffffffd1;transition:.2s}.nav-links a:hover{color:#fff}.nav-cta{display:flex;align-items:center;gap:14px}.menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}.menu-btn span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}.hero{position:relative;background:var(--navy);color:#fff;padding:150px 0 110px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 12%,rgba(77,139,255,.3),transparent 60%),radial-gradient(50% 60% at 8% 90%,rgba(47,111,224,.22),transparent 60%);pointer-events:none}.grid-bg{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent 75%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.hero h1{font-size:clamp(40px,5.4vw,68px);font-weight:800;margin:20px 0 22px}.hero h1 .grad{background:linear-gradient(100deg,#fff 30%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{font-size:clamp(17px,2vw,20px);color:#ffffffc7;max-width:520px;line-height:1.55;margin-bottom:34px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px}.hero-chips{display:flex;gap:10px;flex-wrap:wrap}.chip{font-size:13.5px;font-weight:600;color:#ffffffd9;background:#ffffff12;border:1px solid rgba(255,255,255,.14);padding:8px 15px;border-radius:999px}.chip b{color:var(--cyan)}.core-viz{position:relative;aspect-ratio:1/1;max-width:460px;margin-left:auto}.core-viz svg{width:100%;height:100%;overflow:visible}.spin{transform-origin:center;animation:spin 38s linear infinite}.spin-rev{transform-origin:center;animation:spin 52s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.pulse{transform-origin:center;animation:pulse 3.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;r:46}50%{opacity:.12;r:62}}.node-lbl{font-family:Sora,sans-serif;font-weight:700;font-size:11px;fill:#fff;letter-spacing:.04em}section{padding:96px 0}.sec-head{max-width:640px;margin-bottom:54px}.sec-head h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;margin:14px 0 16px}.sec-head p{font-size:18px;color:var(--muted);line-height:1.6}.stats{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.stat .num{font-family:Sora,sans-serif;font-weight:800;font-size:40px;color:var(--navy);letter-spacing:-.03em}.stat .lbl{font-size:14px;color:var(--muted);font-weight:600;margin-top:4px}#products{background:var(--white)}.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.3s;position:relative;overflow:hidden}.card:hover{transform:translateY(-6px);border-color:#2f6fe073;box-shadow:0 24px 50px -24px #0b1f4447}.card .ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(150deg,#4d8bff29,#2f6fe01a);margin-bottom:20px}.card .ico svg{width:28px;height:28px;stroke:var(--cobalt)}.card h3{font-size:21px;font-weight:700;color:var(--navy);margin-bottom:9px;display:flex;align-items:center;gap:9px}.card p{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:16px}.card .feat{list-style:none;display:flex;flex-wrap:wrap;gap:7px}.card .feat li{font-size:12.5px;font-weight:600;color:var(--cobalt);background:#2f6fe014;padding:5px 11px;border-radius:8px}.tag-flag{position:absolute;top:18px;right:18px;font-family:Sora,sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;color:#fff;background:var(--cobalt);padding:5px 11px;border-radius:999px}.card.feature{grid-column:span 1;background:linear-gradient(160deg,var(--navy),var(--navy-2));border-color:transparent;color:#fff}.card.feature h3{color:#fff}.card.feature p{color:#ffffffc7}.card.feature .ico{background:#ffffff1f}.card.feature .ico svg{stroke:var(--cyan)}.card.feature .feat li{color:var(--cyan);background:#5fb8ff24}#built{background:var(--navy);color:#fff;position:relative;overflow:hidden}#built:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 85% 20%,rgba(77,139,255,.22),transparent 60%)}#built .sec-head h2{color:#fff}#built .sec-head p{color:#ffffffb8}.feat-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fcard{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:28px;transition:.3s}.fcard:hover{background:#ffffff17;transform:translateY(-4px)}.fcard .fico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#5fb8ff26;margin-bottom:16px}.fcard .fico svg{width:24px;height:24px;stroke:var(--cyan)}.fcard h3{font-size:18px;color:#fff;margin-bottom:8px}.fcard p{font-size:14.5px;color:#ffffffb8;line-height:1.55}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{position:relative;padding-top:18px}.step .n{font-family:Sora,sans-serif;font-weight:800;font-size:15px;color:#fff;background:var(--cobalt);width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:16px}.step h3{font-size:18px;color:var(--navy);margin-bottom:8px}.step p{font-size:14.5px;color:var(--muted);line-height:1.55}.cta{background:linear-gradient(150deg,var(--cobalt),var(--navy-2));border-radius:30px;padding:64px;text-align:center;color:#fff;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 50% 0%,rgba(255,255,255,.18),transparent 60%)}.cta h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:14px;position:relative}.cta p{font-size:18px;color:#ffffffd9;max-width:520px;margin:0 auto 30px;position:relative}.cta .btn-primary{background:#fff;color:var(--navy);box-shadow:0 14px 30px -12px #0006;position:relative}.cta .btn-primary:hover{background:var(--paper)}footer{background:var(--navy-3);color:#ffffffb3;padding:64px 0 30px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}.foot-brand .mark{width:34px;height:34px}.foot-brand .name{font-family:Sora,sans-serif;font-weight:800;font-size:21px;color:#fff}.foot-brand p{font-size:14.5px;line-height:1.6;margin-top:14px;max-width:300px}footer h4{font-family:Sora,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:16px}footer ul{list-style:none;display:grid;gap:11px}footer ul a{font-size:14.5px;color:#ffffffb3;transition:.2s}footer ul a:hover{color:var(--cyan)}.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13.5px}.modal-overlay{position:fixed;inset:0;z-index:100;background:#0810269e;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:.28s}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:24px;padding:38px;position:relative;transform:translateY(18px) scale(.98);transition:.3s cubic-bezier(.2,.7,.2,1);box-shadow:0 40px 90px -30px #08102699}.modal-overlay.open .modal{transform:none}.modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:var(--paper);color:var(--navy);font-size:22px;line-height:1;display:grid;place-items:center;transition:.2s}.modal-close:hover{background:#e7ecf6;transform:rotate(90deg)}.modal-head{margin-bottom:24px;padding-right:30px}.modal-head h3{font-size:26px;font-weight:800;color:var(--navy);margin:8px 0}.modal-head p{font-size:15px;color:var(--muted);line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1 / -1}.field label{font-family:Sora,sans-serif;font-weight:600;font-size:13px;color:var(--ink)}.field label .req{color:var(--cobalt)}.field input,.field select,.field textarea{font-family:Hanken Grotesk,sans-serif;font-size:15px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;transition:.2s;width:100%}.field textarea{resize:vertical;min-height:92px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cobalt);background:#fff;box-shadow:0 0 0 4px #2f6fe01f}.field .err{font-size:12.5px;color:#d23b4e;font-weight:600;display:none}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#d23b4e;background:#fff5f6}.field.invalid .err{display:block}#demoForm .btn-primary{width:100%;justify-content:center;margin-top:8px}.form-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:14px}.modal-success{text-align:center;padding:24px 0}.modal-success .tick{width:66px;height:66px;border-radius:50%;background:#2f6fe01f;display:grid;place-items:center;margin:0 auto 18px}.modal-success .tick svg{width:32px;height:32px;stroke:var(--cobalt)}.modal-success h3{font-size:24px;font-weight:800;color:var(--navy);margin-bottom:10px}.modal-success p{font-size:15px;color:var(--muted);line-height:1.55;max-width:400px;margin:0 auto}.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.page-head{background:var(--navy);color:#fff;padding:150px 0 70px;position:relative;overflow:hidden}.page-head:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 12%,rgba(77,139,255,.3),transparent 60%);pointer-events:none}.page-head .wrap{position:relative}.page-head h1{font-size:clamp(34px,4.6vw,56px);font-weight:800;margin:16px 0 14px}.page-head p{font-size:18px;color:#ffffffc7;max-width:560px;line-height:1.55}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.3s}.post-card:hover{transform:translateY(-6px);border-color:#2f6fe073;box-shadow:0 24px 50px -24px #0b1f4447}.post-card .date{font-size:13px;font-weight:600;color:var(--cobalt);font-family:Sora,sans-serif;letter-spacing:.04em}.post-card h3{font-size:20px;font-weight:700;color:var(--navy);margin:10px 0 8px}.post-card p{font-size:14.5px;color:var(--muted);line-height:1.6}.article{max-width:760px;margin:0 auto;padding:130px 24px 0}.article .date{font-size:14px;font-weight:600;color:var(--cobalt);font-family:Sora,sans-serif;letter-spacing:.04em}.article h1{font-size:clamp(30px,4vw,46px);font-weight:800;color:var(--navy);margin:12px 0 24px;line-height:1.1}.prose{font-size:17px;line-height:1.75;color:var(--ink)}.prose h2{font-size:26px;font-weight:800;color:var(--navy);margin:36px 0 14px}.prose h3{font-size:21px;font-weight:700;color:var(--navy);margin:28px 0 10px}.prose p{margin-bottom:18px}.prose ul,.prose ol{margin:0 0 18px 22px;display:grid;gap:8px}.prose a{color:var(--cobalt);font-weight:600}.prose a:hover{text-decoration:underline}.prose code{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:.9em}.prose blockquote{border-left:3px solid var(--cobalt);padding-left:18px;margin:0 0 18px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:7px;font-family:Sora,sans-serif;font-weight:600;font-size:14px;color:var(--cobalt);margin-bottom:28px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.core-viz{max-width:360px;margin:0 auto}.prod-grid,.feat-grid,.steps,.stats-grid,.post-grid{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}.nav-links,.nav-cta .btn{display:none}.menu-btn{display:flex}.nav-links.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:var(--navy);padding:24px;gap:20px;border-top:1px solid rgba(255,255,255,.1)}}@media(max-width:560px){section{padding:68px 0}.prod-grid,.feat-grid,.steps,.stats-grid,.post-grid{grid-template-columns:1fr}.cta{padding:44px 26px}.hero{padding:130px 0 80px}.form-grid{grid-template-columns:1fr}.modal{padding:28px 22px}}
