/* Frank Concepts / Alles greift ineinander. */
:root{--kinetic-paper:#fbfcfd;--kinetic-ink:#112b42;--kinetic-rule:#d9e1e6;--kinetic-orange:#f3953d}
.site-header,#siteHeader{position:sticky;background:rgba(255,255,255,.94);border-bottom:0}.site-nav{height:80px}.brand{width:151px}.nav-cta{border-radius:100px;min-height:46px;padding:0 22px}.nav-links>a:not(.button){font-size:.84rem}.site-header.scrolled,#siteHeader.scrolled{border-bottom:1px solid #e3e8eb}
body[data-route=home] main{background:var(--kinetic-paper)}
body[data-route=home] h1,body[data-route=home] h2,body[data-route=home] h3{font-weight:500;letter-spacing:-.055em;text-wrap:pretty}
body[data-route=home] .shell{width:min(1440px,calc(100% - 100px))}
.kinetic-hero{background:var(--kinetic-paper)!important;position:relative;overflow:clip;isolation:isolate}
.k-hero-content{height:calc(100svh - 80px);min-height:710px;max-height:1000px;position:relative;padding-top:58px;padding-bottom:52px}
.k-hero-copy{position:relative;z-index:3;pointer-events:none}.k-intro{font-size:.81rem;color:#4c606e;margin-bottom:40px;letter-spacing:-.01em}
.kinetic-hero .k-title{font-size:clamp(5rem,8.6vw,9.2rem);line-height:1.01;letter-spacing:-.066em;font-weight:540;max-width:1120px;margin:0;text-transform:none;color:var(--kinetic-ink);font-stretch:94%}
.k-title>span{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em;line-height:1.1}.k-title b{display:block;font-weight:inherit;will-change:transform}.k-title>span:last-child{color:#234a62}
.sculpture-view{position:absolute;right:-6%;top:4%;width:61%;height:94%;z-index:1;touch-action:pan-y;isolation:isolate}.sculpture-view canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .55s}.sculpture-view.webgl-ready canvas{opacity:1}.sculpture-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s;pointer-events:none}.webgl-ready .sculpture-poster{opacity:0}.sculpture-view:after{content:"";position:absolute;left:-3%;top:0;bottom:0;width:14%;background:linear-gradient(90deg,var(--kinetic-paper),transparent);pointer-events:none}
.k-hero-bottom{position:absolute;z-index:4;left:0;right:0;bottom:62px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;pointer-events:none}.k-hero-bottom>div{max-width:480px}.k-hero-bottom p{font-size:1.04rem;color:#405766;line-height:1.75;margin-bottom:28px}.k-primary{pointer-events:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:37px;min-height:59px;padding:0 24px;border-radius:100px;background:var(--kinetic-ink);color:#fff;font-size:.85rem;font-weight:500;position:relative;overflow:hidden;isolation:isolate;transition:background .25s,color .25s,transform .25s}.k-primary:before{content:"";position:absolute;inset:100% -10% -100%;z-index:-1;background:var(--kinetic-orange);border-radius:50%;transition:inset .45s cubic-bezier(.2,.8,.3,1),border-radius .45s}.k-primary:hover{background:var(--kinetic-ink);color:#142d40;transform:translateY(-2px)}.k-primary:hover:before{inset:-20%;border-radius:0}.k-primary span{font-size:1.5rem;transition:transform .3s}.k-primary:hover span{transform:rotate(45deg)}.k-primary:active{transform:scale(.98)}
.k-motion-toggle{pointer-events:auto;display:grid;place-items:center;width:43px;height:43px;border:1px solid #b4c2cc;background:rgba(255,255,255,.7);color:var(--kinetic-ink);border-radius:50%;cursor:pointer;font-size:1rem}.k-motion-toggle:hover{background:#fff}.kinetic-hero>.hero-ai-note{display:none}
.k-disciplines{display:flex;border-top:1px solid var(--kinetic-rule);border-bottom:1px solid var(--kinetic-rule);gap:0;background:var(--kinetic-paper)}.k-disciplines a{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex:1;padding:0 24px;font-size:.89rem;border-right:1px solid var(--kinetic-rule);transition:background .2s}.k-disciplines a:first-child{padding-left:0}.k-disciplines a:last-child{border-right:0;padding-right:0}.k-disciplines a:hover{background:#f0f4f7;color:#162f43}.k-disciplines a>span:last-child{font-size:1.1rem;color:#60798b;transition:transform .3s}.k-disciplines a:hover>span:last-child{transform:translate(3px,-3px)}
.k-manifesto{padding:125px 0 110px}.k-statement{font-size:clamp(2.8rem,4.9vw,5rem);font-weight:500;line-height:1.15;letter-spacing:-.05em;max-width:1270px;color:var(--kinetic-ink)}.k-word{display:inline-block;will-change:color}.k-manifesto-foot{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:58px}.k-manifesto-foot>span{font-size:.82rem;color:#526c7c}.k-manifesto-foot p{font-size:1.06rem;max-width:480px;line-height:1.7;color:#526c7c}
.k-services{padding:60px 0 100px;background:#f0f3f5;overflow:clip}.k-services-head{margin-bottom:60px}.k-services-head h2{font-size:clamp(3rem,5.5vw,5.5rem);line-height:1.08;max-width:1000px;margin:0 0 28px}.k-services-head p{font-size:1rem;max-width:510px;line-height:1.7}.k-deck{padding:0 50px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#aab8c1 transparent}.k-service-track{display:flex;gap:28px;width:max-content;padding-bottom:22px}.k-service-card{background:#fff;border-radius:22px;min-height:550px;width:min(1000px,78vw);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.k-service-art{background:#e9eef1;position:relative;overflow:hidden;min-height:100%}.k-service-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}.k-service-card:hover .k-service-art img{transform:scale(1.06)}.k-service-card:nth-child(2) .k-service-art{background:#e5ebed}.k-service-card:nth-child(3) .k-service-art{background:#f8e4d0}.k-service-card:nth-child(4) .k-service-art{background:#dae4eb}.k-service-card:nth-child(5) .k-service-art{background:#e5e8eb}.k-service-copy{padding:40px 40px 35px;display:flex;flex-direction:column}.k-service-number{font:11px var(--mono);color:#627d8f;margin-bottom:50px}.k-service-copy h3{font-size:clamp(1.9rem,2.8vw,2.8rem);line-height:1.09;max-width:100%;margin-bottom:22px}.k-service-copy p{font-size:.93rem;line-height:1.65;color:#526a7a;margin-bottom:25px}.k-service-copy ul{list-style:none;margin-bottom:36px}.k-service-copy li{font-size:.78rem;padding:5px 0;color:#526a7a}.k-service-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:.8rem;border-top:1px solid var(--kinetic-rule);padding-top:17px}.k-service-link span{font-size:1.25rem}.k-deck-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:30px}.k-deck-progress{height:2px;background:#d0d9df;width:240px;overflow:hidden}.k-deck-progress span{display:block;width:100%;height:100%;background:var(--kinetic-ink);transform:scaleX(.2);transform-origin:left}.k-deck-footer>span{font-size:.7rem;color:#526b7d}
.k-method{padding:120px 0;background:#fff}.k-method-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:11%;align-items:start}.k-method h2{font-size:clamp(2.8rem,4.2vw,4.6rem);line-height:1.1;margin:0 0 45px;max-width:750px}.k-method figure{border-radius:18px;overflow:hidden;height:340px;max-width:530px}.k-method img{width:100%;height:100%;object-fit:cover}.k-steps{list-style:none;border-top:1px solid var(--kinetic-rule)}.k-steps li{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:35px 0;border-bottom:1px solid var(--kinetic-rule)}.k-steps li>span{font:11px var(--mono);color:#627c8e;margin-top:7px}.k-steps h3{font-size:1.9rem;line-height:1.15;margin-bottom:18px}.k-steps p{font-size:.93rem;line-height:1.75;color:#526b7d}
.k-founder{padding:90px 0 110px;background:#fff}.k-founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center}.k-founder .founder-image{height:600px;border-radius:160px 160px 20px 20px;max-width:none}.k-founder-name{font-size:.8rem;line-height:1.6;color:#627c8e;margin-bottom:28px}.k-founder h2{font-size:clamp(3rem,4.4vw,4.7rem);line-height:1.08;margin-bottom:30px}.k-founder-grid>div>p:not(.k-founder-name){font-size:1.04rem;line-height:1.7;max-width:620px;color:#526b7d}.k-inline-link{display:inline-flex;align-items:center;gap:35px;padding-bottom:8px;border-bottom:1px solid #94a8b5;font-size:.84rem;margin-top:30px}.k-inline-link span{font-size:1.2rem}
.k-contact{padding:85px 0 70px;border-top:1px solid var(--kinetic-rule);overflow:hidden;background:var(--kinetic-paper)}.k-contact>.shell>p{font-size:.92rem;color:#526b7d;margin-bottom:40px}.k-contact h2{font-size:clamp(5rem,12.5vw,13rem);line-height:.98;letter-spacing:-.07em!important;font-weight:500;margin-bottom:55px}.k-contact h2 a{color:var(--kinetic-orange);position:relative;white-space:nowrap}.k-contact h2 a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s}.k-contact h2 a:hover:after{transform:scaleX(1)}.k-contact h2 a>span{display:inline-block;font-size:.65em;vertical-align:.08em;margin-left:.15em;transition:transform .45s}.k-contact h2 a:hover>span{transform:rotate(45deg)}.k-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.k-contact-bottom>a:first-child{font-size:1.05rem;border-bottom:1px solid #a9b9c4;padding-bottom:6px}.site-footer{background:#fff}.footer-grid{padding-block:55px}.social-rail{min-height:95px}.footer-bottom{min-height:65px}
@media(min-width:1600px){.k-hero-content{padding-top:70px}.sculpture-view{width:59%;right:-3%;top:0}.k-hero-bottom{bottom:80px}}
@media(max-width:1100px){body[data-route=home] .shell{width:calc(100% - 64px)}.k-hero-content{min-height:660px}.kinetic-hero .k-title{font-size:8.7vw}.sculpture-view{width:67%;right:-11%;top:5%}.k-intro{font-size:.72rem;margin-bottom:40px}.k-hero-bottom p{font-size:.95rem;max-width:350px}.k-disciplines a{padding:0 16px;gap:12px;font-size:.77rem}.k-manifesto{padding:85px 0}.k-statement{font-size:4.9vw}.k-manifesto-foot{gap:50px}.k-service-card{min-height:540px;width:85vw}.k-service-copy{padding:30px}.k-service-number{margin-bottom:35px}.k-deck{padding-inline:32px}.k-method-grid{gap:7%}.k-method h2{font-size:3.7vw}.k-founder-grid{gap:8%}.k-founder .founder-image{height:520px}.k-founder h2{font-size:4.4vw}}
@media(max-width:820px),(max-height:560px) and (max-width:960px){.site-nav{height:76px}.nav-links{top:76px}.brand{width:139px}body[data-route=home] .shell{width:calc(100% - 40px)}.k-hero-content{height:auto;min-height:920px;max-height:none;padding-top:32px;padding-bottom:25px}.k-intro{font-size:.69rem;max-width:240px;margin-bottom:30px}.kinetic-hero .k-title{font-size:clamp(3.5rem,9.9vw,5.5rem);max-width:760px;line-height:1.08}.sculpture-view{top:190px;right:-8%;width:116%;height:570px}.sculpture-view:after{display:none}.k-hero-bottom{bottom:35px;left:0;right:0}.k-hero-bottom p{font-size:.95rem;max-width:430px}.k-hero-bottom p br{display:none}.k-primary{min-height:55px;font-size:.81rem}.k-disciplines{flex-wrap:wrap}.k-disciplines a{flex:1 1 31%;padding:0 14px!important;border-bottom:1px solid var(--kinetic-rule);min-height:65px}.k-disciplines a:nth-child(3){border-right:0}.k-disciplines a:nth-child(n+4){border-bottom:0}.k-manifesto{padding:80px 0 65px}.k-statement{font-size:clamp(2.4rem,5.7vw,3.5rem)}.k-manifesto-foot{margin-top:35px;grid-template-columns:1fr;gap:22px}.k-manifesto-foot>span{font-size:.75rem}.k-manifesto-foot p{font-size:.97rem;max-width:570px}.k-services{padding:55px 0 60px}.k-services-head{margin-bottom:35px}.k-services-head h2{font-size:clamp(2.7rem,6vw,4rem);margin-bottom:23px}.k-services-head p{font-size:.93rem}.k-deck{padding:0 20px;overflow:visible}.k-service-track{display:grid;width:100%;gap:25px}.k-service-card{width:100%;min-height:0;grid-template-columns:.85fr 1.15fr}.k-service-art{min-height:100%}.k-service-copy{padding:30px}.k-service-copy h3{font-size:1.9rem}.k-service-number{margin-bottom:30px}.k-service-copy p{font-size:.9rem}.k-service-copy li{font-size:.76rem}.k-deck-footer{display:none}.k-method{padding:70px 0}.k-method-grid{grid-template-columns:1fr;gap:40px}.k-method h2{font-size:clamp(2.6rem,6vw,4rem)}.k-method figure{max-width:none;height:300px}.k-steps h3{font-size:1.7rem}.k-founder{padding:30px 0 70px}.k-founder-grid{grid-template-columns:.8fr 1.2fr;gap:6%}.k-founder .founder-image{height:450px;border-radius:100px 100px 14px 14px}.k-founder h2{font-size:2.5rem}.k-founder-grid>div>p:not(.k-founder-name){font-size:.94rem}.k-contact{padding:65px 0 50px}.k-contact h2{font-size:13vw}.k-contact>.shell>p{font-size:.84rem;margin-bottom:35px}.k-contact-bottom>a:first-child{font-size:.9rem}}
@media(max-width:560px){.k-hero-content{min-height:850px;padding-top:29px}.k-intro{font-size:.64rem;max-width:240px;line-height:1.7;margin-bottom:26px}.kinetic-hero .k-title{font-size:clamp(2.65rem,10.5vw,3.65rem);line-height:1.08;letter-spacing:-.06em;max-width:100%}.sculpture-view{top:170px;height:480px;width:130%;right:-15%}.k-hero-bottom{bottom:30px;gap:12px}.k-hero-bottom>div{max-width:285px}.k-hero-bottom p{font-size:.89rem;margin-bottom:22px;line-height:1.7}.k-primary{min-height:53px;gap:26px;padding-inline:22px;font-size:.79rem}.k-motion-toggle{width:36px;height:36px;flex:none;margin-bottom:8px}.k-disciplines a{flex-basis:45%;min-height:60px;font-size:.75rem}.k-disciplines a:nth-child(3){border-right:1px solid var(--kinetic-rule)}.k-disciplines a:nth-child(2n){border-right:0}.k-disciplines a:nth-child(4){border-bottom:1px solid var(--kinetic-rule)}.k-disciplines a:last-child{flex-basis:100%;border-right:0}.k-manifesto{padding-block:60px}.k-statement{font-size:clamp(2rem,7.5vw,2.7rem);line-height:1.2}.k-manifesto-foot{margin-top:30px;gap:18px}.k-manifesto-foot p{font-size:.9rem}.k-services-head h2{font-size:2.35rem;line-height:1.14}.k-service-card{grid-template-columns:1fr;border-radius:16px}.k-service-art{height:285px;min-height:0}.k-service-art img{object-fit:contain;transform:scale(1.17)}.k-service-card:hover .k-service-art img{transform:scale(1.17)}.k-service-copy{padding:27px 25px}.k-service-number{margin-bottom:20px}.k-service-copy h3{font-size:1.95rem;margin-bottom:17px}.k-service-copy p{font-size:.89rem;margin-bottom:18px}.k-service-copy ul{margin-bottom:25px}.k-service-copy li{font-size:.75rem}.k-service-link{font-size:.76rem}.k-method h2{font-size:2.3rem}.k-method figure{height:240px;border-radius:15px}.k-steps li{padding-block:27px;grid-template-columns:24px 1fr;gap:15px}.k-steps h3{font-size:1.6rem}.k-steps p{font-size:.89rem}.k-founder-grid{grid-template-columns:1fr;gap:35px}.k-founder .founder-image{height:480px;max-width:390px;margin:auto;width:100%;border-radius:140px 140px 16px 16px}.k-founder h2{font-size:2.45rem}.k-founder-name{font-size:.74rem;margin-bottom:20px}.k-inline-link{font-size:.8rem}.k-contact h2{font-size:clamp(3.6rem,13.9vw,5.1rem);margin-bottom:38px}.k-contact-bottom{flex-direction:column;align-items:flex-start;gap:28px}.k-contact-bottom>a:first-child{font-size:.95rem}.k-contact>.shell>p{font-size:.82rem;max-width:240px}.k-contact h2 a>span{margin-left:.05em}}
@media(prefers-reduced-motion:reduce){.k-title b,.k-primary,.k-primary:before,.k-primary span,.k-contact h2 a>span,.k-contact h2 a:after,.k-service-art img,.k-disciplines a>span{transition:none!important;will-change:auto}.k-primary:hover{transform:none}.k-service-card:hover .k-service-art img{transform:none}.sculpture-view canvas{transition:none}}

.kinetic-hero .k-title{letter-spacing:-.052em}
@media(max-width:560px){.k-hero-content{height:calc(100svh - 76px);min-height:730px;max-height:850px}.sculpture-view{top:145px;height:440px}.k-hero-bottom{bottom:25px}.k-hero-bottom p{font-size:.86rem}}
@media(min-width:561px) and (max-width:820px){.k-hero-content{height:calc(100svh - 76px);min-height:820px}.sculpture-view{top:145px;height:550px}.k-hero-bottom{bottom:30px}}
@media(min-width:1101px) and (min-height:700px){.k-service-card{min-height:min(720px,calc(100svh - 180px))}}
@media(prefers-reduced-motion:reduce){.sculpture-view canvas,.sculpture-poster{transition:none!important}}

/* Same-origin document transitions preserve the brand between pages. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:fc-page-out .23s ease-in both}::view-transition-new(root){animation:fc-page-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes fc-page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes fc-page-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}
