*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0}img,picture,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit}button{background:0 0;border:0;padding:0}@font-face{font-family:Domine;src:url(/assets/fonts/domine/domine-bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Open Sans;src:url(/assets/fonts/open-sans/open-sans-latin.woff2)format("woff2");font-display:swap;font-stretch:100%;font-style:normal;font-weight:400}@font-face{font-family:Open Sans;src:url(/assets/fonts/open-sans/open-sans-latin.woff2)format("woff2");font-display:swap;font-stretch:100%;font-style:normal;font-weight:600}@font-face{font-family:Open Sans;src:url(/assets/fonts/open-sans/open-sans-latin.woff2)format("woff2");font-display:swap;font-stretch:100%;font-style:normal;font-weight:700}:root{--color-page:#fff;--color-hero:#f2f2f2;--color-primary:#000;--color-link:#0171e3;--color-muted:#0009;--color-footer-muted:#0006;--color-gold:#d5b48c;--color-card-blue:#bce7fd;--color-card-yellow:#f9e2ae;--font-body:"Open Sans", sans-serif;--font-heading:"Domine", serif;--font-accent:Recia, serif;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-size-footer:12px;--font-size-body:16px;--font-size-label:16px;--font-size-section-title:24px;--font-size-hero-subtitle:28px;--font-size-hero-title:32px;--line-height-footer:18px;--line-height-accent:20px;--line-height-card:24px;--line-height-body:28px;--line-height-section-title:32px;--line-height-hero-subtitle:36px;--line-height-hero-title:40px;--radius-image:4px;--radius-card:8px;--radius-panel:12px;--radius-pill:20px;--content-desktop:720px;--page-gutter-phone:24px;--grid-gap:24px;--section-spacing:48px;--section-heading-gap:24px;--card-easing:linear(0 0%, .0212 1.69492%, .0705 3.38983%, .1331 5.08475%, .2005 6.77966%, .2679 8.47458%, .3328 10.1695%, .3937 11.8644%, .4502 13.5593%, .5021 15.2542%, .5494 16.9492%, .5925 18.6441%, .6316 20.339%, .6671 22.0339%, .6992 23.7288%, .7282 25.4237%, .7545 27.1186%, .7782 28.8136%, .7996 30.5085%, .819 32.2034%, .8365 33.8983%, .8523 35.5932%, .8666 37.2881%, .8795 38.9831%, .8911 40.678%, .9017 42.3729%, .9112 44.0678%, .9198 45.7627%, .9275 47.4576%, .9345 49.1525%, .9409 50.8475%, .9466 52.5424%, .9517 54.2373%, .9564 55.9322%, .9606 57.6271%, .9644 59.322%, .9679 61.017%, .971 62.7119%, .9738 64.4068%, .9763 66.1017%, .9786 67.7966%, .9807 69.4915%, .9825 71.1864%, .9842 72.8814%, .9858 74.5763%, .9871 76.2712%, .9884 77.9661%, .9895 79.661%, .9905 81.3559%, .9914 83.0509%, .9923 84.7458%, .993 86.4407%, .9937 88.1356%, .9943 89.8305%, .9948 91.5254%, 1 93.2203%, 1 94.9153%, 1 96.6102%, 1 98.3051%, 1 100%)}.project-layer{transition:top .6s var(--card-easing), transform .6s var(--card-easing)}.project-title,.project-meta{transition:opacity .6s var(--card-easing)}:root{--card-press-position-easing:linear(0 0%, .0206 1.53846%, .0686 3.07692%, .1298 4.61538%, .1959 6.15385%, .2624 7.69231%, .3264 9.23077%, .3868 10.7692%, .4429 12.3077%, .4946 13.8462%, .5418 15.3846%, .5849 16.9231%, .6241 18.4615%, .6597 20%, .692 21.5385%, .7212 23.0769%, .7477 24.6154%, .7717 26.1538%, .7934 27.6923%, .8131 29.2308%, .8308 30.7692%, .8469 32.3077%, .8615 33.8462%, .8747 35.3846%, .8866 36.9231%, .8974 38.4615%, .9072 40%, .916 41.5385%, .924 43.0769%, .9312 44.6154%, .9378 46.1538%, .9437 47.6923%, .949 49.2308%, .9539 50.7692%, .9583 52.3077%, .9623 53.8462%, .9658 55.3846%, .9691 56.9231%, .972 58.4615%, .9747 60%, .9771 61.5385%, .9793 63.0769%, .9813 64.6154%, .983 66.1539%, .9847 67.6923%, .9861 69.2308%, .9874 70.7692%, .9886 72.3077%, .9897 73.8462%, .9907 75.3846%, .9916 76.9231%, .9924 78.4615%, .9931 80%, .9938 81.5385%, .9944 83.0769%, .9949 84.6154%, .9954 86.1539%, .9958 87.6923%, .9962 89.2308%, .9966 90.7692%, .9969 92.3077%, .9972 93.8462%, .9975 95.3846%, .9977 96.9231%, .9979 98.4615%, 1 100%);--card-press-scale-easing:linear(0 0%, .0206 3.84615%, .0686 7.69231%, .1298 11.5385%, .1959 15.3846%, .2624 19.2308%, .3264 23.0769%, .3868 26.9231%, .4429 30.7692%, .4946 34.6154%, .5418 38.4615%, .5849 42.3077%, .6241 46.1538%, .6597 50%, .692 53.8462%, .7212 57.6923%, .7477 61.5385%, .7717 65.3846%, .7934 69.2308%, .8131 73.0769%, .8308 76.9231%, .8469 80.7692%, .8615 84.6154%, .8747 88.4615%, .8866 92.3077%, .8974 96.1539%, 1 100%)}.project-card:active .project-layer{animation:card-press-position .65s var(--card-press-position-easing), card-press-scale .26s var(--card-press-scale-easing);transition:none}@keyframes card-press-position{0%{translate:0 var(--press-translation,calc(12px - var(--pressed-top))) 0px}to{translate:0}}@keyframes card-press-scale{0%{transform:scale(1)}to{transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.project-layer,.project-title,.project-meta{transition:none}.project-card:active .project-layer{animation:none}}:root{--detail-signature-easing:linear(0 0%, .0189 2.27273%, .068 4.54545%, .1376 6.81818%, .2198 9.09091%, .3082 11.3636%, .3982 13.6364%, .4859 15.9091%, .569 18.1818%, .6456 20.4545%, .7146 22.7273%, .7757 25.0%, .8287 27.2727%, .8738 29.5455%, .9116 31.8182%, .9425 34.0909%, .9673 36.3636%, .9868 38.6364%, 1.0016 40.9091%, 1.0124 43.1818%, 1.0199 45.4545%, 1.0247 47.7273%, 1.0274 50.0%, 1.0283 52.2727%, 1.028 54.5455%, 1.0268 56.8182%, 1.0249 59.0909%, 1.0227 61.3636%, 1.0202 63.6364%, 1.0176 65.9091%, 1.0151 68.1818%, 1.0127 70.4545%, 1.0105 72.7273%, 1.0085 75%, 1.0067 77.2727%, 1.0052 79.5455%, 1.0038 81.8182%, 1.0027 84.0909%, 1.0018 86.3636%, 1.0011 88.6364%, 1.0005 90.9091%, 1 93.1818%, .9997 95.4545%, .9995 97.7273%, 1 100%);--detail-back-scale-easing:linear(0 0.0%, .020586 3.0303%, .068556 6.06061%, .12976 9.09091%, .195934 12.1212%, .262358 15.1515%, .326432 18.1818%, .386818 21.2121%, .442918 24.2424%, .494565 27.2727%, .541835 30.303%, .584933 33.3333%, .624127 36.3636%, .659711 39.3939%, .691982 42.4242%, .721226 45.4546%, .747713 48.4848%, .771696 51.5152%, .793407 54.5455%, .813058 57.5758%, .830842 60.6061%, .846936 63.6364%, .8615 66.6667%, .874679 69.697%, .886604 72.7273%, .897395 75.7576%, .907159 78.7879%, .915993 81.8182%, .923988 84.8485%, .931221 87.8788%, .937766 90.9091%, .943689 93.9394%, .949047 96.9697%, 1 100%);--detail-signature-scale-easing:linear(0 0.0%, .018082 4.34783%, .065298 8.69565%, .13247 13.0435%, .212112 17.3913%, .298249 21.7391%, .386232 26.087%, .47255 30.4348%, .554664 34.7826%, .630833 39.1304%, .699976 43.4783%, .761532 47.8261%, .815348 52.1739%, .861575 56.5217%, .900589 60.8696%, .932915 65.2174%, .959173 69.5652%, .980032 73.913%, .996172 78.2609%, 1.00826 82.6087%, 1.01693 86.9565%, 1.02277 91.3044%, 1.02632 95.6522%, 1 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-page);color:var(--color-primary);font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);min-width:320px}a{color:var(--color-link)}.content-column{width:min(var(--content-desktop), calc(100% - 48px));margin-inline:auto}.section+.section{margin-block-start:var(--section-spacing)}.home-introduction{margin-top:48px}.home-introduction p+p{margin-top:16px}.home-introduction a{text-decoration:none;transition:color .3s cubic-bezier(0,0,1,1)}.home-introduction a:hover{color:#0171e399;text-decoration:underline}.home-projects{flex-direction:column;align-items:center;gap:72px;margin-top:72px;display:flex}.project-section{flex-direction:column;align-items:flex-start;gap:24px;width:720px;display:flex}.project-section h2{font:600 24px/32px var(--font-body);width:100%}#design h2{font-family:var(--font-heading);font-weight:700}.design-group{flex-direction:column;gap:32px;width:100%;display:flex}.section-essay+.design-group,.design-group+.design-group{margin-top:32px}.design-group-head{flex-direction:column;gap:4px;width:100%;display:flex}.design-group-years{font:600 12px/16px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-variant-numeric:tabular-nums}.design-group h3{font:600 20px/28px var(--font-body)}.design-group-role{font:400 16px/24px var(--font-body);color:var(--color-muted)}.project-row{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.project-card{color:#00e;flex-direction:column;align-items:flex-start;gap:12px;width:min-content;font:12px sans-serif;text-decoration:none;display:flex;position:relative}.project-preview{flex:none;width:348px;height:200px;position:relative;overflow:hidden}.project-preview-background{background:var(--color-card-blue);border-radius:8px;position:absolute;inset:0}.project-preview--yellow .project-preview-background{background:var(--color-card-yellow)}.project-layer{left:var(--layer-left);width:var(--layer-width);border-radius:var(--layer-radius);height:94%;position:absolute;top:8%}.project-image-wrapper{border-radius:inherit;position:absolute;inset:0}.project-layer img{border-radius:inherit;width:100%;height:100%;display:block}.project-labels{flex-direction:column;gap:4px;width:min-content;display:flex}.project-labels>div{flex-direction:column;width:348px;display:flex;position:relative}.project-labels p{white-space:pre-wrap;overflow-wrap:break-word;color:#000;width:348px;font:400 16px/24px var(--font-body)}.project-labels .project-title p{font-weight:700}.project-card--mixed .project-labels p{font-family:Inter,Inter Placeholder,sans-serif;font-weight:400}.project-card--mixed .project-labels span{font-family:var(--font-body)}.project-card--mixed .project-title span{font-weight:700}.project-card:hover .project-layer{top:6%}.project-card:active .project-layer{top:var(--pressed-top);border-radius:var(--pressed-layer-radius);transform:scale(.95)}.project-card:active .project-layer,.project-card:focus:not(:focus-visible) .project-layer,.project-card:hover .project-layer--hover-composited,.project-card:hover .project-labels>div,.project-card:focus:not(:focus-visible) .project-labels>div{will-change:transform}.project-card:hover .project-preview--single .project-preview-background{background:#bce7fdcc}.project-card:hover .project-preview--single.project-preview--yellow .project-preview-background{background:#f9e2aecc}.project-card:hover .project-title{opacity:.6}.project-card:hover .project-title p{text-decoration:underline}.project-card--fade-count:hover .project-meta{opacity:.6}.project-labels .project-meta{flex-direction:column;gap:0;display:flex}.project-labels .project-meta p{color:var(--color-muted)}.project-card--locked{cursor:default}.project-card--locked:hover .project-title{opacity:1}.project-card--locked:hover .project-title p{text-decoration:none}.project-locked-preview{background:var(--color-card-blue);border-radius:8px;justify-content:center;align-items:center;display:flex}.project-locked-status{font:600 16px/24px var(--font-body);color:var(--color-muted)}.project-card--mixed:hover .project-title p{font-family:var(--font-body);font-weight:700}.dream-columns{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.dream-columns ul{flex-direction:column;gap:16px;width:348px;list-style:none;display:flex}.dream-columns li{align-items:center;gap:12px;width:100%;font:12px sans-serif;display:flex}.dream-columns p{flex:1;font:400 16px/24px Inter,Inter Placeholder,sans-serif}.dream-columns p span{font-family:var(--font-body)}.dream-columns [data-complete=false] p span{color:#0009}.dream-columns .dream-emphasis{font-weight:600}.dream-icon{width:24px;height:24px;image-rendering:pixelated;flex:none}.dream-icon svg{max-width:none;display:inline}.dream-vector-definitions{z-index:0;contain:strict;width:0;height:0;position:absolute;bottom:0;left:0;overflow:hidden}.dream-vector-definitions svg{max-width:none;display:inline}.home-lower{flex-direction:column;align-items:center;gap:48px;margin-top:72px;display:flex}.testimonial-section,.contact-section{flex-direction:column;gap:24px;width:720px;display:flex}.testimonial-section h2,.contact-section h2{font:600 24px/32px var(--font-body)}.testimonial-group{border-radius:8px;width:100%;position:relative;overflow:hidden}.testimonial-group:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ccc;position:absolute;inset:0}.testimonial{flex-direction:column;align-items:flex-start;gap:20px;padding:24px;font:12px sans-serif;display:flex;position:relative;overflow:hidden}.testimonial:after{content:"";pointer-events:none;border-bottom:1px solid #0003;position:absolute;inset:0}.testimonial blockquote{width:100%}.testimonial p{font:400 16px/24px Inter,Inter Placeholder,sans-serif}.testimonial p span{font-family:var(--font-body)}.testimonial blockquote p+p{margin-top:16px}.testimonial-reviewer{align-items:center;gap:8px;display:flex}.testimonial-attribution{align-items:center;gap:10px;display:flex;overflow:hidden}.testimonial-attribution p{white-space:pre}.testimonial-attribution [data-author] span{font-weight:700}.testimonial-avatar{border-radius:20px;flex:none;width:32px;height:32px;position:relative;overflow:hidden}.testimonial-avatar-inner{background:#f2f2f2;border-radius:250px;position:absolute;inset:0;overflow:hidden}.testimonial-avatar picture{width:calc(var(--portrait-size) * var(--portrait-aspect-ratio));height:var(--portrait-size);left:var(--portrait-left);top:var(--portrait-top);max-width:none;position:absolute}.testimonial-avatar img{object-fit:fill;width:100%;max-width:none;height:100%}.contact-grid{grid-template-columns:repeat(2,minmax(344px,1fr));justify-content:center;gap:32px;display:grid}.contact-card{color:#00e;border-radius:8px;justify-content:center;align-items:center;height:60px;font:12px sans-serif;text-decoration:none;display:flex;position:relative}.contact-label{z-index:1;width:max-content;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-label p{color:var(--color-link);font:700 16px/28px var(--font-body)}.contact-card--mixed p{color:#000;font:400 16px/28px Inter,Inter Placeholder,sans-serif}.contact-card--mixed span{font:700 16px/28px var(--font-body);color:var(--color-link)}.contact-background{border-radius:inherit;z-index:1;width:100%;height:100%;transition:transform .6s var(--card-easing), background-color .6s var(--card-easing);position:absolute;top:0;left:0}.contact-background:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #0003;width:100%;height:100%;position:absolute;top:0;left:0}.contact-card:hover .contact-background:after{border:2px solid var(--color-link)}.contact-card:active .contact-background{will-change:transform;background-color:#0171e314;transform:scale(.95)}.site-footer{flex-direction:column;justify-content:center;align-items:center;width:100%;margin:48px auto;display:flex;overflow:hidden}.footer-link{color:#00e;width:114px;height:100px;font:12px sans-serif;text-decoration:none;display:block;position:relative}.footer-text{width:max-content;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.footer-text p{font:400 12px/18px var(--font-body);text-align:center;color:#000}.footer-text span{font-family:var(--font-body);color:#767676}.footer-mark{width:104px;height:52px;position:absolute;top:0;left:5px}.footer-maple{color:#0003;transform-origin:50%;width:48px;height:52px;transition:color .6s var(--card-easing);position:absolute;top:0;left:28px;overflow:visible}.footer-maple[data-cycling]{overflow:hidden}.footer-mark{transition:transform .6s var(--card-easing)}.footer-link:active .footer-mark{transform:scale(.9)}.footer-link:focus-visible{outline:2px solid var(--color-link);outline-offset:6px;border-radius:4px}.footer-link:focus-visible .footer-maple{color:#c43c2c}.footer-link:focus-visible .footer-text span{color:#000}@media (hover:hover) and (pointer:fine){.footer-link:hover .footer-maple{color:#c43c2c}.footer-link:hover .footer-text span{color:#000}}@media (prefers-reduced-motion:reduce){.contact-background,.footer-maple,.footer-mark{transition:none}}@media (width<=815px){.site-footer{margin-top:24px;padding-top:24px}.home-lower{gap:24px;margin-top:24px}.testimonial-section,.contact-section{width:100%;padding:24px 24px 0}.testimonial-section{gap:36px}.testimonial-section:first-child h2,.contact-section h2{width:100%}.testimonial-group{flex-direction:column;gap:48px;display:flex}.testimonial-group:after,.testimonial:after{content:none}.testimonial{width:100%;padding:0}.testimonial-reviewer{order:-1}.testimonial-attribution{flex-direction:column;align-items:flex-start;gap:0}.testimonial-avatar{width:48px;height:48px}.testimonial-avatar picture{width:var(--portrait-phone-size);height:calc(var(--portrait-phone-size) / var(--portrait-aspect-ratio));left:var(--portrait-phone-left);top:var(--portrait-phone-top)}.testimonial--direct-phone blockquote p{font-family:var(--font-body)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(min(348px,100%),1fr))}.home-projects{gap:72px;margin-top:24px}.project-section{width:100%;padding:24px 24px 0}.project-section h2,.dream-section h2{width:100%}.project-row{justify-content:center;align-items:initial;grid-template-columns:repeat(auto-fill,minmax(348px,1fr));grid-auto-rows:min-content;gap:24px;display:grid}.portfolio-section .project-row,[data-section=case-studies] .project-row{grid-template-columns:minmax(0,1fr)}.portfolio-section .project-card,[data-section=case-studies] .project-card,.portfolio-section .project-preview,[data-section=case-studies] .project-preview,.portfolio-section .project-labels,[data-section=case-studies] .project-labels,.portfolio-section .project-labels>div,[data-section=case-studies] .project-labels>div,.portfolio-section .project-labels p,[data-section=case-studies] .project-labels p{width:100%;min-width:0}.portfolio-section .project-preview,[data-section=case-studies] .project-preview{aspect-ratio:348/200;height:auto}.project-preview{container-type:inline-size}.portfolio-section .project-layer,[data-section=case-studies] .project-layer{left:var(--fluid-layer-left);width:var(--fluid-layer-width)}.project-layer{border-radius:var(--fluid-layer-radius)}.project-card:active .project-layer{top:var(--fluid-pressed-top);border-radius:var(--fluid-pressed-layer-radius);--press-translation:var(--fluid-press-translation)}.project-row--fill .project-card{width:100%}.dream-columns{grid-template-columns:minmax(0,1fr);justify-content:center;gap:16px;display:grid}.dream-columns ul,.dream-columns ul:first-child{width:100%;min-width:0}.content-column{width:calc(100% - 48px)}}@media (width>=816px) and (width<=1199px){.content-column{width:min(var(--content-desktop), calc(100% - 96px))}}@media (width>=1200px){.content-column{width:var(--content-desktop)}}.detail-page{padding-top:24px}@font-face{font-family:Open Sans;src:url(/assets/fonts/open-sans/open-sans-latin-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}.detail-navigation{z-index:3;backdrop-filter:blur(20px);background:#fffc;height:64px;padding:8px 0;position:sticky;top:0}.detail-navigation-inner{justify-content:space-between;align-items:center;width:736px;height:48px;margin:auto;padding-right:8px;display:flex}.detail-back-link{border-radius:100px;width:48px;height:48px;display:block;position:relative}.detail-back-background{transition:background-color .6s var(--card-easing), transform .33s var(--detail-back-scale-easing);border-radius:24px;position:absolute;inset:0}.detail-back-link svg{width:21px;height:21px;position:absolute;top:13px;left:13px}.detail-back-link:hover .detail-back-background{background:#00000014}.detail-back-link:active .detail-back-background{transform:scale(.9)}.detail-signature{color:#0009;align-items:flex-start;gap:8px;width:176px;height:48px;padding:4px 0;font:12px sans-serif;text-decoration:none;display:flex}.detail-signature-description{flex-direction:column;gap:4px;width:128px;display:flex}.detail-signature{transition:opacity .45s var(--detail-signature-easing), transform .23s var(--detail-signature-scale-easing)}.detail-signature:hover{opacity:.8}.detail-signature:active{transform:scale(.9)}.detail-signature-description p{font:400 12px/16px var(--font-body);text-align:right;white-space:nowrap}.detail-signature-description p:first-child{font-weight:600}.detail-signature-description p:last-child{width:148px;margin-left:-20px}@media (width:1199px){.detail-signature-description p:first-child{color:#000;font-family:Inter,Inter Placeholder,sans-serif;font-weight:400}}@supports (font:-apple-system-body){@media (width:1199px){.detail-signature-description p:first-child{height:16.4063px}}}.detail-avatar{background:#f2f2f2;border-radius:250px;width:40px;height:40px;position:relative;overflow:hidden}.detail-avatar picture{width:76.0938px;max-width:none;height:114px;position:absolute;top:-23px;left:-18px}.detail-avatar img{width:100%;max-width:none;height:100%}.detail-heading{margin-top:24px}.detail-heading h1{font:600 32px/40px var(--font-body)}.detail-heading .detail-mixed-heading{font-family:Inter,Inter Placeholder,sans-serif;font-weight:400}.detail-mixed-heading span{font-family:var(--font-body);font-weight:600}.detail-article{flex-direction:column;margin-top:24px;display:flex}.detail-block{margin-top:var(--block-gap);flex:none}.detail-block p,p.detail-block,.detail-section-heading{white-space:pre-wrap;overflow-wrap:break-word}.detail-block p,p.detail-block{font:400 16px/28px var(--font-body)}.detail-section-heading{font:600 24px/32px var(--font-body)}.detail-section-heading strong{font-weight:700}p.detail-mixed-text{font-family:Inter,Inter Placeholder,sans-serif}.detail-mixed-text>span{font-family:var(--font-body)}.detail-block a{text-decoration:none;transition:color .3s cubic-bezier(0,0,1,1)}.detail-block a:hover{color:#0171e399;text-decoration:underline}.detail-list{list-style:none}.detail-list li{padding-left:1.14375em;list-style:none;position:relative}.detail-list li:before{content:counter(list-item) ".";font-weight:var(--marker-weight);position:absolute;top:0;left:0}ul.detail-list li:before{content:"•"}.detail-media{width:720px;margin-inline:auto}.detail-media img{aspect-ratio:1.7734;object-fit:cover;border-radius:8px;width:100%;height:auto}.detail-media .detail-image-mockup{aspect-ratio:720/406;background:var(--color-card-blue);border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.detail-media .detail-image-mockup img{aspect-ratio:auto;object-fit:cover;border-radius:4px 4px 0 0;width:89.8611%;height:94.0887%;position:absolute;bottom:0;left:5%;box-shadow:0 0 12px #00000029}.detail-media figcaption{font:italic 400 16px/28px var(--font-body);color:#0009;text-align:center;margin-top:8px}.detail-gallery{height:442px;min-height:0;margin-top:var(--block-gap);position:relative}.detail-gallery[data-carousel-ready=true]{height:var(--gallery-height)}.detail-gallery[data-carousel-ready=false]{height:auto}.detail-gallery[data-carousel-ready=false] .detail-gallery-viewport{height:auto;position:relative}.detail-gallery[data-carousel-ready=false] .detail-gallery-track,.detail-gallery[data-carousel-ready=false] .detail-gallery-track>li,.detail-gallery[data-carousel-ready=false] .detail-gallery-track figure{height:auto}.detail-gallery[data-carousel-ready=false] .detail-gallery-track{align-items:flex-start}.detail-gallery-viewport{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.detail-gallery-track{touch-action:pan-y;user-select:none;cursor:grab;gap:24px;width:100%;height:100%;margin:0;padding:0;list-style:none;display:flex}.detail-gallery-track>li{flex:0 0 100%;width:100%;height:100%}.detail-gallery-track figure{width:100%;height:100%}.detail-gallery[data-carousel-ready=true] .detail-gallery-track>li{opacity:.4}.detail-gallery[data-carousel-ready=true] .detail-gallery-track>li[data-carousel-selected=true]{opacity:1}.detail-gallery-controls{pointer-events:none;z-index:1;position:absolute;inset:-20px}.detail-gallery-controls[hidden]{display:none}.detail-gallery-control-fieldset{pointer-events:none;user-select:none;border:0;justify-content:space-between;align-items:center;margin:0;padding:0;display:flex;position:absolute;inset:20px}.detail-gallery-control-fieldset>button{cursor:pointer;pointer-events:auto;background:#0003;border:0;border-radius:40px;width:40px;height:40px;padding:0}.detail-gallery-control-fieldset>button:first-child{margin-left:-20px}.detail-gallery-control-fieldset>button:last-child{margin-right:-20px}.detail-gallery-control-fieldset>button img{width:40px;height:40px;display:block}.detail-gallery-pagination{pointer-events:auto;user-select:none;background:0 0;border:0;border-radius:50px;place-content:center;place-items:center;height:24px;margin:0;padding:0;display:flex;position:absolute;bottom:-24px;left:50%;overflow:hidden;transform:translate(-50%)}.detail-gallery-pagination button{background:0 0;border-radius:0;place-content:center;place-items:center;width:16px;height:24px;padding:8px 4px;display:flex;overflow:hidden}.detail-gallery-pagination button:first-child,.detail-gallery-pagination button:last-child{width:20px}.detail-gallery-pagination button:first-child{padding:8px 4px 8px 8px}.detail-gallery-pagination button:last-child{padding:8px 8px 8px 4px}.detail-gallery-pagination span{background:var(--color-link);opacity:.3;border-radius:50%;width:8px;height:8px;display:block}.detail-gallery-pagination button[aria-current=true] span{opacity:1}.detail-gallery:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.detail-gallery[data-reduced-motion=true] .detail-gallery-track{transition-duration:0s}.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}.detail-mixed-caption figcaption{font-family:Inter,Inter Placeholder,sans-serif;font-style:normal}.detail-mixed-caption figcaption span{font-family:var(--font-body);font-style:italic}.detail-lower{flex-direction:column;align-items:center;gap:48px;margin-top:48px;display:flex}.not-found{min-height:500px;padding-top:160px}.not-found>p:first-child{color:#0009;font:400 12px/24px var(--font-body)}.not-found h1{font:600 32px/40px var(--font-body)}.not-found h1+p{font:400 16px/28px var(--font-body);margin-top:16px}.not-found a{font:700 16px/28px var(--font-body);margin-top:24px;display:inline-block}@media (width<=815px){.detail-navigation-inner{width:100%;padding-inline:8px}.detail-media{width:calc(100% - 16px)}.detail-gallery[data-carousel-ready=true]{aspect-ratio:auto}.detail-gallery[data-carousel-ready=false]{padding-bottom:32px}.detail-gallery-pagination{bottom:0}.detail-section-heading{margin-top:48px}.detail-lower{gap:24px;margin-top:24px}}@media (width>=600px) and (width<=815px){[data-related],[data-section=case-studies]{max-width:768px}.portfolio-section .project-row,[data-section=case-studies] .project-row,[data-related] .project-row{grid-template-columns:repeat(2,minmax(0,1fr))}[data-related] .project-card,[data-related] .project-preview,[data-related] .project-labels,[data-related] .project-labels>div,[data-related] .project-labels p{width:100%;min-width:0}[data-related] .project-preview{aspect-ratio:348/200;height:auto}[data-related] .project-layer{left:var(--fluid-layer-left);width:var(--fluid-layer-width)}}@media (width<=1199px){.detail-gallery-controls,.detail-gallery-control-fieldset{inset:0}.detail-gallery-control-fieldset>button{display:none}}@media (prefers-reduced-motion:reduce){.detail-back-background,.detail-signature{transition-duration:0s}}@media (width>=816px){.portfolio-section .project-row,[data-related] .project-row{gap:32px}.portfolio-section .project-card,[data-related] .project-card{width:calc(50% - 16px)}.portfolio-section .project-preview,[data-related] .project-preview,.portfolio-section .project-labels,[data-related] .project-labels,.portfolio-section .project-labels>div,[data-related] .project-labels>div,.portfolio-section .project-labels p,[data-related] .project-labels p{width:100%;min-width:0}.portfolio-section .project-preview,[data-related] .project-preview{aspect-ratio:348/200;height:auto;container-type:inline-size}.portfolio-section .project-layer,[data-related] .project-layer{left:var(--fluid-layer-left);width:var(--fluid-layer-width);border-radius:var(--fluid-layer-radius)}.portfolio-section .project-card:active .project-layer,[data-related] .project-card:active .project-layer{top:var(--fluid-pressed-top);border-radius:var(--fluid-pressed-layer-radius);--press-translation:var(--fluid-press-translation)}}:root{--identity-hover-easing:linear(0 0%, .0189 2.27273%, .068 4.54545%, .1376 6.81818%, .2198 9.09091%, .3082 11.3636%, .3982 13.6364%, .4859 15.9091%, .569 18.1818%, .6456 20.4545%, .7146 22.7273%, .7757 25%, .8287 27.2727%, .8738 29.5455%, .9116 31.8182%, .9425 34.0909%, .9673 36.3636%, .9868 38.6364%, 1.0016 40.9091%, 1.0124 43.1818%, 1.0199 45.4545%, 1.0247 47.7273%, 1.0274 50%, 1.0283 52.2727%, 1.028 54.5455%, 1.0268 56.8182%, 1.0249 59.0909%, 1.0227 61.3636%, 1.0202 63.6364%, 1.0176 65.9091%, 1.0151 68.1818%, 1.0127 70.4545%, 1.0105 72.7273%, 1.0085 75%, 1.0067 77.2727%, 1.0052 79.5455%, 1.0038 81.8182%, 1.0027 84.0909%, 1.0018 86.3636%, 1.0011 88.6364%, 1.0005 90.9091%, 1 93.1818%, .9997 95.4545%, .9995 97.7273%, 1 100%)}.hero-social a,.company-logos a{transition:transform .45s var(--identity-hover-easing), opacity .45s var(--identity-hover-easing);transform-origin:50%}.hero-social a:hover,.company-logos a:hover{opacity:.8;transform:scale(1.1)}.company-logos a[data-hover-opacity=solid]:hover{opacity:1}@media (prefers-reduced-motion:reduce){.hero-social a,.company-logos a{transition:none}}
