@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(./instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(./instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(./instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(./instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(./jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff")}:root{--paper: #f6f5f1;--paper-2: #efeee9;--card: #fffefb;--ink: #14140f;--ink-2: #3d3d36;--ink-3: #6f6f66;--ink-4: #a3a39a;--rule: rgba(20, 20, 15, .1);--rule-soft: rgba(20, 20, 15, .06);--accent: #5c6b4a;--accent-soft: #e6e8df;--clay: #b4643c;--display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter: clamp(1.25rem, 5vw, 5rem);--maxw: 1280px;--section: clamp(4rem, 7vw, 6.5rem);--ease: cubic-bezier(.22, 1, .36, 1);--ease-io: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;font-feature-settings:"kern" 1,"liga" 1}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--paper)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section)}[id]{scroll-margin-top:5.5rem}.skip-link{position:absolute;top:0;left:50%;transform:translate(-50%,-120%);z-index:200;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;border-radius:0 0 4px 4px;font-size:.875rem;transition:transform .25s var(--ease)}.skip-link:focus{transform:translate(-50%);outline:none}.display{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.02em;font-size:clamp(2.75rem,8.5vw,7rem)}:lang(de) .display{font-size:clamp(2.5rem,6.4vw,5.25rem)}:lang(de) .display-sm{font-size:clamp(1.875rem,4vw,3rem)}.display-sm{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:-.015em;font-size:clamp(2rem,4.6vw,3.5rem)}.italic{font-style:italic}.eyebrow{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.lede{font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.65;color:var(--ink-2);max-width:62ch}.muted{color:var(--ink-3)}.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem var(--gutter);transition:background .4s var(--ease),padding .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease);border-bottom:1px solid transparent}.nav.is-stuck{background:#f6f5f1d1;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom-color:var(--rule-soft);padding-block:1rem}.brand{display:inline-flex;align-items:center;gap:.625rem;font-family:var(--display);font-size:1.5rem;letter-spacing:-.01em;line-height:1;white-space:nowrap}.brand sup{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;vertical-align:super;color:var(--ink-3);margin-left:.25rem}.brand-mark{display:inline-grid;place-items:center;width:1.55em;height:1.55em;background:var(--ink);color:var(--paper);border-radius:.3em;font-size:.72em;font-family:var(--display);letter-spacing:-.08em;padding-top:.05em;flex-shrink:0}.brand-word{display:inline-block}@media(max-width:480px){.brand-word{display:none}}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.25rem);list-style:none;order:2;margin-left:auto}.nav-links a{font-size:.875rem;color:var(--ink-2);position:relative;padding-block:.25rem;transition:color .25s var(--ease)}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after,.nav-links a[data-active]:after,.nav-links a[data-current]:after{transform:scaleX(1);transform-origin:left}.nav-links a[data-active],.nav-links a[data-current]{color:var(--ink)}.nav-links a.btn{color:var(--fg);font-size:.875rem}.nav-links a.btn:hover{color:var(--bg)}.nav-links a.btn:after{display:none}.lang{display:flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;color:var(--ink-4);order:3;margin-left:.5rem;z-index:110}.lang button{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--ink-4);font:inherit;transition:color .25s var(--ease)}.lang button:hover{color:var(--ink-2)}.lang button[aria-pressed=true]{color:var(--ink)}.lang button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.btn{--bg: var(--ink);--fg: var(--paper);display:inline-flex;align-items:center;gap:.625rem;background:var(--bg);color:var(--fg);border:1px solid var(--bg);border-radius:100px;padding:.8125rem 1.5rem;font-size:.875rem;font-weight:500;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fg);transform:translateY(101%);transition:transform .45s var(--ease)}.btn:hover:before{transform:translateY(0)}.btn:hover{color:var(--bg);transform:translateY(-2px);box-shadow:0 10px 24px -12px #14140f73}.btn:active{transform:translateY(0)}.btn .arrow{transition:transform .35s var(--ease)}.btn:hover .arrow{transform:translate(4px)}.btn-ghost{--bg: transparent;--fg: var(--ink);color:var(--ink);border-color:var(--rule)}.btn-ghost:before{background:var(--ink)}.btn-ghost:hover{color:var(--paper);border-color:var(--ink)}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--delay, 0ms);will-change:opacity,transform}.js [data-reveal].in{opacity:1;transform:none}.line-mask{overflow:hidden;display:block;padding-bottom:.14em;margin-bottom:-.08em}.line-mask>span{display:block}.js .line-mask>span{transform:translateY(105%);transition:transform 1.05s var(--ease);transition-delay:var(--delay, 0ms)}.in .line-mask>span,.line-mask.in>span{transform:none}.hero{min-height:100svh;display:grid;align-items:center;padding-top:7rem;padding-bottom:4rem;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}.collage{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:center}.frame{position:relative;overflow:hidden;background:var(--paper-2);border-radius:2px;aspect-ratio:3 / 4}.frame img{width:100%;height:100%;object-fit:cover}.frame figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(15,15,10,.62));font-size:.8125rem}.section-head{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(1.5rem,4vw,4rem);align-items:end;padding-bottom:2rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}.section-head .display-sm{max-width:24ch}.row-list{border-top:1px solid var(--rule);display:grid;grid-template-columns:5rem minmax(11rem,15rem) minmax(0,1fr) minmax(8rem,max-content);column-gap:clamp(1rem,3vw,3rem)}.row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:start;gap:clamp(1rem,3vw,3rem);padding-block:clamp(1.75rem,3vw,2.5rem);border-bottom:1px solid var(--rule);position:relative;transition:padding-inline .5s var(--ease)}.row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card);opacity:0;transition:opacity .45s var(--ease);z-index:-1}.row:hover{padding-inline:1.25rem}.row:hover:before{opacity:1}.row .num{font-family:var(--mono);font-size:.6875rem;color:var(--ink-4);letter-spacing:.1em;padding-top:.35rem}.row h3{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;margin:0}.row p{font-size:.9375rem;color:var(--ink-3);max-width:46ch;margin:0}.row .tags{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:flex-end;align-self:start}.tag{font-family:var(--mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);border-radius:100px;padding:.3rem .625rem;white-space:nowrap;background:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem);align-items:start}.work{display:grid;gap:1rem}.work-media{position:relative;overflow:hidden;display:block;border-radius:3px;background:var(--paper-2);aspect-ratio:4 / 3;border:1px solid var(--rule-soft);cursor:pointer}a.work-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.work-media--shot{aspect-ratio:16 / 10}.work-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform 1.1s var(--ease),filter .6s var(--ease)}.work:hover .work-media img{transform:scale(1.045)}.work-media--flewi{background:#faf7ee}.work-media--flewi img{object-position:center}.work-media.glyph{display:grid;place-items:center;background:linear-gradient(150deg,var(--paper-2),#e4e3dc)}.work-media.glyph span{font-family:var(--mono);font-size:clamp(1.5rem,3vw,2.25rem);color:var(--ink-4);letter-spacing:.02em;transition:transform .8s var(--ease),color .5s var(--ease)}.work:hover .work-media.glyph span{transform:translateY(-4px);color:var(--ink-3)}.work-head{border-bottom:1px solid var(--rule);padding-bottom:.75rem}.work-head h3{font-family:var(--display);font-weight:400;font-size:1.625rem;line-height:1.1}.work-head h3 a{color:inherit;transition:color .25s var(--ease)}.work-head h3 a:hover{color:var(--accent)}.work-head h3 a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.work p{font-size:.9375rem;color:var(--ink-3)}.work .tags{display:flex;flex-wrap:wrap;gap:.375rem}.work-link{font-size:.8125rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;width:fit-content;transition:gap .3s var(--ease),border-color .3s var(--ease)}.work-link:hover{gap:.7rem;border-color:var(--ink)}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,5vw,4.5rem)}.person{display:grid;gap:1.25rem;align-content:start}.person-media{aspect-ratio:1 / 1;width:clamp(7rem,12vw,9.5rem);overflow:hidden;border-radius:3px;background:var(--paper-2);position:relative}.person-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.person:hover .person-media img{transform:scale(1.04)}.monogram{display:grid;place-items:center;background:radial-gradient(120% 120% at 30% 20%,#6b7a58,#414c36 55%,#2c3325);color:#f2f1ea;position:relative}.monogram:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}.monogram .mg-letter{font-family:var(--display);font-size:clamp(3.5rem,7vw,5.5rem);line-height:1;opacity:.95;position:relative;z-index:1}.person-media.monogram .mg-letter{font-size:clamp(2.5rem,4vw,3.5rem)}.person h3{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1}.person .role{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:.4rem}.person p{font-size:.9375rem;color:var(--ink-2)}.person-links{display:flex;gap:1.25rem;flex-wrap:wrap}.team-stack{display:grid;gap:.875rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--rule)}.team-stack .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.team-stack .tags{display:flex;flex-wrap:wrap;gap:.375rem}.person-links a{font-size:.8125rem;color:var(--ink-2);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .3s var(--ease),border-color .3s var(--ease)}.person-links a:hover{color:var(--ink);border-color:var(--ink)}.page-head{padding-top:clamp(8rem,14vw,10rem);padding-bottom:clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--rule)}.page-head .display{max-width:16ch}.page-head .lede{margin-top:1.75rem}.story-grid{display:grid}.cta{background:var(--ink);color:var(--paper);border-radius:4px;padding:clamp(2.5rem,7vw,5rem);text-align:center;display:grid;gap:1.5rem;justify-items:center;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:60vw;aspect-ratio:1;background:radial-gradient(circle,rgba(92,107,74,.5),transparent 62%);top:-30%;right:-12%;pointer-events:none}.cta .display-sm{max-width:18ch}.cta p{color:#f6f5f19e;max-width:48ch}.cta .btn{--bg: var(--paper);--fg: var(--ink);z-index:1}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}.field{display:grid;gap:.5rem;margin-bottom:1.5rem}.field label{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.field input,.field textarea,.field select{background:transparent;border:none;border-bottom:1px solid var(--rule);padding:.75rem 0;font-size:1rem;border-radius:0;transition:border-color .3s var(--ease);width:100%}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--ink)}.field textarea{resize:vertical;min-height:7rem;font-family:inherit}.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}.field-error{font-family:var(--mono);font-size:.6875rem;letter-spacing:.02em;color:var(--clay);margin:0}.field-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0}.field-count{font-family:var(--mono);font-size:.625rem;letter-spacing:.06em;color:var(--ink-4);margin-left:auto}.field:has(.field-error:not([hidden])) input,.field:has(.field-error:not([hidden])) textarea{border-bottom-color:var(--clay)}.contact-aside{display:grid;gap:2.5rem;align-content:start}.contact-block{display:grid;gap:.5rem;padding-top:1.25rem;border-top:1px solid var(--ink)}.contact-block:first-child{border-top:none;padding-top:0}.contact-block .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.contact-block a,.contact-block p{font-size:1rem;color:var(--ink-2)}.contact-block a{border-bottom:1px solid var(--rule);width:fit-content;transition:border-color .3s var(--ease),color .3s var(--ease)}.contact-block a:hover{color:var(--ink);border-color:var(--ink)}.form-note{font-size:.8125rem;color:var(--ink-4);margin-top:1rem}.btn:disabled{opacity:.65;cursor:wait;pointer-events:none}.footer{border-top:1px solid var(--rule);padding-block:clamp(3rem,6vw,4.5rem) 2rem;margin-top:var(--section)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.75rem;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;color:var(--ink-4);text-transform:uppercase}.footer-links{display:inline-flex;gap:1.25rem}.footer-links a{color:var(--ink-3);border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}.footer-links a:hover,.footer-links a[data-current]{color:var(--ink);border-bottom-color:var(--rule)}.legal{max-width:46rem;display:grid;gap:clamp(2rem,4vw,2.75rem);padding-top:0}.legal-block h2{font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.15;margin-bottom:.75rem}.legal-block p{color:var(--ink-2);font-size:.9875rem;line-height:1.7}.legal-block a{border-bottom:1px solid var(--rule);transition:border-color .3s var(--ease),color .3s var(--ease)}.legal-block a:hover{color:var(--ink);border-bottom-color:var(--ink)}.legal-todo{background:#b4643c1f;color:var(--clay);padding:.05em .3em;border-radius:2px}.legal-note{font-size:.875rem;margin-top:.5rem}.legal-note a{border-bottom:1px solid var(--rule)}.cs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin-top:clamp(2rem,4vw,2.75rem);padding-top:1.75rem;border-top:1px solid var(--rule)}.cs-fact{display:grid;gap:.4rem;align-content:start}.cs-fact .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.cs-fact .v{font-size:.9375rem;color:var(--ink-2)}.cs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1rem,2.5vw,1.75rem);margin-top:clamp(1.75rem,3.5vw,2.5rem)}.cs-shot{overflow:hidden;border-radius:3px;border:1px solid var(--rule-soft);background:var(--paper)}.cs-shot img{width:100%;height:auto}.cs-prose{display:grid;gap:1.25rem;max-width:68ch}.cs-prose p{font-size:1.0625rem;line-height:1.7;color:var(--ink-2)}.cs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.cs-card{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;gap:.625rem;align-content:start;transition:transform .45s var(--ease),border-color .45s var(--ease)}.cs-card:hover{transform:translateY(-3px);border-color:var(--ink-4)}.cs-card h3{font-family:var(--display);font-weight:400;font-size:1.375rem;line-height:1.15}.cs-card p{font-size:.9375rem;color:var(--ink-3)}.cs-callout{margin-top:clamp(1.5rem,3vw,2.25rem);background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:0 3px 3px 0;padding:clamp(1.25rem,3vw,2rem);display:grid;gap:.625rem}.cs-callout .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.cs-callout p{color:var(--ink-2);max-width:64ch;font-size:1rem;line-height:1.65}.cs-spec{display:grid;border-top:1px solid var(--rule)}.cs-spec-row{display:grid;grid-template-columns:minmax(7rem,11rem) minmax(0,1fr);gap:clamp(.75rem,3vw,3rem);align-items:baseline;padding-block:1.25rem;border-bottom:1px solid var(--rule)}.cs-spec-row .k{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.cs-spec-row p{font-size:.9375rem;color:var(--ink-2)}.cs-steps{display:grid;border-top:1px solid var(--rule);counter-reset:step}.cs-step{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:clamp(.75rem,3vw,2rem);padding-block:clamp(1.5rem,3vw,2rem);border-bottom:1px solid var(--rule)}.cs-step:before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;color:var(--ink-4);padding-top:.45rem}.cs-step-body{display:grid;gap:.625rem}.cs-step h3{font-family:var(--display);font-weight:400;font-size:clamp(1.375rem,2.2vw,1.75rem);line-height:1.15}.cs-step p{font-size:.9375rem;color:var(--ink-2)}.cs-why{color:var(--ink-3)}.cs-why .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-right:.5rem}.cs-pivot{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:var(--ink-3);margin-bottom:clamp(1.5rem,3vw,2rem)}.cs-pivot .now{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:2px}.cs-peek{display:grid;gap:.875rem}.cs-peek-label{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.cs-peek-lede{font-size:1rem;line-height:1.6;color:var(--ink-2);max-width:52ch;margin-bottom:.5rem}.cs-phones{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(11.5rem,14.5rem);gap:.875rem;overflow-x:auto;padding-bottom:.75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.cs-phone{scroll-snap-align:start;margin:0;display:grid;gap:.625rem}.cs-phone img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--rule);background:var(--paper);box-shadow:0 12px 28px -18px #14120e59}.cs-phone figcaption{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);line-height:1.4}@media(max-width:640px){.cs-spec-row{grid-template-columns:1fr;gap:.4rem}.cs-step{grid-template-columns:1fr}.cs-step:before{padding-top:0}}.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin:-.5rem;z-index:110}.menu-btn .bar{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .4s var(--ease),opacity .3s var(--ease)}.menu-btn .bar+.bar{margin-top:5px}.menu-btn[aria-expanded=true] .bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-btn[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] .bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media(max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:3rem}.collage{max-width:34rem}.row-list{display:block}.row{display:grid;grid-template-columns:3rem 1fr;grid-column:auto;row-gap:.75rem}.row h3,.row p,.row .tags{grid-column:2}.row .tags{justify-content:flex-start}.contact-grid{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;align-items:start}}@media(max-width:768px){.menu-btn{display:block}.nav-links{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);flex-direction:column;justify-content:center;gap:.5rem;transform:translateY(-100%);transition:transform .6s var(--ease);z-index:105}.nav-links.open{transform:none}.nav-links li{overflow:hidden}.nav-links a{font-family:var(--display);font-size:2.25rem;color:var(--ink);display:block;padding:.35rem 0}.nav-links a:after{display:none}.nav-links .nav-cta{margin-top:1.5rem;overflow:visible}.lang{order:2;margin-left:auto;margin-right:1rem}.lang button{padding:.5rem .25rem}.menu-btn{order:3}.nav-links a.btn{font-family:var(--sans);font-size:.9375rem;display:inline-flex;padding:.8125rem 1.5rem}.people,.work-grid{grid-template-columns:1fr}.work-grid .work:nth-child(n){margin-top:0}.hero{min-height:auto;padding-top:8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1;transform:none}.js .line-mask>span{transform:none}.marquee-track{animation:none}}.chat-fab{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:120;width:3.5rem;height:3.5rem;display:grid;place-items:center;border:1px solid var(--ink);border-radius:100px;background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:0 12px 30px -14px #14140f99;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.chat-fab:hover{transform:translateY(-2px);box-shadow:0 16px 34px -14px #14140fb3}.chat-fab:active{transform:translateY(0)}.chat-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chat-fab svg{width:1.5rem;height:1.5rem;grid-area:1 / 1;transition:opacity .25s var(--ease),transform .35s var(--ease)}.chat-fab-close{opacity:0;transform:rotate(-45deg)}.chat-fab.is-open .chat-fab-icon{opacity:0;transform:rotate(45deg)}.chat-fab.is-open .chat-fab-close{opacity:1;transform:none}.chat-panel{position:fixed;right:clamp(1rem,3vw,2rem);bottom:calc(clamp(1rem,3vw,2rem) + 4.25rem);z-index:120;width:min(23rem,calc(100vw - 2rem));max-height:min(32rem,calc(100svh - 8rem));display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--rule);border-radius:6px;box-shadow:0 24px 60px -28px #14140f8c;opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .25s var(--ease),transform .25s var(--ease)}.chat-panel.is-open{opacity:1;transform:none}.chat-panel[hidden]{display:none}.chat-head{display:flex;align-items:center;gap:.5rem;padding:.9rem .75rem .9rem 1.125rem;border-bottom:1px solid var(--rule);background:var(--paper)}.chat-head-text{flex:1;min-width:0}.chat-title{font-family:var(--display);font-size:1.125rem;line-height:1.2;color:var(--ink)}.chat-sub{font-family:var(--mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-top:.2rem;line-height:1.4}.chat-icon-btn{flex-shrink:0;display:grid;place-items:center;width:1.875rem;height:1.875rem;border:none;border-radius:100px;background:none;color:var(--ink-4);cursor:pointer;transition:color .25s var(--ease),background .25s var(--ease)}.chat-icon-btn svg{width:1.0625rem;height:1.0625rem}.chat-icon-btn:hover{color:var(--ink);background:var(--paper-2)}.chat-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1.125rem;display:flex;flex-direction:column;gap:.875rem;scroll-behavior:smooth}.chat-msg{display:grid;gap:.25rem;max-width:88%}.chat-msg--you{justify-self:end;justify-items:end}.chat-who{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);padding-inline:.2rem}.chat-bubble{font-size:.875rem;line-height:1.55;padding:.6875rem .875rem;border-radius:12px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule-soft);overflow-wrap:anywhere}.chat-msg--you .chat-bubble{background:var(--ink);color:var(--paper);border-color:var(--ink);border-bottom-right-radius:3px}.chat-msg--bot .chat-bubble{border-bottom-left-radius:3px}.chat-bubble a{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:1px;transition:color .25s var(--ease),border-color .25s var(--ease)}.chat-bubble a:hover{color:var(--accent);border-color:var(--ink)}.chat-action{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;padding:.5rem .9375rem;border-radius:100px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:.8125rem;font-weight:500;width:fit-content;transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}.chat-action:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.chat-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-action span{transition:transform .3s var(--ease)}.chat-action:hover span{transform:translate(3px)}.chat-typing .chat-bubble{display:flex;gap:.28rem;align-items:center;padding-block:.875rem}.chat-typing .dot{width:.3125rem;height:.3125rem;border-radius:100px;background:var(--ink-4);animation:chat-blink 1.2s var(--ease-io) infinite}.chat-typing .dot:nth-child(2){animation-delay:.18s}.chat-typing .dot:nth-child(3){animation-delay:.36s}@keyframes chat-blink{0%,60%,to{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-2px)}}.chat-chips{display:flex;flex-wrap:wrap;gap:.375rem;padding:0 1.125rem}.chat-chips:not(:empty){padding-bottom:.875rem}.chat-chip{font-family:var(--mono);font-size:.625rem;letter-spacing:.04em;color:var(--ink-3);background:var(--paper);border:1px solid var(--rule);border-radius:100px;padding:.35rem .6875rem;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.chat-chip:hover{color:var(--ink);border-color:var(--ink-4);background:var(--card)}.chat-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-form{display:flex;align-items:center;gap:.5rem;padding:.75rem .75rem .75rem 1.125rem;border-top:1px solid var(--rule);background:var(--paper)}.chat-input{flex:1;min-width:0;background:none;border:none;padding:.4rem 0;font-size:.875rem;color:var(--ink)}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--ink-4)}.chat-send{flex-shrink:0;display:grid;place-items:center;width:2.125rem;height:2.125rem;border:1px solid var(--ink);border-radius:100px;background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}.chat-send svg{width:1.0625rem;height:1.0625rem}.chat-send:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.chat-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:480px){.chat-panel{right:.75rem;left:.75rem;width:auto;bottom:calc(clamp(1rem,3vw,2rem) + 4.25rem);max-height:min(28rem,calc(100svh - 7.5rem))}.chat-msg{max-width:92%}}@media(max-width:768px){body:has(.nav-links.open) .chat-fab,body:has(.nav-links.open) .chat-panel{display:none}}@media(prefers-reduced-motion:reduce){.chat-panel{opacity:1;transform:none;transition:none}.chat-log{scroll-behavior:auto}.chat-typing .dot{animation:none;opacity:.5}}
