:root{--bg:#f5f1e8;--fg:#1f1c18;--fg-strong:#14110e;--mute-1:color-mix(in oklab, var(--fg) 78%, transparent);--mute-2:color-mix(in oklab, var(--fg) 55%, transparent);--mute-3:color-mix(in oklab, var(--fg) 42%, transparent);--mute-4:color-mix(in oklab, var(--fg) 28%, transparent);--rule:color-mix(in oklab, var(--fg) 18%, transparent);--accent:#3baa16;--pulse:#5a7a4a;--pad-x:clamp(28px, 5vw, 72px);--pad-y:clamp(24px, 4vh, 56px);--copy-max:clamp(360px, 36vw, 720px)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:400}html{scroll-behavior:smooth}#root{isolation:isolate}.scroller{scroll-snap-type:y mandatory;scroll-behavior:smooth;background-image:radial-gradient(color-mix(in oklab, var(--fg) 8%, transparent) 1px, transparent 1px);background-size:28px 28px;background-attachment:fixed;height:100vh;overflow-y:scroll}.scroller::-webkit-scrollbar{display:none}.scroller{scrollbar-width:none}#dot-trail{pointer-events:none;z-index:1;width:100vw;height:100vh;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){#dot-trail{display:none}}.chapter{scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100vh;padding:calc(var(--pad-y) + 56px) var(--pad-x) var(--pad-y) var(--pad-x);flex-direction:column;display:flex;position:relative}@media (width<=720px){.chapter{padding:var(--pad-y) var(--pad-x)}}.chrome{pointer-events:none;z-index:50;position:fixed;inset:0}.chrome>*{pointer-events:auto}.topbar{top:var(--pad-y);left:var(--pad-x);right:var(--pad-x);letter-spacing:.06em;color:var(--mute-2);justify-content:space-between;align-items:center;gap:24px;font-size:11px;display:flex;position:absolute}.topbar .logo{width:100px;color:var(--fg);flex:none;display:inline-block}.topbar .logo svg path{fill:currentColor}.topnav{letter-spacing:.08em;align-items:center;gap:clamp(12px,2.6vw,44px);min-width:0;font-size:clamp(9px,.95vw,11px);display:flex}.topnav a{color:var(--mute-2);white-space:nowrap;align-items:baseline;gap:clamp(4px,.6vw,8px);padding:6px 0;text-decoration:none;transition:color .25s;display:inline-flex;position:relative}.topnav a .num{font-feature-settings:"tnum";color:var(--mute-3);font-size:clamp(8px,.8vw,9px);transition:color .25s}.topnav a .label{text-transform:uppercase}@media (width<=520px){.topnav{gap:14px;font-size:11px}.topnav a{gap:0}.topnav a .label{display:none}.topnav a .num{font-size:11px}}.topnav a:after{content:"";background:var(--accent);height:1px;transition:right .3s;position:absolute;bottom:0;left:0;right:100%}.topnav a:hover,.topnav a:hover .num{color:var(--fg-strong)}.topnav a:hover:after{right:0}.topnav a.active{color:var(--fg-strong)}.topnav a.active .num{color:var(--accent)}.topnav a.active:after{right:0}.scrollhint{bottom:var(--pad-y);letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3);align-items:center;gap:10px;font-size:10px;transition:opacity .4s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scrollhint .glyph{animation:2s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}.scrollhint.is-past-intro{opacity:0;pointer-events:none}.chapter-footer{bottom:var(--pad-y);left:var(--pad-x);right:var(--pad-x);letter-spacing:.12em;color:var(--mute-3);text-transform:uppercase;pointer-events:none;justify-content:space-between;font-size:10px;display:flex;position:absolute}.ch-intro{justify-content:center;gap:36px}.ch-intro h1{letter-spacing:-.02em;color:var(--fg-strong);text-wrap:pretty;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(28px,4.2vw,56px);font-weight:400;line-height:1.22}.ch-intro h1 .line{display:block}.ch-intro h1 .ast{color:var(--accent);cursor:help}.ch-intro h1 .caret{background:var(--fg);vertical-align:-.12em;width:.55ch;height:1em;margin-left:4px;animation:1.05s steps(2,jump-none) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.ch-intro .comment{max-width:var(--copy-max);color:var(--mute-1);border-left:2px solid color-mix(in oklab, var(--accent) 50%, transparent);padding:6px 0 6px 18px;font-size:clamp(13px,1vw,14px);line-height:1.7;transition:background .25s,border-color .25s}.ch-intro:has(h1 .ast:hover) .comment{background:color-mix(in oklab, var(--accent) 7%, transparent);border-left-color:var(--accent)}.ch-intro .comment .marker{color:color-mix(in oklab, var(--accent) 85%, transparent)}.ch-intro .comment .key{color:var(--mute-3)}.ch-services{grid-template-columns:1.15fr 1fr;align-content:center;align-items:center;gap:32px clamp(48px,7vw,120px);display:grid}.ch-services .col-pitch{flex-direction:column;gap:28px;display:flex}.ch-services .statement{letter-spacing:-.02em;color:var(--fg-strong);text-wrap:pretty;max-width:18ch;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(28px,3.4vw,46px);font-weight:400;line-height:1.18}.ch-services .statement em{color:var(--accent);font-style:italic}.ch-services .followup{color:var(--mute-1);max-width:var(--copy-max);border-left:2px solid color-mix(in oklab, var(--accent) 50%, transparent);margin:0;padding:6px 0 6px 18px;font-size:clamp(13px,1vw,14px);line-height:1.7}.ch-services .col-services{flex-direction:column;display:flex}.ch-services .col-services .label{letter-spacing:.18em;color:var(--mute-3);text-transform:uppercase;margin-bottom:18px;font-size:11px}.ch-services .ways-list{border-top:1px solid var(--rule);min-height:clamp(360px,46vh,460px);margin:0;padding:0;list-style:none}.ch-services .ways-list .way{border-bottom:1px solid var(--rule);position:relative}.ch-services .ways-list .way:before{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform .35s cubic-bezier(.6,.1,.3,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.ch-services .ways-list .way.is-open:before{transform:scaleY(1)}.ch-services .ways-list .way-header{all:unset;box-sizing:border-box;cursor:pointer;grid-template-columns:56px 1fr 24px;align-items:baseline;column-gap:20px;width:100%;padding:18px 4px;transition:padding .3s cubic-bezier(.6,.1,.3,1),background .25s;display:grid}.ch-services .ways-list .way.is-open .way-header{background:color-mix(in oklab, var(--accent) 5%, transparent);padding-left:18px}.ch-services .ways-list .way-header:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.ch-services .ways-list .num{color:var(--accent);letter-spacing:.06em;font-feature-settings:"tnum";font-size:12px}.ch-services .ways-list .title{color:var(--fg-strong);text-wrap:pretty;font-size:clamp(15px,1.15vw,18px);line-height:1.4}.ch-services .ways-list .toggle{color:var(--mute-3);text-align:right;font-size:18px;line-height:1;transition:transform .35s cubic-bezier(.6,.1,.3,1),color .25s;display:inline-block}.ch-services .ways-list .way.is-open .toggle{color:var(--accent);transform:rotate(45deg)}.ch-services .ways-list .way-body{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.6,.1,.3,1),background .25s;display:grid}.ch-services .ways-list .way.is-open .way-body{background:color-mix(in oklab, var(--accent) 5%, transparent);grid-template-rows:1fr}.ch-services .ways-list .way-body-inner{overflow:hidden}.ch-services .ways-list .way-body p{color:var(--mute-1);opacity:0;max-width:52ch;margin:0;padding:0 4px 22px 94px;font-size:clamp(13px,.95vw,14.5px);line-height:1.65;transition:opacity .35s,transform .35s;transform:translateY(-4px)}.ch-services .ways-list .way.is-open .way-body p{opacity:1;transition-delay:80ms;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.ch-services .ways-list .way:before,.ch-services .ways-list .way-header,.ch-services .ways-list .toggle,.ch-services .ways-list .way-body,.ch-services .ways-list .way-body p{transition:none}}@media (width<=860px){.ch-services{grid-template-columns:1fr;row-gap:36px}}.ch-testimonials{justify-content:center}.ch-testimonials .testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,1.8vw,28px);margin:0;padding:0;list-style:none;display:grid}.ch-testimonials .testimonial-card{border:1px solid color-mix(in oklab, var(--fg) 12%, transparent);text-align:left;box-shadow:0 1px 0 color-mix(in oklab, var(--fg) 5%, transparent), 0 18px 30px -22px color-mix(in oklab, var(--fg) 25%, transparent);background:#faf6ec;border-radius:14px;flex-direction:column;padding:clamp(22px,2.2vw,30px) clamp(22px,2.2vw,28px);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.ch-testimonials .testimonial-card:hover{box-shadow:0 1px 0 color-mix(in oklab, var(--fg) 6%, transparent), 0 22px 36px -22px color-mix(in oklab, var(--fg) 30%, transparent);border-color:color-mix(in oklab, var(--fg) 18%, transparent);transform:translateY(-2px)}.ch-testimonials .testimonial-grid:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.ch-testimonials .quote-mark{color:var(--accent);-webkit-user-select:none;user-select:none;height:22px;font-family:"Source Serif 4",serif;font-size:clamp(40px,4vw,56px);font-weight:500;line-height:.6;display:block}.ch-testimonials .quote{flex:1;margin:0}.ch-testimonials .quote p{color:var(--fg-strong);text-wrap:pretty;margin:12px 0 20px;font-family:"Source Serif 4",serif;font-size:clamp(15px,1.1vw,17px);font-style:italic;font-weight:400;line-height:1.5}.ch-testimonials .divider{background:color-mix(in oklab, var(--fg) 15%, transparent);border:0;width:100%;height:1px;margin:0 0 14px}.ch-testimonials .credit{align-items:center;gap:14px;font-style:normal;display:flex}.ch-testimonials .client-logo{width:auto;height:22px;color:var(--fg-strong);flex:none;display:block}.ch-testimonials .client-logo[data-brand=cdprojekt]{aspect-ratio:595.28/420.945;height:28px}.ch-testimonials .client-logo[data-brand=colbe]{aspect-ratio:941/285}.ch-testimonials .client-logo[data-brand=joan]{aspect-ratio:240/64}.ch-testimonials .who{flex-direction:column;display:flex}.ch-testimonials .name{color:var(--fg-strong);letter-spacing:-.005em;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.ch-testimonials .role{color:var(--mute-2);letter-spacing:.04em;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}@media (width<=860px){.ch-testimonials .testimonial-grid{scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad-x);overscroll-behavior-x:contain;scrollbar-width:none;padding-inline:var(--pad-x);margin-inline:calc(var(--pad-x) * -1);grid-template-columns:none;gap:16px;display:flex;overflow:auto hidden}.ch-testimonials .testimonial-grid::-webkit-scrollbar{display:none}.ch-testimonials .testimonial-card{flex:0 0 calc(100vw - var(--pad-x) - 40px);scroll-snap-align:start;scroll-snap-stop:always}}@media (prefers-reduced-motion:reduce){.ch-testimonials .testimonial-card{transition:border-color .2s}.ch-testimonials .testimonial-card:hover{box-shadow:0 1px 0 color-mix(in oklab, var(--fg) 5%, transparent), 0 18px 30px -22px color-mix(in oklab, var(--fg) 25%, transparent);transform:none}}.ch-testimonials .testimonial-dots{display:none}@media (width<=860px){.ch-testimonials .testimonial-dots{justify-content:center;gap:4px;margin-top:18px;display:flex}.ch-testimonials .testimonial-dot{appearance:none;box-sizing:content-box;background-color:color-mix(in oklab, var(--fg) 25%, transparent);cursor:pointer;background-clip:content-box;border:0;border-radius:50%;width:8px;height:8px;padding:8px;transition:background-color .2s,transform .2s}.ch-testimonials .testimonial-dot:hover{background-color:color-mix(in oklab, var(--fg) 45%, transparent)}.ch-testimonials .testimonial-dot[aria-current=true]{background-color:var(--accent)}.ch-testimonials .testimonial-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}@media (prefers-reduced-motion:reduce){.ch-testimonials .testimonial-dot{transition:background-color .2s}}.ch-contact{grid-template-columns:1.15fr 1fr;align-items:center;gap:32px clamp(40px,5vw,96px);display:grid}.ch-contact .col-pitch{flex-direction:column;gap:28px;display:flex}.ch-contact .statement{letter-spacing:-.02em;color:var(--fg-strong);text-wrap:pretty;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(28px,3.4vw,46px);font-weight:400;line-height:1.18}.ch-contact .statement em{color:var(--accent);font-style:italic}.ch-contact .mailto{color:var(--fg-strong);white-space:nowrap;text-decoration:none;transition:color .25s;position:relative}.ch-contact .mailto:after{content:"";background:var(--accent);height:1px;transition:right .35s;position:absolute;bottom:.08em;left:0;right:100%}.ch-contact .mailto:hover{color:var(--accent)}.ch-contact .mailto:hover:after{right:0}.ch-contact .mailto .glyph{color:var(--mute-3);margin-left:.1em;font-size:.5em;transition:color .25s,transform .25s;display:inline-block;transform:translateY(-.45em)}.ch-contact .mailto:hover .glyph{color:var(--accent);transform:translateY(-.55em)translate(2px)}.ch-contact .followup{color:var(--mute-1);border-left:1px solid var(--rule);text-wrap:pretty;max-width:44ch;margin:0;padding-left:14px;font-size:clamp(13px,1vw,15px);line-height:1.65}.ch-contact .col-offices{flex-direction:column;gap:32px;display:flex}.ch-contact .label{letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3);margin-bottom:10px;font-size:11px}.ch-contact .offices-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.ch-contact .offices-list li{border-bottom:1px solid var(--rule);grid-template-columns:32px 1fr auto;align-items:baseline;column-gap:16px;padding:18px 0;display:grid}.ch-contact .offices-list .num{color:var(--accent);font-feature-settings:"tnum";letter-spacing:.04em;font-size:11px}.ch-contact .offices-list .city{color:var(--fg-strong);letter-spacing:-.01em;font-size:clamp(16px,1.2vw,19px)}.ch-contact .offices-list .time{color:var(--mute-2);font-feature-settings:"tnum";letter-spacing:.04em;text-align:right;white-space:nowrap;font-size:12px}.ch-contact .offices-list .time .tz{color:var(--mute-3);letter-spacing:.1em;text-transform:uppercase;margin-left:6px;font-size:10px}.ch-contact .entity{flex-direction:column;gap:8px;display:flex}.ch-contact .entity .entity-label{letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3);font-size:11px}.ch-contact .entity .legal-line{color:var(--fg-strong);letter-spacing:-.01em;font-family:JetBrains Mono,monospace;font-size:14px}.ch-contact .entity .legal-copy{color:var(--mute-2);letter-spacing:.04em;font-size:11px}@media (width<=860px){.ch-contact{grid-template-columns:1fr;row-gap:36px}}
