/* Shared studio system. Original hero/motion rules remain in style.css. */
:root{--h2:clamp(2.2rem,4.7vw,5rem);--lead:clamp(1.1rem,1.35vw,1.4rem);--section:clamp(4.5rem,8vw,8rem)}
body.menu-open{overflow:hidden}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:10000;background:#fbfaf6;color:#101316;padding:.8rem 1.2rem;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.selected-work{position:relative;padding:4rem var(--gutter) 5rem;display:grid;grid-template-columns:.85fr 1fr 1fr;gap:2rem;border-bottom:1px solid var(--line);background:var(--bg)}
.selected-heading h2{font-weight:500;font-size:clamp(1.5rem,2.4vw,2.5rem);line-height:1.15;letter-spacing:-.04em;margin:1.2rem 0 1.5rem}
.selected-heading h2 em{font-style:normal;color:var(--body)}
.text-link{display:inline-block;border-bottom:1px solid var(--line-strong);font-size:.9rem;padding-bottom:.35rem}
.work-image{aspect-ratio:1.8;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.work-tile:hover img{transform:scale(1.035)}
.work-caption{display:flex;justify-content:space-between;align-items:center;padding-top:1rem}
.work-caption b{font-weight:500;font-size:1.1rem}
.work-caption small{display:block;color:var(--body);font-size:.8rem;margin-top:.15rem}
.work-caption>span:last-child{font-size:1.5rem;color:var(--gold)}
.page-hero{padding-top:clamp(8rem,14vw,12rem);padding-bottom:3.5rem}
.page-hero .h1{font-size:clamp(2.7rem,6.8vw,7rem);max-width:18ch;line-height:1.04;letter-spacing:-.055em;text-wrap:balance}
.page-hero .lead{max-width:56ch;line-height:1.55;margin-top:1.6rem}
.card-body .lead{font-size:clamp(1.05rem,1.25vw,1.25rem);line-height:1.55}
.card-list{line-height:1.6}
.page-media{max-height:58svh;overflow:hidden}
.formbox{border:1px solid var(--line-strong);background:var(--surface);padding:clamp(1.25rem,3vw,3rem)}
.form input,.form select,.form textarea{font-size:1rem}
.form-err{grid-column:1/-1;line-height:1.6;letter-spacing:0;text-transform:none;min-height:1.6em}
.form [aria-invalid=true]{border-color:#f6b5a1}
.form button:disabled{opacity:.6;cursor:wait}
.contact-side .big{overflow-wrap:anywhere}
#anfrage.section{padding-top:2rem}
.demo-note{color:var(--body);font-size:.8rem;border-left:2px solid var(--gold);padding-left:.9rem;margin:1rem 0}
.fahrt-p .lead{max-width:36ch;background:linear-gradient(90deg,rgba(16,19,22,.94),rgba(16,19,22,.75));padding:1rem;border-left:1px solid var(--gold-dim)}
.fahrt-p .h1,.fahrt-p .h2{text-shadow:0 2px 30px #101316}
.fahrt-shortcut{position:absolute;top:6rem;right:var(--gutter);z-index:5}
html.is-still .reveal{opacity:1!important;transform:none!important}
@media(max-width:900px){
 .selected-work{grid-template-columns:1fr 1fr;padding-top:3rem;gap:1.5rem}.selected-heading{grid-column:1/-1}
 .selected-heading h2{font-size:2.2rem}.page-hero .h1{max-width:20ch}.fahrt-shortcut{position:relative;top:auto;right:auto;margin:6rem var(--gutter) 0}
 #anfrage .formbox{order:-1}
}
@media(max-width:540px){.selected-work{grid-template-columns:1fr}.selected-heading h2{font-size:1.9rem}.page-media{max-height:35svh}.nav{padding-top:1rem}}
@media(prefers-reduced-motion:reduce){.work-image img{transition:none}}
