/* Editorial hierarchy for the existing portfolio. */
:root{--muted:#575757;--line:#d5d5d2}
body{font-size:1rem;line-height:1.6}
/* Intrinsic dimensions reserve space; responsive width must scale height too. */
img{max-width:100%;height:auto}
.award-note h2{hyphens:auto;overflow-wrap:break-word}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
nav a{min-height:36px;display:inline-flex;align-items:center}
.text-link{font-size:1rem;line-height:1.5}
.button{background:var(--ink);color:var(--paper);padding:13px 22px;display:inline-block;font-size:1rem;border:1px solid var(--ink)}
.button:hover{background:#383838}
.hero{padding-top:44px}
.hero h1{max-width:1280px;font-size:clamp(2.5rem,5.8vw,5.7rem);line-height:1.06}
.hero-bottom{align-items:start}
.hero-bottom>p{font-size:1.2rem;max-width:760px;margin-bottom:24px}
.training-note{font-size:1rem;max-width:800px;line-height:1.65}
.home-actions{gap:20px 30px;align-items:center;margin-top:28px;margin-bottom:42px}
.availability{margin-top:28px;padding:18px 0;border-top:1px solid var(--line);max-width:900px}
.availability strong{font-weight:500;font-size:1.05rem}
.availability p{font-size:1rem;margin:5px 0 0;color:var(--muted)}
.design-hero .image-caption{font-size:.95rem;line-height:1.5}
.design-hero .image-caption>span{max-width:none}
.award-strip{padding-top:30px;padding-bottom:30px;align-items:start}
.award-strip strong{font-size:1.1rem}
.award-strip p{max-width:800px}
.section-heading{align-items:baseline;gap:20px;margin-bottom:32px}
.section-heading h2{font-size:clamp(1.65rem,2.6vw,2.4rem);line-height:1.2;letter-spacing:-.035em}
.section-heading p{font-size:.95rem}
.work-grid{gap:50px 28px}
.work-image{aspect-ratio:4/3;background:#ececea;overflow:hidden}
.work-image img{width:100%;height:100%;object-fit:contain;transition:none}
.work-image:hover img{transform:none}
.work-image>span{font-size:.875rem;bottom:16px;right:16px;opacity:0;transition:opacity .15s}
.work-image:hover>span,.work-image:focus-visible>span{opacity:1}
.work-label{display:block;margin-top:18px}
.work-label h3{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em;font-weight:500}
.work-label p{font-size:.9rem;margin-top:7px;color:var(--muted)}
.card-summary{font-size:1rem;line-height:1.6;margin-top:12px;max-width:580px}
.archive{margin-top:70px;padding-top:25px}
.archive>summary{display:list-item;font-size:1.4rem;margin-bottom:28px;padding:8px 0}
.archive>summary>span{font-size:1rem;color:var(--muted);margin-left:12px}
.archive .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
.archive .work-label h3{font-size:1.1rem}
.archive .card-summary{font-size:.95rem}
.archive .work-image{aspect-ratio:3/2}
.page-intro{padding-top:64px;padding-bottom:60px}
.page-intro h1{line-height:1.1}
.lead{max-width:850px;font-size:1.2rem}
.project-heading{max-width:none;padding-bottom:40px}
.project-heading .eyebrow{font-size:1rem;margin-bottom:16px;color:var(--muted)}
.project-heading h1{margin-top:0;line-height:1.08;font-size:clamp(2.25rem,5.3vw,4.8rem);overflow-wrap:normal;hyphens:auto}
.project-facts{grid-template-columns:1fr 1.35fr 1.35fr;gap:34px;padding-top:14px;padding-bottom:28px}
.project-facts h2{font-size:.95rem;margin:0 0 14px}
.project-facts p{font-size:1rem;line-height:1.65;margin:0}
.project-story{padding-bottom:56px}
.project-story summary{font-size:1.1rem;padding:4px 0}
.project-story details>.case-deep{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:28px 55px;margin-top:32px}
.case-deep section{padding:0}
.case-deep h2{font-size:1rem;font-weight:600;margin:0 0 12px}
.case-deep p{font-size:1rem;line-height:1.7;margin:0;max-width:650px}
.case-deep section:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}
.project-gallery figure{max-width:1280px}
.project-gallery figcaption{font-size:.875rem}
.project-opening img{max-height:740px}
.profile h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.08;margin:0 0 28px}
.profile{padding-top:70px;padding-bottom:80px;grid-template-columns:1fr 3fr}
.profile .intro{font-size:1.4rem}
.expertise p,.tools,.language-line,.career-row>p,.competence-row>p{font-size:1rem}
.technical,.software-profile{padding-bottom:80px}
.technical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 38px}
.technical-grid article{border-top:1px solid var(--line);padding-top:19px}
.technical-grid .index{color:var(--muted);font-size:.875rem}
.technical-grid h3{font-size:1.2rem;font-weight:500;line-height:1.35;margin:12px 0}
.technical-grid p{font-size:1rem;color:var(--muted);margin:0}
.software-main{font-size:clamp(1.35rem,2.5vw,2.2rem);line-height:1.5;letter-spacing:-.02em}
.software-profile>p{max-width:900px}
.software-profile details{border-top:1px solid var(--line);padding-top:20px;max-width:900px}
.software-profile summary{cursor:pointer}
.software-profile details p{color:var(--muted)}
.press-feature{padding-top:65px;padding-bottom:80px;background:#eaeae7}
.official-proof{display:grid;gap:8px;padding:25px 0 28px;border-top:1px solid #b7b7b4;border-bottom:1px solid #b7b7b4;margin-bottom:36px}
.official-proof>span{font-size:.95rem}
.official-proof strong{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:400;line-height:1.25}
.official-proof:hover strong{text-decoration:underline;text-underline-offset:6px}
.press-editorial{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.press-editorial img{width:100%;height:auto;display:block;max-width:580px}
.press-editorial h3{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.03em;font-weight:400;margin:0 0 20px}
.press-editorial p{max-width:550px}
.press-editorial figcaption{font-size:.875rem}
.muted{color:var(--muted)}
.press-links{max-width:none;margin-top:36px;border-color:#b7b7b4}
.press-links summary,.press-links summary>span{font-size:1rem}
.press-links li a{padding:18px 0;border:0}
.press-links small{font-size:.95rem}
.press-links li+li{border-color:#c8c8c5}
.contact-details h2{font-size:1rem;font-weight:500;margin:0 0 20px}
footer{font-size:.875rem}
.press-second{margin-top:42px;padding-top:36px;border-top:1px solid #c8c8c5}
.press-second figure{max-width:300px;margin:0 auto}
.press-second .press-cover{display:flex;align-items:center;gap:18px;max-width:none;margin:26px 0 0;padding-top:22px;border-top:1px solid #c8c8c5}
.press-cover img{width:100px;height:auto;flex:none}
.press-cover figcaption{display:block;margin:0;font-size:.875rem;line-height:1.6;color:var(--muted)}
.press-cover figcaption span{display:block;margin-top:5px}
.mymixx-stage{padding-top:45px;padding-bottom:35px;background:#eaeae7;margin-bottom:44px}
.screen-pair{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(0,1fr);gap:35px;align-items:center;max-width:1250px;margin:auto}
.screen-pair figure{margin:0;min-width:0}
.screen-pair figure>a{display:block;overflow:hidden;background:white;border:1px solid #d0d0cc}
.screen-desktop>a{aspect-ratio:1.4}
.screen-mobile>a{aspect-ratio:.48}
.screen-pair img{display:block;width:100%;height:auto}
.screen-pair figcaption,.stage-caption{font-size:.875rem;color:var(--muted);margin-top:14px}
.stage-caption{max-width:1250px;margin:25px auto 0}
.mymixx-flow{padding-bottom:55px}
.mymixx-flow ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0}
.mymixx-flow li{border-top:1px solid var(--line);padding-top:22px}
.mymixx-flow h3{font-size:1.2rem;font-weight:500}
.mymixx-flow p{color:var(--muted)}
.mymixx-card img{height:auto;align-self:start}
@media(max-width:700px){.screen-pair{gap:15px;grid-template-columns:minmax(0,2.6fr) minmax(0,1fr)}.screen-pair figcaption{font-size:.875rem;line-height:1.4}.mymixx-flow ol{grid-template-columns:1fr;gap:20px}.press-second figure{max-width:250px}.mymixx-stage{padding-top:28px}}
@media(max-width:1000px){.technical-grid{grid-template-columns:1fr 1fr}.archive .work-grid{grid-template-columns:1fr 1fr}.profile{grid-template-columns:1fr;gap:12px}.project-facts{gap:24px}.hero-top{font-size:.9rem}}
@media(max-width:700px){header{padding-bottom:24px}nav{gap:6px 18px}.hero{padding-top:28px}.hero h1{font-size:clamp(2.05rem,7.8vw,3.3rem);margin:24px 0}.hero-top{font-size:.875rem;flex-wrap:wrap}.hero-bottom>p{font-size:1.1rem}.hero-bottom>.text-link{margin:0 0 22px}.home-actions{gap:18px 24px;align-items:flex-start}.design-hero .image-caption{display:block;font-size:.875rem}.design-hero .image-caption>span{display:block;text-align:left;margin-top:5px}.award-strip strong{font-size:1rem}.work-grid{gap:34px}.work-label h3{font-size:1.2rem}.work-label p{font-size:.9rem}.archive .work-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.archive .work-label h3{font-size:1rem}.archive .work-label p{font-size:.875rem}.archive .card-summary{display:none}.project-facts{grid-template-columns:1fr;gap:22px}.project-story details>.case-deep{grid-template-columns:1fr;gap:24px}.project-story summary{font-size:1rem}.technical-grid{grid-template-columns:1fr}.press-editorial{grid-template-columns:1fr;gap:28px}.press-feature{padding-top:45px;padding-bottom:45px}.press-links summary>span{display:block;margin:6px 0 0}.contact h2{font-size:2.2rem}.page-intro{padding-top:40px}.profile{padding-top:40px}.project-heading h1{font-size:2.2rem}.section-heading p{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Targeted portfolio polish: reliable previews and compact supporting imagery. */
.work-image img{display:block}
.related-compact{padding-bottom:60px}
.related-compact>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;max-width:1000px}
.related-compact img{margin:0;aspect-ratio:4/3;object-fit:contain}
.related-compact>a>span{display:grid;gap:14px;justify-items:start}
.related-compact strong{font-size:1.35rem;font-weight:500;line-height:1.3}
.sportlife-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;max-width:1280px;margin:auto}
.sportlife-pair figure{min-width:0;margin:0 0 38px}
.contact-details .email{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
nav a,.case-details .text-link{font-size:.875rem}
nav a:hover,.text-link:hover{color:#575757}
@media(max-width:700px){.related-compact>a{grid-template-columns:1fr;gap:20px}.related-compact img{max-width:480px}.sportlife-pair{grid-template-columns:1fr;gap:0}.related-compact{padding-bottom:45px}}

.case-deep .project-tools{grid-column:1/-1}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin:22px 0 0}
.tool-grid>div{min-width:0}
.tool-grid dt{font-size:1rem;font-weight:600;margin-bottom:6px}
.tool-grid dd{margin:0;color:var(--muted);font-size:1rem;line-height:1.65;max-width:600px}
.case-deep .tool-note{margin-top:24px}
@media(max-width:700px){.tool-grid{grid-template-columns:1fr;gap:20px}}

/* Final, bounded refinements to the existing visual system. */
.related-cta{padding-top:8px;padding-bottom:60px}
#arbeiten>.work-grid>article:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:start}
#arbeiten>.work-grid>article:last-child:nth-child(odd)>.work-image{grid-row:1/3}
#arbeiten>.work-grid>article:last-child:nth-child(odd)>.work-label{align-self:end}
#arbeiten>.work-grid>article:last-child:nth-child(odd)>.card-summary{align-self:start}
.mockup-stage .screen-pair{align-items:start;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:32px}
.screen-shell{border:1px solid #c8c8c5;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px #00000008}
.screen-chrome{height:28px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#f4f4f2;border-bottom:1px solid #ddd}
.screen-chrome span{width:5px;height:5px;border-radius:50%;background:#aaa}
.mobile-shell{border:5px solid #262626;border-radius:22px;max-width:310px;margin:auto}
.mobile-shell .screen-chrome{height:12px;background:#262626;border:0;justify-content:center}
.mobile-shell .screen-chrome span{display:none}
.screen-viewport{max-height:520px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.screen-viewport:focus-visible{outline:2px solid #171717;outline-offset:-3px}
.screen-viewport>a{display:block}
.screen-viewport img{width:100%;height:auto;display:block}
.mockup-stage figcaption{line-height:1.55}
.mockup-stage figcaption a{text-decoration:underline;text-underline-offset:3px}
.mockup-stage .stage-caption{font-size:.875rem}
.mymixx-flow ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
@media(max-width:1000px){.mymixx-flow ol{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-viewport{max-height:420px}}
@media(max-width:700px){#arbeiten>.work-grid>article:last-child:nth-child(odd){display:block;grid-column:auto}.mockup-stage .screen-pair{grid-template-columns:1fr;gap:28px}.mockup-stage .screen-mobile{width:min(100%,270px);margin:auto}.screen-viewport{max-height:440px}.mymixx-flow ol{grid-template-columns:1fr}.mymixx-flow li{padding-top:14px}.mymixx-flow h3{margin:8px 0}.mymixx-flow p{margin-top:0}}

/* Legal information stays directly reachable from every content page. */
.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.footer-links a:hover,.footer-links a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.legal-details{padding-bottom:90px;max-width:1000px}
.legal-details>div{border-top:1px solid var(--line);padding:24px 0}
.legal-details h2{font-size:1.1rem;font-weight:500;margin:0 0 16px}
.legal-details address{font-style:normal;line-height:1.8}
.legal-details a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:700px){footer{flex-wrap:wrap}.legal-details{padding-bottom:55px}}
