*{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#101b2d;--blue:#166cff;--blue2:#eaf2ff;--text:#172033;--muted:#667085;--line:#e7ebf1;--soft:#f7f9fc;--white:#fff}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
.navbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid rgba(231,235,241,.8);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:10px;font-family:"Space Grotesk";font-weight:700;letter-spacing:.16em;font-size:18px}
.brand img{width:34px;height:34px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}
.nav-links>a:not(.nav-cta){color:#5c6678}
.nav-links>a:not(.nav-cta):hover{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;padding:11px 17px;border-radius:8px}
.nav-cta:hover{background:var(--blue)}
.menu-btn{display:none;border:0;background:none;font-size:24px}
.section{padding:115px 8vw}
.section-small{padding:45px 8vw}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding-top:90px;overflow:hidden}
.eyebrow,.section-label{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--blue)}
.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:25px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px var(--blue2)}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.08}
h1{font-size:clamp(50px,6.4vw,90px);letter-spacing:-.055em;max-width:800px}
h1 span,h2 span{color:var(--blue)}
.hero-copy>p{font-size:18px;color:var(--muted);max-width:630px;margin:28px 0 32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{padding:14px 21px;border-radius:8px;font-weight:700;font-size:14px;transition:.2s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--blue);transform:translateY(-2px)}
.btn-secondary{border:1px solid var(--line);background:#fff}.btn-secondary:hover{border-color:#b8c2d2;transform:translateY(-2px)}
.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;color:#8993a4;font-size:12px}
.hero-meta span{position:relative}.hero-meta span:not(:last-child):after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#b8c0cc;right:-12px;top:9px}
.hero-visual{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center}
.visual-grid{position:absolute;inset:20px 0;background-image:linear-gradient(#edf1f6 1px,transparent 1px),linear-gradient(90deg,#edf1f6 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle,#000 30%,transparent 72%);opacity:.7}
.flow-card{width:min(420px,90%);position:relative;z-index:2;background:#fff;border:1px solid #dfe5ed;border-radius:18px;padding:22px;box-shadow:0 28px 70px rgba(16,27,45,.12)}
.flow-head{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.12em;color:#7a8494;margin-bottom:18px}
.live{color:#149447}.live i{display:inline-block;width:6px;height:6px;background:#19b85c;border-radius:50%;margin-right:5px}
.flow-node{border:1px solid var(--line);border-radius:11px;padding:13px 15px;display:flex;gap:12px;align-items:center;background:#fff}
.flow-node b{display:block;font-size:13px}.flow-node small{display:block;color:#8993a4;font-size:10px;margin-top:2px}
.node-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--blue2);color:var(--blue);font-weight:800}
.ai{border-color:#cfe0ff}.n8n{border-color:#d9e0ea}
.connector{height:26px;width:1px;background:#cfd6e0;margin:auto}
.branches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.branches div{height:42px;border:1px dashed #cbd4df;border-radius:8px;display:grid;place-items:center;color:#657084;font-size:10px;font-weight:700}
.blue-shape{position:absolute;background:var(--blue);opacity:.95;transform:rotate(45deg)}.shape-one{width:75px;height:75px;right:0;top:85px;border-radius:0 18px 0 18px}.shape-two{width:28px;height:28px;left:4%;bottom:80px;transform:rotate(45deg);border-radius:3px}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.trust p{font-size:10px;letter-spacing:.15em;color:#99a2b1;font-weight:700;margin-bottom:22px}.tech-row{display:flex;justify-content:center;gap:clamp(18px,4vw,55px);flex-wrap:wrap;font-family:"Space Grotesk";font-weight:600;color:#7c8696;font-size:15px}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;margin-top:30px;align-items:end}.split h2,.section-heading h2,.solutions h2,.about h2,.contact h2{font-size:clamp(36px,4.4vw,64px);letter-spacing:-.045em}.problem-copy{color:var(--muted);font-size:17px}.problem-copy p+p{margin-top:15px}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line)}.problem-grid article{padding:27px 25px 10px 0;border-right:1px solid var(--line)}.problem-grid article+article{padding-left:25px}.problem-grid article:last-child{border:0}.problem-grid span,.project-number{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em}.problem-grid h3{font-size:20px;margin:20px 0 8px}.problem-grid p,.service-card p,.project-card p,.process p{color:var(--muted);font-size:14px}
.services{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin:25px 0 55px}.section-heading p{max-width:430px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;min-height:280px;transition:.25s}.service-card:hover{transform:translateY(-5px);border-color:#bdd3fa;box-shadow:0 18px 45px rgba(16,27,45,.07)}.service-card.featured{border-top:3px solid var(--blue)}.card-top{display:flex;justify-content:space-between;color:#8a94a4;font-weight:700;font-size:12px}.card-top span:last-child{color:var(--blue);font-size:22px}.service-card h3{font-size:26px;margin:45px 0 12px}.service-card ul{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;list-style:none}.service-card li{font-size:10px;font-weight:700;color:#5d6879;background:var(--soft);border-radius:5px;padding:6px 9px}
.solutions-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:35px}.lead{color:var(--muted);max-width:510px;font-size:17px;margin-top:25px}.solution-stack{border-top:1px solid var(--line)}.solution-stack>div{display:grid;grid-template-columns:45px 1fr 1.5fr;gap:15px;padding:21px 0;border-bottom:1px solid var(--line);align-items:center}.solution-stack span{color:var(--blue);font-size:11px;font-weight:800}.solution-stack b{font-family:"Space Grotesk"}.solution-stack small{color:var(--muted)}
.projects{background:var(--soft)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{min-height:310px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.project-card:hover{border-color:#bcd2fa}.project-icon{font-size:38px;color:var(--blue);font-family:"Space Grotesk"}.project-content span{font-size:10px;letter-spacing:.13em;font-weight:800;color:#8b95a4}.project-content h3{font-size:27px;margin:8px 0}.project-content p{max-width:520px}.project-number{position:absolute;right:25px;top:25px}
.process-list{margin-top:45px;border-top:1px solid var(--line)}.process-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);align-items:center}.process-list span{color:var(--blue);font-size:11px;font-weight:800}.process-list h3{font-size:24px}.process-list p{max-width:430px}
.about{padding-top:50px}.about-box{background:var(--navy);color:#fff;border-radius:20px;padding:65px 7%;position:relative;overflow:hidden}.about-box .section-label{color:#73a8ff}.about-box h2{max-width:950px;margin:25px 0}.about-box p{max-width:700px;color:#b8c2d1;font-size:16px}.about-box:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.12);right:-35px;top:-35px;transform:rotate(45deg);border-radius:25px}
.contact{padding-top:50px}.contact-box{border:1px solid #dbe2eb;border-radius:20px;padding:65px 7%;display:flex;align-items:end;justify-content:space-between;gap:40px}.contact h2{margin:20px 0}.contact p{color:var(--muted);max-width:500px}.contact-btn{background:var(--blue);color:#fff;padding:18px 24px;border-radius:9px;font-weight:700;white-space:nowrap}.contact-btn:hover{background:var(--navy)}
footer{border-top:1px solid var(--line);padding:40px 8vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#8a94a4;font-size:12px}.footer-brand{display:flex;align-items:center;gap:12px;color:var(--navy)}.footer-brand img{width:38px}.footer-brand strong{display:block;font-family:"Space Grotesk";letter-spacing:.14em}.footer-brand span{display:block;font-size:10px;color:#8a94a4;margin-top:2px}.footer-brand+p{text-align:center}.footer-brand~span{text-align:right}
.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 8vw;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-btn{display:block}.hero,.split,.solutions-layout{grid-template-columns:1fr}.hero{padding-top:70px}.hero-visual{min-height:440px}.section-heading{display:block}.section-heading p{margin-top:20px}.problem-grid,.service-grid,.project-grid{grid-template-columns:1fr}.problem-grid article,.problem-grid article+article{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.process-list>div{grid-template-columns:45px 1fr}.process-list p{grid-column:2}.contact-box{display:block}.contact-btn{display:inline-block;margin-top:30px}footer{grid-template-columns:1fr;gap:20px}.footer-brand+p,.footer-brand~span{text-align:left}}
@media(max-width:520px){.navbar{padding:0 5vw}.section{padding:80px 6vw}.section-small{padding:35px 6vw}h1{font-size:48px}.hero-copy>p{font-size:16px}.hero-visual{min-height:390px}.flow-card{padding:16px}.tech-row{font-size:13px}.solution-stack>div{grid-template-columns:35px 1fr}.solution-stack small{grid-column:2}.about-box,.contact-box{padding:40px 7%}}
