:root{--ink:#222;--paper:#f9f9f9;--muted:#666;--line:#2222222e;--panel:#ededed;--accent:#d1baff;--content:1290px;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--paper);background-image:var(--noise);color:var(--ink);margin:0;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit}img{max-width:100%;display:block}.reading-progress{z-index:100;background:var(--accent);width:0;height:3px;position:fixed;inset:0 auto auto 0}.article-header{z-index:50;padding:14px 0 0;position:sticky;top:0}.article-header-inner{width:min(var(--content), calc(100vw - 40px));background:var(--ink);color:#ededed;border:1px solid #ededed59;border-radius:38px;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;height:70px;min-height:70px;max-height:70px;margin:0 auto;padding:8px 12px 8px 16px;display:grid;box-shadow:0 12px 34px #0000001f}.article-logo{align-items:center;width:38px;text-decoration:none;display:inline-flex}.article-logo img{object-fit:contain;filter:brightness(0)invert();width:38px;height:46px}.article-nav{justify-content:center;align-items:center;gap:clamp(22px,4vw,55px);display:flex}.article-nav a{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:650;text-decoration:none;position:relative}.article-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.article-nav a:hover:after,.article-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.article-nav a[aria-current=page]{color:var(--accent)}.article-nav a[aria-current=page]:after{background:var(--accent);transform:scaleX(1)}.article-nav .article-nav-contact{display:none}.article-nav .article-nav-language{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:7px 10px;line-height:1;transition:background-color .18s,color .18s}.article-nav .article-nav-language:after{display:none}.article-contact,.article-back-link{letter-spacing:.09em;text-transform:uppercase;border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 20px;font-size:12px;font-weight:700;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.article-contact span,.article-back-link span{font-size:18px;line-height:1}.article-contact:hover,.article-contact:focus-visible{color:var(--ink);background:#ededed}.article-contact[aria-current=page]{border-color:var(--accent);background:var(--accent);color:var(--ink)}.article-menu-button{color:#ededed;cursor:pointer;background:0 0;border:1px solid #ededed;border-radius:50%;width:46px;height:46px;padding:11px;display:none}.article-menu-button span{background:currentColor;width:100%;height:1px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.article-menu-button[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.article-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.article-menu-button[aria-expanded=true] span:last-child{transform:translateY(-6px)rotate(-45deg)}.article-shell{width:min(100%, var(--content));margin:0 auto;padding:44px clamp(20px,3vw,40px) 100px}.article-hero{background:var(--ink);color:var(--paper);border-radius:clamp(24px,4vw,46px);padding:clamp(36px,7vw,92px);position:relative;overflow:hidden}.article-hero:after{aspect-ratio:1;content:"";border:1px solid #d1baffa6;border-radius:50%;width:clamp(260px,38vw,520px);position:absolute;bottom:clamp(-120px,-8vw,-60px);right:clamp(-100px,-5vw,-35px);box-shadow:0 0 0 46px #d1baff0f,0 0 0 92px #d1baff09}.article-kicker,.article-section-label{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:750;display:block}.article-hero h1{z-index:1;letter-spacing:-.065em;text-wrap:balance;max-width:970px;margin:0;font-size:clamp(42px,7vw,92px);font-weight:540;line-height:.98;position:relative}.article-dek{z-index:1;color:#f9f9f9bd;max-width:690px;margin:32px 0 0;font-size:clamp(17px,1.8vw,22px);line-height:1.5;position:relative}.article-meta{z-index:1;color:#f9f9f9a6;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #f9f9f92e;flex-wrap:wrap;gap:12px 26px;margin-top:44px;padding-top:24px;font-size:12px;font-weight:650;display:flex;position:relative}.article-layout{grid-template-columns:minmax(180px,240px) minmax(0,760px);justify-content:center;gap:clamp(50px,9vw,120px);margin-top:clamp(60px,8vw,110px);display:grid}.article-aside{position:relative}.article-aside-inner{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;border:1px solid var(--line);background:var(--paper);max-height:calc(100dvh - 142px);color:var(--ink);border-radius:16px;padding:20px 14px;position:sticky;top:118px;overflow-y:auto}.article-aside h2{color:var(--ink);font:600 12px/1.4 var(--font-display,sans-serif);letter-spacing:.12em;text-transform:uppercase;margin:0 10px 14px;font-weight:600!important}.article-aside ol{counter-reset:article-nav;gap:4px;margin:0;padding:0;list-style:none;display:grid}.article-aside li{counter-increment:article-nav}.article-aside a{color:#434343;min-height:44px;font:500 15px/1.45 var(--font-display,sans-serif);overflow-wrap:anywhere;border-radius:8px;grid-template-columns:24px 1fr;align-items:baseline;gap:8px;padding:10px;text-decoration:none;transition:background-color .16s,color .16s;display:grid}.article-aside a:before{color:inherit;content:counter(article-nav, decimal-leading-zero);letter-spacing:.08em;font-size:11px;font-weight:700}.article-aside a:hover{background:var(--color-primary-soft,#e8e2f5);color:var(--ink)}.article-aside a[aria-current=location]{background:var(--accent);color:var(--ink);box-shadow:inset 3px 0 0 var(--ink);font-weight:600}.article-aside a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.article-aside a{transition:none}}.article-body{min-width:0}.article-body>p:first-of-type{letter-spacing:-.025em;margin-top:0;font-size:clamp(21px,2.3vw,28px);line-height:1.45}.article-body h2{letter-spacing:-.045em;text-wrap:balance;margin:80px 0 22px;scroll-margin-top:120px;font-size:clamp(30px,4vw,48px);font-weight:560;line-height:1.08}.article-body p,.article-body li{color:#464646;font-size:17px;line-height:1.8}.article-body ul{gap:12px;padding-left:22px;display:grid}.article-callout{border:1px solid var(--ink);background:var(--accent);border-radius:24px;margin:48px 0;padding:clamp(26px,4vw,42px)}.article-callout strong{letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:12px;display:block}.article-callout p{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(20px,2.6vw,29px);font-weight:540;line-height:1.35}.article-facts{border:1px solid var(--line);background:var(--line);border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:42px 0;display:grid;overflow:hidden}.article-fact{background:var(--panel);min-height:150px;padding:26px}.article-fact span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:30px;font-size:10px;font-weight:700;display:block}.article-fact strong{font-size:18px;line-height:1.35;display:block}.article-source{border-top:1px solid var(--line);color:var(--muted);margin-top:74px;padding-top:24px;font-size:13px}.article-source a{text-underline-offset:4px}.article-next{border-top:1px solid var(--line);margin-top:clamp(90px,11vw,150px);padding-top:34px}.article-next-header{justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px;display:flex}.article-next h2{letter-spacing:-.055em;max-width:700px;margin:0;font-size:clamp(38px,5vw,68px);font-weight:540;line-height:1}.article-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.article-next-card{border:1px solid var(--ink);background:var(--panel);border-radius:28px;flex-direction:column;justify-content:space-between;min-height:260px;padding:clamp(26px,4vw,42px);text-decoration:none;transition:transform .22s,background .22s;display:flex}.article-next-card:first-child{background:var(--accent)}.article-next-card:hover{transform:translateY(-6px)}.article-next-card span{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.article-footer{background:var(--ink);color:#ededed;border-radius:34px;margin:0 clamp(14px,2.5vw,30px) 20px}.article-footer-inner{width:min(100%, var(--content));justify-content:space-between;align-items:center;gap:30px;min-height:150px;margin:0 auto;padding:38px clamp(24px,4vw,54px);display:flex}.article-footer h2{letter-spacing:-.05em;margin:0;font-size:clamp(34px,5vw,62px);font-weight:520;line-height:1}.article-back-link:hover{color:var(--ink);background:#ededed}@media (width<=860px){.article-header-inner{grid-template-columns:auto 1fr auto}.article-nav{z-index:1;visibility:hidden;background:var(--ink);opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:22px;transition:opacity .22s,visibility .22s;display:flex;position:fixed;inset:0}.article-nav.is-open{visibility:visible;opacity:1}.article-logo,.article-menu-button{z-index:2;position:relative}.article-nav a{font-size:clamp(24px,6vw,38px)}.article-nav .article-nav-language{padding:9px 14px;font-size:16px}.article-nav .article-nav-contact{letter-spacing:.12em;border:1px solid;border-radius:999px;min-height:46px;margin-top:10px;padding:0 22px;font-size:11px;display:inline-flex}.article-nav .article-nav-contact:after{display:none}.article-nav .article-nav-contact[aria-current=page]{border-color:var(--accent);background:var(--accent);color:var(--ink)}.article-contact{display:none}.article-menu-button{grid-column:3;display:block}.article-layout{grid-template-columns:1fr}.article-aside{display:none}}@media (width<=600px){.article-header{padding:8px 0 0}.article-header-inner{width:calc(100vw - 16px);height:62px;min-height:62px;max-height:62px;padding:6px 8px 6px 14px}.article-logo img{width:32px;height:38px}.article-menu-button{width:42px;height:42px}.article-shell{padding:32px 14px 70px}.article-hero{padding:34px 24px 32px}.article-hero h1{font-size:clamp(39px,13vw,58px)}.article-dek{margin-top:24px;font-size:16px}.article-meta{gap:8px 16px;margin-top:30px;padding-top:18px}.article-layout{margin-top:54px}.article-body>p:first-of-type{font-size:20px}.article-body p,.article-body li{font-size:16px;line-height:1.75}.article-body h2{margin-top:62px;font-size:34px}.article-facts{grid-template-columns:1fr}.article-fact{min-height:130px}.article-next-header{flex-direction:column;align-items:start}.article-next-grid{grid-template-columns:1fr}.article-next-card{min-height:220px}.article-footer{border-radius:26px;margin:0 10px 10px}.article-footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.page-portfolio{--portfolio-gutter:var(--gutter-page,24px);--portfolio-ease:cubic-bezier(.22, 1, .36, 1);--portfolio-meta-width:clamp(132px, 17vw, 224px);--portfolio-preview-width:clamp(170px, 18vw, 250px)}.page-portfolio .portfolio-editorial-shell,.page-portfolio .article-header-inner{width:min(var(--container-content,1290px), calc(100% - var(--portfolio-gutter) * 2))}.page-portfolio .portfolio-editorial-shell{padding:30px 0 clamp(72px,8vw,118px);overflow:clip}.page-portfolio .site-footer{--sf-container:min(var(--container-content,1290px), calc(100% - var(--portfolio-gutter) * 2))}.portfolio-skip-link{z-index:200;background:var(--color-primary);color:var(--color-ink);border-radius:999px;padding:12px 20px;position:fixed;top:10px;left:20px;transform:translateY(-160%)}.portfolio-skip-link:focus{transform:none}.page-portfolio .portfolio-hero{grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);align-items:start;gap:clamp(40px,6vw,94px);min-height:clamp(240px,28vw,360px);padding:clamp(10px,1.6vw,20px) 0 clamp(48px,7vw,92px);display:grid}.portfolio-hero-title{min-width:0}.page-portfolio .portfolio-hero h1{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.072em;text-transform:uppercase;margin:0;font-size:clamp(88px,11.7vw,154px);font-weight:500;line-height:.78}.portfolio-title-line{padding:.2em 0 .22em;display:block;overflow:hidden}.portfolio-title-line>span{white-space:nowrap;display:block}.portfolio-hero-intro{margin-top:clamp(44px,6vw,88px);display:block}.portfolio-hero-label{background:color-mix(in srgb, var(--color-primary) 45%, var(--color-surface-alt));min-height:28px;color:var(--color-ink);font:600 11px/1 var(--font-display);letter-spacing:.045em;text-transform:uppercase;border-radius:3px;align-items:center;padding:6px 11px;display:inline-flex}.portfolio-hero-intro p{color:#4f4f4f;letter-spacing:-.025em;max-width:42ch;margin:0;font-size:clamp(19px,1.8vw,25px);line-height:1.22}.portfolio-scroll-link,.page-portfolio .editorial-button{border:1px solid var(--color-ink);width:fit-content;min-height:46px;color:var(--color-ink);font:500 14px/1.2 var(--font-display);transition:background-color .22s ease, color .22s ease, transform .42s var(--portfolio-ease);border-radius:999px;justify-content:center;align-items:center;gap:22px;padding:11px 20px;text-decoration:none;display:inline-flex}.portfolio-scroll-link{background:0 0;grid-column:2;margin-top:8px}.portfolio-scroll-link b{font-size:20px;font-weight:400;line-height:1}.portfolio-scroll-link:hover,.page-portfolio .editorial-button:hover{background:var(--color-primary);transform:translateY(-2px)}.portfolio-scroll-link:focus-visible,.page-portfolio .editorial-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.portfolio-work-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;padding:18px 0 16px;scroll-margin-top:106px;display:flex}.portfolio-work-label{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.portfolio-work-label h2{letter-spacing:-.025em;text-transform:uppercase;margin:0;font-size:18px;font-weight:500;line-height:1.1}.portfolio-work-label p{color:#656565;font:500 11px/1.4 var(--font-display);letter-spacing:.05em;text-transform:uppercase;margin:0}.portfolio-filters{flex-wrap:wrap;gap:7px;display:flex}.portfolio-filters[hidden]{display:none}.portfolio-filter{border:1px solid var(--color-line-strong,#14141450);min-height:38px;color:var(--color-ink);font:500 12px/1.2 var(--font-display);cursor:pointer;transition:background-color .18s ease, border-color .18s ease, transform .3s var(--portfolio-ease);background:0 0;border-radius:999px;padding:9px 14px}.portfolio-filter:hover{background:var(--color-surface);transform:translateY(-1px)}.portfolio-filter[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-primary)}.portfolio-filter:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.portfolio-grid{border-top:1px solid var(--color-line-strong,#14141450);display:block}.portfolio-card{border-bottom:1px solid var(--color-line-strong,#14141450);min-width:0;min-height:112px;transition:min-height .62s var(--portfolio-ease), padding .62s var(--portfolio-ease), background-color .32s ease, opacity .52s ease, transform .7s var(--portfolio-ease);background:0 0;align-items:center;display:grid;position:relative;overflow:clip}.portfolio-card[hidden]{display:none}.portfolio-card:after{color:var(--color-ink);content:"↗";font:400 28px/1 var(--font-display);transition:transform .52s var(--portfolio-ease), color .22s ease;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.portfolio-card-meta{grid-template-columns:var(--portfolio-meta-width) minmax(0, 1fr);align-items:center;gap:0;padding-right:58px;display:grid}.portfolio-card-year{color:#5d5d5d;font:500 12px/1.3 var(--font-display);letter-spacing:.045em;text-transform:uppercase;transition:transform .62s var(--portfolio-ease), color .24s ease;align-items:baseline;gap:12px;display:flex}.portfolio-card-year:after{content:attr(data-project-category);text-overflow:ellipsis;white-space:nowrap;max-width:15ch;overflow:hidden}.portfolio-card-copy{text-align:left;min-width:0;transition:transform .65s var(--portfolio-ease);transform:translate(0)}.portfolio-card-copy h2{font-family:var(--font-body);letter-spacing:-.055em;overflow-wrap:anywhere;margin:0;font-size:clamp(40px,4.7vw,64px);font-weight:600;line-height:.86}.portfolio-card-copy h2 a{color:inherit;text-decoration:none}.portfolio-card-copy h2 a:focus-visible{outline-offset:7px;outline:2px solid}.portfolio-card-copy>p,.portfolio-tech{display:none}.portfolio-card-media{z-index:2;top:16px;bottom:16px;left:var(--portfolio-meta-width);width:var(--portfolio-preview-width);visibility:hidden;background:var(--color-surface);color:var(--color-ink);opacity:0;transform-origin:0;transition:opacity .26s ease, transform .6s var(--portfolio-ease), visibility 0s linear .62s;border:1px solid #14141435;border-radius:10px;position:absolute;overflow:hidden;transform:translate(-18px)scale(.94)}.portfolio-card-media img{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%;transform:translate3d(0, var(--portfolio-parallax,0px), 0) scale(1.055);transition:transform .7s var(--portfolio-ease);display:block}.portfolio-card-media:focus-visible{outline:2px solid var(--color-ink);outline-offset:-4px}.portfolio-explore{z-index:2;border:1px solid var(--color-ink);background:var(--color-surface-alt);min-height:32px;color:var(--color-ink);font:500 10px/1.1 var(--font-display);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex;position:absolute;bottom:8px;right:8px}.portfolio-explore:after{content:"↗";font-size:14px;line-height:1}.portfolio-card-media.is-image-unavailable img{display:none}.portfolio-image-fallback{background:linear-gradient(135deg, var(--color-surface), #d1baff);align-content:center;gap:7px;padding:18px;display:grid;position:absolute;inset:0}.portfolio-image-fallback strong{font-size:clamp(18px,2vw,28px);font-weight:600;line-height:1}.portfolio-image-fallback small{font:400 11px/1.35 var(--font-display)}.portfolio-error{border:1px dashed var(--color-line-strong);padding:32px}.portfolio-closing{border:1px solid var(--color-line,#1414142e);background:var(--color-primary-soft,#e7dcfa);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-top:clamp(72px,9vw,124px);padding:clamp(30px,5vw,66px);display:grid}.portfolio-closing>div>span{font:500 12px/1.4 var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;display:block}.portfolio-closing h2{letter-spacing:-.05em;max-width:820px;margin:0;font-size:clamp(38px,5vw,68px);font-weight:400;line-height:1.02}.page-portfolio .editorial-button{background:var(--color-surface-alt);white-space:nowrap}.page-portfolio .editorial-button span{font-size:22px}.portfolio-motion-ready .portfolio-title-line>span{animation:portfolio-title-in .9s var(--portfolio-ease) both}.portfolio-motion-ready .portfolio-hero-intro>*{animation:portfolio-intro-in .72s var(--portfolio-ease) both}.portfolio-motion-ready .portfolio-hero-intro>:first-child{animation-delay:.16s}.portfolio-motion-ready .portfolio-hero-intro>:nth-child(2){animation-delay:.23s}.portfolio-motion-ready .portfolio-hero-intro>:nth-child(3){animation-delay:.3s}.portfolio-motion-ready .portfolio-card:not(.is-visible){opacity:0;transform:translateY(28px)}@keyframes portfolio-title-in{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:none}}@keyframes portfolio-intro-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (width<=1100px){.page-portfolio{--portfolio-meta-width:142px;--portfolio-preview-width:190px}.page-portfolio .portfolio-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:44px;min-height:390px}.page-portfolio .portfolio-hero h1{font-size:clamp(84px,11.2vw,122px)}.portfolio-card-copy h2{font-size:clamp(38px,4.8vw,54px)}}@media (width<=860px){.page-portfolio .portfolio-hero{grid-template-columns:1fr;gap:26px;min-height:0}.page-portfolio .portfolio-hero h1{margin-top:0}.portfolio-hero-intro{grid-template-columns:auto minmax(0,1fr);margin-top:0}.portfolio-card-copy h2{font-size:clamp(36px,5.8vw,48px)}.portfolio-closing{grid-template-columns:1fr}}@media (width<=759px){.page-portfolio{--portfolio-meta-width:0px;--portfolio-preview-width:100%}.page-portfolio .portfolio-editorial-shell{padding-top:22px}.page-portfolio .portfolio-hero{gap:28px;padding:16px 0 52px}.page-portfolio .portfolio-hero h1{margin-top:0;letter-spacing:-.065em!important;font-size:clamp(62px,23vw,96px)!important;line-height:.82!important}.portfolio-hero-intro{grid-template-columns:1fr;gap:15px}.portfolio-hero-intro p{max-width:30ch;font-size:clamp(18px,5.2vw,22px)}.portfolio-scroll-link{grid-column:1;justify-content:space-between;width:100%;margin-top:8px}.portfolio-work-head{gap:18px;padding:18px 0;scroll-margin-top:92px}.portfolio-work-label{justify-content:space-between;width:100%}.portfolio-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.portfolio-filter{min-height:40px;font-size:12px}.portfolio-card{min-height:0;color:var(--color-ink);background:0 0;grid-template-areas:"meta""image";gap:18px;padding:22px 0 28px;display:grid}.portfolio-card:after{font-size:23px;top:25px;right:1px;transform:none}.portfolio-card-meta{flex-direction:column;grid-area:meta;align-items:flex-start;gap:11px;padding-right:36px;display:flex}.portfolio-card-year{order:1;gap:8px;font-size:10px}.portfolio-card-copy{order:2;transform:none!important}.portfolio-card-copy h2{font-size:clamp(34px,10.4vw,46px);line-height:.95}.portfolio-card-copy>p{color:#565656;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:13px 0 0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.portfolio-tech{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.portfolio-tech span{border:1px solid var(--color-line,#1414142e);color:#565656;font:400 10px/1.25 var(--font-display);border-radius:999px;padding:5px 8px}.portfolio-tech .portfolio-tech-note{border:0;padding:0}.portfolio-card-media{aspect-ratio:4/3;visibility:visible;border-radius:var(--radius-card,14px);opacity:1;grid-area:image;width:100%;display:block;position:relative;inset:auto;transform:none}.portfolio-card-media img{transform:none}.portfolio-explore{min-height:34px;font-size:10px}.portfolio-closing{gap:26px;padding:28px 22px}.portfolio-closing h2{font-size:clamp(34px,9vw,48px)}.page-portfolio .editorial-button{width:100%}}@media (width<=390px){.portfolio-filters{grid-template-columns:1fr}.page-portfolio .portfolio-hero h1{font-size:clamp(56px,22vw,82px)!important}}@media (prefers-reduced-motion:reduce){.page-portfolio *,.page-portfolio :before,.page-portfolio :after{transition:none!important;animation:none!important}.portfolio-motion-ready .portfolio-card:not(.is-visible){opacity:1;transform:none}}:root{--color-primary:#d1baff;--color-secondary:#c5bbdf;--color-ink:#141414;--color-gray-600:#757575;--color-gray-500:#817e7e;--color-surface:#ebece8;--color-surface-alt:#f1f1f1;--color-line:#1414142e;--color-line-strong:#1414146b;--color-primary-soft:#e8e2f5;--color-on-dark:var(--color-surface-alt);--color-focus:var(--color-primary);--font-display:"Jost Variable", "Jost", "Segoe UI", sans-serif;--font-body:"League Spartan Variable", "League Spartan", "Segoe UI", sans-serif;--font-small:"Inter Variable", "Inter", "Segoe UI", sans-serif;--container-content:1290px;--container-reading:760px;--gutter-page:clamp(18px, 3vw, 40px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-button:999px;--radius-input:10px;--radius-card:14px;--radius-card-large:24px;--radius-icon-chip:9px;--shadow-soft:0 18px 50px #14141417;--shadow-hover:0 26px 70px #14141424;--duration-fast:.18s;--duration-base:.32s;--duration-reveal:.8s;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-expressive:cubic-bezier(.16, 1, .3, 1);--ink:var(--color-ink);--paper:var(--color-surface-alt);--muted:var(--color-gray-600);--line:var(--color-line);--panel:var(--color-surface);--accent:var(--color-primary);--content:var(--container-content);--wp--preset--color--brand:var(--color-primary);--wp--preset--color--text-on-brand:var(--color-ink);--wp--preset--color--textcolor:var(--color-ink);--wp--preset--color--heading:var(--color-ink);--wp--preset--color--background:var(--color-surface-alt);--wp--preset--font-family--primary:var(--font-body)}html{accent-color:var(--color-primary);color:var(--color-ink)}body{background-color:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-body);font-kerning:normal;text-rendering:optimizelegibility}.page-portfolio{font-family:var(--font-body)}::selection{background:var(--color-primary);color:var(--color-ink)}.home :where(h1),.standalone-page :where(h1),body:not(.home):not(.standalone-page):not(.collection-page) :where(h1){font-family:var(--font-display);font-weight:400!important}.home :where(h2),.standalone-page :where(h2),body:not(.home):not(.standalone-page):not(.collection-page) :where(h2){font-family:var(--font-body)}.home :where(h2),.standalone-page :where(h2),body:not(.home):not(.standalone-page):not(.collection-page) :where(h2){font-weight:400!important}.home :where(p,li,input,textarea,select),.standalone-page :where(p,li,input,textarea,select),body:not(.home):not(.standalone-page):not(.collection-page) :where(p,li,input,textarea,select){font-family:var(--font-body)}.home :where(.navigation-link,.site-contact-link,.hero-scroll-link,.footer-schedule-link,.footer-whatsapp-link,.fb-submit-button,.blog-archive-link),.standalone-page :where(.article-nav a,.article-contact,.article-back-link,.editorial-button,.portfolio-scroll-link),body:not(.home):not(.standalone-page):not(.collection-page) :where(.article-nav a,.article-contact,.article-back-link){font-family:var(--font-display)}:where(button,input,textarea,select){font:inherit}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select){border-radius:var(--radius-input);caret-color:var(--color-primary)}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea)::placeholder{color:var(--color-gray-500);opacity:1}textarea{resize:vertical;min-height:104px}.home :where(.fb-submit-button,.header-contact-cta,.site-mega-menu-toggle[aria-expanded=true],.site-mega-menu-intro-cta:hover,.site-mega-menu-intro-cta:focus-visible,.site-mega-menu-link:hover .site-mega-menu-arrow,.site-mega-menu-link:focus-visible .site-mega-menu-arrow,.site-mega-menu-feature){background-color:var(--color-primary)!important}.home :where(.testimonial-ascii-globe-canvas.ascii,.site-mega-menu-toggle[aria-expanded=true],.site-mega-menu-intro-cta:hover,.site-mega-menu-intro-cta:focus-visible,.site-mega-menu-link:hover .site-mega-menu-arrow,.site-mega-menu-link:focus-visible .site-mega-menu-arrow){border-color:var(--color-primary)!important}.standalone-page :where(.article-contact,.article-back-link,.editorial-button),.home :where(.site-contact-link,.hero-scroll-link,.footer-schedule-link,.footer-whatsapp-link,.fb-submit-button,.blog-archive-link){border-radius:var(--radius-button);transition-duration:var(--duration-base);transition-timing-function:var(--ease-standard)}.standalone-page :where(.article-contact,.article-back-link,.editorial-button),.home :where(.site-contact-link,.hero-scroll-link,.footer-schedule-link,.footer-whatsapp-link,.fb-submit-button,.blog-archive-link){min-height:44px}.standalone-page :where(.article-header-inner,.article-footer-inner),body:not(.home):not(.standalone-page):not(.collection-page) :where(.article-header-inner,.article-footer-inner){width:min(var(--container-content), calc(100vw - (var(--gutter-page) * 2)))}body .article-shell:has(>.article-breadcrumb),body:has(.article-breadcrumb) .article-header .article-header-inner{width:min(var(--container-content), calc(100% - var(--gutter-page) * 2))}body .article-shell:has(>.article-breadcrumb){padding-top:clamp(24px,3vw,40px);padding-inline:0}.article-breadcrumb{border:0;border-bottom:1px solid var(--color-line);color:#626262;width:100%;min-width:0;font:500 12px/1.5 var(--font-display);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:10px;margin:0;padding:0 0 16px;display:flex}.article-breadcrumb>a,.article-breadcrumb>span{align-items:center;min-height:44px;display:flex}.article-breadcrumb>a{color:inherit;white-space:nowrap;text-underline-offset:4px;flex:none;text-decoration:none}.article-breadcrumb>a:hover{color:var(--color-ink);text-decoration:underline}.article-breadcrumb>a:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:3px}.article-breadcrumb .breadcrumb-separator{color:var(--color-gray-500);flex:none}.article-breadcrumb>[aria-current=page]{min-width:0;color:var(--color-ink);overflow-wrap:anywhere}.article-breadcrumb+.article-hero{margin-top:24px}@media (width<=600px){.article-breadcrumb{letter-spacing:.06em;gap:8px;padding-bottom:12px;font-size:11px}.article-breadcrumb+.article-hero{margin-top:20px}}.standalone-page :where(.portfolio-card-media){border-radius:var(--radius-card-large)}@media (width<=600px){.home :where(h1),.standalone-page :where(h1),body:not(.home):not(.standalone-page):not(.collection-page) :where(h1){font-family:var(--font-body)}.standalone-page h1,body:not(.home):not(.standalone-page):not(.collection-page) h1{letter-spacing:-.045em!important;font-size:clamp(42px,12vw,48px)!important;line-height:.98!important}:root{--gutter-page:clamp(14px, 4.6vw, 20px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}:where(.motion-reveal,[data-gs-aos]){animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-cursor{--cursor-scale:.35;opacity:0;pointer-events:none;user-select:none;mix-blend-mode:exclusion;z-index:2147483647;will-change:transform;border:0;width:24px;height:24px;margin:0;padding:0;transition:opacity .125s;display:block;position:fixed;top:-12px;left:-12px}.site-cursor:before{content:"";box-sizing:border-box;width:100%;height:100%;transform:scale(var(--cursor-scale));background:#f5f5f5;border-radius:50%;transition:transform .18s cubic-bezier(.22,1,.36,1);display:block}.site-cursor--trail{width:80px;height:80px;top:-40px;left:-40px}.site-cursor--trail:before{border:2px solid var(--color-primary,#d1baff);background:0 0}.site-cursor.is-visible{opacity:1}.site-cursor.is-idle{--cursor-scale:.5}.is-site-intro-running>.site-cursor{opacity:0}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.site-cursor{display:none}}.site-footer{--sf-bg:#222;--sf-text:#f4f4f4;--sf-muted:#ededed7a;--sf-line:#ededed40;--sf-accent:#d1baff;--sf-accent-ink:#202124;--sf-container:min(1210px, calc(100% - clamp(32px, 6vw, 80px)));background:var(--sf-bg);color:var(--sf-text);margin:0;font-family:Jost Variable,Jost,League Spartan Variable,Inter Variable,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.site-footer *,.site-footer :before,.site-footer :after{box-sizing:border-box}.site-footer a{color:inherit}.site-footer-inner{width:var(--sf-container);margin-inline:auto}.site-footer-contact{border-bottom:1px solid var(--sf-line)}.site-footer-contact .site-footer-inner{gap:52px;padding-block:64px 58px;display:grid}.footer-contact-eyebrow{color:#fffefe;letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700;line-height:1.2}.footer-contact-heading{color:#f7f7f7;letter-spacing:-.07em;margin:14px 0 28px;font-size:clamp(58px,12vw,96px);font-weight:400;line-height:.88}.footer-contact-actions{flex-direction:column;align-items:flex-start;gap:14px;width:100%;display:flex}.footer-contact-actions a{background:var(--sf-accent);min-height:40px;color:var(--sf-accent-ink);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;padding:8px 22px;font-size:12px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .18s,transform .18s;display:inline-flex}.footer-contact-actions a:hover,.footer-contact-actions a:focus-visible{background:#e2d4ff;transform:translateY(-1px)}.footer-contact-actions svg{fill:none;width:18px;height:18px;stroke:var(--sf-accent-ink);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none}.footer-whatsapp-link svg{fill:var(--sf-accent-ink);stroke:none}.site-footer-form{gap:24px;display:grid}.footer-field{flex-direction:column;display:flex}.footer-field label{color:var(--sf-text);margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.2}.footer-field label span{color:#ff4545}.footer-field input,.footer-field textarea{color:#fff;caret-color:#fff;width:100%;min-height:46px;font:inherit;background:0 0;border:0;border-bottom:1px solid #edededc7;border-radius:0;padding:8px 0;font-size:14px;line-height:1.3}.footer-field textarea{resize:vertical;min-height:104px}.footer-field input::placeholder,.footer-field textarea::placeholder{color:#ffffffd1;opacity:1}.footer-field input:focus,.footer-field textarea:focus{border-bottom-color:var(--sf-accent);outline:none}.footer-field input:focus-visible,.footer-field textarea:focus-visible{outline:2px solid var(--sf-accent);outline-offset:3px}.footer-submit{background:var(--sf-accent);color:#30313a;min-height:44px;font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 28px;font-size:12px;font-weight:700;line-height:1;transition:background-color .18s,transform .18s}.footer-submit:hover,.footer-submit:focus-visible{background:#e2d4ff;transform:translateY(-1px)}.footer-form-status{color:#ffffffbf;margin:0;font-size:13px;font-weight:600}.site-footer-info .site-footer-inner{grid-template-columns:1fr;gap:24px;padding-block:34px 38px;display:grid}.footer-info-item{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;display:flex}.footer-info-label{color:var(--sf-muted);text-transform:uppercase;font-size:12px;font-weight:700;line-height:1}.footer-info-value{color:var(--sf-text);text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700;line-height:1.25;text-decoration:none}a.footer-info-value:hover,a.footer-info-value:focus-visible{text-decoration:underline}.footer-copyright{color:var(--sf-text);text-transform:uppercase;margin:8px 0 0;font-size:12px;font-weight:600;line-height:1.35}@media (width>=768px){.site-footer-info .site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px 48px}}@media (width>=900px){.site-footer-contact .site-footer-inner{grid-template-columns:minmax(360px,1fr) minmax(0,1fr);align-items:start;gap:clamp(64px,7vw,130px);padding-block:clamp(82px,6vw,112px) clamp(70px,5vw,92px)}.footer-contact-heading{font-size:clamp(76px,7vw,124px)}.footer-contact-actions{width:min(255px,100%)}.site-footer-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-field-message,.footer-submit-wrap{grid-column:1/-1}.site-footer-info .site-footer-inner{grid-template-columns:.9fr 1.15fr .75fr 1.5fr;align-items:end}.footer-copyright{text-align:right;margin-top:0}}@media (prefers-reduced-motion:reduce){.site-footer-contact .footer-contact-actions a,.site-footer .footer-submit{transition:none}}
