@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/dm-sans-0.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/dm-sans-1.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/dm-sans-2.woff2) format('truetype');
}


:root{font-family:'DM Sans',Arial,sans-serif;color:#242622;background:#f1f1f1;font-synthesis:none;font-weight:400;--muted:#6c6e67;--line:#d9dad2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #8b9bc0;outline-offset:8px}::selection{background:#c9d1dd;color:#171717}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:12px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.header{position:absolute;z-index:2;left:0;top:0;width:100%;height:112px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;color:#e8e8e6}.wordmark{font-size:19px;font-weight:500;letter-spacing:-.7px}.wordmark span{color:#95958e}.header nav{display:flex;gap:36px;font-size:13px;color:#b4b4b0}.header nav a{transition:color .2s}.header nav a:hover{color:#fff}.header nav span{margin-left:6px;font-size:16px}
.hero{position:relative;min-height:780px;height:100svh;max-height:1100px;overflow:hidden;background:#000;color:#f1f1ee;isolation:isolate}.hero-copy{position:absolute;z-index:1;top:23%;left:0;width:100%;text-align:center}.hero h1{font-weight:400;font-size:clamp(64px,7.5vw,112px);letter-spacing:-.065em;line-height:1.12;margin:0 0 20px}.hero-copy p{color:#a1a2a5;font-size:16px;letter-spacing:.035em;margin:0}.hero-image{position:absolute;width:min(100%,1440px);height:auto;left:50%;transform:translateX(-50%);top:calc(23% + 155px - min(21.5vw, 310px) + 90px);z-index:-1;display:block;pointer-events:none}.hero-bottom{position:absolute;bottom:38px;left:6.2%;right:6.2%;display:flex;justify-content:space-between;align-items:center;color:#898a8d;font-size:12px;letter-spacing:.015em}.hero-bottom p{margin:0}.hero-bottom a{display:flex;gap:26px;align-items:center}.hero-bottom span{font-size:20px;color:#c8c8c8}
.section{max-width:1440px;margin:0 auto;padding:130px 9%;display:grid;grid-template-columns:1fr 2.25fr;gap:50px}.section-label{font-size:13px;padding-top:12px;display:flex;gap:18px;align-items:baseline}.section-number{font-size:11px;color:#91938b}.section-content h2{font-size:clamp(34px,3.65vw,52px);line-height:1.18;letter-spacing:-.045em;font-weight:400;margin:0 0 40px}.about-text{max-width:620px}.about-text p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 21px}.about-text p:first-child{color:#393c35;font-size:18px;line-height:1.75}.signature{font-size:15px;margin-top:36px;display:flex;align-items:center;gap:20px}.signature span{font-size:12px;color:#7d7f76;border-left:1px solid #c9cbc1;padding-left:20px}.approach{border-top:1px solid var(--line);padding-top:100px;padding-bottom:125px}.approach h2{margin-bottom:46px}.principles article{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:45px 1fr;gap:12px}.principles article>span{font-size:11px;color:#8a8d82;padding-top:6px}.principles h3{font-size:20px;font-weight:450;letter-spacing:-.025em;margin:0 0 10px}.principles p{color:var(--muted);font-size:15px;line-height:1.8;margin:0;max-width:500px}footer{background:#f1f1f1;padding:38px 6.2%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:12px;color:#6a6e63}footer>a:last-child span{margin-left:22px}
@media(min-width:1500px){.hero-image{top:calc(23% - 65px)}}
@media(max-width:760px){.header{height:88px;padding:0 7%}.header nav{gap:20px;font-size:12px}.wordmark{font-size:17px}.hero{min-height:650px;max-height:900px}.hero-copy{top:27%}.hero h1{font-size:72px;margin-bottom:18px}.hero-copy p{font-size:14px}.hero-image{width:1100px;max-width:none;top:calc(27% - 55px)}.hero-bottom{left:7%;right:7%;bottom:28px;font-size:11px}.hero-bottom a{gap:12px}.section{padding:76px 7%;grid-template-columns:1fr;gap:32px}.section-label{padding:0;font-size:12px}.section-content h2{font-size:39px;margin-bottom:28px}.about-text p{font-size:15px;line-height:1.8}.about-text p:first-child{font-size:17px}.signature{margin-top:30px}.approach{padding-top:66px;padding-bottom:70px}.principles article{grid-template-columns:28px 1fr}.principles p{font-size:14px}footer{padding:32px 7%;flex-wrap:wrap;gap:25px}footer p{display:none}footer>a:last-child{font-size:11px}}
.personal-facts{margin-top:30px}.about-text .personal-facts p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:12px}.personal-facts ul{padding-left:18px;margin:0;color:var(--muted);font-size:15px;line-height:1.8}.personal-facts li{padding-left:6px;margin-bottom:7px}.personal-facts li::marker{color:#91938b;font-size:10px}
.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}footer .brand-logo{width:40px;height:40px}
@media(max-width:760px){.header .brand-logo{width:42px;height:42px}}
.header nav{align-items:center}.header nav a{display:inline-flex;align-items:center;line-height:1.5}.header .brand-logo img{filter:brightness(0) invert(.82)}
.header{justify-content:flex-end}.projects{padding-top:20px;padding-bottom:130px}.projects .section-content{grid-column:2}.projects>.section-label{font-weight:400;margin:0;padding-top:4px}.project-list{list-style:none;padding:0;margin:0;display:grid;gap:32px}.project-list h3{font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0;margin:0 0 3px}.project-list p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}@media(max-width:760px){.projects{padding-top:10px;padding-bottom:80px}.projects .section-content{grid-column:1}footer{justify-content:flex-end}}
.project-list a{text-decoration:underline;text-decoration-color:#b7b9b0;text-underline-offset:4px;text-decoration-thickness:1px}.project-list a:hover{text-decoration-color:currentColor}
.hero-nav{position:absolute;bottom:calc(100% + 32px);left:0;right:0;display:flex;justify-content:center;align-items:center;gap:30px;font-size:13px;line-height:1.5;color:#b4b4b0}.hero-nav a{transition:color .2s}.hero-nav a:hover{color:#fff}@media(max-width:760px){.hero-nav{font-size:12px;gap:26px;bottom:calc(100% + 28px)}}
.detail-section{position:relative;padding-top:76px;padding-bottom:90px}.detail-section>.section-label{font-weight:400;margin:0;padding-top:4px}.reference-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.reference-heading h3{font-size:20px;font-weight:400;letter-spacing:-.02em;margin:0;line-height:1.4}.reference-heading span{color:var(--muted);font-size:12px}.reference-role{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 23px}.reference-description{font-size:15px;line-height:1.85;color:var(--muted);margin:0;max-width:580px}.skills{padding-bottom:130px}.skills-list{margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;row-gap:38px}.skills-list dt{font-size:16px;line-height:1.6;margin-bottom:8px}.skills-list dd{margin:0;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){.hero-nav{gap:20px;padding:0 20px;flex-wrap:wrap;row-gap:10px}.detail-section{padding-top:50px;padding-bottom:60px}.detail-section>.section-label{padding-top:0}.skills{padding-bottom:80px}.skills-list{column-gap:28px;row-gap:28px}}@media(max-width:420px){.hero-nav{gap:15px;font-size:11px}.skills-list{grid-template-columns:1fr}}
.hero-nav{top:clamp(28px,5.5svh,60px);bottom:auto;z-index:2;gap:38px;font-size:12px;letter-spacing:.025em;color:#a5a5a2;padding:0 24px}.hero-nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.hero-nav a:hover{color:#e8e8e5}@media(max-width:760px){.hero-nav{top:24px;bottom:auto;gap:24px;font-size:12px;padding:0 18px}}@media(max-width:420px){.hero-nav{gap:18px;font-size:11px;letter-spacing:.015em}}
html{scrollbar-width:thin;scrollbar-color:#85857f transparent}html::-webkit-scrollbar,body::-webkit-scrollbar{width:7px;height:7px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#85857f;border-radius:10px;border:2px solid transparent;background-clip:padding-box}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background-color:#a0a099}html::-webkit-scrollbar-button,body::-webkit-scrollbar-button{display:none;width:0;height:0}@supports selector(::-webkit-scrollbar){html{scrollbar-width:auto;scrollbar-color:auto}}
.reference-heading a{text-decoration:underline;text-decoration-color:#b7b9b0;text-underline-offset:4px;text-decoration-thickness:1px}.reference-heading a:hover{text-decoration-color:currentColor}
html.custom-scrollbar{scrollbar-width:none}html.custom-scrollbar::-webkit-scrollbar,.custom-scrollbar body::-webkit-scrollbar{display:none}.scroll-thumb{position:fixed;right:0;top:0;width:13px;z-index:20;touch-action:none;cursor:grab;user-select:none}.scroll-thumb::before{content:"";position:absolute;inset:0 4px;background:#85857f;border-radius:10px;opacity:.75;transition:opacity .2s}.scroll-thumb:hover::before,.scroll-thumb.dragging::before{opacity:1}.scroll-thumb.dragging{cursor:grabbing}
.scroll-thumb{opacity:0;pointer-events:none;transition:opacity .3s ease}.scroll-thumb.is-visible,.scroll-thumb.dragging{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.scroll-thumb{transition:none}}
.reference-entry+.reference-entry{margin-top:48px}
.gallery-main{max-width:1440px;margin:auto;padding:52px 9% 90px}.gallery-back{display:inline-flex;align-items:center;gap:14px;min-height:44px;color:var(--muted);font-size:13px}.gallery-back:hover{color:#242622}.gallery-intro{padding-top:100px}.gallery-author{font-size:13px;color:var(--muted);margin:0 0 20px}.gallery-intro h1{font-size:clamp(52px,7vw,88px);line-height:1.1;letter-spacing:-.06em;font-weight:400;margin:0 0 24px}.gallery-intro>p:last-of-type{font-size:16px;color:var(--muted);margin:0}.gallery-empty{display:flex;align-items:center;justify-content:center;min-height:300px;margin-top:60px;background:#e9e9e7;border-radius:4px;padding:30px;text-align:center}.gallery-empty p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}@media(max-width:760px){.gallery-main{padding:24px 7% 60px}.gallery-intro{padding-top:64px}.gallery-empty{margin-top:40px;min-height:240px}}
.reference-clients{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;font-size:14px;line-height:1.7}.reference-clients a{text-decoration:underline;text-decoration-color:#b7b9b0;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .2s}.reference-clients a:hover{text-decoration-color:currentColor}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gallery-cta{width:100%;margin:0;background:#000;color:#f1f1f1;overflow:hidden;padding:100px 0 48px}.gallery-visual{width:min(100%,1800px);margin:0 auto;position:relative}.gallery-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#000,transparent 12%,transparent 88%,#000)}.gallery-visual img{display:block;width:100%;height:auto;aspect-ratio:2.4;object-fit:cover;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 83%,transparent)}.gallery-invitation-copy{max-width:780px;margin:0 auto 44px;padding:0 7%;text-align:center}.gallery-invitation-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.15;font-weight:400;letter-spacing:-.045em;margin:0 0 20px}.gallery-caption{color:#999c99;font-size:15px;line-height:1.8;margin:0 0 28px}.gallery-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;font-size:14px;text-decoration:underline;text-decoration-color:#626662;text-underline-offset:7px;text-decoration-thickness:1px;transition:text-decoration-color .25s}.gallery-link:hover{text-decoration-color:#f1f1f1}.gallery-link span{font-size:18px}@media(max-width:760px){.gallery-cta{padding:70px 0 32px}.gallery-visual{width:150%;max-width:none;margin-left:-25%}.gallery-invitation-copy{margin:0 auto 32px}.gallery-caption{font-size:14px}}

.detail-trigger{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:#b7b9b0;text-underline-offset:4px;text-decoration-thickness:1px}.detail-trigger:hover{text-decoration-color:currentColor}button:focus-visible{outline:2px solid #8b9bc0;outline-offset:6px}.detail-panel{position:fixed;z-index:30;inset:0 auto 0 0;margin:0;width:min(440px,100%);max-width:100%;height:100%;height:100dvh;max-height:100dvh;border:0;padding:0;background:#f1f1f1;color:#242622;overflow-y:auto;overscroll-behavior:contain}.detail-panel[open]{animation:none}.detail-panel::backdrop{background:transparent}.detail-topbar{display:flex;justify-content:flex-end;align-items:center;padding:20px 32px;background:#f1f1f1;position:sticky;top:0;z-index:1}.detail-close{font:inherit;font-size:12px;color:var(--muted);border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}.detail-close span{font-size:24px;font-weight:400}.detail-close:hover{color:#242622}.detail-body{padding:24px 32px 56px}.detail-body h2{font-size:clamp(32px,4vw,42px);font-weight:400;line-height:1.18;letter-spacing:-.045em;margin:0 0 18px;overflow-wrap:anywhere}.detail-intro{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 30px}.detail-text{margin-bottom:28px}.detail-text h3{font-weight:400;font-size:16px;margin:0 0 10px}.detail-text p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.detail-website{font-size:14px;text-decoration:underline;text-decoration-color:#b7b9b0;text-underline-offset:5px;line-height:2}.detail-website span{margin-left:16px}.detail-website[hidden]{display:none}@media(max-width:600px){.detail-topbar{padding:16px 26px}.detail-body{padding:22px 26px 48px}}@media(prefers-reduced-motion:reduce){.detail-panel[open]{animation:none}}

.detail-panel{scrollbar-width:none}.detail-panel::-webkit-scrollbar{display:none;width:0;height:0}
.detail-panel.content-fits{overflow-y:hidden;touch-action:none}
.site-footer .footer-row{gap:18px 24px}.site-footer .footer-row p,.site-footer .footer-row a,.site-footer .cookie-settings{font-size:11px}.cookie-settings{font:inherit;color:#a0a39c;background:none;border:0;padding:0;cursor:pointer;line-height:1.8}.cookie-settings:hover{color:#f1f1f1}.cookie-banner{position:fixed;z-index:40;right:24px;bottom:24px;width:min(380px,calc(100% - 32px));padding:26px;background:#f1f1f1;color:#242622;border:1px solid #d9dad4;border-radius:6px;box-shadow:0 4px 30px rgba(0,0,0,.08)}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-weight:400;font-size:18px;line-height:1.4;letter-spacing:-.02em;margin:0 0 16px}.cookie-banner p{font-size:12px;line-height:1.8;color:#6c6e67;margin:0 0 14px}.cookie-banner a{text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:flex;gap:12px;margin-top:20px}.cookie-actions button{flex:1;font:inherit;font-size:12px;border:1px solid #9da095;padding:12px 14px;border-radius:4px;cursor:pointer;background:transparent;color:#242622;min-height:44px}.cookie-actions button:hover{background:#e3e4df}.legal-main strong{font-weight:500}.legal-main p a{text-decoration:underline}.insights-page{background:#f1f1f1;color:#242622}.insights-login{max-width:410px;margin:8vh auto;padding:30px}.insights-page h1{font-weight:400;letter-spacing:-.05em;font-size:44px;margin:54px 0 18px;line-height:1.1}.insights-login>p,.insights-heading p{font-size:14px;color:var(--muted);line-height:1.8}.insights-login form{margin-top:36px;display:flex;flex-direction:column;gap:12px}.insights-login label{font-size:12px;margin-top:10px}.insights-page input,.insights-page select{font:inherit;font-size:14px;background:#fafafa;border:1px solid #c7c9c1;border-radius:4px;padding:12px;color:#242622}.insights-login button{font:inherit;font-size:13px;border:0;background:#242622;color:#f1f1f1;border-radius:4px;padding:14px;margin-top:16px;cursor:pointer}.insights-page button:disabled{opacity:.5;cursor:wait}.insights-login #login-message{font-size:12px;line-height:1.7;color:#805445;min-height:22px}.insights-main{max-width:1100px;padding:34px 6% 80px;margin:auto}.insights-nav{display:flex;align-items:center;justify-content:space-between}.insights-nav button{font:inherit;font-size:12px;background:none;border:0;color:var(--muted);cursor:pointer;min-height:44px}.insights-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:20px 0 36px}.insights-heading h1{margin-top:40px}.insights-heading label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}.insights-heading select{min-width:120px}.insights-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:38px 0 60px}.insights-metrics span{font-size:12px;color:var(--muted);display:block;margin-bottom:14px}.insights-metrics strong{font-size:42px;letter-spacing:-.04em;font-weight:400}.insights-section h2{font-size:16px;font-weight:400;margin:0 0 24px}.insights-chart{height:140px;display:flex;align-items:end;gap:4px;padding-bottom:12px;border-bottom:1px solid #d7d9d1;margin-bottom:60px}.chart-column{flex:1;display:flex;align-items:end;height:128px;min-width:0}.chart-bar{width:100%;background:#8b9283;border-radius:2px 2px 0 0}.insights-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}.insights-row{display:flex;justify-content:space-between;gap:18px;font-size:13px;line-height:1.8;margin-bottom:12px}.insights-row span:first-child{color:var(--muted)}.insights-footnote,.insights-empty,#dashboard-message{font-size:12px;line-height:1.8;color:var(--muted)}.insights-footnote{max-width:720px;margin:60px 0 0}@media(max-width:600px){.cookie-banner{right:16px;bottom:16px;padding:22px}.insights-columns{grid-template-columns:1fr;gap:36px}.insights-metrics{gap:18px}.insights-metrics strong{font-size:32px}.insights-metrics span{font-size:11px}.insights-heading{align-items:start}.insights-heading h1{font-size:36px}.insights-heading label{margin-top:44px}.insights-chart{gap:2px}.insights-login{margin-top:3vh}}

.site-footer{position:relative;display:block;background:#000;color:#92958f;padding:40px 7% 48px}.footer-inner{max-width:820px;margin:0 auto}.site-footer .footer-email{font-size:14px;color:#c5c7c2;display:inline-block;line-height:1.8}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.site-footer .footer-meta p{display:block;font-size:11px;color:#777c73;margin:0}.footer-meta a{font-size:11px;color:#92958f;line-height:2}.site-footer a:hover{color:#fff}.back-to-top{position:absolute;z-index:21;left:50%;right:auto;transform:translateX(-50%);top:-60px;bottom:auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;color:#c8cbc4;border-radius:0;font-size:22px;opacity:0;transition:opacity .3s;pointer-events:none}.back-to-top.is-visible{opacity:.55;pointer-events:auto}.back-to-top[hidden]{display:none}.back-to-top.is-visible:hover,.back-to-top.is-visible:focus-visible{color:#fff;opacity:.85;background:transparent}.page-end{height:1px;background:#000}.legal-main{max-width:820px;margin:auto;padding:48px 7% 100px;min-height:75vh}.legal-main h1{font-size:42px;font-weight:400;letter-spacing:-.045em;margin:70px 0 36px}.legal-main h2{font-size:16px;font-weight:400;margin:32px 0 12px}.legal-main p,.legal-main address{font-size:15px;line-height:1.8;color:var(--muted);font-style:normal}.legal-main a{text-underline-offset:4px}.legal-draft{max-width:580px}@media(max-width:760px){.site-footer{padding:32px 7% 76px}.footer-meta{gap:16px;flex-wrap:wrap}.back-to-top{left:50%;right:auto;top:-56px;bottom:auto}.legal-main{padding-top:24px}}

.footer-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer .footer-row p,.site-footer .footer-row a{display:block;font-size:12px;line-height:1.8;color:#a0a39c;margin:0;font-weight:400}.site-footer .footer-row a:hover{color:#f1f1f1}.footer-imprint{overflow:hidden}.footer-imprint[hidden]{display:none}.imprint-content{padding:54px 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:30px 48px}.imprint-content h2{grid-column:1/-1;font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:400;margin:0;color:#d3d6ce}.imprint-content h3{font-size:12px;font-weight:400;margin:0 0 12px;color:#b7bab2}.imprint-content address,.imprint-content a{font-size:13px;line-height:1.9;color:#a0a39c;font-style:normal}.imprint-toggle[aria-expanded="true"]{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#686c63}@media(max-width:600px){.footer-row{gap:14px 24px}.imprint-content{grid-template-columns:1fr;gap:26px;padding-top:40px}.imprint-content h2{grid-column:auto}}
/* Responsive homepage: compact navigation, natural text flow and dedicated mobile artwork. */
.section-content{min-width:0}
@media (min-width:761px) and (max-width:1100px){
  .section{padding-left:7%;padding-right:7%;grid-template-columns:minmax(130px,1fr) minmax(0,2.5fr);gap:32px}
  .skills-list{column-gap:28px}
  .hero h1{font-size:clamp(72px,9vw,100px)}
}
@media (max-width:760px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
  .hero{min-height:560px;height:100svh;max-height:980px}
  .hero-copy{top:25%;padding:0 24px}
  .hero h1{font-size:clamp(48px,12vw,80px);line-height:1.1;letter-spacing:-.06em;margin-bottom:16px}
  .hero-copy p{font-size:14px}
  .hero-image{inset:0;left:0;top:0;transform:none;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(#000 90%,transparent)}
  .hero-nav{top:max(18px,env(safe-area-inset-top));gap:18px;padding:0 24px;flex-wrap:nowrap}
  .section{padding:76px 24px;gap:28px;grid-template-columns:minmax(0,1fr)}
  .section-label{font-size:12px;padding:0}
  .section-content h2{font-size:clamp(30px,7.5vw,42px);line-height:1.2;margin-bottom:30px}
  .section-content h2 br{display:none}
  .about-text,.reference-description{max-width:620px}
  .about-text p{font-size:15px;line-height:1.85}
  .about-text p:first-child{font-size:17px;line-height:1.75}
  .projects{padding-top:20px;padding-bottom:64px}
  .projects .section-content{grid-column:auto}
  .detail-section{padding-top:44px;padding-bottom:64px}
  .reference-heading{align-items:baseline;flex-wrap:wrap;gap:6px 18px}
  .reference-heading h3{font-size:20px}
  .reference-clients{gap:6px 24px}
  .reference-clients .detail-trigger,.project-list .detail-trigger{min-height:44px;display:inline-flex;align-items:center}
  .skills-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}
  .skills{padding-bottom:84px}
  .gallery-cta{padding:72px 0 28px}
  .gallery-invitation-copy{padding:0 24px;margin-bottom:14px;max-width:600px}
  .gallery-invitation-copy h2{font-size:clamp(32px,8vw,44px);line-height:1.16;margin-bottom:18px;text-wrap:balance}
  .gallery-caption{font-size:14px;line-height:1.8;margin-bottom:20px}
  .gallery-link{min-height:48px}
  .gallery-visual{width:100%;max-width:600px;margin:0 auto}
  .gallery-visual img{aspect-ratio:4/5;object-fit:contain;mask-image:linear-gradient(transparent,#000 8%,#000 85%,transparent)}
  .gallery-visual::after{background:linear-gradient(90deg,#000,transparent 5%,transparent 95%,#000)}
  .site-footer{padding:32px 24px max(40px,env(safe-area-inset-bottom))}
  .site-footer .footer-row{justify-content:flex-start;gap:4px 24px}
  .site-footer .footer-row p{flex-basis:100%;margin-bottom:6px}
  .site-footer .footer-row a,.site-footer .cookie-settings{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
  .site-footer .footer-row a[href^="mailto:"]{flex-basis:100%}
  .imprint-content{gap:26px;padding-top:32px}
  .detail-panel{width:min(440px,calc(100% - 24px))}
  .detail-topbar{padding:12px 22px}
  .detail-body{padding:16px 22px 40px}
  .cookie-banner{max-height:calc(100dvh - 32px);overflow-y:auto;bottom:max(16px,env(safe-area-inset-bottom))}
}
@media (max-width:600px){
  .hero-nav{left:50%;right:auto;transform:translateX(-50%);width:min(390px,100%);padding:0 20px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 8px;justify-items:center;font-size:12px}
  .hero-nav a{grid-column:span 2;min-height:44px}
  .hero-nav a:nth-child(4){grid-column:2/span 2}
  .hero-nav a:nth-child(5){grid-column:4/span 2}
  .hero-copy{top:26%}
  .skills-list{grid-template-columns:minmax(0,1fr);row-gap:28px}
}
@media (max-width:360px){
  .section,.gallery-invitation-copy{padding-left:20px;padding-right:20px}
  .hero-copy{padding:0 20px}
  .hero h1{font-size:46px}
  .reference-clients{grid-template-columns:1fr;gap:2px}
}
@media (max-height:500px) and (orientation:landscape){
  .hero{height:620px;min-height:620px}
  .hero-copy{top:24%}
}
@media(max-width:600px){.hero-nav a{min-width:44px}}
/* The mobile hero keeps a single quiet menu control; desktop navigation remains inline. */
.mobile-menu-toggle{display:none}
.mobile-menu{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;padding:100px 32px 32px;background:#000;color:#e8e8e5;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu::backdrop{background:#000}
.mobile-menu-toggle,.mobile-menu-close{border:0;background:none;color:#b4b4b0;width:44px;height:44px;position:absolute;top:max(20px,env(safe-area-inset-top));right:20px;padding:12px;cursor:pointer}
.mobile-menu-toggle span,.mobile-menu-close span{display:block;width:20px;height:1px;background:currentColor}
.mobile-menu-toggle span+span{margin-top:7px}
.mobile-menu-close span{position:absolute;left:12px;top:21px;transform:rotate(45deg)}
.mobile-menu-close span+span{transform:rotate(-45deg)}
.mobile-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.mobile-menu-links a{display:inline-flex;align-items:center;min-height:48px;font-size:28px;font-weight:400;letter-spacing:-.035em;line-height:1.35}
.mobile-menu-links a:hover{color:#fff}
.mobile-menu-footer{margin-top:auto;padding-top:44px;color:#939690;font-size:13px;line-height:1.8}
.mobile-menu-footer>a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.mobile-menu-legal{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:12px}
.mobile-menu-legal a,.mobile-menu-legal .cookie-settings{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#939690}
.mobile-menu-footer p{font-size:11px;margin:22px 0 0;color:#777c73}
@media(max-width:760px){
  .hero .hero-nav{display:none}
  .mobile-menu-toggle{display:block;z-index:3}
  .mobile-menu{padding-bottom:max(32px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.mobile-menu{padding-left:24px;padding-right:24px}.mobile-menu-links a{font-size:26px}}
@media(max-height:600px){.mobile-menu{padding-top:72px}.mobile-menu-links{gap:0}.mobile-menu-links a{font-size:24px;min-height:44px}.mobile-menu-footer{padding-top:20px}.mobile-menu-footer p{margin-top:12px}}
