@font-face{font-family:Inter;src:url(/assets/fonts/inter.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--canvas:#0b0b0b;--paper:#f5f5f5;--ink:#181818;--muted:#555;--line:#dedede;--panel:#ededed;--blue:#2758d7;--blue-hover:#1d46b0;--sans:Inter, Arial, Helvetica, sans-serif;--mono:"Courier New", Courier, monospace;font-family:var(--sans);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{letter-spacing:-.8px;font-size:30px;line-height:1.25}h3{letter-spacing:-.45px;font-size:21px;line-height:1.35}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{color:#17243b;background:#dce7ff}section[id]{scroll-margin-top:28px}.wrap{width:min(100% - 64px,1120px);margin-inline:auto}.eyebrow{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:500}.eyebrow>span{padding-inline:5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--blue);color:#fff;border-radius:5px;padding:10px 16px;position:absolute;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.button{text-align:center;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:11px 20px;font-size:14px;font-weight:500;line-height:1.5;transition:background .15s,border-color .15s;display:inline-flex}.button-primary,.button-dark{background:var(--blue);color:#fff;border-color:var(--blue)}.button-primary:hover,.button-dark:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.button-secondary{color:var(--ink);background:#fff;border-color:#cdd6e3}.button-secondary:hover{background:#f7f9fd;border-color:#9cacc4}.text-link{text-underline-offset:5px;align-items:center;gap:10px;font-size:14px;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--blue)}.work-section{padding-top:36px;padding-bottom:55px}.section-intro{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.section-description{color:var(--muted);font-size:14px}.work-toolbar{margin:22px 0 10px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:9px;padding:7px 12px;font-size:13px;display:inline-flex}.filter:hover{color:var(--ink);background:#f4f7fc}.filter.active{background:var(--panel);border-color:var(--line);color:var(--ink)}.filter>span{color:var(--muted);font-size:11px}.project-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:44px;display:grid}.project-card{border-top:1px solid var(--line);min-width:0}.project-link{flex-direction:column;align-items:flex-start;height:100%;padding:24px 0 27px;display:flex}.project-category{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin-bottom:9px;font-size:11px;line-height:1.7}.project-link h3{margin-bottom:9px;font-size:23px}.project-summary{color:var(--muted);max-width:480px;margin-bottom:17px;font-size:15px;line-height:1.75}.project-read{text-underline-offset:5px;align-items:center;gap:10px;margin-top:auto;font-size:14px;text-decoration:underline;display:inline-flex}.project-link:hover .project-read,.project-link:hover h3{color:var(--blue)}.project-image{aspect-ratio:3/2;border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;margin-bottom:20px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.work-credit{color:var(--muted);max-width:850px;margin-top:13px;font-size:12px;line-height:1.8}.empty-projects{color:var(--muted);padding:30px 0}.expertise-section{background:#f7f9fc;border-block:1px solid #e8edf4;padding:47px 0 50px}.expertise-heading{margin-bottom:27px}.expertise-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.expertise-item h3{margin-bottom:12px;font-size:19px}.expertise-item p{color:var(--muted);margin-bottom:17px;font-size:14px;line-height:1.8}.skill-tags{flex-wrap:wrap;gap:7px;display:flex}.skill-tags>span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:4px;padding:4px 8px;font-size:11px}.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:60px;padding-top:62px;padding-bottom:62px;display:grid}.about-location{color:var(--muted);margin-top:15px;font-size:14px}.about-content>p{color:var(--muted);margin-bottom:17px;font-size:15px;line-height:1.85}.about-content>.about-lead{color:var(--ink);font-size:19px;line-height:1.7}.about-details{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:27px;padding-top:23px;display:grid}.about-details>div>span{color:var(--muted);margin-bottom:9px;font-size:12px;display:block}.about-details strong{font-size:14px;font-weight:500;line-height:1.6;display:block}.about-details p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.8}.contact-section{padding-bottom:50px}.contact-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:26px;padding:34px;display:flex}.contact-panel>div{min-width:0;max-width:650px}.contact-panel .eyebrow{margin-bottom:10px}.contact-description{color:var(--muted);max-width:570px;margin-top:15px;font-size:15px;line-height:1.8}.email-link{letter-spacing:-.3px;text-underline-offset:6px;overflow-wrap:anywhere;margin-top:19px;font-size:21px;text-decoration:underline;display:inline-block}.email-link:hover{color:var(--blue)}.email-link>span{margin-left:8px;display:inline-block}.copy-email{flex-shrink:0}.copy-email:disabled{cursor:wait;opacity:.7}.case-page{max-width:900px;padding-top:40px;padding-bottom:65px}.case-page .back-link{margin-bottom:25px}.case-page h1{letter-spacing:-1.8px;overflow-wrap:anywhere;margin:13px 0 20px;font-size:clamp(34px,5vw,51px);line-height:1.15}.case-page>p{margin-bottom:22px}.case-summary{color:var(--muted);max-width:760px;font-size:20px;line-height:1.75}.case-body{max-width:760px}.case-body h2{margin:32px 0 14px;font-size:26px}.case-body h3{margin:26px 0 12px}.case-body p,.case-body li{color:var(--muted);font-size:16px;line-height:1.85}.case-body p+p{margin-top:16px}.case-body ul{padding-left:23px}.case-body li+li{margin-top:9px}.case-body img{max-width:100%;height:auto}.case-body a{text-underline-offset:4px;text-decoration:underline}.case-body pre{background:var(--panel);border-radius:6px;padding:20px;overflow-x:auto}.case-body figure{max-width:100%;margin-inline:0}.case-stack{flex-wrap:wrap;gap:8px;margin:27px 0;display:flex}.case-stack span{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:5px 10px;font-size:12px}.case-credits{max-width:760px;color:var(--muted);margin:24px 0;font-size:12px;line-height:1.8}.refresh-notice{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-top:16px;padding:10px 15px;font-size:14px}.refresh-notice button{color:inherit;background:0 0;border:0;padding:5px;text-decoration:underline}.project-art{border:1px solid #d7e2dc;border-radius:10px;flex-direction:column;justify-content:space-between;max-width:760px;min-height:320px;margin:28px 0;padding:27px;display:flex}.art-top,.art-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex}.art-top>span:first-child{letter-spacing:-1px;font-size:28px;font-weight:500;line-height:1.1}.art-top>span:last-child:not(:first-child){font:10px/1.5 var(--mono);text-align:right;max-width:50%}.art-bottom{font:10px/1.5 var(--mono)}.art-bottom>span:first-child{min-width:0}.art-arrow{font:21px var(--sans)}.art-ligre{color:#254f3b;background:#eaf2ed}.ligre-flow{justify-content:center;align-items:center;padding:28px 0;display:flex}.flow-node{text-align:center;min-width:0;font:10px/1.6 var(--mono);overflow-wrap:anywhere;border:1px solid #9ab8a5;flex:0 130px;padding:19px 7px}.flow-node>span{font:27px var(--sans);margin-bottom:9px;display:block}.node-order{color:#fff;background:#31563f;border-color:#31563f}.flow-path{background:#9ab8a5;flex:24px;max-width:36px;height:1px}.art-walhalla{color:#604835;background:#f5eee4;border-color:#dfd3c4}.art-walhalla em{font-family:Georgia,serif;font-weight:400}.erp-visual{justify-content:center;align-items:center;padding:30px 0;display:flex}.erp-node{border:1px solid #b7a18b;flex-direction:column;justify-content:center;align-items:center;width:110px;min-height:90px;padding:8px;font-size:17px;line-height:1.3;display:flex}.erp-woo{color:#fff;background:#705340;border-color:#705340;font-size:23px}.erp-woo>span{font-size:11px}.erp-connection{text-align:center;min-width:0;max-width:210px;font:9px/1.5 var(--mono);flex-direction:column;flex:1;align-items:center;gap:12px;display:flex}.erp-connection>span{padding-inline:5px}.erp-line{width:100%;height:1px;font:23px var(--sans);background:#b7a18b;justify-content:center;align-items:center;display:flex}.art-elfbar{color:#29405b;background:#edf3fa;border-color:#d1dfed}.brand-period{color:#6684b4}.config-visual{justify-content:space-between;align-items:center;gap:25px;padding:27px 0;display:flex}.config-symbol{font:28px var(--mono);color:#6684b4;margin-bottom:13px;display:block}.config-main>strong{letter-spacing:-.7px;font-size:27px;font-weight:400;line-height:1.15;display:block}.config-rows{border-top:1px solid #b3c6da;width:48%}.config-rows>span{border-bottom:1px solid #b3c6da;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px;display:flex}.config-rows i{font-style:normal}.art-tzn{color:#464830;background:#f3f1d8;border-color:#d8d9b4}.art-tzn .art-top>span:first-child{letter-spacing:-2px;font-size:34px;font-weight:600}.tzn-dot{color:#79874b}.tzn-visual{justify-content:center;align-items:center;padding:24px 0;display:flex;position:relative}.tzn-layout{background:#faf8e8;border:1px solid #a9b07a;width:70%;max-width:370px}.tzn-layout-nav{border-bottom:1px solid #d8dbb4;justify-content:space-between;align-items:center;padding:8px 14px;font-size:10px;display:flex}.tzn-layout-body{padding:17px}.tzn-layout-body>span{font:9px/1.4 var(--mono)}.tzn-layout-body strong{letter-spacing:-1px;margin:10px 0 15px;font-size:34px;font-weight:500;line-height:1.05;display:block}.tzn-layout-body strong>span{color:#79874b}.tzn-layout-pills{gap:6px;display:flex}.tzn-layout-pills>span{border:1px solid #c5cb9c;padding:3px 7px;font-size:9px}.tzn-grid-mark{color:#939d65;font-size:28px;position:absolute;bottom:28px;right:20px}@media (width<=850px){.expertise-list{gap:22px}.expertise-item h3{font-size:17px}.about-section{gap:35px}.section-intro{flex-direction:column;align-items:flex-start;gap:9px}}@media (width<=650px){.wrap{width:calc(100% - 40px)}.project-grid{column-gap:23px}.project-link h3{font-size:21px}.project-summary{font-size:14px}.expertise-list{grid-template-columns:1fr;gap:24px}.expertise-item+.expertise-item{border-top:1px solid var(--line);padding-top:24px}.expertise-item h3{font-size:20px}.about-section{grid-template-columns:1fr;gap:27px;padding-block:45px}.about-content>.about-lead{font-size:18px}.about-content>p{font-size:15px}.about-details{gap:22px}.contact-panel{gap:22px;padding:25px}.email-link{font-size:18px}.contact-description{font-size:14px}.case-page{padding-top:30px}.case-page h1{letter-spacing:-1.2px;font-size:38px}.case-summary{font-size:18px}.case-body p,.case-body li{font-size:15px}.project-art{min-height:290px;padding:20px}.art-top>span:first-child{font-size:24px}.art-top>span:last-child:not(:first-child),.art-bottom{font-size:9px}.erp-node{width:80px;min-height:80px;font-size:15px}.erp-woo{font-size:20px}.erp-connection{font-size:8px}.config-visual{gap:15px}.config-main>strong{font-size:23px}.config-rows>span{font-size:11px}.tzn-layout{width:82%}.tzn-layout-body>span{font-size:8px}.tzn-grid-mark{right:0}}@media (width<=420px){.eyebrow{letter-spacing:.6px;font-size:11px}.button{padding-inline:16px}.project-grid{grid-template-columns:minmax(0,1fr)}.filters{gap:4px}.filter{padding-inline:9px;font-size:12px}.about-details{grid-template-columns:1fr}.contact-panel{padding:22px}.email-link{font-size:16px}.case-page h1{font-size:34px}.project-art{min-height:270px;padding:16px}.flow-node{padding-inline:4px;font-size:9px}.config-main>strong{font-size:20px}.config-rows>span{font-size:10px}.tzn-layout-body{padding:12px}.tzn-layout-body strong{font-size:29px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.wrap{width:100%}.filters,.copy-email{display:none}.contact-panel,.expertise-section{background:#fff;border:1px solid #dedede}.work-section,.about-section,.expertise-section{padding-block:25px}.project-card,.expertise-item,.about-details{break-inside:avoid}.contact-panel{padding:20px}}:root{--screen-inset:clamp(26px, 3.25vw, 64px)}.showcase{color:#f5f5f5;position:relative}.showcase-header{z-index:3;inset:var(--screen-inset) var(--screen-inset) auto;justify-content:space-between;align-items:flex-start;gap:24px;font-size:13px;line-height:1.4;display:flex;position:absolute}.showcase-identity h1{font-size:inherit;font-weight:500}.showcase-identity p{color:#e1e1e1;margin-top:1px}.showcase-about{min-width:44px;min-height:44px;color:inherit;text-align:right;background:0 0;border:0;margin:-13px -8px 0 0;padding:0 8px}.showcase-about:hover{color:#b6b6b6}.project-gallery{--slide-width:min(54.6vw, 1205px);--slide-ideal-height:calc(var(--slide-width) * .597);--slide-step:calc(var(--slide-width) + clamp(48px, 72px - 1.5625vw, 56px));--gallery-nav-inset:clamp(24px, 5.8svh, 58px);--progress-preferred-inset:calc(100vw * 125 / 1536 - 12px);--progress-min-inset:calc(var(--gallery-nav-inset) + 46px);--progress-clearance:34px;--slide-height:min(var(--slide-ideal-height), calc(max(100svh, 360px) - 2 * (var(--progress-min-inset) + var(--progress-clearance))));isolation:isolate;height:100svh;min-height:360px;position:relative;overflow:hidden}.gallery-stage{touch-action:pan-y pinch-zoom;perspective:max(435px,120.71svh);transform:rotateX(var(--camera-pitch,0deg)) rotateY(var(--camera-yaw,0deg));position:absolute;inset:0}.gallery-filters{pointer-events:none;position:absolute}.gallery-stage[data-dragging],.gallery-stage[data-dragging] .gallery-slide{cursor:grabbing}.gallery-slide{width:var(--slide-width);height:var(--slide-height);transform:translate3d(calc(-50% + var(--arc-x,var(--rest-x,0)) * var(--slide-step)), -50%, calc(-1 * var(--arc-depth,var(--rest-depth,0)) * var(--slide-step))) rotateY(var(--arc-yaw,var(--rest-yaw,0deg))) scale(calc(var(--entrance-scale,1) * var(--arc-scale,var(--rest-scale,1))));opacity:var(--arc-opacity,var(--rest-opacity,1));-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;top:50%;left:50%}.gallery-slide:is([data-position="-1"],[data-position="1"]){--rest-depth:.256;--rest-scale:.883}.gallery-slide[data-position="-1"]{--rest-yaw:-24deg;--rest-x:-.955}.gallery-slide[data-position="1"]{--rest-yaw:24deg;--rest-x:.955}.gallery-slide[data-position="0"]{z-index:2}.gallery-slide[data-nearby=false]{--rest-opacity:0;pointer-events:none}.gallery-surface{width:100%;height:100%;filter:brightness(var(--arc-light,var(--rest-light,1)));transform:scale(var(--motion-stretch,1), var(--motion-squash,1));background:#222;border-radius:49%/2.8%;position:relative;overflow:hidden}.gallery-slide:not([data-position="0"]) .gallery-surface{--rest-light:.947}.gallery-media{width:100%;height:100%;transform:scale(calc(1.006 + (var(--motion-stretch,1) - 1) * 1.55))}.gallery-stage[data-moving] .gallery-media{filter:var(--gallery-filter)}.gallery-surface:after{background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,42%), #fff9 0%, #fff0 72%);opacity:.055;pointer-events:none;content:"";position:absolute;inset:0}.gallery-surface .project-art,.case-media .project-art{border:0;border-radius:0;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:clamp(14px,3vw,48px)}.gallery-surface .art-top>span:first-child,.case-media .art-top>span:first-child{letter-spacing:-.04em;font-size:clamp(23px,4vw,56px)}.gallery-surface .art-top>span:last-child:not(:first-child),.gallery-surface .art-bottom{font-size:clamp(9px,.95vw,13px)}.project-cover{width:100%;height:100%;position:relative}.project-cover img{object-fit:cover;width:100%;height:100%}.project-cover:has(.project-cover-title):after{content:"";background:linear-gradient(90deg,#0007,#0000 88%);position:absolute;inset:0}.project-cover-title{z-index:1;color:#fff;letter-spacing:-.045em;text-wrap:balance;max-width:80%;font-size:clamp(32px,4.1vw,74px);font-weight:700;line-height:1.04;position:absolute;top:50%;left:7%;transform:translateY(-50%)}.gallery-navigation{z-index:3;bottom:var(--gallery-nav-inset);justify-items:center;width:max-content;max-width:calc(100% - 24px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.gallery-progress{z-index:3;bottom:clamp(var(--progress-min-inset), var(--progress-preferred-inset), calc((100% - var(--slide-height)) / 2 - var(--progress-clearance)));pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.gallery-progress svg{display:block}.gallery-progress-arc{transform-origin:54px 17.4px}.gallery-progress-track,.gallery-progress-loading{opacity:.45}.gallery-progress-fill{stroke-dasharray:var(--gallery-progress,0) 2}.gallery-progress[aria-valuenow="0"] .gallery-progress-fill{stroke-linecap:butt}.gallery-progress-loading{transform-origin:54px 17.4px;transform:scaleX(var(--gallery-load,0));display:none}.gallery-loader{pointer-events:none;place-items:center;height:42px;display:none;position:absolute;inset:auto 0 0}.gallery-loader-counter{color:#fff;opacity:.45;font-variant-numeric:tabular-nums;font-size:1.424rem;font-weight:500;line-height:1.2;display:flex}.gallery-loader-digit{text-align:center;width:1ch;height:1.2em;display:grid;overflow:hidden}.gallery-loader-digit>span{grid-area:1/1}@media (prefers-reduced-motion:no-preference){.project-gallery:is([data-loading],[data-revealing]) .gallery-loader{display:grid}.project-gallery[data-loading] :is(.gallery-stage,.gallery-controls){visibility:hidden}.showcase:has(.project-gallery[data-loading]) .showcase-header{visibility:hidden}.project-gallery[data-loading] .gallery-progress-arc{visibility:hidden}.project-gallery[data-loading] .gallery-progress-loading{display:block}.project-gallery[data-revealing] .gallery-progress-arc{animation:1.75s cubic-bezier(.16,1,.3,1) both gallery-progress-curve}.project-gallery[data-revealing] .gallery-controls{animation:.5s .35s both gallery-interface-in}.showcase:has(.project-gallery[data-revealing]) .showcase-header{animation:.5s .35s both gallery-interface-in}.gallery-loader-digit-in{animation:.35s cubic-bezier(.16,1,.3,1) both gallery-digit-in}.gallery-loader-digit-out{animation:.35s cubic-bezier(.16,1,.3,1) both gallery-digit-out}.project-gallery[data-revealing] .gallery-loader-counter{animation:.75s cubic-bezier(.16,1,.3,1) .15s both gallery-counter-out}}@keyframes gallery-digit-in{0%{transform:translateY(100%)}}@keyframes gallery-digit-out{to{transform:translateY(-100%)}}@keyframes gallery-counter-out{to{opacity:0;transform:translateY(-75%)}}@keyframes gallery-interface-in{0%{opacity:0}}@keyframes gallery-progress-curve{0%{transform:scaleY(.001)}}.gallery-controls{align-items:stretch;gap:5px;display:flex}.gallery-controls button,.gallery-current{min-height:42px;color:inherit;background:#101010;border:0;border-radius:3px;place-items:center;padding:0 12px;line-height:1.2;display:grid}.gallery-controls button{width:42px;font-size:19px}.gallery-current{text-align:center;min-width:184px;max-width:min(65vw,275px);padding:8px 16px;font-size:16px}.gallery-controls button:hover,.gallery-current:hover{background:#242424}.gallery-empty{text-align:center;position:absolute;inset:45% 24px auto}@media (hover:hover) and (pointer:fine){.gallery-controls button{opacity:0;transition:opacity .2s,background .2s}.gallery-navigation:hover .gallery-controls button,.gallery-navigation:focus-within .gallery-controls button{opacity:1}}.about-dialog{width:min(44vw,680px);max-width:none;height:auto;max-height:none;color:var(--ink);background:var(--paper);--about-offset:calc(100% + clamp(12px, 1.65vw, 26px));transform:translateX(var(--about-offset));transition:transform .42s cubic-bezier(.55, 0, .75, .4), display .42s allow-discrete, overlay .42s allow-discrete;border:0;border-radius:4px;margin:0;padding:0;position:fixed;inset:clamp(12px,1.65vw,26px) clamp(12px,1.65vw,26px) clamp(12px,1.65vw,26px) auto;overflow:hidden}.about-dialog[open]{transition-timing-function:cubic-bezier(.22,1,.36,1);transform:none}.about-dialog::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:background-color .42s ease, backdrop-filter .42s ease, display .42s allow-discrete, overlay .42s allow-discrete;background:0 0}.about-dialog[open]::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009}@starting-style{.about-dialog[open]{transform:translateX(var(--about-offset))}.about-dialog[open]::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.about-sheet{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.about-bar,.about-links{border-color:var(--line);align-items:stretch;min-height:60px;display:flex}.about-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-inline:22px}.about-bar h2,.about-bar button,.about-links a{letter-spacing:0;font-size:13px;font-weight:500}.about-bar button{min-height:44px;color:inherit;background:0 0;border:0;padding:0}.about-bar button span{margin-left:4px}.about-scroll{overscroll-behavior:contain;scrollbar-width:thin;overflow:auto}.about-scroll .wrap{width:calc(100% - 44px)}.about-scroll .about-section{padding:34px 0 30px;display:block}.about-scroll .about-heading h2{letter-spacing:-.02em;font-size:16px;font-weight:600}.about-scroll .about-location{margin:4px 0 20px}.about-scroll .expertise-section{border-color:var(--line);background:0 0;padding:24px 0}.about-scroll .expertise-list{grid-template-columns:1fr;gap:18px}.about-scroll .expertise-item+.expertise-item{border-top:1px solid var(--line);padding-top:18px}.about-scroll .work-section{padding:24px 0}.about-scroll .section-intro{display:block}.about-scroll .project-grid{grid-template-columns:1fr}.about-scroll .project-link{padding:15px 0}.about-scroll .project-link h3{font-size:19px}.about-scroll .project-image{display:none}.about-scroll .contact-section{padding-bottom:28px}.about-scroll .contact-panel{border-radius:4px;padding:22px}.about-links{border-top:1px solid var(--line)}.about-links a{text-align:center;flex:1 1 0;place-items:center;padding:8px;display:grid}.about-links a+a{border-left:1px solid var(--line)}.about-links a:hover{background:var(--panel)}.case-detail{background:var(--paper);border-radius:4px;width:calc(100% - 24px);max-width:none;min-height:calc(100svh - 24px);margin:12px auto;padding:28px 30px 108px}.case-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;font-size:13px;line-height:1.45;display:flex}.case-header p:first-child{font-weight:600}.case-header a:hover{text-decoration:underline}.case-content{width:min(100%,930px);margin:0 auto}.case-transition-backdrop{display:none}.case-media{aspect-ratio:16/9;border-radius:4px;width:100%;overflow:hidden}.case-content h1{margin-top:32px}.case-content .case-summary{margin-bottom:28px}.case-navigation{z-index:4;bottom:clamp(18px,5.8svh,58px);inset-inline:var(--screen-inset);pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed}.case-scroll-progress,.case-switch,.case-navigation .back-link{color:#fff;background:#151515cf;border-radius:4px;min-height:44px}.case-scroll-progress{grid-column:1;justify-self:start;place-items:center;width:44px;display:grid}.case-switch,.case-navigation .back-link{pointer-events:auto}.case-switch{grid-column:2;align-items:center;display:flex}.case-switch span{text-align:center;min-width:145px;max-width:46vw;padding:0 8px;font-size:14px}.case-switch a,.case-navigation .back-link{place-items:center;width:44px;height:44px;font-size:21px;display:grid}.case-switch a{flex:none}.case-switch a:hover,.case-navigation .back-link:hover{background:#2b2b2b}.case-navigation .back-link{grid-column:3;justify-self:end;margin:0}.case-page:not(.case-detail){color:#f5f5f5}@media (prefers-reduced-motion:no-preference){:root[data-project-motion]{--case-ease:linear(0, .5 10%, .75 20%, .875 30%, .9375 40%, .969 50%, .984 60%, .992 70%, .996 80%, .998 90%, 1);--case-entrance:.75s;--case-overlap:.4s;--case-return:.375s}:root[data-project-motion=open] .gallery-surface[data-transition-source],:root[data-project-motion=close] .gallery-slide[data-position="0"] .gallery-surface,:root:is([data-project-motion=open],[data-project-motion=close]) .case-transition-backdrop{view-transition-name:project-panel}:root:is([data-project-motion=open],[data-project-motion=close]) .case-transition-backdrop{z-index:-1;background:var(--paper);pointer-events:none;display:block;position:fixed;inset:0}:root:is([data-project-motion=open],[data-project-motion=close]) .case-detail{view-transition-name:case-content}:root:is([data-project-motion=next],[data-project-motion=previous]) .case-navigation{view-transition-name:case-controls}:root[data-project-motion]::view-transition{pointer-events:none}:root[data-project-motion]::view-transition-group(root){animation-duration:var(--case-entrance)}::view-transition-group(case-controls){animation-duration:var(--case-entrance)}::view-transition-group(case-controls){z-index:1}::view-transition-group(project-panel){animation-duration:var(--case-entrance);animation-timing-function:var(--case-ease);z-index:1;animation-fill-mode:both}:root[data-project-motion=close]::view-transition-group(project-panel){animation-duration:var(--case-return);animation-delay:var(--case-overlap)}::view-transition-group(case-content){z-index:2}::view-transition-old(project-panel){object-fit:cover;mix-blend-mode:normal;height:100%}::view-transition-new(project-panel){object-fit:cover;mix-blend-mode:normal;height:100%}:root[data-project-motion=open]::view-transition-old(root){animation:surface-dismiss var(--case-entrance) var(--case-ease) both}:root[data-project-motion=open]::view-transition-old(project-panel){animation:surface-dismiss var(--case-entrance) var(--case-ease) both}:root[data-project-motion=open]::view-transition-new(project-panel){animation:case-paper-in calc(var(--case-entrance) + var(--case-overlap)) linear both}:root[data-project-motion=open]::view-transition-new(case-content){animation:case-content-in var(--case-entrance) var(--case-overlap) var(--case-ease) both}:root[data-project-motion=close]::view-transition-old(case-content){animation:case-content-out var(--case-entrance) var(--case-ease) both}:root[data-project-motion=close]::view-transition-old(project-panel){animation:surface-dismiss var(--case-return) var(--case-overlap) var(--case-ease) both}:root[data-project-motion=open]::view-transition-new(root){opacity:0;animation:none}:root[data-project-motion=close]::view-transition-old(root){opacity:0;animation:none}:root[data-project-motion=close]::view-transition-new(project-panel){animation:surface-reveal var(--case-return) var(--case-overlap) var(--case-ease) both}:root[data-project-motion=close]::view-transition-new(root){animation:surface-reveal var(--case-return) var(--case-overlap) var(--case-ease) both}:root[data-project-motion=next]{--case-direction:1}:root[data-project-motion=previous]{--case-direction:-1}:root:is([data-project-motion=next],[data-project-motion=previous])::view-transition-old(root){animation:case-out var(--case-entrance) var(--case-ease) both}:root:is([data-project-motion=next],[data-project-motion=previous])::view-transition-new(root){animation:case-in var(--case-entrance) var(--case-ease) both}}@keyframes surface-dismiss{to{opacity:0}}@keyframes surface-reveal{0%{opacity:0}}@keyframes case-paper-in{0%{opacity:0}28%,70%{opacity:1}to{opacity:0}}@keyframes case-content-in{0%{opacity:0;transform:perspective(1200px)translateY(9svh)rotateX(5deg)}to{opacity:1;transform:none}}@keyframes case-content-out{to{opacity:0;transform:perspective(1200px)translateY(9svh)rotateX(5deg)}}@keyframes case-in{0%{transform:translateX(calc(var(--case-direction) * 100vw))}}@keyframes case-out{to{transform:translateX(calc(var(--case-direction) * -100vw))}}.refresh-notice{z-index:5;width:max-content;max-width:calc(100% - 28px);position:fixed;top:0;left:50%;transform:translate(-50%)}@media (width<768px){.project-gallery{--slide-width:78vw;--slide-step:calc(var(--slide-width) + 25px);--progress-preferred-inset:calc(100vw * 250 / 1536 - 12px)}}@media (width<640px){.project-gallery{--slide-ideal-height:88vw;--progress-preferred-inset:calc(100vw * 325 / 1536 - 12px)}}@media (width<=720px){.showcase-identity p{display:none}.project-gallery{--gallery-nav-inset:24px}.gallery-current{min-width:150px;font-size:14px}.project-cover-title{font-size:clamp(28px,9vw,52px)}.about-dialog{width:calc(100% - 24px)}.case-detail{padding:22px 16px 94px}.case-media{aspect-ratio:4/3}.case-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;inset-inline:12px}.case-switch{justify-self:center;min-width:0;max-width:100%}.case-switch span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}}@media (height<=480px) and (width>=721px){.project-gallery{--slide-ideal-height:51svh;--gallery-nav-inset:16px;--progress-preferred-inset:62px}}@media print{.case-detail{width:100%;min-height:0;margin:0;padding:0}.case-navigation,.showcase-about,.gallery-progress{display:none}}
