:root{--background:#f7f7f5;--ink:#232323;--muted:#686864;--soft:#e7e7e3;--panel:#efefec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--background);color:var(--ink);font-synthesis:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;margin:0;overflow-x:clip}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--ink);outline-offset:4px}main:focus{outline:none}[hidden]{display:none!important}.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:100;background:var(--ink);min-height:44px;color:var(--background);border-radius:6px;align-items:center;padding:0 16px;transition:transform .16s;display:inline-flex;position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 24px))}.skip-link:focus{transform:translateY(0)}.intro{grid-template-rows:auto 1fr;min-height:100svh;padding:clamp(18px,2.1vw,34px) clamp(18px,2.1vw,34px) 112px;display:grid;overflow:clip}.intro-utilities{justify-content:space-between;align-items:flex-start;gap:28px;font-size:13px;line-height:1;display:flex}.social-links{flex-wrap:wrap;gap:7px 22px;display:flex}.intro-profile{align-items:center;gap:14px;margin-left:auto;display:flex}.intro-avatar{object-fit:cover;border-radius:11px;flex:none;width:56px;height:56px;display:block}.intro-utilities a,.portfolio-link{align-items:center;min-height:44px;display:inline-flex;position:relative}.intro-utilities a:after,.portfolio-link:after,.site-footer a:after,.call-panel a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.intro-utilities a:hover:after,.intro-utilities a:focus-visible:after,.portfolio-link:hover:after,.portfolio-link:focus-visible:after,.site-footer a:hover:after,.site-footer a:focus-visible:after,.call-panel a:hover:after,.call-panel a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.portfolio-link{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.portfolio-dialog{background:var(--ink);width:min(520px,100vw - 24px);max-width:none;max-height:calc(100svh - 24px);color:var(--background);overscroll-behavior:contain;border:0;border-radius:12px;margin:auto;padding:0;overflow:hidden auto;box-shadow:0 28px 100px #23232357}.portfolio-dialog[open]{animation:.28s cubic-bezier(.2,.8,.2,1) both portfolio-dialog-open}.portfolio-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#23232352;animation:.22s both portfolio-backdrop-open}.portfolio-dialog-shell{flex-direction:column;min-height:470px;padding:clamp(28px,5vw,48px);display:flex;position:relative}.portfolio-dialog-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.portfolio-dialog-close span,.portfolio-dialog-close span:after{background:currentColor;width:20px;height:1px;display:block}.portfolio-dialog-close span{transform:rotate(45deg)}.portfolio-dialog-close span:after{content:"";transform:rotate(90deg)}.portfolio-dialog-close:hover{background:#f7f7f514}.portfolio-dialog :focus-visible{outline:2px solid var(--background);outline-offset:3px}.portfolio-dialog-intro{padding-right:34px}.portfolio-dialog h2{letter-spacing:-.065em;text-wrap:balance;max-width:9ch;margin:0;font-size:clamp(36px,6vw,54px);font-weight:500;line-height:.95}.portfolio-dialog-intro p{color:#c5c5bf;text-wrap:balance;max-width:38ch;margin:22px 0 0;font-size:15px;line-height:1.45}.portfolio-request-form{grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:42px;display:grid}.portfolio-request-field{flex-direction:column;gap:8px;display:flex}.portfolio-request-field label{color:#c5c5bf;font-size:12px}.portfolio-request-field input{width:100%;height:48px;color:var(--background);font:inherit;background:#2d2d2b;border:1px solid #52524e;border-radius:6px;padding:0 13px;font-size:15px;transition:border-color .16s,background .16s}.portfolio-request-field input:hover{border-color:#777772}.portfolio-request-field input:focus{border-color:var(--background);background:#323230;outline:none}.portfolio-request-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.portfolio-request-submit,.portfolio-request-finish{background:var(--background);min-height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:6px;padding:0 18px;font-size:13px;font-weight:500;transition:opacity .16s,transform .18s cubic-bezier(.2,.8,.2,1)}.portfolio-request-submit{grid-column:1/-1;margin-top:4px}.portfolio-request-submit:hover:not(:disabled),.portfolio-request-finish:hover{transform:translateY(-1px)}.portfolio-request-submit:disabled{opacity:.55;cursor:wait}.portfolio-request-privacy{color:#92928d;text-align:center;grid-column:1/-1;margin:-9px 0 0;font-size:11px}.portfolio-request-error{color:#ffd0c8;grid-column:1/-1;margin:-4px 0;font-size:12px;line-height:1.4}.portfolio-request-success{flex-direction:column;flex:1;justify-content:space-between;align-items:flex-start;gap:32px;min-height:210px;margin-top:42px;display:flex}.portfolio-request-success p{color:#c5c5bf;max-width:34ch;margin:0;font-size:18px;line-height:1.45}.portfolio-request-success strong{color:var(--background);overflow-wrap:anywhere;font-weight:500}.portfolio-request-finish{width:100%}@keyframes portfolio-dialog-open{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes portfolio-backdrop-open{0%{opacity:0}to{opacity:1}}.intro-identity{grid-template-rows:1fr auto;min-height:0;display:grid}.intro-name{letter-spacing:-.09em;flex-direction:column;align-self:center;width:100%;margin:0;font-size:clamp(88px,15.5vw,246px);font-weight:500;line-height:.74;display:flex}.intro-name span:last-child{align-self:flex-end;padding-right:.07em}.intro-title{max-width:60ch;color:var(--muted);text-wrap:balance;margin:0;font-size:clamp(15px,1.35vw,20px);line-height:1.35}.mode-rail{z-index:20;align-items:center;width:max-content;max-width:100%;min-height:88px;margin-top:-88px;padding:16px clamp(18px,2.1vw,34px) 20px;display:flex;position:sticky;top:0}.mode-tabs{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f7f5f0;border:1px solid #deded9;border-radius:8px;grid-template-columns:1fr 1fr;width:316px;height:48px;padding:4px;display:grid;position:relative;box-shadow:0 8px 30px #23232312}.mode-indicator{background:var(--ink);border-radius:5px;width:calc(50% - 4px);transition:transform .36s cubic-bezier(.2,.9,.2,1);position:absolute;top:4px;bottom:4px;left:4px}.mode-indicator[data-mode=builder]{transform:translate(100%)}.mode-tab{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:40px;padding:0 12px;font-size:13px;transition:color .22s;position:relative}.mode-tab[aria-selected=true]{color:var(--background)}.mode-canvas{min-height:100svh;padding-top:clamp(42px,6vw,94px);scroll-margin-top:82px}.mode-panel{animation:.52s cubic-bezier(.2,.85,.2,1) both mode-enter}@keyframes mode-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.design-gallery{padding:0 clamp(12px,2.1vw,34px) 130px}.design-cluster{margin-bottom:clamp(78px,9vw,144px)}.design-cluster:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 1200px}.design-shot{background:var(--panel);min-width:0;margin:0;overflow:hidden}.design-lead{aspect-ratio:11/5;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(10px,1.25vw,20px);display:grid}.design-lead>.design-shot,.design-supports .design-shot{height:100%}.design-supports{grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.25vw,20px);min-height:0;display:grid}.design-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.25vw,20px);margin-top:clamp(10px,1.25vw,20px);display:grid}.design-pairs .design-shot:not(.design-shot--wide){aspect-ratio:8/5}.design-shot--wide{grid-column:1/-1}.design-shot img{width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.8,.2,1);display:block;transform:scale(1.001)}.design-lead .design-shot img,.design-pairs .design-shot:not(.design-shot--wide) img{object-fit:cover;height:100%}@media (hover:hover){.design-shot:hover img{transform:scale(1.018)}}@supports (animation-timeline:view()){.design-shot{animation:linear both shot-reveal;animation-timeline:view();animation-range:entry cover 28%}@keyframes shot-reveal{0%{opacity:.38;translate:0 34px}to{opacity:1;translate:0}}}.builder-gallery{margin:0;padding:5vh clamp(18px,2.8vw,46px) 160px;list-style:none;overflow:clip}.builder-object{isolation:isolate;margin-bottom:clamp(96px,13vw,210px);position:relative}.builder-heading{justify-content:flex-start;align-items:center;min-height:clamp(220px,32vw,500px);display:flex;position:relative}.builder-object:nth-child(2n) .builder-heading{justify-content:flex-end}.builder-word{letter-spacing:-.1em;white-space:nowrap;font-size:clamp(92px,16.5vw,260px);font-weight:500;line-height:.72;position:relative}.builder-icon{object-fit:cover;border-radius:18%;flex:none;width:clamp(58px,7.2vw,110px);height:clamp(58px,7.2vw,110px);margin-left:clamp(16px,2vw,32px)}.builder-name{z-index:1;transition:transform .7s cubic-bezier(.15,.9,.2,1),letter-spacing .7s cubic-bezier(.15,.9,.2,1);position:relative}.builder-echo{z-index:0;color:#0000;opacity:.22;-webkit-text-stroke:1px var(--ink);transition:transform .8s cubic-bezier(.15,.9,.2,1),opacity .5s;position:absolute;transform:translate(4vw,5vw)}.builder-object:nth-child(2n) .builder-echo{transform:translate(-4vw,5vw)}.builder-details{z-index:2;justify-content:space-between;align-items:flex-end;gap:20px 48px;margin:clamp(-54px,-3.2vw,-24px) 0 clamp(28px,3vw,48px);display:flex;position:relative}.builder-object:nth-child(2n) .builder-details{flex-direction:row-reverse}.builder-description{max-width:min(48ch,58vw);color:var(--muted);text-wrap:balance;margin:0;font-size:clamp(15px,1.35vw,20px);line-height:1.35}.builder-object:nth-child(2n) .builder-description{text-align:right}.builder-meta{color:var(--muted);letter-spacing:0;white-space:nowrap;align-items:center;gap:8px 20px;font-size:13px;line-height:1.2;display:flex}.builder-link{min-height:44px;color:var(--ink);align-items:center;display:inline-flex;position:relative}.builder-link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.builder-link:hover:after,.builder-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.builder-media{gap:clamp(10px,1.25vw,20px);display:grid}.builder-media figure{background:var(--panel);min-width:0;margin:0;overflow:hidden}.builder-media img{width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.8,.2,1);display:block}.builder-media--pause{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:clamp(12px,1.4vw,20px);max-width:100%;display:flex;overflow-x:auto}.builder-media--pause::-webkit-scrollbar{display:none}.builder-media--pause figure{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 clamp(280px,30vw,430px);min-width:0}.builder-media--pause:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.builder-media--tabrio,.builder-media--blips{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-media--tabrio .builder-media-feature,.builder-media--blips .builder-media-feature{grid-column:1/-1}@media (hover:hover){.builder-media figure:hover img{transform:scale(1.012)}.builder-media.builder-media--pause figure:hover img{transform:none}.builder-object:hover .builder-name{letter-spacing:-.075em;transform:translate(2vw)}.builder-object:nth-child(2n):hover .builder-name{transform:translate(-2vw)}.builder-object:hover .builder-echo{opacity:.45;transform:translate(1vw,1.5vw)}.builder-object:nth-child(2n):hover .builder-echo{transform:translate(-1vw,1.5vw)}}@supports (animation-timeline:view()){.builder-name,.builder-echo{animation:linear both builder-arrive;animation-timeline:view();animation-range:entry cover 38%}.builder-object:nth-child(2n) .builder-name,.builder-object:nth-child(2n) .builder-echo{--entry-x:12vw}@keyframes builder-arrive{0%{translate:var(--entry-x,-12vw) 20px}to{translate:0}}}.call-dock{width:min(390px,100vw - 24px);right:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(50%)}.call-toggle{border:1px solid var(--ink);background:var(--ink);width:7em;min-width:7em;height:3em;min-height:3em;color:var(--background);cursor:pointer;pointer-events:auto;border-radius:999px;order:2;place-items:center;padding:0 1.1875em;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),min-width .28s cubic-bezier(.2,.8,.2,1),min-height .28s cubic-bezier(.2,.8,.2,1),padding .28s cubic-bezier(.2,.8,.2,1),border-radius .28s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden;box-shadow:0 8px 30px #23232333}.call-toggle:hover{transform:translateY(-2px)}.call-toggle-label{white-space:nowrap;opacity:1;align-items:center;gap:9px;transition:opacity .14s,transform .24s cubic-bezier(.2,.8,.2,1);display:inline-flex;transform:scale(1)}.call-close-icon{opacity:0;width:26px;height:26px;transition:opacity .14s,transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;transform:rotate(-90deg)scale(.55)}.call-close-icon:before,.call-close-icon:after{content:"";background:currentColor;border-radius:2px;width:26px;height:2px;position:absolute;top:50%;left:0}.call-close-icon:before{transform:translateY(-50%)rotate(45deg)}.call-close-icon:after{transform:translateY(-50%)rotate(-45deg)}.call-dock[data-open=true] .call-toggle{border-radius:50%;width:56px;min-width:56px;height:56px;min-height:56px;padding:0}.call-dock[data-open=true] .call-toggle-label{opacity:0;transform:scale(.72)}.call-dock[data-open=true] .call-close-icon{opacity:1;transform:rotate(0)scale(1)}.call-status{background:#b6e66d;border-radius:50%;width:7px;height:7px;animation:3.4s ease-out infinite call-breathe;box-shadow:0 0 #b6e66d8c}@keyframes call-breathe{0%,58%,to{box-shadow:0 0 #b6e66d80}72%{box-shadow:0 0 0 7px #b6e66d00}}.call-panel{background:var(--ink);width:100%;color:var(--background);pointer-events:auto;border-radius:10px;order:1;padding:20px;animation:.26s cubic-bezier(.2,.8,.2,1) both call-open;box-shadow:0 18px 60px #23232340}.call-panel p{letter-spacing:-.025em;margin:0 0 18px;font-size:18px;line-height:1.28}.call-panel a{align-items:center;min-height:44px;font-size:13px;display:inline-flex;position:relative}.call-actions{flex-direction:column;align-items:flex-start;display:flex}@keyframes call-open{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.site-footer{min-height:150px;color:var(--muted);justify-content:space-between;align-items:flex-start;gap:24px;padding:32px clamp(18px,2.1vw,34px) 90px;font-size:12px;display:flex}.site-footer a{min-height:44px;color:var(--ink);align-items:center;display:inline-flex;position:relative}@media (max-width:700px){.intro{padding:16px 12px 98px}.intro-utilities{flex-wrap:wrap;gap:8px 18px;font-size:12px}.intro-avatar{border-radius:9px;width:42px;height:42px}.portfolio-dialog-shell{min-height:min(520px,100svh - 24px);padding:30px 22px 24px}.portfolio-dialog-close{top:8px;right:8px}.portfolio-dialog h2{font-size:clamp(36px,12vw,48px)}.portfolio-request-form{grid-template-columns:1fr;gap:16px;margin-top:32px}.portfolio-request-submit,.portfolio-request-privacy,.portfolio-request-error{grid-column:auto}.portfolio-request-submit{margin-top:4px}.social-links{gap:0 16px}.intro-name{font-size:clamp(68px,23vw,118px);line-height:.79}.intro-name span:last-child{padding-right:.03em}.intro-title{max-width:30ch;font-size:14px}.mode-rail{width:100%;min-height:82px;margin-top:-82px;padding:14px 124px 18px 12px;top:0}.mode-tabs{width:100%;min-width:0}.mode-tab{white-space:nowrap;padding-inline:4px;font-size:12px}.mode-canvas{padding-top:38px;scroll-margin-top:74px}.design-gallery{padding:0 12px 80px}.design-cluster{margin-bottom:72px}.design-lead,.design-supports,.design-pairs{aspect-ratio:auto;margin:0;display:block}.design-shot,.design-lead>.design-shot,.design-supports .design-shot,.design-pairs .design-shot:not(.design-shot--wide){aspect-ratio:auto;width:100%;height:auto;margin:0 0 12px}.design-lead .design-shot img,.design-pairs .design-shot:not(.design-shot--wide) img{object-fit:contain;height:auto}.builder-gallery{padding:4vh 12px 120px}.builder-object{margin-bottom:88px}.builder-heading{min-height:clamp(180px,58vw,280px);overflow:hidden}.builder-word{font-size:clamp(72px,24vw,126px)}.builder-icon{border-radius:17%;width:clamp(48px,14vw,62px);height:clamp(48px,14vw,62px);margin-left:12px}.builder-details,.builder-object:nth-child(2n) .builder-details{flex-direction:column;align-items:flex-start;gap:6px;margin:-20px 0 24px}.builder-description,.builder-object:nth-child(2n) .builder-description{letter-spacing:-.015em;text-align:left;width:100%;max-width:none;font-size:clamp(11px,3.35vw,14px)}.builder-meta{gap:5px 14px;font-size:12px}.builder-object .builder-echo{transform:translate(2vw,9vw)}.builder-object:nth-child(2n) .builder-echo{transform:translate(-2vw,9vw)}.builder-media--pause{gap:12px}.builder-media--pause figure{flex-basis:88%}.builder-media--tabrio,.builder-media--blips{grid-template-columns:1fr}.builder-media--tabrio .builder-media-feature,.builder-media--blips .builder-media-feature{grid-column:auto}.call-dock{align-items:flex-end;width:calc(100vw - 24px);right:12px;transform:none}.call-toggle{width:6.5em;min-width:6.5em;padding-inline:.875em}.site-footer{min-height:130px;padding:24px 12px 88px}}@media (max-width:360px){.mode-tab{letter-spacing:-.02em;padding-inline:2px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important;animation-timeline:none!important}}
