/* Project case composition within the existing Archivo system. */
.portfolio-opening{background:var(--panel)}
.portfolio-intro{padding:var(--space-5) var(--gutter) var(--space-7);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:end}
.portfolio-intro h1{font-size:var(--font-page);font-weight:var(--weight-display);line-height:1.06;letter-spacing:var(--tracking-heading);margin:0 0 var(--space-5)}
.portfolio-intro p{font-size:var(--font-lead);color:var(--muted);max-width:42ch;margin:0}
.project-index{border-top:1px solid var(--line)}.project-index a{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-height);padding:var(--space-4) 0;border-bottom:1px solid var(--line);font-size:var(--font-label);font-weight:var(--weight-benefit)}.project-index svg{transform:rotate(90deg);width:20px;height:20px}.project-index a:hover{text-decoration:underline;text-underline-offset:5px}
.portfolio-case{scroll-margin-top:var(--space-5)}.portfolio-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start;margin-bottom:var(--space-7)}
.portfolio-heading h2{margin:0;max-width:none}.portfolio-heading>p{font-size:var(--font-lead);color:var(--muted);max-width:42ch;margin:0}
.portfolio-photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start}.portfolio-photos figure{margin:0;min-width:0}
.portfolio-image{position:relative;display:block;width:100%;padding:0;box-shadow:var(--shadow-photo)}.portfolio-image img{display:block;width:100%;height:auto;object-fit:contain}
.portfolio-image .image-open{background:var(--paper);color:var(--ink);right:var(--space-4);bottom:var(--space-4)}.portfolio-image:hover .image-open{background:var(--ink);color:var(--paper)}
.portfolio-photos figcaption{font-size:var(--font-caption);color:var(--muted);margin-top:var(--space-3)}
.case-sitzfenster .portfolio-photos{grid-template-columns:1fr 1.15fr;align-items:center}
.portfolio-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--column-gap);margin-top:var(--space-7)}.portfolio-story p{margin-bottom:0}
.portfolio-actions{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-6)}.portfolio-actions a{min-height:var(--target-min)}.secondary-case-link{font-weight:var(--weight-body)}
.case-dachschraege{background:var(--panel)}.case-buero{background:var(--ink);color:var(--paper)}
.case-buero .portfolio-photos{grid-template-columns:1.35fr .65fr}
.case-buero :is(.portfolio-heading>p,.benefit-copy,figcaption){color:var(--muted-inverse)}.case-buero .benefit-title{color:var(--paper)}.case-buero :focus-visible{outline-color:var(--paper)}
.portfolio-contact{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);background:var(--panel);align-items:center}.portfolio-contact .benefit-copy{max-width:47ch;margin:var(--space-5) 0 0}.portfolio-contact .primary{background:var(--ink);color:var(--paper)}.portfolio-contact .primary:hover{background:#41463b}.portfolio-contact .contact-person a{display:flex;align-items:center;min-height:var(--target-min)}
.portfolio-page .desktop-nav [aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:1000px){.portfolio-intro,.portfolio-heading,.portfolio-contact,.portfolio-photos{gap:var(--space-6)}}
@media(max-width:760px){.portfolio-intro,.portfolio-heading,.portfolio-contact{grid-template-columns:1fr;gap:var(--space-6)}.portfolio-intro{padding-top:var(--space-3);padding-bottom:var(--space-6)}.portfolio-heading{margin-bottom:var(--space-6)}.portfolio-photos,.case-sitzfenster .portfolio-photos,.case-buero .portfolio-photos{grid-template-columns:1fr;gap:var(--space-6)}.portfolio-story{grid-template-columns:1fr;gap:var(--space-5);margin-top:var(--space-6)}.portfolio-actions{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.portfolio-contact .primary{width:100%}}
/* W66 (Mia 11.10.2026, Runde 3b): die sieben Bilder der Live-Galerie in zwei gespiegelten Reihen gleicher Höhe, Breiten aus dem
   Format (--r = Breite durch Höhe), Fuge 14, Radius 12 aus finish.css, kein Schatten, keine Unterschrift. Reihe B (Summe 3,3574)
   bestimmt die Höhe und bleibt unbeschnitten, Reihe A wird oben und unten um zusammen 2 Prozent beschnitten. Lupe nur bei Zeiger
   oder Tastaturfokus; ohne Zeiger (Touch) klein und ständig sichtbar. Handy: vier Zeilen, jede im natürlichen Format (--m). */
.work-gallery{container-type:inline-size;display:grid;row-gap:14px}
/* Runde 4: jede Reihe trägt ihre Summe der Seitenverhältnisse (--s) und ihre Fugen (--g), so füllt sie die Breite ohne Beschnitt. */
.work-line{display:flex;gap:14px;height:calc((100cqw - var(--g, 42px)) / var(--s, 3.3574))}
.work-line figure{flex:var(--r) 1 0;min-width:0;height:100%;margin:0}
.work-tile{width:100%;height:100%;box-shadow:none;overflow:hidden;cursor:zoom-in;background:var(--panel)}
.work-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform 650ms var(--ease)}
.work-tile .image-open{width:36px;height:36px;right:12px;bottom:12px;opacity:0;transition:opacity 160ms var(--ease),background-color var(--feedback),color var(--feedback)}.work-tile .image-open svg{width:20px;height:20px}
@media(hover:hover) and (pointer:fine){.work-tile:hover img{transform:scale(1.03)}.work-tile:hover .image-open{opacity:1}}
.work-tile:focus-visible .image-open{opacity:1}
@media(hover:none){.work-tile .image-open{opacity:1;width:28px;height:28px;right:8px;bottom:8px;background:rgb(255 255 255 / .85)}.work-tile .image-open svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.work-tile img{transform:none!important;transition:none!important}.work-tile .image-open{transition:none}}
:root[data-motion="reduced"] .work-tile img{transform:none!important;transition:none!important}
@supports not (height:1cqw){.work-line{height:auto}.work-line figure{height:auto}.work-tile img{height:auto;aspect-ratio:var(--r)}}
@media(max-width:760px){.work-gallery{display:flex;flex-wrap:wrap;gap:10px}.work-line{display:contents}.work-line figure{flex:0 0 calc((100% - 10px) * var(--m));height:auto}.work-line .work-wide{flex-basis:100%}.work-tile,.work-tile img{height:auto}.work-tile img{aspect-ratio:var(--r)}}
.portfolio-more .section-heading h2{max-width:none}
