/* Content and accessibility layer; the existing graphite/ice visual direction is retained. */
:root{--muted:#a6b1bd}
[hidden]{display:none!important}
section[id],div[id]{scroll-margin-top:24px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ice);outline-offset:5px}
.skip-link{position:absolute;top:8px;left:12px;transform:translateY(-200%);z-index:150;background:var(--fg);color:var(--bg);padding:12px}
.skip-link:focus{transform:none}
.breadcrumbs{padding:24px var(--pad) 0;font-size:11px;color:var(--muted)}
.breadcrumbs ol{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.breadcrumbs li{display:flex;gap:8px;min-width:0;overflow-wrap:anywhere}.breadcrumbs li+li:before{content:'/';color:#607080}.breadcrumbs a:hover{text-decoration:underline}
.project-hero,.service-hero{padding-top:60px}
.service-hero h1{font-size:clamp(44px,7.8vw,118px);line-height:.98;max-width:1300px;overflow-wrap:normal;hyphens:auto}
.concept-overlay h1{max-width:100%;overflow-wrap:anywhere}.service-hero h1{overflow-wrap:anywhere}
@media(max-width:620px){html[lang=de] .concept-overlay h1{font-size:clamp(34px,10vw,44px)}}
.service-prose p{font-size:18px;line-height:1.7;color:#b9c3cd}.service-prose p:last-child{margin-bottom:0}
.service-card{min-width:0}.service-card h3{overflow-wrap:anywhere;line-height:1.1}.service-card p{line-height:1.65}.service-card a{height:100%}
.service-faq{padding:64px var(--pad);border-top:1px solid var(--line);max-width:1400px}.service-faq h2{font-size:clamp(32px,5vw,65px);line-height:1.05}
.service-faq details{border-top:1px solid var(--line);padding:22px 0}.service-faq details:last-child{border-bottom:1px solid var(--line)}.service-faq summary{font-size:18px;cursor:pointer;line-height:1.5}.service-faq p{max-width:850px;margin:20px 0 0;color:#b9c3cd;line-height:1.75}
.footer-services{display:grid;gap:10px;margin-top:28px;font-size:12px;line-height:1.5}.footer-services a:hover{color:var(--ice)}.site-footer address{font-style:normal;line-height:1.65;margin:18px 0}.site-footer a{overflow-wrap:anywhere}
.all-projects-link{margin:40px var(--pad) 0;display:inline-flex;gap:40px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.project-capabilities{padding:45px var(--pad);border-top:1px solid var(--line)}.project-capabilities h2{font-size:32px;line-height:1.1}.capability-links{display:flex;flex-wrap:wrap;gap:12px}.capability-links a{padding:12px 16px;border:1px solid var(--line);font-size:13px}.capability-links a:hover{border-color:var(--ice)}.project-back{padding:30px var(--pad) 50px}
.stack-item figcaption{display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.5}.stack-item figcaption span:first-child{flex-shrink:0;font-variant-numeric:tabular-nums}.stack-item figcaption span:last-child{text-align:right}
.gallery-open{display:block;width:100%;border:0;padding:0;background:#0a0c10;cursor:zoom-in;color:inherit}.gallery-open img{height:auto;max-height:88svh;object-fit:contain}
.image-dialog{width:min(1500px,98vw);height:min(1000px,96svh);max-width:98vw;max-height:96svh;padding:0;border:1px solid #71808e;background:#080b10;color:var(--fg);overflow:hidden}
.image-dialog::backdrop{background:rgba(2,4,7,.94);backdrop-filter:blur(12px)}.image-dialog[open]{display:flex;flex-direction:column}
.image-dialog .dialog-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px}
.image-dialog button{background:transparent;border:1px solid var(--line);color:var(--fg);padding:10px 15px;cursor:pointer;min-width:44px;min-height:44px}.image-dialog button:hover{border-color:var(--ice)}
.dialog-controls{display:flex;gap:8px}.image-dialog figure{margin:0;min-height:0;flex:1;display:flex;flex-direction:column;padding:12px}.image-dialog img{width:100%;height:100%;min-height:0;flex:1;object-fit:contain}.image-dialog figcaption{font-size:13px;line-height:1.5;padding:12px 5px;color:#cad4dd;flex-shrink:0}.image-dialog .dialog-count{font-variant-numeric:tabular-nums}
body:has(.image-dialog[open]){overflow:hidden}
.project-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--pad) 24px}.project-filters button{background:transparent;border:1px solid var(--line);color:var(--fg);padding:12px 16px;cursor:pointer;font-size:12px}.project-filters button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.project-count{padding:0 var(--pad);font-size:12px;color:var(--muted)}.projects-index-grid{padding-top:28px}.projects-index-grid article{min-width:0;display:flex}.projects-index-grid article .project-tile{display:flex;flex-direction:column;width:100%}.projects-index-grid .project-tile figure{height:380px}
.quote-form .consent{display:flex;align-items:flex-start;gap:12px;line-height:1.7}.quote-form .consent input{width:auto;flex:0 0 auto;margin-top:4px}.contact-details{padding:0 var(--pad) 60px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-details address{font-style:normal;line-height:1.75}.contact-details h2{font-size:26px;line-height:1.2}.contact-details p{line-height:1.7;color:var(--muted)}
@media(max-width:980px){.service-hero h1{font-size:clamp(40px,9vw,78px)}.service-story{gap:20px}.related .project-wall{grid-template-columns:1fr 1fr}.projects-index-grid .project-tile figure{height:38vw}.project-hero>p:last-of-type,.service-hero>p:last-child{font-size:17px}.next-project strong{line-height:1.1}}
@media(max-width:620px){.related .project-wall{grid-template-columns:1fr}.projects-index-grid .project-tile figure{height:110vw;max-height:540px}.service-hero h1{font-size:clamp(35px,10vw,60px);hyphens:auto}.breadcrumbs{font-size:10px}.stack-item figcaption{gap:12px}.stack-item figcaption span:last-child{max-width:80%}.image-dialog{height:94svh;width:98vw}.image-dialog .dialog-tools{padding:8px}.image-dialog button{padding:8px}.image-dialog figure{padding:8px}.image-dialog figcaption{font-size:12px}.contact-details{grid-template-columns:1fr}.concept-overlay h1{overflow-wrap:normal;font-size:clamp(38px,12vw,60px)}.hero-dots{gap:5px}.hero-dots button{width:30px}.tech-markers{font-size:8px}.project-hero h1{font-size:clamp(40px,12vw,76px)}.service-prose p{font-size:16px}}
