@font-face{font-family:sans;src:url(../media/Archivo_Variable-s.p.2nfyaguhwvfbv.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:85.41%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:102.8%}.sans_7a84a0be-module___Gb6qa__className{font-family:sans,sans Fallback}.sans_7a84a0be-module___Gb6qa__variable{--font-portfolio-sans:"sans", "sans Fallback"}
@font-face{font-family:mono;src:url(../media/JetBrainsMono_Variable-s.p.3dx-b395cfbt6.woff2)format("woff2");font-display:swap;font-weight:100 800}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.mono_d5c654f2-module__ZfgoOa__className{font-family:mono,mono Fallback}.mono_d5c654f2-module__ZfgoOa__variable{--font-portfolio-mono:"mono", "mono Fallback"}
.portfolio{--pf-bg:#08080a;--pf-surface:#101013;--pf-surface-2:#17171b;--pf-plate:#000;--pf-ink:#f4f4f4;--pf-muted:#a2a2a6;--pf-faint:#86868b;--pf-line:#2a2a2e;--pf-line-strong:#3a3a40;background:var(--pf-bg);color:var(--pf-ink);-webkit-tap-highlight-color:transparent;font-family:var(--font-portfolio-sans), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.6}.portfolio-width{width:min(100% - 80px,1280px);margin-inline:auto}.portfolio a{text-underline-offset:.3em;text-decoration-thickness:1px}.portfolio ::selection{background:var(--pf-ink);color:var(--pf-bg)}.portfolio a:focus-visible,.portfolio button:focus-visible,.portfolio input:focus-visible,.portfolio textarea:focus-visible,.portfolio select:focus-visible{outline:2px solid var(--pf-ink);outline-offset:3px}.portfolio-skip{background:var(--pf-ink);color:var(--pf-bg);z-index:60;padding:12px 16px;position:fixed;top:-100px;left:24px}.portfolio-skip:focus{top:16px}body:has(.portfolio){background:#08080a}.portfolio-eyebrow,.portfolio-hero-eyebrow span,.portfolio-role,.portfolio-step-num,.portfolio-capability-tag,.portfolio-stack dt,.portfolio-contact dt,.portfolio-legal-meta,.portfolio-legal-num,.portfolio-fieldset legend,.portfolio-label{font-family:var(--font-portfolio-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;font-size:11.5px;font-weight:500}.portfolio-header{z-index:40;background:color-mix(in srgb, var(--pf-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--pf-line);position:sticky;top:0}.portfolio-header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:76px;display:flex}.portfolio-name{letter-spacing:-.02em;align-items:baseline;gap:10px;padding-block:12px;font-size:15px;font-weight:700;display:inline-flex}.portfolio-name span{font-family:var(--font-portfolio-mono), monospace;letter-spacing:.1em;color:var(--pf-faint);font-size:11px;font-weight:500}.portfolio-header nav{gap:30px;display:flex}.portfolio-header nav a{padding-block:16px;font-size:14px;position:relative}.portfolio-header nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .3s cubic-bezier(.2,0,0,1);position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}.portfolio-header nav a:hover:after{transform:scaleX(1)}.portfolio-header a:hover,.portfolio-footer a:hover{color:var(--pf-ink)}.portfolio h1,.portfolio h2{letter-spacing:-.042em;font-weight:700}.portfolio h3{letter-spacing:-.028em;font-weight:700}.portfolio h1{font-size:clamp(38px,5.2vw,72px);line-height:1}.portfolio h2{font-size:clamp(30px,3.7vw,54px);line-height:1.03}.portfolio h3{font-size:19px;line-height:1.3}.portfolio h1 strong,.portfolio h2 strong{font-weight:800}.portfolio strong{color:var(--pf-ink);font-weight:700}.portfolio-intro strong,.portfolio-text strong{font-weight:700}.portfolio-hero{padding-top:34px}.portfolio h1.portfolio-masthead{text-transform:uppercase;letter-spacing:-.035em;white-space:nowrap;justify-content:space-between;gap:.14em;font-size:clamp(28px,11.8vw,172px);font-weight:800;font-stretch:74%;line-height:.88;display:flex}.portfolio-hero-stage{grid-template-columns:1.1fr 1fr;align-items:end;gap:8px;display:grid}.portfolio-hero-story{padding-block:44px 72px;z-index:1;padding-right:32px;position:relative}.portfolio-role{color:var(--pf-faint);margin-bottom:24px}.portfolio-hero-eyebrow{color:var(--pf-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:20px;display:flex}.portfolio-hero-dot{background:currentColor;width:3px;height:3px}.portfolio-hero-facts{border-top:1px solid var(--pf-line);max-width:44ch;margin-top:30px}.portfolio-hero-facts li{border-bottom:1px solid var(--pf-line);color:var(--pf-muted);padding:10px 0 10px 22px;font-size:14.5px;line-height:1.5;position:relative}.portfolio-hero-facts li:before{content:"";border-left:1.5px solid var(--pf-ink);border-bottom:1.5px solid var(--pf-ink);width:8px;height:4px;position:absolute;top:18px;left:2px;transform:rotate(-45deg)}.portfolio-hero h2{text-wrap:balance;max-width:22ch;font-size:clamp(30px,3.9vw,58px);line-height:1.07}.portfolio-intro{max-width:46ch;color:var(--pf-muted);margin-top:22px;font-size:16.5px;line-height:1.7}.portfolio-hero-portrait{align-self:end;width:108%;max-width:none;height:auto;margin-left:-4%;-webkit-mask-image:linear-gradient(#000 84%,#0000 100%);mask-image:linear-gradient(#000 84%,#0000 100%)}.portfolio-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px;display:flex}.portfolio-button{background:var(--pf-ink);color:var(--pf-bg);border:1px solid var(--pf-ink);justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-size:14px;font-weight:700;transition:background-color .22s,color .22s;display:inline-flex}.portfolio-button:after{content:"→";font-family:var(--font-portfolio-mono), monospace;transition:transform .22s cubic-bezier(.2,0,0,1)}.portfolio-button:hover{color:var(--pf-ink);background:0 0}.portfolio-button:hover:after{transform:translate(4px)}.portfolio-link{padding-block:10px;font-size:14px;text-decoration:underline;transition:color .2s;display:inline-block}.portfolio-link:after{content:" →";font-family:var(--font-portfolio-mono), monospace}.portfolio-link:hover{color:var(--pf-muted)}.portfolio-section{border-top:1px solid var(--pf-line);padding-block:clamp(64px,7.5vw,104px);scroll-margin-top:92px}.portfolio-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px 48px;margin-bottom:48px;display:flex}.portfolio-section-heading p{color:var(--pf-muted);max-width:44ch;font-size:15px;line-height:1.7}.portfolio-eyebrow{color:var(--pf-faint);margin-bottom:18px;display:block}.portfolio-muted{color:var(--pf-muted)}.portfolio-capabilities{background:var(--pf-line);border:1px solid var(--pf-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.portfolio-capability{background:var(--pf-bg);padding:24px 20px 26px;transition:background-color .25s;position:relative}.portfolio-capability:hover{background:var(--pf-surface-2)}.portfolio-capability-tag{color:var(--pf-faint);margin-bottom:14px;display:block}.portfolio-capability h3{font-size:16px}.portfolio-capability>p{color:var(--pf-muted);margin-top:10px;font-size:14px;line-height:1.6}.portfolio-capability ul{margin-top:16px}.portfolio-capability li{color:var(--pf-muted);border-top:1px solid var(--pf-line);padding-block:6px;font-size:13.5px;line-height:1.5}.portfolio-capability li:first-child{border-top:1px solid var(--pf-line-strong)}.portfolio-stack{border-top:1px solid var(--pf-line);border-left:1px solid var(--pf-line);flex-wrap:wrap;display:flex}.portfolio-stack>div{border-right:1px solid var(--pf-line);border-bottom:1px solid var(--pf-line);flex:min(240px,48%);padding:22px 22px 24px;transition:background-color .25s}.portfolio-stack>div:hover{background:var(--pf-surface-2)}.portfolio-stack dt{color:var(--pf-faint)}.portfolio-stack dd{margin-top:11px;font-size:17px;font-weight:650;line-height:1.45}.portfolio-stack dd span{color:var(--pf-muted);margin-top:7px;font-size:13.5px;line-height:1.55;display:block}.portfolio-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px;display:grid}.portfolio-step{border-top:1px solid var(--pf-line-strong);padding-top:20px}.portfolio-step-num{color:var(--pf-faint)}.portfolio-step h3{margin-top:14px;font-size:18px}.portfolio-step p{color:var(--pf-muted);margin-top:10px;font-size:14.5px;line-height:1.65}.portfolio-expertise-row{border-top:1px solid var(--pf-line);grid-template-columns:1fr 1.4fr;gap:16px 64px;padding-block:30px;display:grid}.portfolio-expertise-row h3{font-size:clamp(20px,2.1vw,28px)}.portfolio-expertise-row p{color:var(--pf-muted);max-width:64ch;font-size:16px;line-height:1.7}.portfolio-plate{background:var(--pf-plate);display:block;overflow:clip}.portfolio-selected{grid-template-columns:1fr 1fr;gap:2px;display:grid}.portfolio-selected>:first-child{grid-column:1/-1}.portfolio-selected img{aspect-ratio:1.45;object-fit:contain;width:100%;height:auto;padding:4%;transition:transform .6s cubic-bezier(.2,0,0,1);display:block}.portfolio-selected>:first-child img{aspect-ratio:2.05}.portfolio-plate:hover img{transform:scale(1.02)}.portfolio-split{grid-template-columns:1fr 1.4fr;gap:32px 64px;display:grid}.portfolio-text{max-width:64ch;color:var(--pf-muted);font-size:16.5px;line-height:1.75}.portfolio-text p+p{margin-top:20px}.portfolio-page-head{padding-block:80px 52px}.portfolio-page-head h1{max-width:20ch}.portfolio-page-head p{max-width:58ch;color:var(--pf-muted);margin-top:26px;font-size:17px;line-height:1.65}.portfolio-about-lead{grid-template-columns:1.1fr 1fr;align-items:end;gap:8px 24px;padding-top:56px;display:grid}.portfolio-about-lead>div{padding-block:0 64px;padding-right:32px}.portfolio-about-lead .portfolio-link{margin-top:18px}.portfolio-about-portrait{align-self:end;width:108%;max-width:none;height:auto;margin-left:-4%;-webkit-mask-image:linear-gradient(#000 86%,#0000 100%);mask-image:linear-gradient(#000 86%,#0000 100%)}.portfolio-detail{grid-template-columns:1fr 1fr;align-items:start;gap:32px 56px;display:grid}.portfolio-detail img{object-fit:contain;width:100%;height:auto;max-height:520px;padding:3%;display:block}.portfolio-detail h2{font-size:clamp(24px,2.5vw,34px)}.portfolio-detail ul{margin-top:22px}.portfolio-detail li{border-top:1px solid var(--pf-line);color:var(--pf-muted);padding-block:13px;font-size:15.5px}.portfolio-detail li:last-child{border-bottom:1px solid var(--pf-line)}.portfolio-detail-subhead{margin-top:40px;font-size:clamp(19px,2vw,24px)}.portfolio-cats{background:var(--pf-line);border:1px solid var(--pf-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.portfolio-cat{background:var(--pf-bg);transition:background-color .25s}.portfolio-cat a{padding:18px 20px 20px;display:block}.portfolio-cat h2{letter-spacing:-.015em;font-size:15.5px;font-weight:700;line-height:1.25}.portfolio-cat p{color:var(--pf-muted);margin-top:7px;font-size:13.5px;line-height:1.5}.portfolio-cat a:hover{background:var(--pf-surface-2)}.portfolio-contact{grid-template-columns:1fr 1.05fr;gap:32px 72px;display:grid}.portfolio-contact dl div{border-top:1px solid var(--pf-line);padding-block:18px}.portfolio-contact dl div:last-child{border-bottom:1px solid var(--pf-line)}.portfolio-contact dt{color:var(--pf-faint)}.portfolio-contact dd{overflow-wrap:anywhere;margin-top:8px;font-size:clamp(17px,1.9vw,22px)}.portfolio-contact a:hover{color:var(--pf-muted)}.portfolio-form{border:1px solid var(--pf-line-strong);background:var(--pf-surface);padding:24px}.portfolio h2.portfolio-form-heading{letter-spacing:-.02em;font-size:20px;font-weight:700}.portfolio-label{color:var(--pf-faint);display:block}.portfolio-field{margin-top:18px;display:block}.portfolio-field-grid{gap:18px;margin-top:18px;display:grid}@media (min-width:640px){.portfolio-field-grid{grid-template-columns:1fr 1fr}}.portfolio-input{border:1px solid var(--pf-line-strong);background:var(--pf-bg);width:100%;color:var(--pf-ink);font:inherit;margin-top:8px;padding:11px 13px;font-size:15px;transition:border-color .2s}.portfolio-input:hover{border-color:var(--pf-faint)}.portfolio-input:focus-visible{border-color:var(--pf-ink)}.portfolio-help{max-width:54ch;color:var(--pf-muted);margin-top:16px;font-size:14px;line-height:1.6}.portfolio-notice{border:1px solid var(--pf-ink);margin-top:20px;padding:18px}.portfolio-notice-error{border-color:var(--pf-ink);border-width:2px;font-size:15px}.portfolio-notice h2{font-size:18px;font-weight:700}.portfolio-notice p{max-width:52ch;color:var(--pf-muted);margin-top:8px}.portfolio-checkbox{align-items:center;gap:11px;margin-top:18px;display:flex}.portfolio-checkbox input{appearance:none;border:1px solid var(--pf-line-strong);background:var(--pf-bg);cursor:pointer;flex:none;place-content:center;width:18px;height:18px;transition:border-color .2s,background-color .2s;display:grid}.portfolio-checkbox input:hover{border-color:var(--pf-faint)}.portfolio-checkbox input:checked{background:var(--pf-ink);border-color:var(--pf-ink)}.portfolio-checkbox input:checked:after{content:"";border-left:2px solid var(--pf-bg);border-bottom:2px solid var(--pf-bg);width:10px;height:6px;transform:translateY(-1px)rotate(-45deg)}.portfolio-fieldset{border:1px solid var(--pf-line-strong);margin-top:18px;padding:18px}.portfolio-fieldset legend{color:var(--pf-faint);padding-inline:8px}.portfolio-submit{border:1px solid var(--pf-ink);background:var(--pf-ink);color:var(--pf-bg);font:inherit;cursor:pointer;margin-top:22px;padding:14px 26px;font-size:14px;font-weight:700;transition:background-color .22s,color .22s}.portfolio-submit:hover:not(:disabled){color:var(--pf-ink);background:0 0}.portfolio-submit:disabled{opacity:.4;cursor:progress}.portfolio-legal-meta{color:var(--pf-faint);letter-spacing:.08em;margin-top:18px}.portfolio-legal-section{border-top:1px solid var(--pf-line);grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:12px 40px;padding-block:32px;display:grid}.portfolio-legal-num{color:var(--pf-faint)}.portfolio-legal-section h2{margin-top:8px;font-size:clamp(19px,2vw,25px)}.portfolio-legal-list li{border-bottom:1px solid var(--pf-line);padding-block:14px}.portfolio-legal-list li:last-child{border-bottom:0}.portfolio-legal-list .portfolio-legal-lead{max-width:60ch;font-weight:700}.portfolio-legal-list p+p{color:var(--pf-muted);max-width:62ch;margin-top:7px;font-size:15.5px}.portfolio-related{flex-wrap:wrap;gap:6px 20px;margin-top:10px;display:flex}.portfolio-related .portfolio-link{padding-block:8px}.portfolio-gallery{background:var(--pf-plate);padding-block:18px}.portfolio-gallery-row{flex-direction:column;align-items:flex-start;gap:18px;padding:9px 18px;display:flex}.portfolio-gallery-chunk{align-items:flex-start;gap:18px;width:100%;display:flex}.portfolio-gallery-figure{flex-direction:column;min-width:0;display:flex}.portfolio-gallery-tile{cursor:zoom-in;background:0 0;border:0;width:100%;min-width:0;padding:0;display:block}.portfolio-gallery-tile img{width:100%;height:auto;transition:transform .6s cubic-bezier(.2,0,0,1),opacity .3s;display:block}.portfolio-gallery-tile:hover img{transform:scale(1.03)}@media (min-width:1000px){.portfolio-gallery-row{flex-direction:row}.portfolio-gallery-chunk{display:contents}.portfolio-gallery-figure{flex-grow:calc(var(--pf-ratio) * 10);flex-basis:0}}@media (max-width:999px){.portfolio-gallery-chunk{flex-direction:column}.portfolio-gallery-figure{width:100%}}.portfolio-footer{border-top:1px solid var(--pf-line);margin-top:clamp(48px,7vw,104px);padding-top:68px}.portfolio-footer-top{grid-template-columns:1.4fr 1fr;gap:40px 48px;padding-bottom:68px;display:grid}.portfolio-email{letter-spacing:-.035em;overflow-wrap:anywhere;margin-block:18px 12px;font-size:clamp(22px,2.6vw,33px);font-weight:700;text-decoration:underline;display:inline-block}.portfolio-email:hover{color:var(--pf-muted)}.portfolio-footer-links{color:var(--pf-muted);flex-wrap:wrap;gap:0 22px;margin-top:14px;font-size:14px;display:flex}.portfolio-footer-links a{padding-block:7px;display:inline-block}.portfolio-footer-bottom nav{gap:24px;display:flex}.portfolio-footer-bottom nav a{padding-block:6px;display:inline-block}.portfolio-footer-bottom{border-top:1px solid var(--pf-line);color:var(--pf-faint);justify-content:space-between;gap:20px;padding-block:20px;font-size:12.5px;display:flex}@media (prefers-reduced-motion:reduce){.portfolio *,.portfolio :before,.portfolio :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.portfolio-plate:hover img,.portfolio-gallery-tile:hover img,.portfolio-button:hover:after{transform:none}}@media (max-width:1100px){.portfolio-capabilities,.portfolio-cats,.portfolio-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.portfolio-hero-story{padding-block:36px 56px}.portfolio-about-lead{grid-template-columns:1fr;align-items:start;gap:0}.portfolio-about-lead>div{padding-bottom:0}.portfolio-about-portrait{width:100%;max-width:520px;margin:24px 0 0}.portfolio-legal-section{grid-template-columns:1fr}}@media (max-width:760px){.portfolio-width{width:calc(100% - 40px)}.portfolio-header-inner{min-height:64px}.portfolio-header nav{gap:16px}.portfolio-header nav a{font-size:13px}.portfolio h1.portfolio-masthead{gap:.1em}.portfolio-hero-stage{grid-template-columns:1fr;gap:0}.portfolio-hero-story{padding-block:30px 0;padding-right:0}.portfolio-hero h2{font-size:clamp(27px,7vw,40px)}.portfolio-hero-portrait{width:100%;max-width:480px;margin:20px auto 0}.portfolio-intro{font-size:16px}.portfolio-section{padding-block:56px;scroll-margin-top:76px}.portfolio-section-heading{margin-bottom:32px}.portfolio-capabilities,.portfolio-cats,.portfolio-steps{grid-template-columns:1fr}.portfolio-expertise-row{grid-template-columns:1fr;padding-block:24px}.portfolio-expertise-row p{font-size:15px}.portfolio-selected{grid-template-columns:1fr;gap:2px}.portfolio-selected>:first-child img{aspect-ratio:1.45}.portfolio-split,.portfolio-contact,.portfolio-detail{grid-template-columns:1fr}.portfolio-page-head{padding-block:44px 34px}.portfolio-footer{margin-top:24px;padding-top:48px}.portfolio-footer-top{grid-template-columns:1fr;padding-bottom:44px}.portfolio-footer-bottom{flex-direction:column;gap:12px}.portfolio-footer-bottom nav{flex-wrap:wrap;gap:12px 20px}.portfolio-form{padding:18px}.portfolio-gallery{padding-block:14px}.portfolio-gallery-row{gap:14px;padding:7px 14px}.portfolio-gallery-chunk{gap:14px}}@media (max-width:420px){.portfolio-name{gap:8px;font-size:13.5px}.portfolio-name span{display:none}.portfolio-header nav{gap:12px}.portfolio-header nav a{padding-block:14px;font-size:12.5px}}.portfolio-rule{background:var(--pf-line-strong);grid-column:1/-1;height:1px;margin-bottom:28px;display:block}@media (print){.portfolio-rule{transform:none!important}}.portfolio-lightbox{z-index:50;background:#040405f7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portfolio-lightbox-control{color:#fff;border:1px solid #ffffff59;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s,color .2s;display:flex;position:fixed}.portfolio-lightbox-control:hover{color:#08080a;background:#fff}.portfolio-lightbox-counter{color:#fff;font-family:var(--font-portfolio-mono), monospace;letter-spacing:.1em;font-size:12px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media print{.portfolio-header,.portfolio-footer,.portfolio-actions,.portfolio-gallery,.portfolio-lightbox{display:none}.portfolio{--pf-bg:#fff;--pf-surface:#fff;--pf-surface-2:#fff;--pf-plate:#fff;--pf-ink:#000;--pf-muted:#333;--pf-faint:#444;--pf-line:#bbb;--pf-line-strong:#999}.portfolio-plate,.portfolio-selected,.portfolio-detail img{background:0 0}[data-rise],[data-stagger]>*{opacity:1!important;visibility:visible!important;transform:none!important}.portfolio-rule{transform:none!important}}
