@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/font-8.ttf) format('truetype');
}


:root{--ink:#101e36;--blue:#244ae7;--lime:#d4f65b;--paper:#fafbf9;--muted:#5a6575;--line:#dce2e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,.brand{font-family:Manrope,sans-serif;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,6.7vw,6.4rem);font-weight:500;margin:24px 0}h2{font-size:clamp(2rem,4vw,3.7rem);font-weight:500;margin:0 0 24px}h3{font-size:1.65rem;font-weight:600;margin:18px 0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}p{margin:0 0 22px}p,.muted{color:var(--muted)}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:26px;letter-spacing:-1.2px;white-space:nowrap}.brand span{background:var(--lime);padding:3px 7px;margin-left:4px;border-radius:5px;font-size:19px}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px}.navlinks a[aria-current=page]{color:var(--blue)}.btn{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:52px;padding:12px 23px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:6px;cursor:pointer;font-weight:600;font-size:15px;transition:background .2s,transform .2s}.btn:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.btn.light{background:var(--lime);color:var(--ink);border-color:var(--lime)}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;display:block;margin-bottom:16px}.eyebrow:before{content:'';display:inline-block;width:7px;height:7px;background:var(--blue);margin-right:10px}.hero{padding:76px 0 68px;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.hero h1 em{font-style:normal;color:var(--blue)}.lead{font-size:19px;max-width:580px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 20px}.small{font-size:13px}.hero-note{margin-top:24px;font-size:13px}.system{background:#edf0f5;border:1px solid #e0e5ec;border-radius:12px;padding:24px;transform:rotate(-2deg);box-shadow:16px 22px 0 #e5eaf0}.system-head{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;margin-bottom:28px}.system-head span{color:#55704b}.flow{background:white;border:1px solid var(--line);border-radius:8px;padding:17px 20px;display:flex;gap:16px;align-items:center}.flow strong{display:block;font-size:15px}.flow small{color:var(--muted);font-size:12px}.flow-icon{background:#eff2ff;color:var(--blue);border-radius:7px;padding:7px 12px}.connector{height:28px;margin-left:40px;border-left:1px dashed #97a3b5}.flow.end{background:var(--ink);color:white}.flow.end small{color:#c6d0df}.system-foot{font-size:12px;margin:22px 0 0;color:var(--muted)}.trustline{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:25px 0;font-size:14px}.trustline strong{font-weight:500}.section{padding:94px 0}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}.section-head p{max-width:360px;margin:0}.section-head h2{margin:0;max-width:680px}.textlink{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{border-top:1px solid var(--ink);padding:26px 0;display:flex;flex-direction:column}.number{font-size:13px;color:var(--blue);letter-spacing:.12em}.service h3{max-width:290px}.service p{font-size:16px}.service .textlink{align-self:start;margin-top:auto}.dark{background:var(--ink);color:white}.dark p{color:#b4bfd0}.dark .eyebrow:before{background:var(--lime)}.dark .textlink{color:var(--lime)}.portfolio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.project-card{display:block}.project-visual{min-height:310px;display:flex;align-items:center;justify-content:center;padding:36px;border-radius:8px;overflow:hidden;background:#e9eced;color:var(--ink)}.project-visual.just{background:#dbe5d7}.project-visual.elevan{background:#ccdcff}.project-visual.alice{background:#e6e0f1}.project-visual.relay{background:#d9ebed}.project-visual.site{background:#f0e6d9}.project-visual.content{background:#e4eab8}.project-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.project-top h3{margin-bottom:8px}.project-card p{font-size:15px}.badge{display:inline-block;font-size:12px;letter-spacing:.04em;border:1px solid currentColor;border-radius:20px;padding:3px 10px}.app-window{background:#fff;border:1px solid #c2cfca;box-shadow:0 18px 36px #15263f18;border-radius:7px;width:100%;max-width:420px;padding:22px;transform:rotate(-3deg)}.app-title{border-bottom:1px solid var(--line);padding-bottom:15px;font-size:18px;font-family:Georgia,serif;letter-spacing:.05em}.app-row{display:flex;justify-content:space-between;padding:13px 0;font-size:12px;border-bottom:1px solid #eef0f4;gap:12px}.app-row span:last-child{color:#697586}.visual-word{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.075em;font-family:Manrope,sans-serif;font-weight:700}.visual-word small{display:block;font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:.05em;text-align:center;font-weight:400;margin-top:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.steps{counter-reset:step}.step{display:grid;grid-template-columns:45px 1fr;border-top:1px solid var(--line);padding:23px 0}.step h3{font-size:21px;margin:0 0 10px}.step p{font-size:15px;margin:0}.step>span{font-size:13px;color:var(--blue)}.article-card{padding:26px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.article-card h3{font-size:25px;line-height:1.2}.article-card p{font-size:15px}.article-card .textlink{align-self:start;margin-top:auto}.meta{font-size:12px;letter-spacing:.03em;color:var(--muted)}.cta{padding:64px;border-radius:9px;background:var(--lime);display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:clamp(2rem,4vw,3.5rem);margin:0;max-width:710px}.footer{padding:65px 0 25px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot-grid p{font-size:14px;margin-top:20px;max-width:330px}.foot-grid a:not(.brand){display:block;font-size:14px;margin:9px 0}.foot-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:12px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.pagehero{padding:75px 0 58px;max-width:950px}.pagehero h1{font-size:clamp(2.7rem,5.4vw,5.2rem)}.pagehero .lead{max-width:740px}.crumb{font-size:13px;margin-bottom:25px;color:var(--muted)}.all-projects{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filter{padding:9px 17px;background:transparent;border:1px solid var(--line);border-radius:30px;font-size:14px;cursor:pointer;color:var(--ink)}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}[hidden]{display:none!important}.reading{max-width:760px;margin:auto}.reading h2{font-size:31px;margin-top:44px;letter-spacing:-.03em}.reading h3{font-size:22px}.reading p,.reading li{color:var(--muted)}.reading a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.reading ul{padding-left:23px}.aside-note{padding:25px;border-left:3px solid var(--blue);background:#eef2fa;margin:30px 0}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-block:1px solid var(--line);padding:25px 0;margin:25px 0 45px}.details-grid strong{display:block;font-size:16px;margin-top:6px}.details-grid span{font-size:12px;color:var(--muted)}.checklist{list-style:none;padding:0}.checklist li{border-bottom:1px solid var(--line);padding:14px 0}.checklist li:before{content:'✓';color:var(--blue);margin-right:12px}.price{font-size:34px;font-weight:600;letter-spacing:-.04em}.price small{font-size:15px;font-weight:400;letter-spacing:0}.pricebox{border:1px solid var(--line);padding:30px;border-radius:8px;background:white}.faq details{padding:20px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:18px;cursor:pointer;font-weight:500}.faq p{font-size:16px;margin-top:16px}.contact-form{padding:32px;border:1px solid var(--line);border-radius:10px;background:white}.contact-form label{display:block;font-size:14px;margin:14px 0 6px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #c7ced7;border-radius:5px;padding:12px;color:var(--ink);background:#fff}.contact-form textarea{min-height:140px;resize:vertical}.contact-form .btn{margin-top:22px}.formstatus{font-size:14px;margin-top:18px}.monogram{font-family:Manrope,sans-serif;font-size:130px;line-height:1;background:var(--ink);color:var(--lime);border-radius:8px;padding:70px;text-align:center;letter-spacing:-.12em}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;z-index:99;background:white;padding:15px}.menu{display:none}.article-feature{background:#e8eeff;padding:40px;border-radius:8px}.article-feature h2{font-size:35px}.newslist{margin-top:35px}.newsitem{display:grid;grid-template-columns:130px 1fr 30px;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.newsitem h3{font-size:20px;margin:0 0 10px}.newsitem p{font-size:15px;margin:0}.newsitem time{font-size:13px}.empty-msg{padding:25px}.menu:focus-visible{outline:3px solid var(--blue)}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.hero{gap:35px}.hero h1{font-size:4rem}.navlinks{gap:15px}.navlinks .btn{display:none}.grid3{gap:20px}.split{gap:40px}.cta{padding:40px}.project-visual{padding:25px;min-height:270px}}@media(max-width:680px){.nav{height:78px;position:relative}.menu{display:block;background:none;border:1px solid var(--line);border-radius:5px;padding:7px 12px}.navlinks{display:none;position:absolute;top:77px;left:-20px;right:-20px;background:var(--paper);z-index:20;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.navlinks .btn{display:inline-flex}.hero{grid-template-columns:1fr;padding:44px 0 50px;gap:42px}.hero h1{font-size:clamp(2.8rem,12vw,4.3rem)}.lead{font-size:17px}.system{margin:0 12px 10px 0;transform:rotate(-1deg);padding:20px}.trustline{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:15px}.section{padding:58px 0}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.grid3,.portfolio-grid,.split,.all-projects{grid-template-columns:1fr}.project-visual{min-height:270px}.cta{flex-direction:column;align-items:start;padding:30px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}.foot-bottom{flex-direction:column;gap:10px}.pagehero{padding:48px 0 35px}.details-grid{grid-template-columns:1fr;gap:15px}.newsitem{grid-template-columns:1fr 24px;gap:10px}.newsitem time{grid-column:1/-1}.contact-form{padding:22px}.monogram{padding:50px}.article-feature{padding:25px}.actions .btn{width:100%}.reading h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}
.chat-open{position:fixed;bottom:23px;right:24px;z-index:30;border-radius:30px;box-shadow:0 5px 25px #101e3622;min-height:50px}.chat-panel{position:fixed;right:24px;bottom:88px;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 115px);background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 70px #101e3633;z-index:31;padding:22px;display:flex;flex-direction:column}.chat-heading{display:flex;align-items:center;justify-content:space-between}.chat-heading h2{font-size:23px;margin:0}.chat-heading button{border:0;background:#eef1f5;padding:7px 11px;border-radius:5px;cursor:pointer}.chat-log{max-height:290px;overflow:auto;margin:10px 0;overscroll-behavior:contain}.chat-message{font-size:14px;line-height:1.6;background:#eef2fa;padding:12px;border-radius:8px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{background:var(--ink);color:white;margin-left:20px}.chat-form{display:flex;gap:8px}.chat-form input{min-width:0;width:100%;border:1px solid #c7ced7;padding:10px;border-radius:5px}.chat-form button{padding:9px 14px}.chat-panel .small{font-size:12px;margin:8px 0}.chat-status{font-size:12px;color:var(--muted);min-height:20px}.btn:disabled{opacity:.6;cursor:wait;transform:none}.project-card:hover .project-top h3,.article-card a:hover{color:var(--blue)}.dark .project-card:hover .project-top h3{color:var(--lime)}.project-visual .small{color:var(--muted)}
.visual-word{font-size:clamp(2.25rem,4.7vw,4.5rem);max-width:100%;overflow-wrap:anywhere;line-height:1.15;text-align:center}.visual-word small{line-height:1.5;letter-spacing:0}.hero-note:before{content:'✓';margin-right:8px;color:var(--blue)}
