@font-face{font-family:Notes;src:url('/assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--signal:#FF4F1A}
.margin-sketch{display:none;pointer-events:none;color:var(--signal);overflow:visible}
.margin-sketch path,.hero-ring path,.pen-ring path{fill:none;stroke:var(--signal);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.margin-sketch text{font-family:Notes,cursive;font-weight:500;fill:var(--signal)}
@media(min-width:900px){
 .has-margin-note{position:relative}
 .has-margin-note>.margin-sketch{display:block;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:190px;height:auto}
 .has-margin-note:not(.wrap)>.wrap{width:calc(100% - 280px);margin-left:24px;margin-right:232px;max-width:1180px}
 .has-margin-note.wrap{padding-right:220px;box-sizing:border-box}
 .has-margin-note.wrap>.margin-sketch{right:0}
 .margin-sketch.note-pending path{stroke-dasharray:1;stroke-dashoffset:1}
 .margin-sketch.note-pending text{opacity:0}
 .margin-sketch.note-drawn path{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s ease}
 .margin-sketch.note-drawn text{opacity:1;transition:opacity .3s ease 1.6s}
}
.hero-circled{position:relative;display:inline-block;white-space:nowrap}
.hero-ring{position:absolute;left:-7%;top:-10%;width:114%;height:120%;overflow:visible;pointer-events:none}
.hero-ring path{stroke-dasharray:1;stroke-dashoffset:0;animation:heroInk .8s ease both}
@keyframes heroInk{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.pen-dot,.pen-trail,.pen-ring{position:fixed;pointer-events:none;z-index:10001;display:none}
.pen-dot{left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--signal);opacity:0;will-change:transform}
.pen-dot::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit}
.pen-dot.pen-click::after{animation:penClick .18s ease}
@keyframes penClick{50%{transform:scale(1.5)}}
.pen-trail,.pen-ring{inset:0;width:100%;height:100%;overflow:visible}
.pen-ring path{opacity:0;transition:opacity .2s ease}
@media(hover:hover) and (pointer:fine){
 html,body,body *,a,button,a *,button *{cursor:auto}
 a,button{cursor:pointer}
 body.pen-ready,body.pen-ready *{cursor:none!important}
 body.pen-ready input,body.pen-ready textarea,body.pen-ready [contenteditable],body.pen-ready [contenteditable] *{cursor:text!important}
 body.pen-ready select,body.pen-ready option{cursor:default!important}
 .pen-ready .pen-dot,.pen-ready .pen-trail,.pen-ready .pen-ring{display:block}
 .pen-ready .links a:hover::after,.pen-ready .links a[aria-current=page]::after{transform:scaleX(0)}
 .pen-ready .links a:focus-visible::after{transform:scaleX(1)}
}
@media(hover:none),(pointer:coarse){.links a[aria-current=page]::after{transform:scaleX(1)}}

/* Active sections grow with their content; scrolling belongs to the document. */
.has-section-deck{height:auto;min-height:100dvh;overflow:visible;grid-template-rows:auto 1fr auto auto}
.section-deck{overflow:visible}
.section-deck>[data-panel]{height:auto;max-height:none;min-height:calc(100dvh - 280px);overflow:visible;overscroll-behavior:auto}
.section-deck>.experience{padding-top:24px;padding-bottom:24px}
.experience .section-head{margin-bottom:22px}.experience-grid article{padding-top:20px;padding-bottom:14px;min-height:180px;gap:14px}
.contact-form{display:grid;gap:14px;width:100%;min-width:0;font-size:.85rem}
.contact-form label:not(.form-consent){display:grid;gap:6px}
.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(244,243,239,.5);border-radius:0;padding:10px 12px;background:var(--cream);color:var(--dark);font:inherit}
.contact-form textarea{resize:vertical;min-height:100px}
.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:.75rem;line-height:1.55}.form-consent input{width:17px;height:17px;flex:none;margin-top:3px;accent-color:var(--dark)}
.form-consent a{color:inherit;text-decoration:underline}.contact-form p{font-size:.75rem;margin:0;line-height:1.5}.contact-form .cta{justify-self:start;padding:14px 20px}.form-status:empty{display:none}.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:899px){.section-deck>[data-panel]{min-height:calc(100dvh - 240px)}.section-deck>.intro-band{padding-top:24px;padding-bottom:24px}.intro-band .section-head{gap:20px;margin-bottom:24px}.intro-band .approach-image{height:140px;max-height:140px;object-fit:cover}.intro-band p{font-size:1rem;line-height:1.55}.contact-form{font-size:1rem}.form-consent,.contact-form p{font-size:.85rem}#kontakt .contact-grid,#contact .contact-grid{grid-template-columns:1fr;gap:24px}.contact-private{padding:24px 0;border-left:0;border-top:1px solid rgba(244,243,239,.35)}.experience-grid article{min-height:0;padding:16px;gap:12px}}

/* Service sketches fill the same content width as the copy. */
.service-illustrated .service-editorial{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:center}
.service-diagram{position:relative;display:block;width:100%;height:auto;min-width:0;overflow:visible}
.ink-term{position:relative;white-space:nowrap}
.ink-term::after{content:'';position:absolute;left:-1%;right:-1%;bottom:-2px;height:5px;border-bottom:1.6px solid var(--signal);border-radius:40% 25% 35% 15%;transform:rotate(-.7deg)}
.motion-control{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;font:inherit;font-size:.75rem;width:100%;grid-column:1/-1}
.motion-control button{border:0;background:none;color:inherit;padding:4px 1px;font:inherit;cursor:pointer}.motion-control button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.motion-control button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.references-selection{margin:0;font-size:1rem}.references-more{font-family:Notes,cursive;color:var(--signal);font-size:1.5rem;margin:12px 0 0}.ink-dots{display:inline-block}
@media(max-width:899px){.service-illustrated .service-editorial{grid-template-columns:1fr;gap:0}.service-diagram{display:none}.ink-term{white-space:normal}.ink-term::after{display:none}}
html[data-motion=full],html[data-motion=subtle]{scroll-behavior:smooth!important}
html[data-motion=full] .reveal-block{opacity:0!important;transform:translateY(10px)!important;transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s ease var(--reveal-delay,0ms)!important}
html[data-motion=subtle] .reveal-block{opacity:0!important;transform:none!important;transition:opacity .3s ease var(--reveal-delay,0ms)!important}
html[data-motion] .reveal-block.reveal-visible{opacity:1!important;transform:none!important}
html[data-motion] .panel-active>div,html[data-motion] .panel-active>.portrait-pair,html[data-motion] .panel-active h1,html[data-motion] .panel-active .section-title{animation:none!important}
html[data-motion=full] .margin-sketch.note-pending path,html[data-motion=subtle] .margin-sketch.note-pending path{stroke-dasharray:1;stroke-dashoffset:1}
html[data-motion=full] .margin-sketch.note-drawn path{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s ease}
html[data-motion=full] .margin-sketch.note-drawn text{opacity:1;transition:opacity .25s ease 1.2s}
html[data-motion=subtle] .margin-sketch.note-drawn path{stroke-dashoffset:0;transition:stroke-dashoffset .5s ease}
html[data-motion=subtle] .margin-sketch.note-drawn text{opacity:1;transition:opacity .2s ease .5s}
html[data-motion=full] .hero-ring path{animation:heroInk .8s ease both!important}
html[data-motion=subtle] .hero-ring path{animation:heroInk .5s ease both!important}
html[data-motion=full] .ink-dots{animation:inkDots 2.2s ease both}
html[data-motion=subtle] .ink-dots{animation:inkDots .6s ease both}
@keyframes inkDots{to{opacity:.12}}
html[data-motion=full] .pen-dot.pen-click::after,html[data-motion=subtle] .pen-dot.pen-click::after{animation:penClick .18s ease!important}
html[data-motion=full] .cta,html[data-motion=subtle] .cta{transition:transform .2s ease!important}
html[data-motion=full] .cta:hover,html[data-motion=subtle] .cta:hover{transform:scale(1.02)!important}
html[data-motion=subtle] .experience-network path,html[data-motion=subtle] .growth-stroke{animation:none!important;stroke-dashoffset:0!important}
html[data-motion=off]{scroll-behavior:auto!important}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion=off] .reveal-block{opacity:1!important;transform:none!important}
html[data-motion=off] .margin-sketch path,html[data-motion=off] .hero-ring path,html[data-motion=off] .experience-network path,html[data-motion=off] .growth-stroke{stroke-dashoffset:0!important}
html[data-motion=off] .margin-sketch text{opacity:1!important}
html[data-motion=off] .pen-dot,html[data-motion=off] .pen-trail,html[data-motion=off] .pen-ring{display:none!important}
html[data-motion=full] .service-diagram.note-drawn path{transition-delay:.24s}
html[data-motion=full] .service-diagram.note-drawn text{transition-delay:1.44s}
html[data-motion=full] .experience.is-visible .experience-network path{animation:networkDraw 2.8s cubic-bezier(.2,.7,.2,1) forwards!important}
html[data-motion=off] .cta:hover{transform:none!important}
/* One integrated drawing beside the approach copy. */
.approach-heading{display:block;margin-bottom:24px}
.approach-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:36px}
.approach-diagram{display:block;position:relative;width:100%;height:auto;overflow:visible}
.approach-copy{min-width:0}.approach-copy .lead{margin-bottom:24px}
.approach-diagram .approach-lens{fill:var(--signal);opacity:.045;stroke:none}
html[data-motion=full] .approach-diagram.note-drawn .approach-left{transition:stroke-dashoffset .55s ease 0s}
html[data-motion=full] .approach-diagram.note-drawn .approach-right{transition:stroke-dashoffset .55s ease .5s}
html[data-motion=full] .approach-diagram.note-drawn .approach-branch{transition:stroke-dashoffset .4s ease 1s}
html[data-motion=full] .approach-diagram.note-drawn .term-guide{transition:stroke-dashoffset .4s ease 1.05s}
html[data-motion=full] .approach-diagram.note-drawn text{transition:opacity .2s ease 1.3s}
html[data-motion=subtle] .approach-diagram.note-drawn .approach-left{transition:stroke-dashoffset .18s ease 0s}
html[data-motion=subtle] .approach-diagram.note-drawn .approach-right{transition:stroke-dashoffset .18s ease .15s}
html[data-motion=subtle] .approach-diagram.note-drawn .approach-branch,html[data-motion=subtle] .approach-diagram.note-drawn .term-guide{transition:stroke-dashoffset .15s ease .3s}
html[data-motion=subtle] .approach-diagram.note-drawn text{transition:opacity .1s ease .4s}
@media(max-width:899px){.approach-diagram{display:none}.approach-grid{grid-template-columns:1fr;gap:0}.approach-copy{width:100%}}
/* Fifteen occupied cells, with uninterrupted row/column separators. */
.references-full .text-references{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(244,243,239,.25);border-left:1px solid rgba(244,243,239,.25);background:none}
.references-full .text-references>.ref:nth-child(n){border-right:1px solid rgba(244,243,239,.25);border-bottom:1px solid rgba(244,243,239,.25);min-height:74px;padding:18px 14px;box-sizing:border-box}
.references-intro .handwritten{font-family:Notes,cursive;color:var(--signal);font-size:1.7rem}
@media(max-width:699px){.references-full .text-references{grid-template-columns:1fr}.references-full .text-references>.ref:nth-child(n){min-height:54px;padding:12px}}
@media(min-width:900px){
 .section-deck>.services-overview,.section-deck>.hero-illustrated{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:36px;box-sizing:border-box;padding-top:28px;padding-bottom:28px}
 .services-overview .overview-copy,.hero-illustrated .overview-copy{min-width:0}
 .tree-diagram,.overview-diagram{display:block;position:relative;width:100%;height:min(55vh,600px);overflow:visible}
 .hero-illustrated .hero-copy{margin:26px 0 0;align-self:auto}.hero-illustrated h1{font-size:clamp(2.4rem,3.3vw,3.5rem)}
}
.interactive-sketch{pointer-events:auto}.interactive-sketch a{pointer-events:all}.interactive-sketch a:focus-visible{outline:2px solid var(--olive);outline-offset:6px}.interactive-sketch a text{pointer-events:all}
@media(max-width:899px){.tree-diagram,.overview-diagram{display:none}.services-overview .overview-copy{width:100%}}
html[data-motion=full] .reveal-block{transform:translateX(-40px)!important;transition:opacity .8s ease-out var(--reveal-delay,0ms),transform .8s ease-out var(--reveal-delay,0ms)!important}
html[data-motion=full] .reveal-block.reveal-visible{transform:none!important}
@keyframes handwrite{from{clip-path:inset(0 100% 0 0);transform:rotate(-3deg)}to{clip-path:inset(0 0 0 0);transform:rotate(0)}}
.handwritten,.margin-sketch text{transform-box:fill-box;transform-origin:left center}
html[data-motion=full] .note-drawn text,html[data-motion=full] .reveal-visible .handwritten{animation:handwrite .9s ease-out both;animation-delay:1.2s}
html[data-motion=subtle] .note-drawn text,html[data-motion=subtle] .reveal-visible .handwritten{animation:handwrite .4s ease-out both;animation-delay:.45s}
html[data-motion=subtle] .note-drawn text{transform:none!important}
html[data-motion=off] .margin-sketch text,html[data-motion=off] .handwritten{clip-path:none;transform:none;opacity:1}
.ink-term::before{content:'';position:absolute;left:50%;bottom:-8px;width:8px;height:8px;border-left:1.4px solid var(--signal);border-top:1.4px solid var(--signal);transform:rotate(45deg);pointer-events:none}
@keyframes insertMark{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
html[data-motion=full] .reveal-visible .ink-term::before{animation:insertMark .25s ease both}
html[data-motion=subtle] .ink-term::before{animation:none}
@media(max-width:899px){.ink-term::before{display:none}}
html[data-motion=full] .tree-diagram.note-drawn .tree-root{transition:stroke-dashoffset .35s ease}
html[data-motion=full] .tree-diagram.note-drawn .tree-trunk{transition:stroke-dashoffset .4s ease .3s}
html[data-motion=full] .tree-diagram.note-drawn .tree-crown{transition:stroke-dashoffset .4s ease .65s}
html[data-motion=full] .tree-diagram.note-drawn .tree-care,html[data-motion=full] .tree-diagram.note-drawn .tree-guide{transition:stroke-dashoffset .25s ease .95s}
html[data-motion=full] .tree-diagram.note-drawn text{transition:opacity .2s ease 1.05s;animation-duration:.45s;animation-delay:1.05s}
html[data-motion=subtle] .tree-diagram.note-drawn path{transition:stroke-dashoffset .25s ease}
html[data-motion=subtle] .tree-diagram.note-drawn text{transition:opacity .1s ease .25s;animation-delay:.25s;animation-duration:.4s}
.handwritten{display:inline-block}
html[data-motion=full] .margin-sketch.note-drawn .term-guide{transition:stroke-dashoffset .4s ease 2.15s}
html[data-motion=full] .service-diagram.note-drawn .term-guide{transition-delay:2.35s}
html[data-motion=subtle] .margin-sketch.note-drawn .term-guide{transition:stroke-dashoffset .2s ease .85s}
/* Home introduction: the initial view contains only heading, matrix and toggle. */
.hero-disclosure .hero-toggle{display:inline-block;margin-top:28px;padding:8px 0;background:none;border:0;color:var(--dark);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:5px}
.hero-toggle:focus-visible{outline:2px solid var(--olive);outline-offset:6px}
.hero-details[hidden]{display:none!important}.hero-details{grid-column:1/-1;max-width:850px;padding:24px 0 12px;line-height:1.7}
.hero-details p{margin:0 0 18px}.hero-priorities{list-style:none;padding:0;margin:0 0 20px}.hero-priorities li{margin:4px 0}.hero-number{font-family:Notes,cursive;font-size:1.4em;color:var(--signal);min-width:18px}
.hero-actions{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap;margin-top:26px}.hero-project{display:flex;align-items:center;gap:20px}.hero-talk{font-family:Notes,cursive;color:var(--signal);font-size:1.45rem;white-space:nowrap;transform:rotate(-4deg)}
.hero-talk svg{display:block;width:90px;height:25px;overflow:visible}.hero-talk path{fill:none;stroke:var(--signal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hero-approach-link{padding:14px 0}
@keyframes heroDetailsEnter{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes heroDetailsFade{from{opacity:0}to{opacity:1}}
html[data-motion=full] .hero-details-enter{animation:heroDetailsEnter .7s ease-out both}
html[data-motion=subtle] .hero-details-enter{animation:heroDetailsFade .4s ease-out both}
html[data-motion=full] .hero-details-enter .hero-number{animation:handwrite .45s ease-out both;animation-delay:var(--number-delay)}
html[data-motion=subtle] .hero-details-enter .hero-number{animation:heroDetailsFade .3s ease-out both}
html[data-motion=full] .hero-details-enter .hero-talk{animation:handwrite .9s ease-out .4s both}
html[data-motion=subtle] .hero-details-enter .hero-talk{animation:heroDetailsFade .4s ease-out both}
html[data-motion=full] .hero-details-enter .hero-talk path{stroke-dasharray:1;animation:heroInk .5s ease .4s both}
.engagement-results{padding-left:1.25rem;margin:20px 0 32px}.engagement-results li{margin:12px 0}
@media(min-width:900px){.section-deck>.hero-disclosure{align-content:center}.hero-disclosure h1{font-size:clamp(2.8rem,3.65vw,4rem)}.hero-disclosure:has(.hero-details:not([hidden])){align-content:start}}
@media(max-width:899px){.hero-disclosure .overview-copy{width:100%}.hero-details{padding-top:24px;width:100%;box-sizing:border-box}.hero-actions{gap:12px}.hero-project{flex-wrap:wrap;gap:14px}.hero-talk{font-size:1.3rem}.hero-details p,.hero-details li{font-size:1rem}.hero-disclosure h1{font-size:clamp(2.15rem,7vw,3.2rem)}}
.section-deck>[data-panel][hidden]{display:none!important}

.hero-details{max-height:5000px;overflow:visible}.hero-details.hero-details-collapsed{max-height:0;overflow:hidden;padding:0;margin:0;visibility:hidden;pointer-events:none}
.hero-disclosure:has(.hero-toggle[aria-expanded=false]){align-content:center}
.hero-disclosure:has(.hero-toggle[aria-expanded=true]){align-content:start}
.experience-grid article:last-child strong{font-size:clamp(1rem,1.4vw,1.5rem);line-height:1.35}
