.contact-address{margin-bottom:42px}
.studio-location{display:grid;grid-template-columns:1fr 2fr auto;align-items:start;gap:32px;padding:24px 0 48px;border-top:1px solid #b0b0ac}
.studio-label{font-size:13px;padding-top:6px}
.studio-location address{font-size:clamp(22px,2.5vw,38px);font-style:normal;line-height:1.25;letter-spacing:-.025em}
.studio-location .arrow-link{font-size:13px;align-self:end;min-height:44px}
.site-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px}
.site-bottom>a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.site-bottom>a:hover{color:var(--signal)}
html.is-imprint-open{overflow:hidden}
#imprint-dialog{width:min(1120px,92vw);max-height:90svh;padding:0;border-top:3px solid var(--signal);background:var(--paper) var(--paper-grain) repeat;background-size:256px 256px;background-blend-mode:normal;color:var(--ink);overscroll-behavior:contain}
#imprint-dialog::backdrop{background-color:rgba(29,29,29,.88);backdrop-filter:blur(7px)}
.legal-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px clamp(22px,4vw,56px);font-size:12px;border-bottom:1px solid #c6c5bf;background:var(--paper) var(--paper-grain) repeat;background-size:256px 256px;position:sticky;top:0;z-index:1}
.legal-bar button{display:inline-flex;align-items:center;gap:22px;min-height:44px}
.legal-bar button span{font-size:30px;font-weight:400;line-height:1;color:var(--signal)}
.legal-content{padding:38px clamp(22px,4vw,56px) 46px}
.legal-heading{padding-bottom:38px}
.legal-content .legal-kicker{font-size:11px;line-height:1.5;letter-spacing:.015em;color:#686864;margin-bottom:17px;padding:0}
.legal-heading h1,.legal-heading h2{font:600 clamp(48px,8vw,112px)/.92 var(--display);letter-spacing:-.05em;margin:0}
.legal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:38px 64px;padding-top:28px;border-top:1px solid var(--ink)}
.legal-block h2,.legal-block h3{font:500 12px/1.5 var(--text);margin:0 0 17px;color:#686864}
.legal-content p,.legal-content address{font:400 15px/1.7 var(--text);color:var(--ink);padding:0;margin:0;font-style:normal}
.legal-content .legal-name{font:600 clamp(22px,2.5vw,30px)/1.2 var(--display);letter-spacing:-.025em;margin:0 0 8px}
.legal-content .legal-business{font-size:13px;margin-bottom:18px}
.legal-content a{overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:5px}
.legal-content a:hover{color:var(--signal)}
.legal-wide{grid-column:1/-1;border-top:1px solid #c6c5bf;padding-top:24px}
.legal-wide p{max-width:62ch;font-size:13px}
.legal-contact-list{display:grid;gap:7px}
.legal-page{min-height:100svh;padding:clamp(16px,4vw,64px)}
.legal-page .legal-shell{max-width:1120px;margin:auto;border-top:3px solid var(--signal)}
.legal-page .legal-bar{padding-inline:0}
.legal-page .legal-content{padding-inline:0}
.legal-page .legal-bar a{min-height:44px;display:flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:4px}
#imprint-dialog[open] .legal-content{animation:legal-enter .3s cubic-bezier(.2,.7,.2,1)}
@keyframes legal-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.reduced #imprint-dialog .legal-content{animation:none}
@media(prefers-reduced-motion:reduce){#imprint-dialog[open] .legal-content{animation:none}}
@media(max-width:600px){
 .contact{min-height:calc(100svh - var(--header))}
 .contact-address{margin-bottom:30px}
 .studio-location{grid-template-columns:1fr;gap:13px;padding:20px 0 30px}
 .studio-label{padding:0;font-size:11px}
 .studio-location address{font-size:25px}
 .studio-location .arrow-link{justify-self:start;font-size:12px}
 .site-bottom{gap:14px;font-size:10px}
 #imprint-dialog{width:100vw;max-height:100svh;height:100svh;margin:0}
 .legal-bar{padding:9px 20px;font-size:11px;gap:15px}
 .legal-bar>span{max-width:145px}
 .legal-bar button{gap:12px}
 .legal-content{padding:34px 20px 40px}
 .legal-heading{padding-bottom:28px}
 .legal-heading h1,.legal-heading h2{font-size:clamp(40px,10.5vw,64px)}
 .legal-grid{grid-template-columns:1fr;gap:30px;padding-top:25px}
 .legal-block h2,.legal-block h3{margin-bottom:12px}
 .legal-page{padding:0 20px 30px}
}
