@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.2b_sldcwg6mn_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.1emuuracu50qd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.43zbiuwnnoiok.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_d209b3e5-module__UK88bG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_d209b3e5-module__UK88bG__variable{--font-sans:"Poppins", "Poppins Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_869bfe9c-module__h17B4W__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_869bfe9c-module__h17B4W__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink:#1d1d1f;--ink-soft:#6e6e73;--ink-faint:#a1a1a6;--paper:#fff;--paper-2:#f5f5f7;--card:#fff;--accent:#f14e2d;--accent-dark:#c64025;--accent-soft:#f6e2da;--secondary:#6e6e73;--line:#dcdce0;--line-soft:#ececee;--dark-bg:#0c0c0d;--dark-bg-2:#17181a;--dark-ink:#f5f5f7;--dark-ink-soft:#f5f5f799;--dark-line:#ffffff1f;--foot-bg:#0c0c0d;--foot-ink:#f5f5f7;--foot-faint:#f5f5f785;--maxw:1240px;--pad:40px;--sec-pad:128px}*{box-sizing:border-box}html{scroll-behavior:smooth}:target{scroll-margin-top:120px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), "Poppins", Arial, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,1.2vw,1.125rem);font-weight:400;line-height:1.6}button,input,textarea{color:inherit;font:inherit}h1,h2,h3{color:var(--ink);font-family:var(--font-sans), "Poppins", Arial, sans-serif;letter-spacing:-.015em;margin:0;font-weight:600}h1{font-size:clamp(2.5rem,5vw,4.25rem)}h2{font-size:clamp(2rem,3.5vw,3rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem)}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{overflow:hidden}::selection{background:var(--accent-soft)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2.5px solid var(--accent-dark);outline-offset:3px;border-radius:4px}.wrap,.container{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}.narrow{max-width:790px}.skip-link{z-index:200;background:var(--ink);color:#fff;border-radius:8px;padding:10px 14px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.mono{font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.sec{padding:var(--sec-pad) 0}.sec.no-top,.no-top{padding-top:0}.sec.tight{padding:96px 0}.sec-dark{background:var(--dark-bg);color:var(--dark-ink)}.sec-dark .sec-tag{color:#f5f5f7bf}.sec-dark .sec-tag:before{background:var(--accent)}.sec-dark .lead{color:var(--dark-ink-soft)}.sec-alt{background:var(--paper-2)}.sec-tag{color:var(--ink-soft);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:20px;font-size:12.5px;font-weight:500;display:inline-flex}.sec-tag:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.sec-head{max-width:620px;margin-bottom:64px}.sec-head-center{text-align:center;margin-inline:auto}.sec-title{letter-spacing:-.02em;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.12}.em{color:var(--ink-soft)}.lead{color:var(--ink-soft);margin-top:18px;font-size:18px;line-height:1.55}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.reveal.in{opacity:1;transform:translateY(0)}.nav{z-index:100;-webkit-backdrop-filter:blur(18px)saturate(1.4);background:#ffffffb8;border:1px solid #1d1d1f12;border-radius:18px;width:calc(100% - 32px);max-width:1220px;transition:background .35s,box-shadow .35s,border-color .35s;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 1px 1px #14141608}.nav.scrolled{background:#ffffffeb;border-color:#1d1d1f17;box-shadow:0 14px 32px -20px #14141647}.nav-in{justify-content:space-between;align-items:center;height:60px;padding:0 12px 0 22px;display:flex;position:relative}.logo,.foot-logo{align-items:center;gap:10px;display:flex}.logo img{width:auto;height:30px}.nav-group{align-items:center;gap:28px;display:flex}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--ink-soft);font-size:14px;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.active{color:var(--ink)}.nav-right{align-items:center;gap:14px;display:flex}.nav-right .btn{padding:9px 18px;font-size:13.5px}.btn{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:15px;font-weight:500;transition:background .25s,color .25s,border-color .25s,transform .15s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent-dark)}.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--ink);background:var(--paper-2)}.btn-light{color:#fff;background:0 0;border:1.5px solid #ffffff47}.btn-light:hover,.btn-light:focus-visible{background:#ffffff1a}.btn-arrow{transition:transform .2s}.btn:hover .btn-arrow{transform:translate(3px)}.btn:disabled{cursor:progress;opacity:.72}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:6px;display:none}.nav-toggle span{background:var(--ink);width:20px;height:1.5px;display:block}.hero{padding:176px 0 96px;position:relative;overflow:hidden}.hero-in{grid-template-columns:1fr 1.1fr;align-items:center;gap:56px;display:grid}.hero-copy{max-width:560px}.hero h1{letter-spacing:-.035em;color:#111;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:600;line-height:1.05}.hero .lead{color:#3f3f46;max-width:560px;margin-top:22px;font-size:clamp(17px,1.1vw,19px);line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:36px;display:flex}.hero-visual{aspect-ratio:3/2;border-radius:24px;width:100%;position:relative;overflow:hidden}.hero-visual:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#ffffffd9 30%,#ffffff59 65%,#fff0 100%);width:22%;position:absolute;top:0;bottom:0;left:0}.hero-visual img{object-fit:cover}.placeholder-art{gap:14px}.placeholder-art svg{width:72px;height:72px}.placeholder-art .mono{color:var(--ink-faint)}.page-hero{padding:160px 0 72px}.services-hero{padding:160px 0 80px}.work-hero,.blog-hero,.industry-hero{padding:160px 0 64px}.page-hero h1{letter-spacing:-.025em;max-width:18ch;margin-bottom:22px;font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.06}.work-hero h1,.industry-hero h1{max-width:20ch}.page-hero .lead{max-width:58ch;font-size:18px}.industry-hero .lead{max-width:62ch}.page-hero .lead-2{max-width:68ch;color:var(--ink-soft);margin-top:16px;font-size:16px}.industry-sec-head{max-width:680px}.industry-grid{border:1px solid var(--line);background:var(--line);border-radius:20px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.industry-card{background:var(--paper);padding:40px 34px;transition:background .25s}.industry-card.span2{grid-column:span 2}.industry-card-link{transition:background .2s;display:block;position:relative}.industry-card-link:hover{background:var(--paper-2)}.industry-ico{border:1px solid var(--line);background:0 0;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:24px;display:flex}.industry-ico svg{width:19px;height:19px;stroke:var(--ink)}.industry-card h3{margin-bottom:10px;font-size:20px;font-weight:600}.industry-card p{color:var(--ink-soft);font-size:15px}.industry-link{color:var(--ink);align-items:center;gap:6px;margin-top:18px;font-size:13.5px;font-weight:600;display:inline-flex}.industry-link .btn-arrow{transition:transform .2s}.industry-card-link:hover .industry-link .btn-arrow{transform:translate(3px)}.text-block{max-width:760px}.text-block p{color:var(--ink-soft);margin-bottom:16px;font-size:17px}.text-block p:last-child{margin-bottom:0}.industry-detail .svc-row{align-items:start}.industry-detail .svc-row-head h3{font-size:24px}.industry-detail .svc-row>p{max-width:52ch;padding-top:6px;font-size:16px}.industry-detail .svc p{font-size:14.5px}.svc.span2{grid-column:span 2}.intro-copy{text-align:center;max-width:720px;margin:0 auto}.intro-copy h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15}.intro-copy .lead{margin-top:20px;font-size:18px}.intro-copy .lead+.lead{margin-top:16px}.intro-copy .hero-actions{justify-content:center}.svc-grid{border:1px solid var(--line);background:var(--line);border-radius:20px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.svc-grid-primary{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,1fr);gap:24px;overflow:visible}.svc-grid-primary .svc{border:1px solid var(--line);border-radius:22px;flex-direction:column;height:100%;transition:background .25s,border-color .25s;display:flex}.svc-grid-primary .svc:hover{border-color:var(--ink-faint)}.svc-grid-primary .svc-ico{border-radius:14px;width:52px;height:52px}.svc-grid-primary .svc-ico svg{width:28px;height:28px}.svc-grid-primary .work-link{margin-top:auto;padding-top:18px}.svc-secondary{border:1px solid var(--line);background:var(--paper);border-radius:16px;align-items:center;gap:20px;margin-top:24px;padding:24px 26px;transition:border-color .2s,background .2s;display:flex}.svc-secondary:hover{border-color:var(--ink-faint);background:var(--paper-2)}.svc-secondary .svc-ico-sm{width:40px;height:40px;margin-bottom:0}.svc-secondary-body{flex:1}.svc-secondary-body h4{margin:4px 0;font-size:16px;font-weight:600}.svc-secondary-body p{color:var(--ink-soft);font-size:14.5px}.fit-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.fit-col{border:1px solid var(--line);border-radius:18px;padding:28px 30px}.fit-col h3{margin-bottom:18px;font-size:17px}.related-links{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.related-link{border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 24px;transition:border-color .2s,background .2s;display:flex}.related-link:hover{border-color:var(--ink-faint);background:var(--paper-2)}.related-link .mono{color:var(--accent-dark)}.related-link h4{margin:2px 0 6px;font-size:16px;font-weight:600;line-height:1.3}.related-link .btn-arrow{margin-top:auto}.svc{background:var(--paper);padding:40px 30px;transition:background .25s}.svc:hover{background:var(--paper-2)}.svc-ico,.svc-row-ico,.ai-card-ico{border:1px solid var(--line);background:0 0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.svc-ico{width:40px;height:40px;margin-bottom:24px}.svc-ico svg,.svc-row-ico svg,.ai-card-ico svg{stroke:var(--ink)}.svc-ico svg{width:19px;height:19px}.svc h3{margin-bottom:10px;font-size:19px;font-weight:600}.svc p{color:var(--ink-soft);font-size:15px}.svc-rows{border-top:1px solid var(--line)}.svc-row{border-bottom:1px solid var(--line);grid-template-columns:.62fr 1fr;align-items:end;gap:48px;padding:56px 0;display:grid}.svc-row-head{flex-direction:column;gap:16px;display:flex}.svc-row-ico{border-radius:11px;width:48px;height:48px}.svc-row-ico svg{width:22px;height:22px}.svc-row-head .num{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;font-size:12px}.svc-row-head h3{font-size:27px}.svc-row-head p{max-width:42ch;color:var(--ink-soft);font-size:16px}.svc-checklist{grid-template-columns:1fr 1fr;align-content:start;gap:16px 24px;display:grid}.svc-check{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:11px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14.5px;display:flex}.svc-check svg{width:16px;height:16px;stroke:var(--ink);flex-shrink:0;margin-top:2px}.panel-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:8px 48px}.panel-values{padding:40px 40px 12px}.process-list{flex-direction:column;display:flex}.process-row{border-top:1px solid var(--line);opacity:.4;grid-template-columns:90px 1fr;gap:32px;padding:44px 0;transition:opacity .4s;display:grid}.process-row:first-child{border-top:0}.process-row.is-active{opacity:1}.process-k{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;font-size:14px;font-weight:500;transition:color .4s}.process-row.is-active .process-k{color:var(--accent-dark)}.process-row h3{margin-bottom:12px;font-size:24px}.process-row .lede{color:var(--ink);margin-bottom:10px;font-size:17px;font-weight:500}.process-row p{max-width:62ch;color:var(--ink-soft);font-size:16px}.process-result{align-items:baseline;gap:10px;margin-top:16px;display:flex}.process-result .tag,.case-block .tag{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;font-size:11px;display:block}.process-result .tag{flex-shrink:0;padding-top:2px}.process-result p{color:var(--ink-soft);font-size:15px}.stats-band{grid-template-columns:repeat(3,1fr);display:grid}.stat{border-left:1px solid var(--line);text-align:center;padding:0 40px}.stat:first-child{border-left:0}.stat .n{color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600;display:flex}.stat .n .plus{color:var(--accent-dark)}.stat .l{color:var(--ink-soft);margin-top:12px;font-size:15px}.work-grid,.blog-grid{gap:24px;display:grid}.work-grid{grid-template-columns:repeat(2,1fr)}.work-card,.blog-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;transition:transform .3s,box-shadow .3s;overflow:hidden}.work-card:hover,.blog-card:hover,.ai-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px #14141638}.work-thumb,.blog-thumb{display:block;position:relative;overflow:hidden}.work-thumb{height:160px}.work-thumb-img,.blog-thumb-img{object-fit:cover}.blog-thumb{height:140px}.thumb-ph{background:var(--paper-2);width:100%;height:100%;color:var(--ink-faint);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.thumb-ph svg{width:30px;height:30px}.thumb-ph .mono{font-size:10px}.work-body{padding:24px 26px 28px}.work-tag{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.work-body h3{margin:10px 0 8px;font-size:19px}.work-body p{color:var(--ink-soft);font-size:14.5px}.work-link{color:var(--ink);align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;display:inline-flex}.full-services-link{margin-top:18px}.blog-grid{grid-template-columns:repeat(3,1fr)}.blog-grid-full{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.blog-grid-full .blog-thumb{height:150px}.blog-card.hidden{display:none}.blog-body{padding:22px 22px 26px}.blog-meta{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.blog-date{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;font-size:11px}.blog-body h3{margin-bottom:8px;font-size:17px;line-height:1.3}.blog-body p{color:var(--ink-soft);font-size:14px}.filter-row{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.filter-pill{border:1.5px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:9px 16px;font-size:12px;transition:all .2s}.filter-pill:hover{border-color:var(--ink)}.filter-pill.active{border-color:var(--ink);background:var(--ink);color:#fff}.empty-state{color:var(--ink-faint);text-align:center;padding:64px 0;display:none}.empty-state.show{display:block}.values-grid{flex-direction:column;display:flex}.value-card{border-top:1px solid var(--line);grid-template-columns:100px 1fr;gap:32px;padding:48px 0;display:grid}.values-grid>.value-card:first-child{border-top:1px solid var(--line)}.value-k{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;padding-top:6px;font-size:13px}.value-card h3{letter-spacing:-.015em;margin:0 0 12px;font-size:clamp(22px,2.4vw,30px);font-weight:600}.value-card p{max-width:62ch;color:var(--ink-soft);font-size:17px}.approach-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;display:grid}.approach-card{border:1px solid var(--line);background:var(--paper);border-radius:24px;flex-direction:column;height:100%;padding:40px 36px;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;position:relative}.approach-card:hover{border-color:var(--ink-faint);transform:translateY(-3px);box-shadow:0 24px 48px -32px #14141633}.approach-num{color:var(--accent-dark);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.04em;flex-direction:column;gap:14px;font-size:14px;font-weight:600;display:inline-flex}.approach-num:after{content:"";background:var(--accent);border-radius:1px;width:28px;height:2px}.approach-card h3{letter-spacing:-.01em;margin:24px 0 12px;font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:600}.approach-card p{color:var(--ink-soft);margin-bottom:24px;font-size:16.5px;line-height:1.6}.approach-ico{border:1px solid var(--line);background:var(--paper-2);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-top:auto;display:flex}.approach-ico svg{width:26px;height:26px;stroke:var(--ink)}.haylo-strip{grid-template-columns:1fr auto;align-items:center;gap:40px;padding:0;display:grid}.haylo-logo{width:auto;height:24px;margin-bottom:24px}.haylo-strip h3{letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(1.35rem,2.2vw,1.75rem)}.haylo-strip p{max-width:54ch;color:var(--ink-soft);font-size:17px}.cta-band{text-align:center;max-width:640px;margin:0 auto}.cta-band h2{font-size:clamp(30px,3.6vw,44px)}.cta-band p{color:var(--ink-soft);margin-top:16px;font-size:17px}.cta-band .hero-actions{justify-content:center;margin-top:34px}.contact-page-section{padding-top:0}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:80px;display:grid}.contact-copy h2{max-width:16ch}.contact-copy .lead+.lead{margin-top:14px}.contact-form{flex-direction:column;gap:20px;display:flex;position:relative}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form label{color:var(--ink-soft);flex-direction:column;gap:9px;font-size:13.5px;font-weight:500;display:flex}.contact-form .req{color:var(--accent-dark);margin-left:2px}.contact-form input,.contact-form textarea{border:0;border-bottom:1.5px solid var(--line);color:var(--ink);font-family:var(--font-sans), Inter, sans-serif;resize:vertical;background:0 0;border-radius:0;padding:12px 2px;font-size:16px;font-weight:400;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--ink-faint)}.form-full{width:100%}.field-error{color:var(--accent-dark);font-size:12.5px}.is-invalid{border-color:var(--accent-dark)!important}.form-submit{justify-content:flex-start;margin-top:12px}.form-success{background:var(--paper);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px;display:none;position:absolute;inset:0}.form-success.is-visible{display:flex}.form-success strong{font-size:20px;font-weight:600}.form-success span{color:var(--ink-soft);font-size:14.5px}.form-status{border-radius:9px;padding:12px 14px;font-size:14px}.form-status-error{color:#9f2d17;background:#fff0ed;border:1px solid #efc3b8}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.story-grid{grid-template-columns:.6fr 1fr;align-items:start;gap:56px;display:grid}.story-grid h2{font-size:clamp(32px,3.6vw,46px)}.story-copy p{color:var(--ink-soft);margin-bottom:22px;font-size:17px}.story-copy p:last-child{margin-bottom:0}.framework-h{border-top:1px solid var(--line);color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;padding-top:24px;font-size:13px}.ai-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.ai-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:32px;transition:transform .3s,box-shadow .3s}.ai-card-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.ai-card-ico{width:44px;height:44px}.ai-card-ico svg{width:20px;height:20px}.ai-card-step{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;margin-bottom:4px;font-size:11px;display:block}.ai-card h3{font-size:20px}.ai-card p{color:var(--ink-soft);font-size:14.5px}.case-list{flex-direction:column;gap:20px;display:flex}.case{border:1px solid var(--line);background:var(--paper);border-radius:16px;overflow:hidden}.case-trigger{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:140px 1fr auto;align-items:center;gap:24px;padding:20px;font-family:inherit;display:grid}.case-thumb{border-radius:10px;flex-shrink:0;width:140px;height:88px;position:relative;overflow:hidden}.case-thumb .thumb-ph{gap:6px}.case-thumb .thumb-ph svg{width:24px;height:24px}.case-heading{flex-direction:column;gap:6px;display:flex}.case-heading h3{font-size:21px}.case-heading p{max-width:60ch;color:var(--ink-soft);font-size:14.5px}.case-toggle{border:1.5px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .3s,border-color .2s,background .2s;display:flex}.case-toggle svg{width:16px;height:16px;stroke:var(--ink)}.case[data-open=true] .case-toggle{border-color:var(--ink);background:var(--paper-2);transform:rotate(180deg)}.case-panel{max-height:0;transition:max-height .4s cubic-bezier(.2,.7,.2,1);overflow:hidden}.case[data-open=true] .case-panel{max-height:1200px}.case-panel-in{border-top:1px solid var(--line);margin-top:0;padding:0 24px 32px}.case-grid{grid-template-columns:repeat(3,1fr);gap:24px;padding-top:28px;display:grid}.case-block .tag{margin-bottom:10px}.case-block p{color:var(--ink-soft);font-size:14.5px}.case-stack{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.case-chip{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:99px;padding:6px 12px;font-size:11px}.case-cta{margin-top:24px}.blog-post-hero{padding:150px 0 0}.blog-post-hero h1{letter-spacing:-.02em;margin:20px 0;font-size:clamp(32px,4vw,48px);line-height:1.08}.blog-post-hero p{color:var(--ink-soft);font-size:18px}.blog-image{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:var(--paper-2);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.blog-image img{object-fit:contain;width:70%;height:70%}.blog-image-label{background:var(--paper);color:var(--ink);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:6px 9px;font-size:11px;position:absolute;top:16px;left:16px}.blog-card-body{padding:22px 22px 26px}.blog-card-body h2{margin:10px 0 8px;font-size:18px;line-height:1.3}.blog-card-body p{color:var(--ink-soft);font-size:14px}.blog-post-image{aspect-ratio:16/8;object-fit:contain;border:1px solid var(--line);background:var(--paper-2);border-radius:16px;width:100%;height:auto;margin-top:42px;padding:42px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-list span{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:99px;padding:5px 10px;font-size:12.5px;display:inline-flex}.article-body{padding:56px 0 96px;font-size:17px}.article-body h2{margin:46px 0 14px;font-size:30px;line-height:1.14}.article-body h3{margin:34px 0 10px;font-size:22px}.article-body p,.article-body li{color:var(--ink-soft)}.article-body p,.article-body ul,.article-body ol{margin:0 0 18px}.article-body a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.article-body code{background:var(--paper-2);font-family:var(--font-mono), "JetBrains Mono", monospace;border-radius:5px;padding:2px 5px;font-size:.92em}.build-grid{grid-template-columns:repeat(6,1fr);gap:24px;display:grid}.build-card{border:1px solid var(--line);background:var(--paper-2);border-radius:18px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.build-card:hover{transform:translateY(-3px);box-shadow:0 26px 50px -32px #14141640}.build-card.xl{grid-column:span 4}.build-card.sm{grid-column:span 2}.build-card.lg{grid-column:span 3}.build-visual{aspect-ratio:16/10;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.build-visual svg{width:100%;height:100%}.build-body{padding:30px 32px 34px}.build-num{color:var(--ink-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:12px;display:block}.build-body h3{margin-bottom:10px;font-size:22px;font-weight:600}.build-body p{max-width:46ch;color:var(--ink-soft);font-size:15.5px}.showcase-list{flex-direction:column;gap:140px;display:flex}.showcase-item{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.showcase-item.flip .showcase-media{order:2}.showcase-item.flip .showcase-copy{order:1}.showcase-media{aspect-ratio:16/9;border:1px solid var(--dark-line);background:var(--dark-bg-2);border-radius:16px;position:relative;overflow:hidden}.showcase-media img{object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.showcase-item:hover .showcase-media img{transform:scale(1.02)}.showcase-tag{color:#f5f5f78c;font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.showcase-copy h3{color:var(--dark-ink);letter-spacing:-.02em;margin:16px 0;font-size:clamp(1.5rem,2.4vw,2rem)}.showcase-copy p{max-width:46ch;color:var(--dark-ink-soft);font-size:17px}.showcase-flow{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.showcase-flow span{border:1px solid var(--dark-line);color:#f5f5f7b3;font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.04em;text-transform:uppercase;border-radius:99px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.showcase-flow span:not(:last-child):after{content:"→";color:#f5f5f74d}.showcase-copy .work-link{color:var(--dark-ink);margin-top:28px}.showcase-copy .work-link:hover{color:var(--accent)}.insights-row{grid-template-columns:1.3fr 1fr;gap:56px;display:grid}.insights-featured{border:1px solid var(--line);border-radius:16px;overflow:hidden}.insights-featured .blog-thumb{height:260px}.insights-compact-list{flex-direction:column;display:flex}.insights-compact{border-top:1px solid var(--line);padding:26px 0;display:block}.insights-compact:first-child{border-top:0}.insights-compact .work-tag{margin-bottom:10px;display:block}.insights-compact h3{font-size:18px;font-weight:600;line-height:1.32}.foot{background:var(--foot-bg);color:var(--foot-ink);padding:96px 0 32px}.foot-in{grid-template-columns:1.3fr .75fr .9fr .85fr .75fr .75fr;gap:32px;display:grid}.foot-logo img{width:auto;height:40px;margin-bottom:18px}.foot-in p{max-width:30ch;color:var(--foot-faint);font-size:15px}.foot-col h5{color:var(--foot-faint);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font-size:11.5px;font-weight:500}.foot-col ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.foot-col a{color:var(--foot-ink);opacity:.88;margin-bottom:12px;font-size:14.5px;transition:opacity .2s,color .2s;display:block}.foot-col a:hover,.foot-col a:focus-visible{opacity:1;color:var(--accent)}.foot-bottom{border-top:1px solid #f5f5f71a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:72px;padding-top:28px;display:flex}.foot-bottom span{color:var(--foot-faint);font-size:13.5px}@media (max-width:1080px){.contact-grid,.story-grid,.svc-row,.showcase-item,.insights-row{grid-template-columns:1fr}.showcase-item.flip .showcase-media,.showcase-item.flip .showcase-copy{order:initial}.showcase-list{gap:88px}.svc-grid,.ai-grid,.blog-grid,.blog-grid-full,.industry-grid,.build-grid,.related-links,.approach-grid{grid-template-columns:1fr 1fr}.build-card.xl,.build-card.lg,.build-card.sm{grid-column:span 2}.industry-card.span2,.svc.span2{grid-column:span 1}.stats-band,.work-grid{grid-template-columns:1fr}.stat{border-top:1px solid var(--line);border-left:0;padding:40px 0 0}.stat:first-child{border-top:0;padding-top:0}.haylo-strip{text-align:left;grid-template-columns:1fr}.foot-in{grid-template-columns:1fr 1fr 1fr}.hero-in{gap:40px}:root{--sec-pad:88px;--pad:28px}}@media (max-width:900px){.hero{padding:152px 0 64px}.hero-in{grid-template-columns:1fr;gap:48px}.hero-copy,.hero .lead{max-width:100%}.hero-visual{aspect-ratio:3/2}.hero-visual:before{background:linear-gradient(#fff 0%,#ffffffbf 35%,#fff0 100%);width:100%;height:22%;inset:0 0 auto}}@media (max-width:780px){.case-trigger{grid-template-columns:84px 1fr auto;gap:14px;padding:16px}.case-thumb{width:84px;height:60px}.case-heading h3{font-size:18px}.case-heading p{display:none}.case-grid{grid-template-columns:1fr;gap:20px}.value-card{grid-template-columns:1fr;gap:12px}}@media (max-width:680px){:root{--sec-pad:64px;--pad:20px}.nav{border-radius:16px;width:calc(100% - 24px);top:12px}.nav-in{padding:0 8px 0 16px}.nav-group{gap:10px}.nav-links{z-index:120;border:1px solid var(--line);background:var(--paper);border-radius:16px;flex-direction:column;align-items:stretch;gap:0;width:auto;max-height:calc(100vh - 120px);padding:10px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px -18px #14141638}.nav-links a{border-radius:8px;width:100%;padding:13px 14px;font-size:15px}.nav-links.is-open{display:flex}.nav-toggle{border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.nav-cta{display:none}.hero{min-height:auto;padding:128px 0 56px}.hero-in{gap:40px}.hero h1{letter-spacing:-.02em}.hero-actions,.cta-band .hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions .btn{width:100%;padding-block:15px}.page-hero{padding:120px 0 40px}.work-hero,.blog-hero,.industry-hero{padding:120px 0 36px}.sec-head{margin-bottom:44px}.svc-grid,.svc-checklist,.industry-grid,.blog-grid,.blog-grid-full,.build-grid,.form-row,.fit-grid,.related-links,.approach-grid{grid-template-columns:1fr}.approach-grid{gap:16px;margin-top:44px}.approach-card{padding:30px 26px}.build-card.xl,.build-card.lg,.build-card.sm{grid-column:span 1}.showcase-list{gap:64px}.process-row{grid-template-columns:1fr;gap:10px}.contact-form{padding:0}.panel-card{padding:8px 22px}.panel-values{padding:24px 20px 4px}.haylo-strip{padding:0}.foot-in{grid-template-columns:1fr;gap:36px}}@media (max-width:430px){:root{--sec-pad:56px}.btn{padding-inline:18px}.blog-post-hero h1{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transition:none!important;transform:none!important}}
