:root{--bg:#fcfaf5;--surface:#f7f3ec;--card:#faf7f1;--ink:#121a23;--text:#2b2f34;--muted:#6f6a64;--faint:#a39d95;--line:#e9e3d8;--accent:#9c6b4f;--accent-2:#d0957a;--label:#86695c;--logo-ink:#77736d;--brand-ink:#0b1d3c;--brand-dot:#ff5a22;--band-text:#fbf8f3;--band-muted:#ece6dd;--ok:#2f6b3a;--err:#b4552b;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;margin:0;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:1320px;margin:0 auto;padding:0 40px}@media (max-width:720px){.wrap{padding:0 18px}}.label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-size:12px}.label.dash:after{content:"";vertical-align:middle;transform-origin:0;background:currentColor;width:22px;height:1px;margin-left:10px;display:inline-block}.btn{white-space:nowrap;border-radius:999px;align-items:center;gap:10px;height:52px;padding:0 26px;font-size:15px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{background:#26303c}.btn.light{color:var(--ink);border:1px solid var(--line);background:#fff}.btn.light:hover{border-color:var(--ink)}.btn.sm{height:42px;padding:0 20px;font-size:13.5px}.logo{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:12px;font-size:19px;font-weight:700;display:inline-flex}.logo .mark{background:var(--brand-ink);border-radius:50%;flex:none;width:34px;height:34px;position:relative}.logo .mark:after{content:"";background:var(--brand-dot);border-radius:50%;position:absolute;inset:11px}.top{z-index:20;transition:background .35s,box-shadow .35s;position:fixed;inset:0 0 auto}.top.sc{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);background:#fcfaf5db}.top .wrap{align-items:center;gap:36px;height:96px;display:flex}.top nav{color:var(--ink);gap:34px;margin-left:36px;font-size:14px;font-weight:500;display:flex}.top nav a:hover{color:var(--accent)}.grow{flex:1}.lang{color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff8c;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;font-weight:500;display:inline-flex}.lang a{color:var(--muted);transition:color .2s}.lang a:hover,.lang a[aria-current]{color:var(--ink)}.lang a[aria-current]{font-weight:600}.lang i{color:var(--faint);font-style:normal}.lang-m{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin-top:14px;padding:4px 0;font-size:15px}.lang-f{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0}.burger{cursor:pointer;background:#fffc;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:none}.drawer{background:#fff;border-radius:20px;padding:10px 20px 20px;display:none;position:absolute;top:84px;left:12px;right:12px;box-shadow:0 20px 60px -20px #121a2359}.drawer.open{display:block}.drawer>a:not(.btn){border-bottom:1px solid var(--line);color:var(--ink);padding:14px 0;font-weight:500;display:block}.drawer .btn{border:0;justify-content:center;width:100%;margin-top:16px}@media (max-width:1100px){.top .wrap>nav,.top .wrap>.lang,.top .wrap>.btn{display:none}.burger{display:inline-flex}}.hero{background:var(--bg);min-height:760px;position:relative;overflow:hidden}.hero-photo{width:58%;position:absolute;top:0;bottom:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000001f 12%,#0009 26%,#000 42%);mask-image:linear-gradient(90deg,#0000 0%,#0000001f 12%,#0009 26%,#000 42%)}.hero-photo-inner{position:absolute;inset:-2%}.hero-photo-inner img{object-fit:cover;object-position:center}.hero .wrap{z-index:2;padding-top:170px;padding-bottom:70px;position:relative}.hero-copy{max-width:560px}.hero .eyebrow{align-items:center;gap:14px;margin:0;display:flex}.hero .eyebrow-item{align-items:center;gap:14px;display:inline-flex}.hero .eyebrow i{background:var(--label);width:26px;height:1px}.hero h1{letter-spacing:-.045em;margin-top:30px;font-size:clamp(44px,5.2vw,76px);font-weight:600;line-height:.98}.hero h1 em{color:var(--accent);font-style:normal}.hero .lead{color:var(--text);max-width:34em;margin:30px 0 0;font-size:19px;line-height:1.5}.hero .ctas{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.hero .path{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--label);margin:64px 0 0;font-size:12px}.hero .path b{opacity:.6;margin:0 2px;font-weight:400}@media (min-width:901px){.hero-top-space{display:none}}@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:56px;display:grid}.hero .wrap,.hero-copy{display:contents}.hero-top-space{grid-row:1;height:96px}.hero-photo{grid-area:2/1;width:100%;min-height:440px;position:relative;-webkit-mask-image:none;mask-image:none}.hero-photo-inner img{object-position:62% 70%}.hero-photo:after{content:"";z-index:1;background:linear-gradient(180deg, #fcfaf5eb 0%, #fcfaf5b8 22%, #fcfaf540 40%, #fcfaf500 52%, #fcfaf500 84%, var(--bg) 100%);position:absolute;inset:0}.hero h1{z-index:2;letter-spacing:-.035em;grid-area:2/1;align-self:start;margin:0;padding:30px 22px 0;font-size:clamp(30px,9vw,44px);line-height:1.08;position:relative}.hero .eyebrow{grid-row:3;padding:20px 22px 0}.hero .lead{grid-row:4;margin:18px 0 0;padding:0 22px;font-size:16.5px}.hero .ctas{grid-row:5;margin:28px 0 0;padding:0 22px}.hero .path{grid-row:6;margin:36px 0 0;padding:0 22px;line-height:2}}@media (max-width:520px){.hero .ctas .btn{flex:1;justify-content:center}}.w{vertical-align:top;margin:-.3em 0 -.14em;padding:.3em 0 .14em;display:inline-block;overflow:hidden}.wi{display:inline-block}.hero h1 .wi{animation:word-up 1.05s var(--ease-out) both;animation-delay:calc(.15s + var(--i,0) * 60ms)}.hero-photo{animation:photo-in 1.8s var(--ease-out) both}.hero .eyebrow{animation:rise .7s var(--ease-out) .55s both}.hero .lead{animation:rise .7s var(--ease-out) .7s both}.hero .ctas{animation:rise .7s var(--ease-out) .85s both}.hero .path{animation:.9s ease-out 1.05s both fade}@keyframes word-up{0%{transform:translateY(115%)}}@keyframes photo-in{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1.03)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}.logos{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}.marquee{padding:30px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.track{width:max-content;animation:48s linear infinite marquee;display:flex}.marquee:hover .track{animation-play-state:paused}.track .group{flex:none;align-items:center;gap:64px;margin:0;padding-right:64px;list-style:none;display:flex}.track li{color:var(--logo-ink);letter-spacing:-.015em;white-space:nowrap;align-items:center;gap:10px;font-size:17px;font-weight:600;display:inline-flex}.track li svg{fill:currentColor;flex:none;width:22px;height:22px}@keyframes marquee{to{transform:translate(-50%)}}.dirs{padding:34px 0 0}.dirs .grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dir{background:var(--card);border:1px solid var(--line);border-radius:6px;grid-template-columns:44px 1fr 200px;gap:0 18px;padding:36px 34px 34px 22px;display:grid;box-shadow:0 1px #121a2305}.dir .n{font-family:var(--mono);color:var(--ink);padding-top:2px;font-size:13px;font-weight:600;position:relative}.dir .n:after{content:"";background:var(--accent-2);opacity:.7;width:1px;height:110px;position:absolute;top:32px;left:4px}.dir h2{letter-spacing:-.03em;margin-top:18px;font-size:clamp(24px,2.1vw,30px);line-height:1.12}.dir .sub{color:var(--muted);max-width:30em;margin:16px 0 0;font-size:14.5px}.dir .pic{border-radius:4px;grid-area:1/3/span 2;align-self:start;margin-top:-16px;overflow:hidden}.dir .pic img{object-fit:cover;width:100%;height:220px}.dir ul{columns:2;grid-column:2/span 2;column-gap:30px;margin:30px 0 0;padding:0;list-style:none}.dir li{color:var(--text);break-inside:avoid;padding:5px 0 5px 30px;font-size:14.5px;position:relative}.dir li:before{content:"→";color:var(--accent-2);position:absolute;left:0}@media (max-width:1100px){.dirs .grid{grid-template-columns:1fr}}@media (max-width:620px){.dir{grid-template-columns:1fr;padding:26px 22px}.dir .n:after{display:none}.dir .pic{grid-area:auto;margin:22px 0 0}.dir .pic img{height:200px}.dir ul{columns:1;grid-column:auto}}.process{padding:96px 0 40px}.process .wrap{grid-template-columns:330px 1fr;gap:40px;display:grid}.process h2{margin-top:18px;font-size:clamp(34px,3.4vw,46px);line-height:1.04}.process .intro p{color:var(--muted);max-width:22em;margin:18px 0 0;font-size:16px}.steps{grid-template-columns:repeat(6,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid;position:relative}.steps:before{content:"";background:var(--line);height:1px;position:absolute;top:16px;left:16px;right:0}.steps-line{background:var(--accent-2);opacity:.6;transform-origin:0;height:1px;position:absolute;top:16px;left:16px;right:0}.step{position:relative}.step .num{border:1px solid var(--line);background:var(--bg);width:34px;height:34px;font-family:var(--mono);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:border-color .5s,color .5s,background .5s;display:flex;position:relative}.step.on .num{border-color:var(--accent-2);color:var(--accent);background:#fff}.step svg{width:26px;height:26px;color:var(--ink);margin-top:26px}.step h3{letter-spacing:-.015em;margin-top:14px;font-size:17px}.step p{color:var(--muted);margin:8px 0 0;font-size:13.5px;line-height:1.45}@media (max-width:1100px){.process .wrap{grid-template-columns:1fr}.steps{grid-template-columns:repeat(3,1fr);row-gap:40px}.steps:before,.steps-line{display:none}}@media (max-width:560px){.steps{grid-template-columns:repeat(2,1fr)}}.work{padding:60px 0 20px}.work .head{grid-template-columns:1fr auto;align-items:end;gap:40px;display:grid}.work h2{margin-top:18px;font-size:clamp(30px,3vw,40px);line-height:1.08}.work .head p{color:var(--muted);max-width:30em;margin:0;font-size:14px}.cards{grid-template-columns:repeat(4,1fr);gap:18px;margin:34px 0 0;padding:0;list-style:none;display:grid}.case{background:var(--card);border:1px solid var(--line);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.case .pic{overflow:hidden}.case img{object-fit:cover;width:100%;height:190px}.case .body{gap:4px;padding:18px;display:grid}.case h3{letter-spacing:-.02em;font-size:21px}.case .kind{color:var(--text);margin:0;font-size:13.5px}.case .tags{color:var(--muted);margin:12px 0 0;font-size:12.5px}.case .tags b{color:var(--faint);margin:0 6px;font-weight:400}@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.work .head{grid-template-columns:1fr}}@media (max-width:560px){.cards{grid-template-columns:1fr}}.band{color:var(--band-text);background:radial-gradient(40% 70% at 12% 80%,#3c2c1e8c,#0000 70%),radial-gradient(30% 80% at 70% 40%,#ebe4d81a,#0000 70%),radial-gradient(25% 60% at 95% 85%,#2630218c,#0000 70%),linear-gradient(100deg,#5f574f 0%,#6e655b 35%,#776e63 60%,#6b6258 85%,#544c44 100%);margin-top:40px;position:relative}.band .wrap{padding-top:58px;padding-bottom:58px}.band .label{color:var(--band-muted)}.band .row{grid-template-columns:1fr 1fr auto;align-items:center;gap:40px;display:grid}.band h2{color:var(--band-text);margin-top:14px;font-size:clamp(30px,3vw,40px);line-height:1.08}.band .row p{color:var(--band-text);margin:0;font-size:15.5px;line-height:1.6}.band .btn.light{border:0}.ways{grid-template-columns:repeat(4,1fr);gap:30px;margin:52px 0 0;padding:0;list-style:none;display:grid}.way{grid-template-columns:56px 1fr;align-items:start;gap:18px;display:grid}.way .ico{width:56px;height:56px;color:var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.way .ico svg{width:24px;height:24px}.way h3{color:var(--band-text);letter-spacing:-.01em;font-size:17px}.way p{color:var(--band-muted);margin:8px 0 0;font-size:14px;line-height:1.5}@media (max-width:1100px){.band .row{grid-template-columns:1fr;gap:20px}.ways{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.ways{grid-template-columns:1fr}}.tech{padding:70px 0 50px}.tech .wrap{grid-template-columns:330px 1fr;gap:40px;display:grid}.tech h2{margin-top:14px;font-size:clamp(30px,3vw,40px);line-height:1.08}.tech .intro p{color:var(--muted);margin:18px 0 0;font-size:13.5px}.stack{grid-template-columns:repeat(5,1fr);gap:28px;margin:0;padding:12px 0 0;list-style:none;display:grid}.layer svg{width:28px;height:28px;color:var(--ink)}.layer h3{letter-spacing:-.01em;margin-top:22px;font-size:16px}.layer p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}@media (max-width:1100px){.tech .wrap{grid-template-columns:1fr}.stack{grid-template-columns:repeat(3,1fr);row-gap:36px}}@media (max-width:560px){.stack{grid-template-columns:repeat(2,1fr)}}.contact{--label:#76594c;--muted:#5f5a54;background:radial-gradient(22% 80% at 34% 100%,#78624c59,#0000 70%),radial-gradient(20% 70% at 30% 20%,#60785040,#0000 70%),linear-gradient(100deg,#f3e6d6 0%,#efdcc6 40%,#f4e8da 70%,#efe2d2 100%);padding:90px 0;position:relative}.contact .wrap{grid-template-columns:1fr 1.2fr;align-items:start;gap:60px;display:grid}.contact h2{margin-top:14px;font-size:clamp(30px,3vw,44px);line-height:1.06}.contact .intro p{color:var(--text);max-width:28em;margin:20px 0 0;font-size:16px;line-height:1.6}.contact .intro a{color:var(--ink);border-bottom:1px solid var(--accent-2);margin-top:26px;font-weight:600;display:inline-block}.lead-form{-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:14px;padding:30px;position:relative;box-shadow:0 30px 60px -34px #503a2873}.lead-form .btn.dark{animation:2.6s ease-out infinite cta-pulse}.lead-form .btn.dark:disabled{animation:none}@keyframes cta-pulse{0%,to{box-shadow:0 0 #9c6b4f73}70%{box-shadow:0 0 0 14px #9c6b4f00}}.f2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.field input,.field textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#ffffffd1;border-radius:6px;outline:none;padding:13px 14px;font-size:16px;transition:border-color .2s}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{border-color:var(--accent)}.lead-form .btn{cursor:pointer;border:0;flex:none;font-family:inherit}.lead-form .btn:disabled{opacity:.6;cursor:progress}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-foot{align-items:center;gap:22px;margin-top:6px;display:flex}.consent{color:var(--muted);cursor:pointer;flex:1;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;display:flex}.consent input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;flex:none;margin:1px 0 0}.consent a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2);text-underline-offset:2px}.form-status{min-height:1.5em;color:var(--muted);margin:14px 0 0;font-size:14px}.form-status.ok{color:var(--ok)}.form-status.err{color:var(--err)}@media (max-width:720px){.form-foot{flex-direction:column;align-items:stretch}.form-foot .btn{justify-content:center}}@media (max-width:900px){.contact .wrap{grid-template-columns:1fr;gap:30px}.f2{grid-template-columns:1fr;gap:0}}.site-footer{border-top:1px solid var(--line);background:var(--bg)}.site-footer .row1{flex-wrap:wrap;align-items:center;gap:40px;padding:30px 0 22px;display:flex}.site-footer .tag{color:var(--text);margin:0;font-size:12.5px;line-height:1.5}.site-footer nav{color:var(--ink);flex-wrap:wrap;gap:28px;margin-left:40px;font-size:13px;display:flex}.site-footer nav a:hover{color:var(--accent)}.site-footer .social{color:var(--ink);align-items:center;gap:24px;display:flex}.site-footer .row2{color:var(--muted);justify-content:space-between;gap:20px;padding:16px 0 28px;font-size:12px;display:flex}.site-footer .row2 p{margin:0}@media (max-width:1000px){.site-footer nav{margin-left:0}}.legal{padding:150px 0 90px}.legal article{max-width:760px}.legal .back{color:var(--muted);gap:8px;font-size:14px;font-weight:500;display:inline-flex}.legal .back:hover{color:var(--ink)}.legal h1{letter-spacing:-.04em;margin-top:30px;font-size:clamp(34px,4vw,52px);line-height:1.05}.legal .updated{margin:16px 0 0}.legal .intro{color:var(--text);margin:28px 0 0;font-size:17px}.legal section{margin-top:34px}.legal h2{letter-spacing:-.02em;font-size:21px}.legal section p{color:var(--text);margin:10px 0 0;font-size:15.5px;line-height:1.65}.cookie{z-index:40;border:1px solid var(--line);background:#fff;border-radius:14px;max-width:400px;padding:20px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 50px -20px #121a2359}.cookie .label{display:block}.cookie p{color:var(--text);margin:10px 0 0;font-size:13.5px;line-height:1.5}.cookie p a{text-decoration:underline;-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2);text-underline-offset:2px}.cookie .actions{gap:10px;margin-top:16px;display:flex}.cookie .btn{cursor:pointer;flex:1;justify-content:center;font-family:inherit}.cookie .btn.dark{border:0}@media (max-width:520px){.cookie{max-width:none;bottom:12px;left:12px;right:12px}}html.anim .label.dash:after{transition:transform .9s var(--ease-out) .2s;transform:scaleX(0)}html.anim .label.dash.in:after{transform:scaleX(1)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.track{flex-wrap:wrap;justify-content:center;width:auto}.track .group[aria-hidden]{display:none}}
