.home-page{--spine-progress:0;--contact-x:0px}.home-main{isolation:isolate;position:relative;overflow:clip}.overline,.micro-label{color:var(--plum);margin:0}.contact-spine{z-index:10;top:50%;right:max(1.2rem, calc((100vw - var(--max-width)) / 2));pointer-events:none;align-items:center;gap:.65rem;height:min(62vh,35rem);display:flex;position:fixed;transform:translateY(-50%)}.contact-spine__top,.contact-spine__current{writing-mode:vertical-rl;letter-spacing:.13em;text-transform:uppercase;font-size:.55rem;font-weight:800}.contact-spine__top{color:var(--plum);align-self:flex-start;transform:rotate(180deg)}.contact-spine__current{color:var(--ink);align-self:flex-end;transform:rotate(180deg)}.contact-spine__rail{width:.7rem;height:100%;position:relative}.contact-spine__track,.contact-spine__progress{content:"";width:2px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-spine__track{background:var(--line)}.contact-spine__progress{height:calc(var(--spine-progress) * 100%);background:var(--signal);transform:translateX(calc(-50% + var(--contact-x)));transform-origin:top;transition:height .12s linear,background .18s}.contact-spine__dot{top:calc(var(--spine-progress) * 100%);border:2px solid var(--paper);background:var(--signal);width:.68rem;height:.68rem;box-shadow:0 0 0 1px var(--signal);transform:translate(calc(-50% + var(--contact-x)), -50%);border-radius:50%;transition:top .12s linear,transform .12s,background .18s;position:absolute;left:50%}.contact-spine__tick{background:var(--ink);opacity:.65;width:.7rem;height:1px;position:absolute;left:50%;transform:translate(-50%)}.contact-spine__tick--one{top:25%}.contact-spine__tick--two{top:52%}.contact-spine__tick--three{top:80%}body[data-spine-phase=middle] .contact-spine__progress,body[data-spine-phase=middle] .contact-spine__dot{background:var(--plum)}body[data-spine-chapter=Persönlich] .contact-spine__track,body[data-spine-chapter=Persönlich] .contact-spine__tick{background:#fbf9f680}body[data-spine-chapter=Persönlich] .contact-spine__progress,body[data-spine-chapter=Persönlich] .contact-spine__dot{background:var(--paper)}body[data-spine-chapter=Persönlich] .contact-spine__top,body[data-spine-chapter=Persönlich] .contact-spine__current{color:var(--paper)}body[data-spine-phase=end] .contact-spine__progress,body[data-spine-phase=end] .contact-spine__dot{background:var(--paper)}body[data-spine-phase=end] .contact-spine__track,body[data-spine-phase=end] .contact-spine__tick{background:#fbf9f652}body[data-spine-phase=end] .contact-spine__top,body[data-spine-phase=end] .contact-spine__current{color:var(--paper)}.hero{background:linear-gradient(90deg, transparent 0 calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px)), var(--canvas);min-height:100svh;padding-top:clamp(8rem,14vw,12rem);padding-bottom:clamp(4rem,9vw,8rem);position:relative}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(18rem,.68fr);align-items:end;gap:clamp(2.2rem,8vw,9rem);display:grid}.hero__copy{padding-bottom:clamp(1rem,4vw,3.8rem)}.hero h1{letter-spacing:-.085em;text-wrap:balance;max-width:9.2ch;margin:clamp(1.3rem,3vw,2.6rem) 0 clamp(1.7rem,4vw,3.5rem);font-size:clamp(3.7rem,8.4vw,8.6rem);font-weight:850;line-height:.83}.hero__line{display:block}.hero__line--2{color:var(--plum)}.hero__line--3,.hero__line--4{margin-left:.62em}.hero__intro{max-width:33rem;margin:0 0 1.7rem;font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.46}.call-link{border:1px solid var(--ink);background:var(--ink);max-width:100%;color:var(--paper);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto auto auto;align-items:center;gap:.65rem 1rem;padding:.8rem 1rem;font-size:.72rem;font-weight:800;line-height:1.25;transition:border-color .18s,background .18s,color .18s;display:inline-grid}.call-link strong{letter-spacing:.05em;white-space:nowrap;font-size:.82rem}.call-link:hover,.call-link:focus-visible{border-color:var(--signal);background:var(--signal)}.hero__note{max-width:26rem;color:color-mix(in srgb, var(--ink) 70%, transparent);margin:.8rem 0 0;font-size:.78rem}.hero__figure,.practice__figure,.person__figure{margin:0;position:relative}.hero__figure{background:var(--ink);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 14%);aspect-ratio:.74;transform:translateX(var(--contact-x));transition:transform .18s;overflow:hidden}.hero__figure:before{z-index:1;background:var(--signal);content:"";width:6px;position:absolute;top:0;bottom:0;left:0}.hero__figure picture,.practice__figure picture,.person__figure picture{display:block}.hero__figure img,.practice__figure img,.person__figure img{width:100%;height:auto;display:block}.hero__figure img{object-fit:cover;object-position:68% 48%;height:100%}.hero__figure figcaption,.practice__figure figcaption,.person__figure figcaption{color:var(--paper);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(#0000,#181619cc);justify-content:space-between;gap:1rem;padding:.8rem 1rem;font-size:.58rem;font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0}.hero__axis{border-top:1px solid var(--line);color:color-mix(in srgb, var(--ink) 70%, transparent);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:1rem;margin-top:clamp(2.5rem,7vw,6rem);padding-top:.8rem;font-size:.62rem;font-weight:800;display:flex}.hero__axis-line{background:var(--signal);width:min(8rem,20vw);height:1px}.chapter{padding-block:clamp(6rem,13vw,13rem);scroll-margin-top:5rem;position:relative}.chapter__grid,.practice__top,.practice__body,.services__grid,.person__grid,.contact__grid{grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);display:grid}.orientation>.chapter__grid,.practice>.practice__top,.services>.services__grid,.person>.person__grid,.contact>.contact__grid{scroll-margin-top:5rem}.chapter__index{color:var(--plum);letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;align-items:flex-start;gap:.6rem;padding-top:.35rem;font-size:.65rem;font-weight:800;line-height:1.2;display:flex}.chapter__index span:first-child{color:var(--signal)}.chapter__content{max-width:58rem}.orientation{background:var(--paper)}.orientation h2,.practice h2,.services h2,.person h2,.contact h2{letter-spacing:-.08em;max-width:10ch;margin:0;font-size:clamp(3.4rem,8vw,8.7rem);font-weight:850;line-height:.87}.orientation h2 span,.practice h2 span,.services h2 span,.contact h2 span{display:block}.chapter__lead{max-width:35rem;margin:clamp(2rem,4vw,4rem) 0 1.8rem;font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.52}.text-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:.8rem;padding-bottom:.25rem;font-size:.76rem;font-weight:800;transition:color .18s,border-color .18s;display:inline-flex}.text-link:hover,.text-link:focus-visible{border-color:var(--signal);color:var(--signal)}.practice{background:var(--canvas)}.practice__top{align-items:start;margin-bottom:clamp(3rem,8vw,8rem)}.practice__top h2{max-width:11ch}.practice__body{align-items:start}.practice__text{gap:clamp(2.4rem,6vw,6rem);display:grid}.rule-block{border-top:1px solid var(--ink);max-width:27rem;padding-top:.9rem}.rule-block--accent{border-top:6px solid var(--signal)}.rule-block h3{letter-spacing:-.055em;margin:1.4rem 0 .7rem;font-size:clamp(1.8rem,3vw,3rem);font-weight:800;line-height:.95}.rule-block p:not(.micro-label){max-width:28rem;margin:0 0 1.3rem}.practice__figure{background:var(--ink);clip-path:polygon(0 0,100% 0,100% 88%,86% 100%,0 100%)}.practice__figure img{aspect-ratio:1429/1600;object-fit:cover;object-position:76% 52%}.services{background:var(--paper)}.services__content{max-width:60rem}.services h2{max-width:9ch}.services__intro{max-width:35rem;margin:clamp(2rem,4vw,4rem) 0 clamp(2.2rem,5vw,5rem);font-size:clamp(1rem,1.8vw,1.3rem);line-height:1.52}.services__list{border-top:1px solid var(--ink)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:3.2rem minmax(0,1fr);gap:1.2rem;padding:1.2rem 0 1.35rem;display:grid}.service-row__number{color:var(--signal);letter-spacing:.1em;margin:0;font-size:.68rem;font-weight:800}.service-row h3{letter-spacing:-.045em;margin:0 0 .4rem;font-size:clamp(1.45rem,2.6vw,2.5rem);font-weight:800;line-height:1}.service-row p:not(.service-row__number){max-width:38rem;margin:0;line-height:1.5}.services__action{margin-top:2rem}.person{background:var(--plum);color:var(--paper)}.person__grid{align-items:center}.person .chapter__index{color:var(--paper)}.person .chapter__index span:first-child{color:#f4abc9}.person__figure{background:var(--dark);clip-path:polygon(0 0,100% 0,100% 100%,12% 100%,0 88%);justify-self:center;width:min(100%,24rem)}.person__figure img{aspect-ratio:940/1600;object-fit:cover;object-position:70% 45%}.person__figure figcaption{z-index:2;text-shadow:0 1px 5px #000000d9;white-space:nowrap;background:0 0;padding:.65rem .15rem .15rem;bottom:.5rem;left:14%;right:.5rem}.person__content h2{max-width:none;margin-top:clamp(1.3rem,3vw,2.5rem)}.person__content p{color:#f0dfe8;max-width:30rem;margin:clamp(2rem,4vw,4rem) 0 0;font-size:clamp(1rem,1.8vw,1.3rem)}.contact{background:var(--dark);color:var(--paper)}.contact .chapter__index{color:var(--dark-muted)}.contact .chapter__index span:first-child{color:var(--signal)}.contact__content{max-width:60rem}.contact h2{max-width:12ch}.contact__lead{max-width:33rem;color:var(--dark-muted);margin:clamp(2rem,4vw,4rem) 0 1.3rem;font-size:clamp(1rem,1.6vw,1.2rem)}.contact__phone{border-bottom:2px solid var(--signal);letter-spacing:-.06em;padding-bottom:.25rem;font-size:clamp(2rem,5vw,5.2rem);font-weight:800;line-height:1;transition:color .18s,border-color .18s;display:inline-block}.contact__phone:hover,.contact__phone:focus-visible{color:#f4abc9;border-color:var(--paper)}.contact__details{max-width:38rem;color:var(--dark-muted);border-top:1px solid #fbf9f647;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:clamp(3rem,7vw,7rem);padding-top:1rem;font-size:.95rem;display:grid}.contact__details>div{align-content:start;gap:.9rem;display:grid}.contact__details a{text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:.25rem}.route-link{width:fit-content;color:var(--paper);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.72rem;font-weight:800;display:inline-flex}.site-footer{background:var(--dark);color:var(--dark-muted);letter-spacing:.08em;padding-block:1.5rem;font-size:.58rem}.site-footer__inner{border-top:1px solid #fbf9f62e;justify-content:space-between;gap:1rem;padding-top:1rem;display:flex}.site-footer nav{gap:1.2rem;display:flex}.site-footer a{text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:.25rem}@media (width<=700px){.contact-spine{gap:.4rem;height:38vh;right:.2rem}.contact-spine__top,.contact-spine__current{font-size:.45rem}.hero{background:var(--canvas);min-height:auto;padding-top:8rem}.hero__grid,.chapter__grid,.practice__top,.practice__body,.services__grid,.person__grid,.contact__grid{grid-template-columns:1fr;gap:2rem}.hero__copy{padding-bottom:0}.hero h1{max-width:none;font-size:clamp(3.65rem,17vw,7rem)}.hero__line--4{margin-left:0;font-size:.82em}.hero__intro{max-width:30rem;padding-right:1.3rem}.hero__figure{clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 10%);width:min(88vw - 1rem,34rem);margin-left:auto;margin-right:1rem}.hero__axis{margin-top:3rem;padding-right:1.8rem}.chapter{padding-block:5rem}.chapter__index{padding-top:0}.orientation h2,.practice h2,.services h2,.person h2,.contact h2{max-width:8ch;font-size:clamp(3.25rem,15vw,6rem)}.practice__top{margin-bottom:3.4rem}.practice__figure{clip-path:polygon(0 0,100% 0,100% 92%,89% 100%,0 100%);width:calc(100% - 2rem);margin-left:auto;margin-right:1rem}.practice__figure img{aspect-ratio:1/1.05;object-position:72% 48%}.person__figure{justify-self:start;width:58vw;margin-left:1.2rem}.contact__details{grid-template-columns:1fr;gap:1.5rem}.site-footer__inner{flex-direction:column;align-items:flex-start}}@media (width<=420px){.hero h1{font-size:clamp(3.4rem,16vw,5rem)}.call-link{grid-template-columns:1fr auto;width:calc(100% - 1.3rem)}.call-link strong{grid-area:2/1}.call-link__mark{grid-area:1/2/span 2}.hero__figure figcaption,.practice__figure figcaption{font-size:.5rem}}
