:root{--bg:#050505;--bg-2:#0a0a0b;--surface:#141416;--panel:#1b1b1e;--border:#29292d;--border-2:#3a3a3f;--border-3:#5a5a62;--text:#f5f5f5;--text-2:#b8b8bb;--text-3:#858589;--text-4:#55555a;--blue:#7186b5;--violet:#a18be8;--lime:#a7d78c;--danger:#e39494;--tone-2:#0a0a0bd9;--card-hover:#17171a;--ico-hover:#1f1d26;--lead-from:#18181b;--header-bg:#050505c7;--header-bg-2:#050505e6;--nav-hover:#ffffff08;--btn-p-bg:#f5f5f5;--btn-p-fg:#050505;--btn-p-hover:#fff;--grid-line:#ffffff0d;--grid-line-soft:#ffffff09;--grid-dot:#ffffff29;--grid-block:#ffffff06;--glow-violet:#a18be821;--glow-blue:#7186b514;--cursor-a:#a18be80d;--cursor-b:#7186b50b;--ring:#a18be826;--tint-blue:#7186b514;--shadow-pop:0 24px 48px -24px #000c;--shadow-dlg:0 40px 100px -30px #000000f2;--backdrop:#050505b8;--flow-lit-bg:#0e1018;--flow-lit-bd:#4a5470;--flow-cur-bg:#10140e;--flow-cur-bd:#5d7350;--pv-s0:#0b0b0c;--pv-s1:#141416;--pv-s2:#1b1b1e;--pv-ln:#232327;--pv-bd:#2a2a2f;--pv-tx:#2c2c31;--pv-tx2:#222226;--pv-rest:#3a3a40;--pv-rest-l:#45454b;--cube-pale:#c9c9cf;--cube-dark:#1a1a1d;--cube-in:#0e0e12;--cube-edge:#45454c;--cube-eye:#0b0b12;--ok-bg:#a7d78c12;--ok-bd:#a7d78c47;--hero-glow:#5b8cff24;--sun-op:0;--moon-op:1;--font-display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--r:6px;--r-lg:10px;--ease:cubic-bezier(.22,.61,.36,1);--t:.24s;--cx:-1000px;--cy:-1000px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f7fa;--bg-2:#edf1f6;--surface:#fff;--panel:#edf1f6;--border:#dde3ea;--border-2:#b8c4d3;--border-3:#a3b0c1;--text:#17212f;--text-2:#526174;--text-3:#778395;--text-4:#9aa4b3;--blue:#3478f6;--violet:#3478f6;--lime:#27835b;--danger:#c83c46;--tone-2:#edf1f6;--card-hover:#fff;--ico-hover:#dceaff;--lead-from:#fff;--header-bg:#f5f7fad9;--header-bg-2:#f5f7faf2;--nav-hover:#3478f612;--btn-p-bg:#3478f6;--btn-p-fg:#fff;--btn-p-hover:#2563d9;--grid-line:#17212f0f;--grid-line-soft:#17212f0b;--grid-dot:#17212f2e;--grid-block:#17212f08;--glow-violet:#3478f61f;--glow-blue:#3478f614;--cursor-a:#3478f60d;--cursor-b:#3478f60d;--ring:#3478f640;--tint-blue:#dceaffb3;--shadow-pop:0 24px 48px -24px #17212f33;--shadow-dlg:0 40px 100px -30px #17212f52;--backdrop:#f5f7fac7;--flow-lit-bg:#dceaff;--flow-lit-bd:#9dbef8;--flow-cur-bg:#e2f1e9;--flow-cur-bd:#8cc2a6;--ok-bg:#27835b14;--ok-bd:#27835b59;--pv-s0:#edf1f6;--pv-s1:#fff;--pv-s2:#f5f7fa;--pv-ln:#e4e9ef;--pv-bd:#dde3ea;--pv-tx:#d4dbe4;--pv-tx2:#e4e9ef;--pv-rest:#b8c4d3;--pv-rest-l:#a9b6c6;--cube-pale:#fff;--cube-dark:#17212f;--cube-in:#101822;--cube-edge:#a3b0c1;--cube-eye:#17212f;--hero-glow:#3478f61f;--sun-op:1;--moon-op:0;scrollbar-color:#b8c4d3 #edf1f6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.theme-anim *,:root.theme-anim :before,:root.theme-anim :after{transition:background-color .35s,color .35s,border-color .35s,fill .35s,stroke .35s,box-shadow .35s!important}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}[hidden]:not([hidden=until-found i]){display:none!important}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:16px;line-height:1.65;overflow-x:hidden}img,svg{max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;color:inherit;letter-spacing:-.02em;margin:0;font-weight:400;line-height:1.1}p{margin:0}a{color:inherit}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:2px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fx{pointer-events:none;z-index:0;opacity:0;transition:opacity .6s;position:fixed;inset:0}.has-pointer .fx{opacity:1}.fx-glow{background:radial-gradient(640px circle at var(--cx) var(--cy), var(--cursor-a), transparent 65%), radial-gradient(280px circle at var(--cx) var(--cy), var(--cursor-b), transparent 70%)}header.site,main,footer.site{z-index:1;position:relative}.container{max-width:1280px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin-inline:auto}.section{padding-block:clamp(5rem,10vw,9rem)}.tone-2{background:var(--tone-2)}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-size:.7rem;font-weight:500;display:inline-block}.intro{grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr);align-items:end;gap:clamp(1.5rem,5vw,6rem);margin-bottom:clamp(3.5rem,8vw,6.5rem);display:grid}.intro h2{letter-spacing:-.035em;font-size:clamp(2.1rem,4.8vw,4.25rem);font-weight:300;line-height:1.04}.intro h2 .dim{color:var(--text-3)}.intro p{color:var(--text-2);max-width:26rem;font-size:1rem}.ico{border-radius:var(--r);border:1px solid var(--border);background:var(--panel);width:2.6rem;height:2.6rem;color:var(--text-3);transition:color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);flex:none;place-items:center;display:inline-grid}.ico svg{width:1.2rem;height:1.2rem;transition:transform .3s var(--ease);display:block}.hov:hover .ico,.hov.is-active .ico{color:var(--violet);border-color:var(--border-2);background:var(--ico-hover)}.hov:hover .ico svg,.hov.is-active .ico svg{transform:translateY(-1px)rotate(-6deg)}.ico .dot{fill:var(--text-4);transition:fill var(--t) var(--ease)}.hov:hover .ico .dot,.hov.is-active .ico .dot{fill:var(--lime)}.btn{border-radius:var(--r);font-family:var(--font-body);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease), box-shadow var(--t) var(--ease);border:1px solid #0000;align-items:center;gap:.6rem;padding:.85rem 1.3rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.btn svg{width:1rem;height:1rem;transition:transform .28s var(--ease);flex:none}.btn:hover svg{transform:translate(3px)}.btn-primary{background:var(--btn-p-bg);color:var(--btn-p-fg)}.btn-primary:hover{background:var(--btn-p-hover);box-shadow:0 0 0 4px var(--ring)}.btn-secondary{border-color:var(--border-2);color:var(--text);background:0 0}.btn-secondary:hover{border-color:var(--border-3);background:var(--tint-blue)}.btn-sm{padding:.55rem .95rem;font-size:.85rem}header.site{top:env(safe-area-inset-top,0px);z-index:40;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);transition:border-color var(--t) var(--ease), background var(--t) var(--ease);border-bottom:1px solid #0000;position:sticky}header.site.scrolled{border-bottom-color:var(--border);background:var(--header-bg-2)}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:41;background:var(--bg);position:fixed;inset:0 0 auto}.nav-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:64px;display:grid}.brand{color:var(--text);justify-self:start;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark{width:22px;height:30px;color:var(--text);transition:color .3s var(--ease);flex:none}.brand:hover .brand-mark{color:var(--violet)}.brand-word{font-family:var(--font-display);letter-spacing:.01em;font-size:1.05rem;font-weight:600}.brand-slogan{color:var(--text-3);white-space:nowrap;border-left:1px solid var(--border-2);margin-left:.15rem;padding-left:.75rem;font-size:.8rem;line-height:1.2}.brand-slogan .sl-a{color:var(--blue);font-weight:500}@media (width<=420px){.brand-slogan{padding-left:.55rem;font-size:.72rem}}.brand-word sup{color:var(--text-3);font-size:.6em;top:-.8em}nav.primary{align-items:center;gap:.25rem;display:flex}.navlink{border-radius:var(--r);color:var(--text-3);cursor:pointer;transition:color var(--t) var(--ease), background var(--t) var(--ease);background:0 0;border:none;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.88rem;text-decoration:none;display:inline-flex}.navlink:hover,.navlink[aria-expanded=true]{color:var(--text);background:var(--nav-hover)}.navlink.is-current{color:var(--text)}.chev{width:.75rem;height:.75rem;transition:transform .26s var(--ease)}.navlink[aria-expanded=true] .chev{transform:rotate(180deg)}.nav-item{position:relative}.dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(340px,90vw);box-shadow:var(--shadow-pop);animation:drop .22s var(--ease);padding:.4rem;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}@keyframes drop{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.dropdown a{border-radius:var(--r);transition:background var(--t) var(--ease);align-items:flex-start;gap:.8rem;padding:.7rem .75rem;text-decoration:none;display:flex}.dropdown a:hover,.dropdown a:focus-visible{background:var(--panel)}.dropdown .ico{width:2.1rem;height:2.1rem}.dropdown .ico svg{width:1rem;height:1rem}.dropdown strong{color:var(--text);font-size:.88rem;font-weight:500;display:block}.dropdown span.d{color:var(--text-3);margin-top:.1rem;font-size:.78rem;line-height:1.45;display:block}.nav-actions{justify-self:end;align-items:center;gap:.6rem;display:flex}.menu-toggle{border:1px solid var(--border);border-radius:var(--r);color:var(--text-2);cursor:pointer;transition:border-color var(--t) var(--ease), color var(--t) var(--ease);background:0 0;padding:.45rem;display:none}.menu-toggle:hover{border-color:var(--border-2);color:var(--text)}.menu-toggle svg{width:1.2rem;height:1.2rem;display:block}.menu-toggle .icon-close,.menu-toggle[aria-expanded=true] .icon-open{display:none}.menu-toggle[aria-expanded=true] .icon-close{display:block}.mobile-panel{display:none}.theme-toggle{border:1px solid var(--border);border-radius:var(--r);width:2.25rem;height:2.25rem;color:var(--text-2);cursor:pointer;transition:border-color var(--t) var(--ease), color var(--t) var(--ease), background var(--t) var(--ease);background:0 0;place-items:center;display:grid;position:relative}.theme-toggle:hover{border-color:var(--border-2);color:var(--text);background:var(--nav-hover)}.theme-toggle svg{width:1.1rem;height:1.1rem;transition:opacity .3s var(--ease), transform .45s var(--ease);position:absolute}.theme-toggle .i-sun{opacity:var(--sun-op);transform:rotate(calc((1 - var(--sun-op)) * -90deg)) scale(calc(.6 + var(--sun-op) * .4))}.theme-toggle .i-moon{opacity:var(--moon-op);transform:rotate(calc((1 - var(--moon-op)) * 90deg)) scale(calc(.6 + var(--moon-op) * .4))}.theme-toggle:hover .i-sun{color:var(--lime)}.theme-toggle:hover .i-moon{color:var(--violet)}.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}.hero-bg{pointer-events:none;background-image:radial-gradient(circle at 0 0, var(--grid-dot) 1px, transparent 1.6px), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 75% at 68% 42%,#000 10%,#0000 72%);mask-image:radial-gradient(60% 75% at 68% 42%,#000 10%,#0000 72%)}.hero-bg i{background:var(--grid-block);width:64px;height:64px;display:block;position:absolute}.hero-grid{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,3rem);min-height:min(72vh,640px);display:grid;position:relative}.hero-copy{min-width:0;padding-block:2rem}.hero h1{letter-spacing:-.04em;font-size:clamp(2.5rem,5.4vw,4.75rem);font-weight:300;line-height:1.03}.hero h1 .ln{display:block}.hero h1 .dim{color:var(--text-3)}.hero .lede{color:var(--text-2);max-width:31rem;margin-top:1.75rem;font-size:1.06rem}.hero-ctas{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.hero-art{aspect-ratio:1/1.02;min-width:0;max-width:100%;position:relative}.hero-art:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 50%, var(--hero-glow), transparent 55%), radial-gradient(circle at 60% 62%, var(--glow-blue), transparent 60%);filter:blur(10px);transition:opacity .4s var(--ease);position:absolute;inset:6%}.art-canvas{position:absolute;inset:-14%}.art-canvas canvas{outline:none;display:block;width:100%!important;height:100%!important}.art-fallback{place-items:center;display:grid;position:absolute;inset:0}.art-fallback svg{width:88%;height:auto}.hero-art.is-3d .art-fallback{display:none}.art-notes{pointer-events:none;position:absolute;inset:0}.art-slogan{z-index:2;white-space:nowrap;pointer-events:none;font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);align-items:center;gap:.9rem;margin:0;font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:600;display:flex;position:absolute;bottom:-11%;left:50%;transform:translate(-50%)}.art-slogan:before,.art-slogan:after{content:"";background:linear-gradient(90deg,transparent,var(--border-2));width:clamp(24px,4vw,56px);height:1px}.art-slogan:after{background:linear-gradient(270deg,transparent,var(--border-2))}.art-slogan .sl-b{color:var(--blue);transition:color .3s var(--ease), text-shadow .3s var(--ease)}.hero-art:hover .art-slogan .sl-b{text-shadow:0 0 18px var(--hero-glow)}@media (prefers-reduced-motion:no-preference){.art-slogan .sl-a,.art-slogan .sl-b{animation:slogan .9s var(--ease) both;display:inline-block}.art-slogan .sl-a{animation-delay:1.9s}.art-slogan .sl-b{animation-delay:2.2s}.art-slogan:before,.art-slogan:after{animation:sloganLine .9s var(--ease) 1.7s both}}@keyframes slogan{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes sloganLine{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}.art-note{letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);transition:color .3s var(--ease);white-space:nowrap;align-items:center;gap:.5rem;font-size:.66rem;display:flex;position:absolute}.art-note:after{content:"";height:1px;width:var(--len,60px);background:linear-gradient(90deg,var(--border-2),transparent)}.art-note b{color:inherit;font-weight:500}.hero-art:hover .art-note{color:var(--text-3)}.hero-art:hover .art-note b{color:var(--violet)}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:enter .9s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t) var(--ease), background var(--t) var(--ease);position:relative}.card:hover,.card.is-active{border-color:var(--border-2);background:var(--card-hover)}.carousel{position:relative}.work-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:calc(45.4545% - 1.13636rem);grid-auto-flow:column;gap:1.25rem;padding-bottom:2px;display:grid;overflow-x:auto}.work-grid::-webkit-scrollbar{display:none}.work-grid:focus-visible{outline-offset:6px}.carousel-fade{pointer-events:none;width:clamp(40px,7vw,96px);transition:opacity .3s var(--ease);position:absolute;top:0;bottom:0}.carousel-fade-r{background:linear-gradient(90deg,transparent,var(--bg));right:0}.carousel-fade-l{background:linear-gradient(270deg,transparent,var(--bg));opacity:0;left:0}.carousel.at-start .carousel-fade-l{opacity:0}.carousel.scrolled .carousel-fade-l{opacity:1}.carousel.at-end .carousel-fade-r{opacity:0}.carousel-ctrl{align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.carousel-bar{background:var(--border);border-radius:2px;flex:1;height:2px;position:relative;overflow:hidden}.carousel-bar span{background:linear-gradient(90deg,var(--blue),var(--violet));width:45%;transition:transform .12s linear, width .2s var(--ease);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.carousel-count{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:4.5em;font-size:.8rem}.carousel-btn{border-radius:var(--r);border:1px solid var(--border-2);width:2.5rem;height:2.5rem;color:var(--text-2);cursor:pointer;transition:border-color var(--t) var(--ease), color var(--t) var(--ease), background var(--t) var(--ease), opacity var(--t) var(--ease);background:0 0;place-items:center;display:grid}.carousel-btn svg{width:1rem;height:1rem;transition:transform .26s var(--ease)}#workPrev svg{transform:rotate(180deg)}.carousel-btn:hover:not(:disabled){border-color:var(--violet);color:var(--violet);background:var(--tint-blue)}#workNext:hover:not(:disabled) svg{transform:translate(2px)}#workPrev:hover:not(:disabled) svg{transform:rotate(180deg)translate(2px)}.carousel-btn:disabled{opacity:.35;cursor:default}.work-visual{aspect-ratio:16/9;background:var(--bg-2);border-bottom:1px solid var(--border);max-width:100%;position:relative}.work-visual svg{width:100%;height:100%;display:block}.ph-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);font-size:.62rem;position:absolute;bottom:.7rem;left:.8rem}.work-body{padding:clamp(1.4rem,2.6vw,2rem)}.work-body .label{margin-bottom:.9rem;font-size:.66rem}.work-body h3{margin-bottom:.6rem;font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:400}.work-body p{color:var(--text-3);max-width:34rem;font-size:.92rem}.pv{--ab:var(--pv-rest);--av:var(--pv-rest);--al:var(--pv-rest-l)}.card:hover .pv,.card.is-active .pv{--ab:var(--blue);--av:var(--violet);--al:var(--lime)}.pv *{transition:fill .26s var(--ease), stroke .26s var(--ease)}.pv .s0{fill:var(--pv-s0)}.pv .s1{fill:var(--pv-s1)}.pv .s2{fill:var(--pv-s2)}.pv .ln{stroke:var(--pv-ln);fill:none}.pv .bd{stroke:var(--pv-bd);fill:none}.pv .tx{fill:var(--pv-tx)}.pv .tx2{fill:var(--pv-tx2)}.pv .fb{fill:var(--ab)}.pv .sb{stroke:var(--ab);fill:none}.pv .fv{fill:var(--av)}.pv .sv{stroke:var(--av);fill:none}.pv .fl{fill:var(--al)}.pv .sl{stroke:var(--al);fill:none}.acc{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:clamp(1.5rem,4vw,3.5rem);display:grid}.acc-col{border-top:1px solid var(--border);min-width:0}.acc .acc-tag{display:none}.acc .acc-btn{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;padding:1.35rem 0}.acc .acc-title{font-size:clamp(1.1rem,1.55vw,1.4rem)}.acc .acc-body{grid-template-columns:1fr;gap:1.25rem;padding:0 0 1.75rem 3.6rem}.acc-row{border-bottom:1px solid var(--border);scroll-margin-top:84px;position:relative}.acc-row:before{content:"";background:linear-gradient(90deg,var(--violet),var(--blue) 60%,transparent);width:0;height:1px;transition:width .52s var(--ease);position:absolute;top:-1px;left:0}.acc-row:hover:before,.acc-row.open:before{width:100%}.acc-h{font:inherit;letter-spacing:normal;margin:0}.acc-btn{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1.25rem;padding:1.5rem 0;display:grid}.acc-btn:focus-visible{outline-offset:-2px}.acc-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-2);transition:color var(--t) var(--ease);text-wrap:balance;font-size:clamp(1.2rem,2.1vw,1.8rem);font-weight:300;line-height:1.2}.acc-title .dim{color:var(--text-3)}.acc-row:hover .acc-title,.acc-row.open .acc-title{color:var(--text)}.acc-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);white-space:nowrap;font-size:.66rem;font-weight:500}.acc-chev{border:1px solid var(--border);border-radius:var(--r);width:2.2rem;height:2.2rem;color:var(--text-3);transition:border-color var(--t) var(--ease), color var(--t) var(--ease), background var(--t) var(--ease);place-items:center;display:grid}.acc-chev svg{width:.9rem;height:.9rem;transition:transform .38s var(--ease)}.acc-row:hover .acc-chev{border-color:var(--border-2);color:var(--text)}.acc-row.open .acc-chev{border-color:var(--violet);color:var(--violet);background:var(--tint-blue)}.acc-row.open .acc-chev svg{transform:rotate(180deg)}.acc-panel{visibility:hidden;transition:grid-template-rows .42s var(--ease), visibility 0s linear .42s;grid-template-rows:0fr;display:grid}.acc-row.open .acc-panel{visibility:visible;transition:grid-template-rows .42s var(--ease), visibility 0s;grid-template-rows:1fr}.acc-inner{min-height:0;overflow:hidden}.acc-body{opacity:0;transition:opacity .3s var(--ease), transform .38s var(--ease);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,5vw,4.5rem);padding:0 0 2rem 3.85rem;display:grid;transform:translateY(-6px)}.acc-row.open .acc-body{opacity:1;transition-delay:80ms;transform:none}.acc-body .help-ctx{margin-top:0}.acc-body .help-cta{margin-top:1.25rem}.acc-body .help-points{margin:0}.help-points li{border-bottom:1px solid var(--border);color:var(--text-2);transition:color var(--t) var(--ease);padding:.6rem 0 .6rem 1.15rem;font-size:.87rem;position:relative}.help-points li:before{content:"";border:1px solid var(--border-2);width:5px;height:5px;transition:background var(--t) var(--ease), border-color var(--t) var(--ease);margin-top:-2.5px;position:absolute;top:50%;left:0}.acc-row.open .help-points li:before{border-color:var(--violet)}.help-points li:hover{color:var(--text)}.help-points li:hover:before{background:var(--lime);border-color:var(--lime)!important}.help-link{color:var(--text-2);transition:color var(--t) var(--ease);align-items:center;gap:.5rem;padding-block:.2rem;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.help-link svg{width:.95rem;height:.95rem;transition:transform .28s var(--ease)}.help-link:hover{color:var(--text)}.help-link:hover svg{transform:translate(3px)}.help-ctx{color:var(--text-3);max-width:32rem;font-size:.95rem}.help-cta{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.btn-text-link{cursor:pointer;color:var(--text-2);transition:color var(--t) var(--ease);background:0 0;border:none;align-items:center;gap:.45rem;padding:.85rem .2rem;font-size:.92rem;font-weight:500;display:inline-flex}.btn-text-link:hover{color:var(--text)}:root[data-theme=light] .help-link,:root[data-theme=light] .btn-text-link{color:var(--blue)}:root[data-theme=light] .help-link:hover,:root[data-theme=light] .btn-text-link:hover,:root[data-theme=light] .fbq-more:hover{color:#2563d9}.btn-text-link svg{width:.8rem;height:.8rem;transition:transform .26s var(--ease)}.btn-text-link[aria-expanded=true] svg{transform:rotate(180deg)}.planned-note{color:var(--text-3);border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);max-width:32rem;margin-top:1rem;padding:.85rem 1rem;font-size:.84rem}.planned-note code{color:var(--violet);font-size:.82rem}.flow{--prog:0%;--lit:0%;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;display:grid;position:relative}.flow:before,.flow:after{content:"";height:1px;position:absolute;top:1.3rem;left:1.3rem}.flow:before{background:linear-gradient(90deg,var(--border-2) 0,var(--border-2) var(--prog),transparent var(--prog));transition:background;right:calc(20% - 2.5rem)}.flow:after{width:var(--lit);background:linear-gradient(90deg,var(--blue),var(--violet));transition:width .38s var(--ease)}.flow.drawn:before{background:var(--border-2)}.flow-step{cursor:default;padding-right:.5rem;position:relative}.flow-node{z-index:1;border-radius:var(--r);background:var(--bg);border:1px solid var(--border-2);width:2.6rem;height:2.6rem;color:var(--text-3);transition:color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);place-items:center;display:grid;position:relative}.flow-node svg{width:1.1rem;height:1.1rem;transition:transform .3s var(--ease)}.flow-step.lit .flow-node{color:var(--blue);border-color:var(--flow-lit-bd);background:var(--flow-lit-bg)}.flow-step.current .flow-node{color:var(--lime);border-color:var(--flow-cur-bd);background:var(--flow-cur-bg)}.flow-step.current .flow-node svg{transform:scale(1.08)}.flow-num{letter-spacing:.14em;color:var(--text-4);transition:color var(--t) var(--ease);margin-top:1.6rem;font-size:.72rem;display:block}.flow-step.lit .flow-num,.flow-step.current .flow-num{color:var(--text-3)}.flow-step h3{margin:.4rem 0 .6rem;font-size:1.15rem;font-weight:400}.flow-step p{color:var(--text-3);font-size:.88rem}.exp-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}.exp-block{flex-direction:column;padding:clamp(1.6rem,3vw,2.5rem);display:flex}.exp-block h3{letter-spacing:-.03em;margin-bottom:1.75rem;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:300;line-height:1.1}.exp-list{border-top:1px solid var(--border)}.exp-list>li{border-bottom:1px solid var(--border);align-items:flex-start;gap:1rem;padding:1.2rem 0;display:flex}.exp-list strong{color:var(--text);margin-bottom:.2rem;font-size:1rem;font-weight:500;display:block}.exp-list p{color:var(--text-3);font-size:.9rem}.exp-list .is-tbd strong{color:var(--text-3)}.exp-list .is-tbd p{color:var(--text-4);font-style:italic}.exp-tags{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.exp-tags li{color:var(--text-2);border:1px solid var(--border-2);background:var(--bg-2);transition:border-color var(--t) var(--ease), color var(--t) var(--ease);border-radius:4px;padding:.25rem .6rem;font-size:.76rem}.hov:hover .exp-tags li{border-color:var(--border-3)}.exp-tags li:hover{color:var(--text);border-color:var(--violet)}.exp-foot{margin-top:auto;padding-top:1.75rem}.soon{display:inline-block;position:relative}.soon-btn[aria-disabled=true]{cursor:default}.soon-tip{z-index:5;white-space:nowrap;pointer-events:none;background:var(--btn-p-bg);color:var(--btn-p-fg);box-shadow:var(--shadow-pop);opacity:0;transition:opacity .2s var(--ease), transform .2s var(--ease);border-radius:4px;padding:.4rem .7rem;font-size:.78rem;font-weight:500;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.soon-tip:after{content:"";border:5px solid #0000;border-top-color:var(--btn-p-bg);margin-left:-5px;position:absolute;top:100%;left:50%}.soon:hover .soon-tip,.soon-btn:focus-visible+.soon-tip,.soon.show .soon-tip{opacity:1;transform:translate(-50%)}.work-card{overflow:visible}.work-visual{border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden}.work-card{flex-direction:column;display:flex}.work-body{flex-direction:column;flex:1;display:flex}.work-body>p{margin-bottom:1.5rem}.fbq{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-2);transition:border-color var(--t) var(--ease);margin:auto 0 0;padding:1rem 1.1rem 1.05rem}.card:hover .fbq,.card.is-active .fbq{border-color:var(--border-2)}.fbq{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:.9rem;display:grid}.fbq-main{min-width:0}.fbq-head{align-items:flex-start;gap:.75rem;min-height:2.4rem;padding-top:.15rem;display:flex}.avatar{object-fit:cover;background:var(--panel);border:1px solid var(--border-2);width:2.4rem;height:2.4rem;color:var(--text-3);border-radius:50%;flex:none;place-items:center;display:grid}.avatar svg{width:1.05rem;height:1.05rem}.fbq figcaption{min-width:0;line-height:1.3}.fbq figcaption b{color:var(--text);font-size:.88rem;font-weight:500;display:block}.fbq figcaption span{color:var(--text-3);font-size:.78rem;display:block}.fbq-head .chip{margin-left:auto}.fbq-text{font-family:var(--font-display);color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.45rem 0 0;font-size:.96rem;font-weight:300;line-height:1.5;display:-webkit-box;overflow:hidden}.fbq.is-empty{align-items:center}.fbq.is-empty .fbq-head{align-items:center;min-height:0;padding-top:0}.fbq-more{cursor:pointer;color:var(--violet);transition:color var(--t) var(--ease);background:0 0;border:none;align-items:center;gap:.4rem;margin-top:.7rem;padding:.2rem 0;font-size:.84rem;font-weight:500;display:inline-flex}.fbq-more svg{width:.8rem;height:.8rem;transition:transform .26s var(--ease)}.fbq-more:hover{color:var(--text)}.fbq-more:hover svg{transform:translate(2px,-2px)}.chip{border:1px solid var(--border-2);background:var(--bg-2);color:var(--text-2);letter-spacing:.04em;border-radius:4px;align-items:center;gap:.35rem;padding:.22rem .55rem;font-size:.7rem;font-weight:500;display:inline-flex}.chip svg{width:.65rem;height:.65rem;color:var(--lime)}dialog.fb-dialog{background:var(--surface);width:min(760px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-dlg);padding:0;overflow:auto}dialog.fb-dialog[open]{animation:dlg .26s var(--ease)}@keyframes dlg{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}dialog.fb-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(6px)}.dlg-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.dlg-head .label{font-size:.66rem}.dlg-close{border-radius:var(--r);border:1px solid var(--border);width:2.2rem;height:2.2rem;color:var(--text-2);cursor:pointer;transition:border-color var(--t) var(--ease), color var(--t) var(--ease);background:0 0;place-items:center;display:grid}.dlg-close:hover{border-color:var(--border-2);color:var(--text)}.dlg-close svg{width:1rem;height:1rem}.dlg-body{padding:clamp(1.25rem,3.5vw,2.25rem)}.dlg-project{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:300}.dlg-video{aspect-ratio:16/9;border-radius:var(--r);border:1px solid var(--border-2);object-fit:contain;background:#000;width:100%;margin-bottom:1.75rem;display:block}.dlg-quote{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:300;line-height:1.5}.dlg-meta{border-top:1px solid var(--border);align-items:center;gap:.9rem;margin-top:1.75rem;padding-top:1.25rem;display:flex}.dlg-meta .name{font-size:.92rem;font-weight:500}.dlg-meta .role{color:var(--text-3);font-size:.84rem}.fb-more:hover{color:var(--text)}.fb-empty{color:var(--text-3);font-size:.88rem;font-style:italic}.fb-note{color:var(--text-4);margin-top:.5rem;font-size:.74rem;display:block}.contact{position:relative;overflow:hidden}.contact-bg{pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(50% 60% at 20% 30%,#000,#0000 75%);mask-image:radial-gradient(50% 60% at 20% 30%,#000,#0000 75%)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid;position:relative}.contact-copy h2{letter-spacing:-.04em;font-size:clamp(2.4rem,5.2vw,4.5rem);font-weight:300;line-height:1.02}.contact-copy h2 .dim{color:var(--text-3)}.contact-copy .lede{color:var(--text-2);max-width:28rem;margin-top:1.5rem}.contact-details{border-top:1px solid var(--border);margin-top:2.75rem}.contact-detail{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1.1rem 0;display:flex}.contact-detail .lbl{color:var(--text-4);margin-bottom:.1rem;font-size:.75rem}.contact-detail a{color:var(--text);transition:color var(--t) var(--ease);-webkit-user-select:all;user-select:all;font-size:1rem;text-decoration:none}.contact-detail a:hover{color:var(--violet)}.contact-detail .ph-pending{color:var(--text-3);font-style:normal}form.contact-form{padding:clamp(1.5rem,3.2vw,2.5rem)}.field{margin-bottom:1.25rem}.field label{color:var(--text-2);margin-bottom:.45rem;font-size:.8rem;display:block}.field input,.field textarea{border:1px solid var(--border);border-radius:var(--r);width:100%;font:inherit;color:var(--text);background:var(--bg-2);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);padding:.8rem .9rem;font-size:.95rem}.field input::placeholder,.field textarea::placeholder{color:var(--text-4)}.field textarea{resize:vertical;min-height:8rem}.field input:hover,.field textarea:hover{border-color:var(--border-2)}.field input:focus,.field textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--ring);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field .err{color:var(--danger);margin-top:.4rem;font-size:.8rem;display:none}.field.has-error .err{display:block}.form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.form-note{color:var(--text-4);max-width:17rem;font-size:.78rem}.status-panel{border-radius:var(--r);background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--text-2);margin-top:1.25rem;padding:.95rem 1.05rem;font-size:.88rem;line-height:1.55;display:none}.status-panel.show{display:block}footer.site{background:var(--bg-2);color:var(--text-3);border-top:1px solid var(--border);padding-block:clamp(3rem,6vw,4.5rem) 1.75rem}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2.5rem;padding-bottom:2.5rem;display:flex}.footer-brand p{max-width:22rem;margin-top:.9rem;font-size:.86rem}.footer-brand p.footer-company{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;max-width:none;margin-top:1rem;font-size:1rem;font-weight:400}.footer-brand p.footer-company+p{margin-top:.5rem}.footer-nav{flex-wrap:wrap;gap:3.5rem;display:flex}.footer-nav h4{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);margin-bottom:1rem;font-size:.7rem;font-weight:500}.footer-nav ul{gap:.6rem;display:grid}.footer-nav a{color:var(--text-3);transition:color var(--t) var(--ease);font-size:.88rem;text-decoration:none}.footer-nav a:hover{color:var(--text)}.ph-pending{color:var(--text-4);font-size:.88rem;font-style:italic}.footer-bottom{border-top:1px solid var(--border);color:var(--text-4);flex-wrap:wrap;justify-content:space-between;gap:.8rem;padding-top:1.5rem;font-size:.78rem;display:flex}.work-grid{grid-auto-columns:calc(74.0741% - .925926rem)}.work-card{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);display:grid}.work-visual{aspect-ratio:auto;border-bottom:none;border-right:1px solid var(--border);border-radius:var(--r-lg) 0 0 var(--r-lg);height:100%;min-height:320px}.work-visual svg{position:absolute;inset:0}.work-body{justify-content:center}.work-visual{background:var(--pv-s0)}@media (width<=900px){.work-grid{grid-auto-columns:88%}.work-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.work-visual{min-height:260px}}@media (width<=520px){.work-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.work-visual{min-height:220px}.work-body{padding:1.1rem}.fbq{column-gap:.6rem;padding:.8rem .85rem}.fbq .avatar{width:2rem;height:2rem}.fbq-head .chip{display:none}}.work-visual--shots{perspective:1200px;overflow:hidden}.shots{position:absolute;inset:0}.shots-plane{width:150%;transform-style:preserve-3d;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:3.2%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateX(14deg)rotate(-18deg)}.shots-col{flex-direction:column;gap:clamp(6px,1.2vw,14px);display:flex}.shots-col:first-child{transform:translateY(-20%)}.shots-col:nth-child(2){transform:translateY(-4%)}.shots-col:nth-child(3){transform:translateY(0)}.shots-col:nth-child(4){transform:translateY(-12%)}.shots-col:nth-child(5){transform:translateY(6%)}.tile{aspect-ratio:9/19.5;background:#fafafa;border-radius:clamp(6px,1vw,12px);max-width:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 18px 30px -18px #0000008c}.tile img{filter:grayscale(.75)brightness(.9);width:100%;height:auto;transition:filter .42s var(--ease);display:block;position:absolute;top:0;left:0}.tile.device{z-index:2;background:#0d0d10;border-radius:clamp(10px,1.6vw,18px);padding:4%;transform:translateZ(40px)scale(1.14);box-shadow:0 30px 50px -20px #000000bf,inset 0 0 0 1px #ffffff0f}.tile.device img{border-radius:clamp(6px,1.1vw,12px);position:relative}.tile.device:after{content:"";padding:4%;position:absolute;inset:0}.card:hover .tile img,.card.is-active .tile img{filter:none}.work-grid{--peek:12%;padding-inline:var(--peek);scroll-padding-inline:var(--peek);grid-auto-columns:100%}.work-grid>.work-card{scroll-snap-align:center}.tile img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}.shots-plane{will-change:transform}@media (width<=900px){.work-grid{--peek:7%}}@media (width<=680px){.work-grid{--peek:6%}}.work-card{transition:border-color .26s var(--ease), background .26s var(--ease), box-shadow .32s var(--ease)}.work-visual:not(.work-visual--shots){filter:brightness(.72)saturate(.6)}.tile img{filter:grayscale()brightness(.62)contrast(.9)}:root[data-theme=light] .tile img{filter:grayscale()brightness(.92)contrast(.85)opacity(.75)}:root[data-theme=light] .work-visual:not(.work-visual--shots){filter:saturate(.5)opacity(.7)}.work-body h3,.work-body>p{transition:color .26s var(--ease)}.work-body>p{color:var(--text-4)}.card.work-card:hover,.card.work-card.is-active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue), 0 30px 60px -30px var(--hero-glow), 0 0 40px -10px var(--hero-glow)}.work-card:hover .work-visual,.work-card.is-active .work-visual{filter:none}.work-card:hover .tile img,.work-card.is-active .tile img{filter:brightness(1.04)contrast(1.04)saturate(1.1)}.work-card:hover .work-body h3,.work-card.is-active .work-body h3{color:var(--text)}.work-card:hover .work-body>p,.work-card.is-active .work-body>p,.work-card .work-body h3{color:var(--text-2)}.work-visual--shots{perspective:none;--g:clamp(8px,1.1vw,14px)}.shots-plane{gap:var(--g);will-change:auto;width:118%;transition:transform .9s cubic-bezier(.22,.61,.36,1);transform:translate(-50%,-50%)rotate(-20deg)}.shots-col{gap:var(--g)}.shots-col:nth-child(n){transform:none}.shots-col:nth-child(2n){transform:translateY(calc(-1 * (100% + var(--g)) / 6))}.tile{border-radius:clamp(7px,.9vw,11px);box-shadow:0 14px 26px -16px #0000008c}.tile img{backface-visibility:visible;transform:none}.tile.device{z-index:1;padding:5%;transform:none}.tile.device img{border-radius:clamp(5px,.7vw,9px)}@media (width<=900px){.work-visual--shots .shots-plane{width:170%}}@media (width<=520px){.work-visual--shots .shots-plane{width:280%}}.card.work-card{transition:border-color .5s var(--ease), box-shadow .6s var(--ease), background .5s var(--ease), transform .6s var(--ease)}.work-visual{transition:filter .65s var(--ease)}.tile img{transition:filter .7s var(--ease)}.work-body h3,.work-body>p,.fbq{transition:color .5s var(--ease), border-color .5s var(--ease), background .5s var(--ease)}.work-visual:not(.work-visual--shots) svg{transition:transform .9s cubic-bezier(.22,.61,.36,1)}.work-card:hover .shots-plane,.work-card.is-active .shots-plane{transform:translate(-50%,-50%)rotate(-20deg)scale(1.035)}.work-card:hover .work-visual:not(.work-visual--shots) svg,.work-card.is-active .work-visual:not(.work-visual--shots) svg{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.work-card:hover .shots-plane,.work-card.is-active .shots-plane{transform:translate(-50%,-50%)rotate(-20deg)}}.work-visual--shots:not(.work-visual--fs) .shots-plane{width:150%}.work-card--fs{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.work-card--fs .work-visual{min-height:440px}.work-visual--fs{--g:10px;--vh:440px}.fs-wall{gap:var(--g);padding:var(--g);--ph:calc((var(--vh) - 3 * var(--g)) / 2);--pw:calc(var(--ph) * 9 / 18.6);grid-template-columns:calc(2 * var(--pw) + var(--g)) minmax(0,1fr);transition:transform .9s cubic-bezier(.22,.61,.36,1);display:grid;position:absolute;inset:0}.fs-phones{grid-template-columns:var(--pw) var(--pw);grid-template-rows:var(--ph) var(--ph);gap:var(--g);min-height:0;display:grid}.fs-phones .tile{aspect-ratio:auto;width:100%;height:100%;min-height:0}.fs-phones .tile img{width:100%;height:auto}.fs-web{justify-content:center;gap:var(--g);min-height:0;margin-block:calc(-1 * var(--g));flex-direction:column;display:flex}.fs-web .tile.laptop{flex:none;width:100%}.fs-web .lap-edge{opacity:.85}.fs-wall .tile.laptop{aspect-ratio:16/10.8;background:#0d0d10;border-radius:clamp(6px,.8vw,10px);padding:2.2% 2.2% 3.6%;box-shadow:0 18px 32px -18px #000000b3,inset 0 0 0 1px #ffffff0f}.lap-screen{background:#fafafa;border-radius:2px;width:100%;height:100%;display:block;position:relative;overflow:hidden}.fs-wall .tile.laptop img{object-fit:cover;object-position:top left;width:100%;height:100%;position:absolute;inset:0}.work-card:hover .fs-wall,.work-card.is-active .fs-wall{transform:scale(1.03)}@media (width<=900px){.work-card--fs{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.work-card--fs .work-visual{min-height:300px}.fs-wall{grid-template-columns:1fr}.fs-web{display:none}.fs-phones{grid-template-rows:none;grid-template-columns:1fr;align-content:center}.fs-phones .tile{aspect-ratio:9/19.5;width:auto;height:auto}.fs-phones .tile:nth-child(n+3){display:none}}@media (prefers-reduced-motion:reduce){.work-card:hover .fs-wall,.work-card.is-active .fs-wall{transform:none}}.store-links{flex-wrap:wrap;gap:.6rem;margin:-.5rem 0 1.5rem;display:flex}.store-btn{border-radius:var(--r);background:var(--btn-p-bg);color:var(--btn-p-fg);cursor:pointer;transition:background var(--t) var(--ease), box-shadow var(--t) var(--ease), transform var(--t) var(--ease);border:1px solid #0000;align-items:center;gap:.55rem;padding:.45rem .85rem .45rem .7rem;line-height:1.1;text-decoration:none;display:inline-flex}.store-btn svg{flex:none;width:1.15rem;height:1.15rem}.store-btn span{letter-spacing:-.01em;flex-direction:column;font-size:.92rem;font-weight:600;display:flex}.store-btn small{opacity:.8;letter-spacing:.01em;font-size:.62rem;font-weight:400}.store-btn:hover{background:var(--btn-p-hover);box-shadow:0 0 0 4px var(--ring)}.store-btn:active{transform:scale(.97)}.work-visual--png{background:var(--pv-s0);position:relative;overflow:hidden}.work-visual--png .pv-img{object-fit:cover;object-position:center;filter:grayscale()brightness(.62)contrast(.9);width:100%;height:100%;transition:filter .7s var(--ease), transform .9s cubic-bezier(.22,.61,.36,1);display:block;position:absolute;inset:0}:root[data-theme=light] .work-visual--png .pv-img{filter:grayscale()brightness(.98)contrast(.85)opacity(.75)}.work-visual--wide .pv-img{object-position:left center}.work-visual--png .pv-light,:root[data-theme=light] .work-visual--png .pv-dark{display:none}:root[data-theme=light] .work-visual--png .pv-light{display:block}.work-card:hover .work-visual--png .pv-img,.work-card.is-active .work-visual--png .pv-img{filter:none;transform:scale(1.03)}.work-card .work-visual--png{filter:none!important}@media (prefers-reduced-motion:reduce){.work-card:hover .work-visual--png .pv-img{transform:none}}nav.primary,.navlink{position:relative}.navlink.is-current{color:var(--text);background:var(--nav-hover)}nav.primary .navlink:after{content:"";background:var(--blue);height:2px;transition:transform .32s var(--ease);border-radius:2px;position:absolute;bottom:-.95rem;left:.8rem;right:.8rem;transform:scaleX(0)}nav.primary .navlink.is-current:after{transform:scaleX(1)}.mobile-panel a.is-current{color:var(--text);box-shadow:inset 3px 0 0 var(--blue);padding-left:.75rem;font-weight:500}.reveal{transition:opacity .7s var(--ease), transform .7s var(--ease)}.reveal.pre{opacity:0;transform:translateY(18px)}@media (width<=1020px){.acc-tag{display:none}.acc-btn{grid-template-columns:auto minmax(0,1fr) auto}.acc{grid-template-columns:1fr}.acc-col+.acc-col{border-top:none}.flow{grid-template-columns:1fr;gap:0}.flow:before,.flow:after{width:1px;height:auto;top:1.3rem;left:1.3rem}.flow:before{display:none}.flow-step:not(:last-child):before{content:"";background:var(--border-2);width:1px;height:100%;position:absolute;top:1.3rem;left:1.3rem}.flow-step:last-child{padding-bottom:0}.flow:after{height:var(--lit);background:linear-gradient(180deg,var(--blue),var(--violet));width:1px;transition:height .38s var(--ease)}.flow-step{grid-template-columns:2.6rem minmax(0,1fr);column-gap:1.25rem;padding-bottom:2rem;display:grid}.flow-step .flow-node{grid-row:1/span 3}.flow-num,.flow-step h3{margin-top:.2rem}}@media (width<=900px){nav.primary{display:none}.nav-row{grid-template-columns:1fr auto}.menu-toggle{display:inline-flex}header.site.open .mobile-panel{display:flex}header.site.open{border-bottom-color:var(--border)}.mobile-panel{border-top:1px solid var(--border);flex-direction:column;padding-block:.25rem 1.25rem}.mobile-panel a{color:var(--text-2);border-bottom:1px solid var(--border);padding:.8rem .1rem;font-size:1rem;text-decoration:none}.mobile-panel a:last-child{border-bottom:none}.mobile-panel a.sub{color:var(--text-3);padding-left:1rem;font-size:.9rem}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding-block:1rem 0}.hero-art{width:min(100%,460px);margin-inline:auto}.art-notes{display:none}.hero-bg{-webkit-mask-image:radial-gradient(90% 50% at 50% 65%,#000 10%,#0000 75%);mask-image:radial-gradient(90% 50% at 50% 65%,#000 10%,#0000 75%)}.intro{grid-template-columns:1fr;align-items:start}.exp-grid,.testi-wrap,.contact-grid,.experience-head{grid-template-columns:1fr}}@media (width<=680px){.acc-body{grid-template-columns:1fr;padding-left:0}.acc-btn{gap:.9rem;padding:1.2rem 0}.acc-btn .ico{width:2.2rem;height:2.2rem}.work-grid{grid-auto-columns:86%;gap:1rem}.carousel-count{display:none}.cap-strip{grid-template-columns:1fr}.cap-strip-item,.cap-strip-item+.cap-strip-item{border-left:none;padding:1.2rem 0 0}.footer-top,.footer-bottom{flex-direction:column}.nav-actions .btn{display:none}.hero h1 .ln{display:inline}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.reveal.pre{opacity:1;transform:none}}.status-panel.is-error{border-color:var(--danger);color:var(--danger);background:0 0}.contact-form .btn:disabled{opacity:.6;cursor:progress}
