/* Warm graphite, restrained steel blue and lighter, readable typography. */
:root{color-scheme:dark;--paper:#262729;--ink:#dedcd6;--muted:#b6b7b6;--accent:#91a8bc;--green:var(--accent);--sage:#2e3135;--line:#4b5055}
.icon{display:inline-block;width:1.15em;height:1.15em;flex:none;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.circle>.icon{width:22px;height:22px}.back-top>.icon{width:18px;height:18px}.text-link>.icon{align-self:center}.header-contact .icon{width:20px;height:20px}
body{font-size:16px;font-weight:400}body,.experience-sticky{transition:background-color .8s ease}
::selection{background:#4e6578;color:#e9edf0}.skip-link{background:var(--accent);color:var(--paper)}
h1,h2,h3{font-weight:500}em{font-weight:400}h1{letter-spacing:-.045em}h1 em{letter-spacing:-.04em}
.eyebrow{font-size:12px;letter-spacing:.11em;font-weight:550;line-height:1.5}
.working-method>.eyebrow,.section-intro .eyebrow,.about>.eyebrow,.contact .eyebrow{font-size:12px}
.site-header{gap:28px}.site-header nav{margin-left:auto;gap:28px;font-size:14px;font-weight:500}.header-contact{font-size:14px;font-weight:500;gap:16px}
.language-switch{display:flex;gap:8px;align-items:center;font-size:13px;margin-left:auto;font-weight:500}.language-switch a{padding:11px 4px;color:var(--muted)}.language-switch a[aria-current]{color:var(--accent);border-bottom:1px solid var(--accent)}.language-switch>span{color:#929ba2}
.hero-description{font-size:16px;line-height:1.75;color:var(--muted)}.round-link{font-size:14px;font-weight:500;min-height:44px}.circle{width:44px;height:44px;border-color:#8294a3;border-width:1.5px}
.spatial-site .hero-project{width:44%;transform:translateY(calc(-57% + var(--panel-y,20px)))}
.spatial-site .hero-project .eyebrow{font-size:12px;margin-bottom:22px}
.spatial-site .hero-project h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.035em;line-height:1.14}
.spatial-site .hero-project h2 em{letter-spacing:-.035em}
.spatial-site .hero-project > p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:390px;margin-top:24px;font-weight:400}
.next-room-stop{font-size:14px;font-weight:500;margin-top:22px;padding-block:6px}
.room-method{font-size:15px;color:var(--muted)}.room-method li{padding-block:9px;border-color:var(--line)}.room-method span{font-size:12px;color:var(--accent)}
.spatial-site .experience-rail{border-color:var(--line);gap:20px;scroll-snap-type:x proximity}.spatial-site .experience-rail button{font-size:13px;font-weight:500;min-height:44px;color:var(--muted);scroll-snap-align:center}.spatial-site .experience-rail button[aria-pressed="true"]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.atelier-tools{gap:8px;flex-wrap:wrap}.atelier-tools button{font-size:13px;font-weight:500;min-height:40px;padding:9px 12px;border-color:var(--line)}.atelier-tools button:hover,.scene-project-picker button:hover{background:#34414c;border-color:#91a8bc}.atelier-tools button[aria-pressed="true"]{background:#3b4853;border-color:#91a8bc}.light-dot{background:var(--accent)}
.experience .scene-project-picker,.experience .atelier figcaption,.experience .atelier-project-link,.experience .scene-hint{display:none}
.scene-project-picker{border-color:var(--line)}.scene-project-picker button{font-size:14px;font-weight:500;min-height:44px;color:var(--muted)}.scene-project-picker button span{font-size:12px}.scene-project-picker button+button{border-color:var(--line)}.scene-project-picker button[aria-pressed="true"]{background:#34414c;color:var(--ink)}
.atelier-project-link{font-size:13px;border-color:var(--line)}.atelier figcaption{font-size:11px}.atelier figcaption span:last-child{font-size:15px}.scene-hint{font-size:14px}
.atelier-stage .atelier-fallback{mix-blend-mode:luminosity;filter:brightness(.58) contrast(.9)}
.tags li,.text-link,.project,.project-detail,.case-notes,.oweschen-note,.services,.services article,.working-method details,.approach,.project-dialog{border-color:var(--line)}
.promptworkz{background:#2d3237}.oweschen{background:#303335}.oweschen-visual{background:#393e42}.approach{background:#2c3035}
.project-copy>p,.project-detail>div p,.case-notes p,.oweschen-note p,.services p,.working-method details p,.about-grid>div>p{font-size:16px;line-height:1.75;color:var(--muted)}
.project-category,.image-caption,.case-notes>div>span,.service-number,.working-method summary>span:first-child{font-size:12px;line-height:1.5;color:#abb9c4}.project-heading .eyebrow{font-size:12px}.tags li{font-size:12px;padding:5px 9px}.text-link{font-size:14px}.project-detail summary,.working-method summary{font-size:16px;min-height:44px}.case-notes h4{font-size:18px;font-weight:500}.oweschen-note .eyebrow{font-size:12px;line-height:1.6}
.project-symbol{color:var(--ink)}.project-symbol span{color:var(--accent)}.viewer-controls button{font-size:14px;font-weight:500;min-height:44px}.viewer-controls button[aria-selected="true"]{background:var(--accent);color:var(--paper)}.viewer-controls button[aria-selected="false"]:hover{background:#3b4650}
.browser-frame,.oweschen .browser-frame{border-color:#59636c;background:#292d31;box-shadow:0 18px 40px -26px #0009}.browser-top{font-size:12px;background:#30373d;border-color:#48525b;color:#bdc5cb}.browser-dots{color:#94a1ab}
.about-portrait{width:230px;max-width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:120px 120px 6px 6px;border:1px solid #7b8b96}
.image-dialog,.project-dialog{box-shadow:0 30px 120px #0008}.image-dialog::backdrop,.project-dialog::backdrop{background:#171a1dc9}
.dialog-bar h2,.project-dialog-bar h2{font-size:15px;font-weight:500}.dialog-close,.project-dialog-close{font-size:14px;font-weight:500;min-height:44px}
.discipline-bar{font-size:12px}.discipline-bar>div{flex-wrap:wrap}.discipline-bar p{font-size:11px}.bar-plus{color:#9eacb7}.section-intro>p,.work-end{font-size:15px}.site-footer>p{font-size:16px}.draft-label{font-size:11px}.back-top{width:44px;height:44px}
@media(min-width:680px) and (max-width:999px){
 .site-header{gap:20px}.header-contact{display:none}.language-switch{margin-left:0}.site-header nav{font-size:13px;gap:22px}
 .spatial-site .hero-project h2{font-size:clamp(32px,4.5vw,44px)}.spatial-site .hero-project > p:not(.eyebrow){font-size:15px;line-height:1.65;max-width:330px}.spatial-site .hero-project .eyebrow{font-size:11px}.experience.is-cinematic .hero-description{font-size:15px}.experience.is-cinematic .hero .eyebrow{font-size:11px}.spatial-site .room-method{font-size:13px}.experience.is-cinematic .atelier-tools button{font-size:12px;min-height:40px;padding:8px 10px}
}
@media(max-width:679px){
 .site-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand lang" "nav nav";height:auto;padding-block:18px 12px;gap:12px 20px}.site-header>.wordmark{grid-area:brand;font-size:31px}.site-header nav{grid-area:nav;width:100%;margin:0;justify-content:space-between;gap:16px}.site-header nav a{font-size:14px;min-height:38px;display:flex;align-items:center}.language-switch{grid-area:lang;font-size:13px;margin:0;gap:7px}.header-contact{display:none}
 .spatial-site .hero-copy,.spatial-site .hero-project{top:20px;width:100%;transform:translateY(var(--panel-y,0px))}.spatial-site .hero-copy{transform:translateY(var(--intro-y,0px))}
 .spatial-site .hero h1{font-size:clamp(35px,10vw,46px);letter-spacing:-.045em;line-height:1.1}.spatial-site .hero h1 em{letter-spacing:-.04em}.spatial-site .hero-project h2{font-size:clamp(30px,8.4vw,39px);letter-spacing:-.035em}
 .spatial-site .hero .eyebrow,.spatial-site .hero-project .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:16px}
 .spatial-site .hero-description,.spatial-site .hero-project > p:not(.eyebrow){font-size:15px;line-height:1.6;margin-top:18px;max-width:none}.spatial-site .hero .round-link{font-size:14px;margin-top:18px}.spatial-site .hero .circle{width:40px;height:40px}.spatial-site .next-room-stop{font-size:13px;margin-top:12px;padding-block:5px}
 .spatial-site .room-method{display:none}.spatial-site .room-method li{padding-block:7px}.room-method span{font-size:11px;margin-right:9px}
 .spatial-site .atelier{bottom:100px;height:max(80px,min(42svh,calc(100svh - var(--copy-bottom,320px) - 120px)))}.spatial-site .atelier-stage{height:100%}.spatial-site .atelier-tools{bottom:-8px}.spatial-site .atelier-tools button{font-size:12px;min-height:38px}
 .spatial-site .experience-rail{bottom:16px;gap:24px;padding-top:10px}.spatial-site .experience-rail button{font-size:13px;min-height:44px}
 .project{padding:24px 20px}.project-heading{align-items:start}.project-heading .eyebrow,.project-category{font-size:11px;letter-spacing:.05em}.project-category{max-width:140px}.project-copy>p,.project-detail>div p,.case-notes p,.oweschen-note p,.services p,.working-method details p,.about-grid>div>p{font-size:15px}.case-notes>div>span,.image-caption,.oweschen-note .eyebrow{font-size:11px}.tags li{font-size:12px}.browser-top{font-size:11px}.about-portrait{width:180px}.section-intro>p{font-size:15px}.draft-label{font-size:10px;letter-spacing:.05em}.dialog-bar h2,.project-dialog-bar h2{font-size:13px}.dialog-close,.project-dialog-close{font-size:13px}.project-dialog-close{max-width:180px;text-align:right}.discipline-bar>div{font-size:11px;gap:9px}
}
@media(max-width:360px){.spatial-site .hero h1{font-size:35px}.spatial-site .hero-project h2{font-size:30px}.spatial-site .hero-description,.spatial-site .hero-project > p:not(.eyebrow){font-size:15px}.site-header nav a{font-size:14px}}
@media(prefers-reduced-motion:reduce){body,.experience-sticky{transition:none}}

@media(max-width:679px) and (max-height:700px){
 .spatial-site .hero .eyebrow,.spatial-site .hero-project .eyebrow{margin-bottom:12px}
 .spatial-site .hero-description,.spatial-site .hero-project > p:not(.eyebrow){margin-top:14px}
 .spatial-site .hero .round-link{margin-top:12px}
 .spatial-site .next-room-stop{margin-top:6px}
}
