@font-face{font-family:"DM Sans";src:url('vendor/fonts/DMSans-latin.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
:root{--paper:#fff;--surface:#fff;--ink:#202724;--muted:#5b665f;--line:#dce2dc;--green:#536b5c;--pale:#eef2ed;--radius:0;--header:72px;--local:52px;--gutter:clamp(24px,8.33vw,160px);font-family:"DM Sans","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);font-weight:400;font-optical-sizing:auto}
body{background:#fff}button,input,select{font:inherit}.wrap{width:min(1200px,calc(100% - var(--gutter)*2));margin-inline:auto}
h1,h2,h3,p{font-stretch:normal;letter-spacing:0;font-weight:400;text-wrap:pretty}
h1{font-size:62px;line-height:1}h2{font-size:48px;line-height:1.2}h3{font-size:32px;line-height:1.2}p{font-size:20px;line-height:1.5;color:var(--ink)}
.lead{font-size:48px;line-height:1.2;letter-spacing:0}.eyebrow{font-size:14px;line-height:1.5;letter-spacing:0;font-weight:400}
.text-link,.quiet-link{display:inline-flex;align-items:center;gap:24px;font-size:16px;font-weight:400;line-height:1.4;min-height:44px}
.text-link{background:var(--ink);color:#fff;border:0;border-radius:28px;padding:11px 22px}.text-link:hover{background:#3e5347}.text-link span,.quiet-link span{transition:transform .18s ease}.text-link:hover span,.quiet-link:hover span{transform:translate(2px,-2px)}
.quiet-link{padding:8px 0;border-bottom:1px solid currentColor;color:var(--ink)}
#header{height:var(--header);border:0;background:#fffffff5;backdrop-filter:blur(12px);color:var(--ink)}
.header-inner{gap:30px}.wordmark{font-size:20px;font-weight:450;letter-spacing:0;gap:0}.wordmark-dot{display:none}
.header-actions{display:flex;align-items:center;gap:32px}.header-inner nav{gap:28px}.header-inner nav a{font-size:15px;color:var(--muted);line-height:44px}.header-inner nav a[aria-current]{color:var(--ink)}.header-inner nav a[aria-current]::after{bottom:5px;background:var(--ink)}
.language-switch{display:flex;align-items:center;gap:7px;border-left:1px solid var(--line);padding-left:25px}.language-switch button{font-size:13px;min-width:32px;min-height:44px;color:var(--muted)}.language-switch button[aria-pressed=true]{color:var(--ink)}.language-switch span{font-size:12px;color:#929a94}
.mobile-nav-toggle{display:none}.case-nav{height:var(--local);top:var(--header);border:0;border-bottom:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(12px);color:var(--ink)}
.case-nav>.wrap{height:100%;gap:28px}.case-back,.case-nav-name{font-size:14px;font-weight:400}.chapter-links{gap:26px}.chapter-links button{font-size:14px;min-height:44px}.chapter-links button[aria-current]{color:var(--green)}.share-project{width:36px;height:36px;border:1px solid var(--line)}.case-progress{height:1px}.case-progress span{background:var(--green)}
.portfolio-intro{padding:94px 0 58px}.portfolio-intro h1{font-size:62px;line-height:1;max-width:1200px;font-weight:400;letter-spacing:0}
.portfolio-home{overflow:hidden}.portfolio-home .home-project{border-radius:0;margin-bottom:0;overflow:visible;scroll-margin-top:calc(var(--header) + 22px)}
.portfolio-project{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:610px;padding:25px 0 90px}
.project-copy{position:relative;z-index:2;max-width:520px}.project-copy h2{font-size:48px;line-height:1.2;margin:0 0 22px;letter-spacing:0;font-weight:400}.project-copy>p{font-size:20px;line-height:1.5;margin-bottom:28px;max-width:47ch}.project-copy .text-link{margin:0}
.portfolio-project .project-copy{grid-column:1;grid-row:1}.portfolio-project .project-media{grid-column:2;grid-row:1}
.project-media{min-width:0;position:relative;margin:0 -55px}.project-media .product-model,.project-media .model-canvas{width:100%;height:570px;min-height:0;background:transparent;border-radius:0}
.project-media .model-poster{object-fit:contain;object-position:center}.project-media .model-launch{bottom:6px;left:50%;transform:translateX(-50%);font-size:13px;padding:9px 15px;white-space:nowrap;box-shadow:none;background:#fff;border:1px solid var(--line);min-height:44px;color:var(--ink)}
.project-media .model-poster{filter:url('#product-shadow-tone');mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 96%,transparent);mask-composite:intersect}
.model-size{color:var(--muted)}.project-media model-viewer{background:#f6f8f5}.project-media .model-tools{top:14px;right:14px}.project-media .model-bottom{bottom:18px;left:20px;right:20px}.model-tools button,.model-variants button{font-size:13px}.model-variants{gap:4px}.model-variants button{padding:8px 10px;min-height:40px}.model-gesture{font-size:12px}
.project-dialysis .project-media{grid-column:1;grid-row:1}.project-dialysis .project-copy{grid-column:2;grid-row:1;padding-left:20px}
.project-bioby{padding-bottom:110px}.project-bioby .project-media{margin-right:-60px;margin-left:-10px}
.portfolio-screens{margin:0;padding:38px 95px 32px 0;overflow:visible;transform:none;background:transparent}
.portfolio-screens .desktop-screen{border:1px solid #dce2d5;border-radius:9px;box-shadow:0 16px 35px #26362212}.portfolio-screens .browser-scroll{aspect-ratio:1.25}.portfolio-screens .browser-bar{height:25px}.portfolio-screens .browser-bar span{font-size:10px}
.portfolio-screens .mobile-screen{width:27%;right:0;bottom:0;border:5px solid #26332b;border-radius:20px;box-shadow:0 12px 25px #2636221f}.portfolio-screens .phone-scroll{aspect-ratio:.48}
.portfolio-screens .capture-label{top:0;left:0;font-size:12px;color:var(--muted)}.portfolio-screens .screen-toggle{top:-6px;right:95px;min-height:40px;font-size:12px;background:var(--paper);border:1px solid var(--line);box-shadow:none;padding:8px 13px}.portfolio-screens .screen-help{bottom:-5px;left:0;font-size:11px;color:var(--muted)}
.portfolio-case{display:block;padding:78px 0 0;margin:0;text-align:left}.portfolio-case .case-hero-copy{padding:0;margin:0;max-width:none}.portfolio-case h1{font-size:20px;line-height:1.5;letter-spacing:0;font-weight:400;margin:0 0 24px;color:var(--muted)}
.portfolio-case .lead{font-size:48px;line-height:1.2;max-width:1200px;margin:0;letter-spacing:0;color:var(--ink);font-weight:400}
.portfolio-case .case-credits{padding:58px 0 64px;border:0;margin:0}.portfolio-case .metadata{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:45px;width:100%;margin:0}
.portfolio-case .metadata>div,.portfolio-case .metadata>div:first-child{grid-column:auto;display:block;min-width:0}.portfolio-case .metadata dt{font-size:14px;line-height:1.5;margin-bottom:12px;color:var(--muted)}.portfolio-case .metadata dd{font-size:18px;line-height:1.5;color:var(--ink)}
.portfolio-case .case-hero-visual{position:relative;width:100vw;margin-left:calc((100% - 100vw)/2);overflow:hidden;border-radius:0;background:#f6f8f5}
.portfolio-case .product-model{width:100%;height:auto;min-height:0;border-radius:0}.portfolio-case .model-canvas{height:auto;aspect-ratio:5/3;min-height:0}.portfolio-case-dialysis .model-canvas{aspect-ratio:1672/941}
.portfolio-case .model-poster{object-fit:cover;object-position:center}.portfolio-case .model-launch{left:auto;right:var(--gutter);bottom:28px;transform:none;background:#fff;border:1px solid var(--line);box-shadow:none;font-size:14px;color:var(--ink)}
.portfolio-case .model-tools{top:24px;right:var(--gutter)}.portfolio-case .model-bottom{left:var(--gutter);right:var(--gutter);bottom:24px}.portfolio-case model-viewer{background:#f0f4ef}
.case-story .chapter{padding:100px 0;border:0;scroll-margin-top:calc(var(--header) + var(--local) + 25px)}.story-anchor{display:block;height:0;scroll-margin-top:calc(var(--header) + var(--local) + 30px)}
.story-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:52px}.story-heading h2{font-size:32px;line-height:1.2;letter-spacing:0;font-weight:400;max-width:28ch}.story-heading p{font-size:20px;line-height:1.5;max-width:58ch}.story-page-links{display:flex;gap:20px;margin-top:25px;flex-wrap:wrap}
.case-story .state-viewer{background:transparent;border-radius:0;padding:0;border:0}.case-story .state-controls{display:block}.case-story .interaction-hint{display:none}.case-story .segmented{display:flex;gap:26px;border:0;background:none;padding:0;justify-content:flex-start;flex-wrap:wrap;border-radius:0}
.case-story .segmented button{flex:none;padding:10px 0;font-size:16px;min-height:44px;border:0;border-bottom:1px solid transparent;background:none;border-radius:0;box-shadow:none;color:var(--muted);font-weight:400}.case-story .segmented button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink);background:none}
.case-story .state-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding-top:32px}.case-story .state-description{padding:0}.case-story .state-description h3{font-size:32px;line-height:1.2;letter-spacing:0;margin:0 0 24px;max-width:24ch}.case-story .state-description .state-text{font-size:20px;line-height:1.5}.case-story .state-label,.case-story .state-tags{display:none}
.case-story .embedded-model{padding:0 0 58px;background:none;border-radius:0}.case-story .embedded-model .model-canvas{height:440px}.case-story .embedded-model .model-poster{object-fit:contain}.case-story .embedded-model .model-launch{left:0;bottom:-53px;transform:none;font-size:13px;background:#fff;border:1px solid var(--line);box-shadow:none;padding:9px 15px;min-height:44px}
.case-story .embedded-model .model-enlarge{right:0;bottom:7px;width:44px;height:44px;border:1px solid var(--line);background:white;font-size:22px}.case-story .embedded-model.model-active{padding-bottom:0}.case-story .state-layout figcaption{font-size:13px;line-height:1.5;margin-top:15px;color:var(--muted)}
.case-story .image-button{border-radius:0;background:transparent}.case-story .figure figcaption{font-size:14px;line-height:1.5;margin-top:16px;color:var(--muted)}.case-story .image-button img{max-height:none}
.component-plate{position:relative;background:#030908;isolation:isolate}.component-plate .figure figcaption{display:none}.component-plate .image-button img{aspect-ratio:1800/1013;object-fit:contain;width:100%;height:auto}
.component-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.component-leaders path{fill:none;stroke:#9aafa3;stroke-width:1}.component-leaders circle{fill:#dce7df}
.component-label{position:absolute;z-index:3;color:#dce7df;font-size:14px;line-height:1.5;pointer-events:none}.label-cover{left:8%;top:32%}.label-wet{left:35%;top:14%}.label-body{right:5%;top:50%}
.control-scene{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;margin-top:90px}.control-figure .image-button img{width:100%;height:auto;object-fit:contain}.control-copy h3{font-size:32px;line-height:1.2;letter-spacing:0;margin-bottom:24px;font-weight:400}.control-copy p{font-size:20px;line-height:1.5;max-width:32ch}
.story-image-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}.story-image-pair img{width:100%;height:auto;max-height:none}.story-image-pair>.figure:last-child{padding:0}
.ui-monitor{max-width:1060px;margin:0 auto}.ui-monitor .image-button{border:10px solid #28342f;border-radius:20px;overflow:hidden;box-shadow:0 18px 40px #21372a15}.ui-monitor .image-button img{width:100%;height:auto}.interface-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:55px}.interface-pair .image-button{border:1px solid var(--line)}.interface-pair .image-button img{width:100%;height:auto}.interface-chapter>.small-note{text-align:center}
.website-composition{display:grid;grid-template-columns:minmax(0,1fr) 24%;gap:5%;align-items:center;background:#eef3e8;padding:65px var(--gutter)}
.website-composition .website-desktop .image-button{border:7px solid #fff;border-radius:10px;box-shadow:0 14px 35px #22341914;overflow:hidden}.website-composition .website-mobile .image-button{border:7px solid #29342c;border-radius:28px;box-shadow:0 12px 30px #22341920;overflow:hidden}
.website-composition .figure figcaption{font-size:13px;text-align:center;color:var(--muted);margin-top:18px}.website-composition .enlarge{right:9px;bottom:9px}.website-composition .image-button img{width:100%;height:auto}
.website-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:#f1f4ee;padding:35px}.website-pages .image-button{border:0;box-shadow:none;background:#fff}.website-pages .image-button img{width:100%;height:auto;aspect-ratio:1440/1000;object-fit:cover;object-position:top}.website-pages .figure figcaption{color:var(--ink);font-size:16px;margin-top:18px}
.case-story .web-explorer{border:0;background:none;border-radius:0;padding:0}.case-story .explorer-controls{display:flex;align-items:center;justify-content:space-between;gap:30px}.case-story .device-switch{display:flex;gap:23px;padding:0;background:none;border-radius:0}.case-story .device-switch button{padding:10px 0;min-height:44px;font-size:16px;border-bottom:1px solid transparent;background:none;border-radius:0;color:var(--muted);box-shadow:none;font-weight:400}.case-story .device-switch button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:none}
.case-story .web-preview{margin:24px 0 0;background:#f1f4ee;padding:28px;min-height:0}.case-story .scroll-preview-shell{width:100%;border:1px solid #d6dfd0;border-radius:3px;box-shadow:none;overflow:hidden}.case-story .scroll-preview{height:690px;max-height:76vh;overscroll-behavior:auto}.case-story .web-explorer[data-device=mobile] .scroll-preview-shell{width:min(360px,100%);margin:auto;border-radius:16px}
.case-story .web-description{display:grid;grid-template-columns:1fr 1fr;gap:70px;border:0;padding:0;margin-top:30px}.case-story .web-description h3{font-size:26px;line-height:1.2;letter-spacing:0}.case-story .web-description p{font-size:18px;line-height:1.5}.case-story .small-note{font-size:14px;margin-top:20px;color:var(--muted)}
.next-project{display:flex;gap:32px;align-items:center;border-top:1px solid var(--line);padding:45px 0 65px}.next-project .next-preview{width:125px;height:100px;border-radius:0;background:none;overflow:hidden}.next-project .next-preview img{width:100%;height:100%;object-fit:contain}.next-project .eyebrow{font-size:14px;line-height:1.5}.next-project h2{font-size:32px;line-height:1.2;letter-spacing:0;margin-top:12px}.next-project .next-arrow{font-size:38px;margin-left:auto}
.portfolio-profile .profile-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:100px;padding:90px 0 100px;border:0;align-items:center}.portfolio-profile .profile-introduction h1{font-size:62px;line-height:1.1;letter-spacing:0;font-weight:400}.portfolio-profile .profile-position{font-size:32px;line-height:1.2;letter-spacing:0;margin:30px 0}.portfolio-profile .profile-intro,.portfolio-profile .profile-origin{font-size:20px;line-height:1.5;max-width:58ch}.portfolio-profile .profile-origin{margin-top:24px}
.profile-links{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap}.profile-cv{margin:0}.portfolio-profile .profile-facts{display:grid;gap:35px;background:none;border-radius:0;padding:0}.portfolio-profile .profile-facts p{font-size:16px;line-height:1.5}.portfolio-profile .profile-facts .profile-education{font-size:26px;line-height:1.2;margin-bottom:12px;color:var(--ink)}
.portfolio-profile .profile-section{border:0;padding:60px 0}.portfolio-profile .profile-section>h2{font-size:32px;line-height:1.2;max-width:15ch}.portfolio-profile .profile-continuous,.portfolio-profile .profile-background{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}
.portfolio-profile .profile-experience{display:grid;grid-template-columns:1fr;gap:12px;border:0;margin:0 0 50px;padding:0}.portfolio-profile .profile-experience h3{font-size:26px;line-height:1.2;letter-spacing:0}.portfolio-profile .profile-experience p{font-size:18px;line-height:1.5}.portfolio-profile .profile-experience .profile-date{font-size:14px;color:var(--muted)}.portfolio-profile .profile-experience .profile-organisation{font-size:16px;color:var(--muted);margin-top:7px}.portfolio-profile .profile-experience .quiet-link{font-size:15px;margin-top:8px}
.profile-more summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:48px;gap:20px;font-size:16px;color:var(--green);cursor:pointer}.profile-more summary::after{content:'+';font-size:26px}.profile-more[open] summary::after{content:'−'}.portfolio-profile .profile-more[open] .profile-experience{margin-top:30px}
.portfolio-profile .profile-background{padding-bottom:100px}.portfolio-profile .profile-recognition{margin:0}.portfolio-profile .profile-recognition li{display:grid;grid-template-columns:1fr auto;gap:8px 25px;padding:0 0 30px;border:0}.portfolio-profile .profile-recognition li>span:first-child{grid-column:1;grid-row:1;font-size:18px;min-width:0}.portfolio-profile .profile-recognition .profile-award-detail{grid-column:1;grid-row:2;font-size:14px}.portfolio-profile .profile-recognition .profile-date{grid-column:2;grid-row:1/3;font-size:14px}.portfolio-profile .profile-personal{font-size:18px;line-height:1.5;margin-top:30px}
#footer{border:0;margin:0;padding:0}.portfolio-footer{padding:85px 0 35px;background:#fff;border-top:1px solid var(--line);color:var(--ink)}.footer-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:60px}.footer-heading>p{font-size:20px;line-height:1.5;max-width:25ch}.footer-contact{display:inline-flex;gap:35px;font-size:40px;line-height:1.2;min-height:48px;letter-spacing:0}.footer-contact span{font-size:32px}.footer-base{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.footer-email{font-size:18px;line-height:1.5;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}.footer-actions{display:flex;gap:26px;align-items:center}.footer-actions>*{font-size:15px;line-height:1.5;min-height:44px;display:flex;align-items:center;padding:0;color:var(--ink)}.footer-base>span{font-size:13px;grid-column:1/-1;color:var(--muted)}
@media(min-width:1800px){.project-media{margin:0 -80px}.portfolio-project{gap:90px}.project-bioby .project-media{margin-right:-80px}}
@media(min-width:761px) and (max-width:1100px){.header-actions{gap:20px}.header-inner nav{gap:19px}.portfolio-project{gap:40px;min-height:510px}.project-media{margin:0 -30px}.project-media .product-model,.project-media .model-canvas{height:480px}.project-dialysis .project-copy{padding:0}.project-bioby .project-media{margin-right:-30px}.portfolio-screens{padding-right:75px}.portfolio-screens .screen-toggle{right:75px}.story-heading,.case-story .state-layout,.case-story .web-description,.control-scene{gap:40px}.portfolio-profile .profile-hero,.portfolio-profile .profile-continuous,.portfolio-profile .profile-background{gap:55px}.portfolio-profile .profile-hero{grid-template-columns:1.2fr .8fr}}
@media(min-width:601px) and (max-width:1024px){h1,.portfolio-intro h1,.portfolio-profile .profile-introduction h1{font-size:46px}.project-copy h2{font-size:40px}p,.project-copy>p,.story-heading p,.case-story .state-description .state-text,.control-copy p,.portfolio-profile .profile-intro,.portfolio-profile .profile-origin{font-size:16px;line-height:1.5}.portfolio-case .lead{font-size:40px}.portfolio-case .metadata dd{font-size:16px}}
@media(max-width:760px){
 :root{--gutter:24px;--header:64px;--local:52px}.header-actions{gap:12px}.wordmark{font-size:18px}.language-switch{border:0;padding:0;gap:3px}.language-switch button{font-size:12px;min-width:30px}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:13px;padding:0}
 .header-inner nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:15px var(--gutter) 22px;border-bottom:1px solid var(--line)}.menu-open .header-inner nav{display:grid;gap:0}.header-inner nav a{font-size:18px;line-height:48px;min-height:48px}.header-inner nav a[aria-current]::after{width:24px;right:auto;bottom:5px}
 .case-nav>.wrap{gap:12px}.case-back{font-size:0}.case-back>span{font-size:18px}.case-nav-name{font-size:13px}.chapter-links{display:none}.chapter-select{display:block;font-size:12px;min-height:44px;max-width:155px;padding:9px 7px;border-radius:3px;background:#fff;margin-left:auto}.share-project{width:40px;height:40px;min-width:40px}
 .portfolio-intro{padding:55px 0 30px}.portfolio-intro h1{font-size:32px;line-height:1.1;max-width:24ch}.portfolio-project{display:flex;flex-direction:column;align-items:stretch;gap:18px;min-height:0;padding:12px 0 85px}.project-media{order:0;margin:0 -12px}.project-copy{order:1;max-width:none}.project-copy h2{font-size:32px;line-height:1.2;margin-bottom:18px}.project-copy>p{font-size:16px;line-height:1.5;max-width:48ch;margin-bottom:22px}.project-copy .text-link{font-size:14px;padding:11px 20px}
 .project-media .product-model,.project-media .model-canvas{height:360px}.project-media .model-launch{bottom:3px;font-size:11px;padding:9px 12px}.project-dialysis .project-copy{padding:0}.project-dialysis .project-media .model-canvas,.project-dialysis .project-media .product-model{height:390px}.project-media .model-bottom{left:15px;right:15px}.project-media .model-variants{flex-wrap:wrap}.project-media:has(.model-active) .model-canvas{height:430px}.project-media .model-tools{top:10px;right:12px}.model-variants button{font-size:11px;padding:7px 8px}
 .project-bioby .project-media{margin:0 -5px 10px}.portfolio-screens{padding:40px 75px 35px 0}.portfolio-screens .browser-scroll{aspect-ratio:1.2}.portfolio-screens .screen-toggle{right:75px;top:-2px;font-size:11px;min-height:36px;padding:7px 12px}.portfolio-screens .capture-label{font-size:11px;top:6px}.portfolio-screens .screen-help{font-size:10px;bottom:0}.portfolio-screens .mobile-screen{border-width:3px;border-radius:13px;width:29%}.portfolio-screens .browser-bar{height:18px}.portfolio-screens .browser-bar span{font-size:7px}
 .portfolio-case{padding:40px 0 0}.portfolio-case h1{font-size:16px;line-height:1.5;margin-bottom:20px}.portfolio-case .lead{font-size:26px;line-height:1.25;max-width:35ch}.portfolio-case .case-credits{padding:35px 0 40px}.portfolio-case .metadata{grid-template-columns:1fr;gap:18px}.portfolio-case .metadata>div{display:grid;grid-template-columns:85px 1fr;gap:18px}.portfolio-case .metadata dt{font-size:13px;line-height:1.5;margin:0}.portfolio-case .metadata dd{font-size:14px;line-height:1.5}
 .portfolio-case .model-canvas{height:290px;aspect-ratio:auto}.portfolio-case-dialysis .model-canvas{height:280px}.portfolio-case .model-poster{object-fit:cover}.portfolio-case-dialysis .model-poster{object-fit:contain}.portfolio-case .model-launch{right:18px;bottom:15px;font-size:11px;padding:9px 12px}.portfolio-case .product-model.model-active .model-canvas{height:430px}.portfolio-case .model-tools{right:15px;top:15px}.portfolio-case .model-bottom{left:15px;right:15px;bottom:15px}
 .case-story .chapter{padding:60px 0}.story-heading{grid-template-columns:1fr;gap:22px;margin-bottom:33px}.story-heading h2{font-size:26px;line-height:1.2;max-width:27ch}.story-heading p{font-size:16px;line-height:1.5}.story-page-links{gap:16px;margin-top:23px}.story-page-links .text-link{font-size:14px}
 .case-story .segmented{gap:20px}.case-story .segmented button{font-size:13px}.case-story .state-layout{grid-template-columns:1fr;gap:25px;padding-top:24px}.case-story .state-description h3{font-size:26px;line-height:1.2;margin-bottom:17px;max-width:none}.case-story .state-description .state-text{font-size:16px;line-height:1.5}.case-story .embedded-model .model-canvas{height:290px}.case-story .embedded-model.model-active .model-canvas{height:390px}.case-story .embedded-model .model-launch{font-size:11px;padding:9px 12px}.case-story .state-layout figcaption{font-size:11px;margin-top:12px}
 .case-story .figure figcaption{font-size:12px;margin-top:13px}.component-plate{display:grid;grid-template-columns:repeat(3,1fr)}.component-plate>.figure{grid-column:1/-1}.component-leaders{display:none}.component-label{position:static;text-align:center;font-size:12px;padding:10px 4px;line-height:1.5}.control-scene{grid-template-columns:1fr;gap:24px;margin-top:55px}.control-copy h3{font-size:26px;line-height:1.2;margin-bottom:18px}.control-copy p{font-size:16px;line-height:1.5;max-width:none}.story-image-pair{grid-template-columns:1fr;gap:30px}
 .ui-monitor .image-button{border-width:5px;border-radius:10px;box-shadow:none}.interface-pair{grid-template-columns:1fr;gap:30px;margin-top:35px}
 .website-composition{padding:30px 18px;grid-template-columns:minmax(0,1fr) 26%;gap:4%}.website-composition .website-desktop .image-button{border-width:3px;border-radius:5px}.website-composition .website-mobile .image-button{border-width:3px;border-radius:12px}.website-composition .figure figcaption{font-size:10px;line-height:1.4;margin-top:13px}.website-composition .enlarge{width:26px;height:26px;font-size:16px;right:3px;bottom:3px}
 .website-pages{grid-template-columns:1fr;gap:28px;padding:20px}.website-pages .figure figcaption{font-size:16px;margin-top:15px}.case-story .explorer-controls{flex-direction:column;align-items:stretch;gap:12px}.case-story .device-switch{justify-content:flex-start;gap:22px}.case-story .device-switch button{font-size:13px}.case-story .web-preview{padding:12px;margin-top:18px}.case-story .scroll-preview{height:500px;max-height:68vh}.case-story .web-description{grid-template-columns:1fr;gap:16px;margin-top:26px}.case-story .web-description h3{font-size:24px}.case-story .web-description p{font-size:16px;line-height:1.5}.case-story .small-note{font-size:12px;margin-top:18px}
 .next-project{gap:18px;padding:30px 0 45px}.next-project .next-preview{width:75px;height:65px}.next-project h2{font-size:25px;line-height:1.2;margin-top:7px}.next-project .eyebrow{font-size:12px}.next-project .next-arrow{font-size:28px}
 .portfolio-profile .profile-hero{grid-template-columns:1fr;gap:36px;padding:50px 0 55px}.portfolio-profile .profile-introduction h1{font-size:38px;line-height:1.1}.portfolio-profile .profile-position{font-size:26px;line-height:1.2;margin:26px 0}.portfolio-profile .profile-intro,.portfolio-profile .profile-origin{font-size:16px;line-height:1.5}.portfolio-profile .profile-origin{margin-top:22px}.profile-links{gap:15px}.profile-links .text-link{font-size:14px;padding:10px 18px}
 .portfolio-profile .profile-facts{grid-template-columns:1fr 1fr;gap:25px 20px}.portfolio-profile .profile-facts>div:first-child{grid-column:1/-1}.portfolio-profile .profile-facts p{font-size:13px;line-height:1.6}.portfolio-profile .profile-facts .profile-education{font-size:23px}.portfolio-profile .profile-continuous,.portfolio-profile .profile-background{grid-template-columns:1fr;gap:32px;padding:35px 0}.portfolio-profile .profile-section>h2{font-size:26px;max-width:none}.portfolio-profile .profile-experience{gap:10px;margin-bottom:40px}.portfolio-profile .profile-experience h3{font-size:23px}.portfolio-profile .profile-experience p{font-size:16px;line-height:1.5}.portfolio-profile .profile-experience .profile-date{font-size:12px}.portfolio-profile .profile-experience .profile-organisation{font-size:14px}.portfolio-profile .profile-experience .quiet-link{font-size:14px}
 .profile-more summary{font-size:14px}.portfolio-profile .profile-recognition li{gap:6px 17px;padding-bottom:27px}.portfolio-profile .profile-recognition li>span:first-child{font-size:16px}.portfolio-profile .profile-recognition .profile-award-detail,.portfolio-profile .profile-recognition .profile-date{font-size:12px}.portfolio-profile .profile-personal{font-size:16px;line-height:1.5;margin-top:25px}.portfolio-profile .profile-background{padding-bottom:65px}
 .portfolio-footer{padding:48px 0 25px}.footer-heading{display:block;margin-bottom:28px}.footer-heading>p{font-size:16px;margin-bottom:24px;max-width:30ch}.footer-contact{font-size:32px;gap:25px}.footer-contact span{font-size:27px}.footer-base{grid-template-columns:1fr;gap:16px}.footer-email{font-size:15px}.footer-actions{gap:25px}.footer-actions>*{font-size:13px}.footer-base>span{font-size:12px;margin-top:10px}
}
@media(max-width:360px){:root{--gutter:20px}.header-actions{gap:5px}.wordmark{font-size:17px}.language-switch{gap:0}.language-switch button{min-width:27px}.portfolio-intro{padding-top:44px}.portfolio-intro h1{font-size:32px}.project-media .model-canvas,.project-media .product-model{height:315px}.project-dialysis .project-media .model-canvas,.project-dialysis .project-media .product-model{height:340px}.portfolio-case .lead{font-size:23px}.portfolio-profile .profile-facts{grid-template-columns:1fr}.portfolio-profile .profile-facts>div:first-child{grid-column:auto}.website-composition .figure figcaption{font-size:9px}.website-pages{padding:16px}}
@media(prefers-reduced-motion:reduce){.text-link span,.quiet-link span{transition:none}}
@media print{.portfolio-project{break-inside:avoid;min-height:0}.portfolio-case .case-hero-visual{width:100%;margin:0}.portfolio-case .model-canvas{height:350px}.portfolio-footer{border-top:1px solid #ccc}.website-pages{break-inside:avoid}}
