@font-face{font-family:Duplet;src:url(/fonts/Duplet-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Duplet;src:url(/fonts/Duplet-Semibold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}:root{--bg-color:#0e0e10;--text-primary:#ededed;--text-secondary:#a1a1aa;--text-tertiary:#666;--border:#27272a;--btn-bg:transparent;--btn-border:#333;--btn-hover-bg:#1f1f22;--lightbox-bg:rgba(14,14,16,.95);--surface-bg:rgba(14,14,16,.72)}[data-theme=light]{--bg-color:#fff;--text-primary:#111;--text-secondary:#666;--text-tertiary:#a1a1aa;--border:#eaeaea;--btn-bg:transparent;--btn-border:#ccc;--btn-hover-bg:#f5f5f5;--lightbox-bg:hsla(0,0%,100%,.95);--surface-bg:hsla(0,0%,100%,.72)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Duplet,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;background-color:var(--bg-color);color:var(--text-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}button,input,select,textarea{font-family:inherit}.preloader{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:var(--bg-color);transition:opacity .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s;opacity:1;pointer-events:all}.preloader.is-leaving{opacity:0;filter:blur(12px);pointer-events:none;transition:opacity .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s}.preloader-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:0 1.5rem;text-align:center}.preloader-name{display:inline-flex;align-items:center;font-family:inherit;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:500;color:var(--text-primary);letter-spacing:.02em;font-feature-settings:none;font-variant-ligatures:none}.preloader-caret-prefix{color:var(--text-tertiary);margin-right:.1em}.preloader-char{display:inline-block;opacity:0;filter:blur(6px);transform:translateY(2px);animation:preloaderCharIn .22s cubic-bezier(.22,1,.36,1) forwards;will-change:filter,opacity,transform}@keyframes preloaderCharIn{0%{opacity:0;filter:blur(6px);transform:translateY(2px)}60%{opacity:1;filter:blur(1px);transform:translateY(0)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.preloader-cursor{display:inline-block;width:.55ch;height:1em;margin-left:.12em;background:var(--text-primary);vertical-align:-.12em;opacity:0;animation:preloaderCursorIn .22s ease-out forwards,preloaderCursorBlink 1s steps(2,start) infinite;animation-delay:var(--cursor-delay,.6s),calc(var(--cursor-delay, .6s) + .22s)}@keyframes preloaderCursorIn{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}@keyframes preloaderCursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.preloader-line{position:relative;width:min(280px,60vw);height:1px;background:var(--border);overflow:hidden;border-radius:1px}.preloader-line-fill{position:absolute;top:-1px;left:-40%;width:40%;height:3px;background:linear-gradient(90deg,transparent 0,var(--text-primary) 50%,transparent 100%);filter:blur(2px);animation:preloaderSweep 1.6s cubic-bezier(.65,0,.35,1) infinite}@keyframes preloaderSweep{0%{left:-40%}to{left:100%}}.preloader-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-tertiary);opacity:0;animation:preloaderLabelIn 1s cubic-bezier(.22,1,.36,1) .6s forwards}@keyframes preloaderLabelIn{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}#butterfly-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}[data-theme=light] #butterfly-bg{opacity:.45;filter:invert(1) hue-rotate(180deg)}#butterfly-bg canvas{display:block;width:100%!important;height:100%!important}.view-container{display:none;opacity:0;transition:opacity .4s ease;max-width:680px;margin:1.25rem auto;padding:2rem;position:relative;z-index:1;background:var(--surface-bg);border:none;border-radius:20px;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.view-container.active{display:block;opacity:1}#mvf-case-study{max-width:940px}@keyframes subtleBlurFade{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes expandBlurFade{0%{opacity:0;filter:blur(4px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.anim-item{opacity:0;animation:subtleBlurFade .9s cubic-bezier(.25,1,.5,1) forwards}.anim-delay-1{animation-delay:.1s}.anim-delay-2{animation-delay:.25s}.anim-delay-3{animation-delay:.4s}.anim-delay-4{animation-delay:.55s}.anim-delay-5{animation-delay:.7s}h1{font-size:1.25rem;margin:0;letter-spacing:-.02em}h1,h2{color:var(--text-primary);font-weight:500;transition:color .3s ease}h2{margin-top:4rem;margin-bottom:1rem;font-size:1rem}p{margin-bottom:1.25rem;font-size:.95rem}a{color:var(--text-primary);text-decoration:none;transition:color .2s ease;cursor:pointer}a:hover{color:var(--text-secondary)}.name-container{display:inline-flex;align-items:center;gap:1rem;cursor:default;margin-bottom:.2rem}.lottie-wrapper{height:6.25rem;width:6.25rem;display:flex;align-items:center;justify-content:center}.lottie-wrapper lottie-player{filter:invert(1);transition:filter .3s ease}[data-theme=light] .lottie-wrapper lottie-player{filter:invert(0)}.magnetic-scope{position:relative}.magnetic-highlight{position:absolute;top:0;left:0;width:0;height:0;border-radius:8px;background:hsla(0,0%,100%,.045);pointer-events:none;opacity:0;transform:translateZ(0);will-change:transform,width,height,opacity;z-index:0;transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.33,1,.68,1),opacity .22s ease}.magnetic-highlight.is-snap{transition:opacity .22s ease}[data-theme=light] .magnetic-highlight{background:rgba(0,0,0,.04)}.magnetic-scope .bucket,.magnetic-scope .bucket-body,.magnetic-scope .bucket-header,.magnetic-scope .project-row{position:relative;z-index:1}@media (hover:none){.magnetic-highlight{display:none}}.section-note{font-size:.8rem;color:var(--text-tertiary);margin:-.4rem 0 .25rem;line-height:1.55;max-width:58ch}.bucket-list{margin-top:.75rem;display:flex;flex-direction:column}.bucket{position:relative}.bucket-list>.bucket+.bucket{margin-top:.15rem;padding-top:.15rem}.bucket-list>.bucket+.bucket:before{content:"";position:absolute;top:0;left:.5rem;right:.5rem;height:1px;background:var(--border);opacity:.5}.bucket-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem;margin:0 -.6rem;min-height:2.3rem;background:transparent;border:none;border-radius:8px;cursor:pointer;color:inherit;font-family:inherit;text-align:left;transition:background .2s ease,color .2s ease}.bucket.depth-1>.bucket-header,.bucket.depth-2>.bucket-header{min-height:2.05rem;padding:.5rem .6rem}.bucket-header:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--border)}.bucket-header-left{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.bucket-header-right{display:inline-flex;align-items:center;gap:.75rem;color:var(--text-tertiary);font-size:.72rem;flex-shrink:0;letter-spacing:.01em}.bucket-chevron{font-size:.8rem;color:var(--text-tertiary);opacity:.55;transition:transform .35s cubic-bezier(.25,1,.5,1),color .2s ease,opacity .2s ease}.bucket.is-open>.bucket-header .bucket-chevron{transform:rotate(90deg);color:var(--text-secondary);opacity:1}.bucket-header:hover .bucket-chevron{color:var(--text-secondary);opacity:1}.bucket-title{color:var(--text-primary);font-weight:500;font-size:.95rem;letter-spacing:-.005em;transition:color .2s ease}.bucket.depth-1>.bucket-header .bucket-title{font-size:.88rem;font-weight:400;color:var(--text-secondary)}.bucket.depth-1.is-open>.bucket-header .bucket-title,.bucket.depth-1>.bucket-header:hover .bucket-title{color:var(--text-primary)}.bucket.depth-2>.bucket-header .bucket-title{font-size:.82rem;color:var(--text-tertiary);font-weight:400;letter-spacing:.01em}.bucket.depth-2.is-open>.bucket-header .bucket-title,.bucket.depth-2>.bucket-header:hover .bucket-title{color:var(--text-primary)}.bucket-summary{color:var(--text-tertiary);font-size:.78rem;font-style:italic;opacity:.75;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bucket-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.bucket-body{padding-left:1.25rem;padding-top:.1rem;padding-bottom:.35rem;display:flex;flex-direction:column;gap:.1rem;animation:expandBlurFade .45s cubic-bezier(.25,1,.5,1)}.bucket.depth-1>.bucket-body{padding-left:1.1rem}.bucket.depth-2>.bucket-body{padding-left:1rem}.bucket-empty{font-size:.8rem;color:var(--text-tertiary);font-style:italic;padding:.4rem .6rem;margin:0}.project-row{padding:.5rem .6rem;margin:0 -.6rem;border-radius:8px;transition:color .2s ease;position:relative;display:flex;flex-direction:column;gap:.15rem;min-height:2.05rem;justify-content:center}.project-row:not(.no-expand){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-row.no-expand{cursor:default}.project-row:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--border)}.project-row-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:1.35rem}.project-row-title{color:var(--text-primary);font-weight:400;font-size:.86rem;line-height:1.35;display:inline-flex;align-items:center;gap:.5rem;min-width:0}.project-row-link{color:inherit;border-bottom:1px dotted transparent;transition:border-color .2s ease,color .2s ease}.project-row-link:hover{color:var(--text-primary);border-bottom-color:var(--text-secondary)}.project-row-meta{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0;color:var(--text-tertiary)}.project-row-date{font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:.8}.project-row-chevron{font-size:.72rem;color:var(--text-tertiary);opacity:.4;transition:transform .3s ease,color .2s ease,opacity .2s ease}.project-row:hover .project-row-chevron{color:var(--text-secondary);opacity:1}.project-row.is-open .project-row-chevron{transform:rotate(90deg);color:var(--text-secondary);opacity:1}.project-row-summary{font-size:.78rem;color:var(--text-tertiary);margin:0;padding-right:4rem;line-height:1.45;max-width:62ch;text-wrap:pretty}.project-row-details{margin-top:.75rem;padding-top:.6rem;cursor:default;-webkit-user-select:text;-moz-user-select:text;user-select:text;animation:expandBlurFade .45s cubic-bezier(.25,1,.5,1);position:relative}.project-row-details:before{content:"";position:absolute;top:0;left:0;width:28px;height:1px;background:var(--border)}.details-text{font-size:.8rem;margin-bottom:.85rem;color:var(--text-secondary);line-height:1.55}.live-dot{position:relative;display:inline-block;width:4px;height:4px;flex-shrink:0;--dot-color:#22c55e;--dot-glow:rgba(34,197,94,.55)}.live-dot--wip{--dot-color:#eab308;--dot-glow:rgba(234,179,8,.55)}.live-dot-core{box-shadow:0 0 4px var(--dot-glow);animation:liveDotBreathe 2.4s ease-in-out infinite}.live-dot-core,.live-dot-pulse{position:absolute;inset:0;border-radius:50%;background:var(--dot-color)}.live-dot-pulse{opacity:.6;animation:liveDotPulse 2.4s ease-out infinite}.project-badge{display:inline-flex;align-items:center;font-size:.58rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:.12rem .4rem;border-radius:4px;border:1px solid var(--border);color:var(--text-tertiary);background:transparent;margin-left:.1rem;line-height:1.4;white-space:nowrap}.project-badge--early-preview,.project-badge--wip{color:var(--text-tertiary);border-color:var(--border);background:transparent}.project-row-reveal{display:grid;grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .45s cubic-bezier(.33,1,.68,1),opacity .3s ease}.project-row:focus-within .project-row-reveal,.project-row:hover .project-row-reveal{grid-template-rows:1fr;opacity:1;pointer-events:auto}.project-row-reveal-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.55rem;padding-top:.65rem}.project-row-image{border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--surface-bg);line-height:0}.project-row-image a{display:block}.project-row-image img{display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:16/9}.project-row-popover-inner{min-height:0;overflow:hidden;display:flex;align-items:center;gap:.9rem;padding:.65rem .85rem;border-radius:10px;background:var(--surface-bg);border:1px solid var(--border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.project-row-popover-text{font-size:.78rem;color:var(--text-secondary);line-height:1.45;flex:1 1 auto}.project-row-popover-cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:500;color:var(--text-primary);white-space:nowrap;padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;transition:border-color .2s ease,transform .2s ease,background .2s ease;background:transparent}.project-row-popover-cta i{font-size:.8rem;transition:transform .2s ease}.project-row-popover-cta:hover{border-color:var(--text-primary);background:var(--btn-hover-bg);transform:translateY(-1px)}.project-row-popover-cta:hover i{transform:translateX(2px)}@media (max-width:600px){.project-row-popover-inner{flex-direction:column;align-items:flex-start;gap:.6rem}}@keyframes liveDotBreathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.85);opacity:.85}}@keyframes liveDotPulse{0%{transform:scale(1);opacity:.55}80%{transform:scale(2.6);opacity:0}to{transform:scale(2.6);opacity:0}}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag{font-size:.7rem;padding:.2rem .6rem;border:1px solid var(--border);border-radius:40px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.cta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;margin-bottom:1rem}.cta-tag{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);color:var(--text-primary);background:transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease,color .2s ease}.cta-tag i{font-size:.95rem;color:var(--text-secondary);transition:color .2s ease,transform .2s ease}.cta-tag:hover{border-color:var(--text-primary);background:var(--btn-hover-bg);color:var(--text-primary);transform:translateY(-1px)}.cta-tag:hover i{color:var(--text-primary);transform:translateX(1px)}.project-gallery{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.gallery-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;cursor:zoom-in;opacity:.85;transition:opacity .3s ease,transform .2s ease;border:0}.gallery-thumb:hover{opacity:1;transform:scale(1.05)}.read-more-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;font-family:inherit;color:var(--bg-color);background:var(--text-primary);border:1px solid var(--text-primary);padding:.55rem 1rem;border-radius:8px;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background .2s ease}.read-more-btn:hover{opacity:.9;transform:translateY(-1px)}.read-more-btn:active{transform:translateY(0)}.case-study-layout{display:flex;gap:4rem;align-items:flex-start}.case-sidebar{width:160px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:4rem;display:flex;flex-direction:column;gap:2rem}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.9rem;transition:color .2s ease;cursor:pointer;background:transparent;border:0;padding:0}.back-link:hover{color:var(--text-primary)}.toc{display:flex;flex-direction:column;gap:.5rem}.toc a{font-size:.85rem;color:var(--text-tertiary);transition:color .2s ease}.toc a:hover{color:var(--text-primary)}.case-content{flex-grow:1;max-width:600px}.case-title{font-size:1.1rem;font-weight:500;color:var(--text-primary);margin-bottom:.2rem}.case-date{font-size:.85rem;color:var(--text-tertiary);margin-bottom:2.5rem}.case-content h3{font-size:.95rem;font-weight:600;color:var(--text-primary);border-top:1px solid var(--border);padding-top:1.5rem;margin-top:2.5rem;margin-bottom:1rem}.case-content p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.25rem}.case-img-full{width:100%;border-radius:8px;margin:2rem 0;border:1px solid var(--border);opacity:.9;transition:opacity .3s ease;cursor:zoom-in}.case-img-full:hover{opacity:1}@media (max-width:768px){.view-container{padding:2rem 1.25rem}.view-container,footer{margin:.75rem;border-radius:16px}footer{padding:.85rem 1.25rem}.case-study-layout{flex-direction:column;gap:2rem}.case-sidebar{position:static;width:100%;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:1rem}.toc{display:none}}.lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--lightbox-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;cursor:zoom-out}.lightbox.active{opacity:1;pointer-events:all}.lightbox img{max-width:90%;max-height:90vh;border-radius:8px;box-shadow:0 20px 40px rgba(0,0,0,.2);transform:scale(.95);transition:transform .3s cubic-bezier(.25,1,.5,1)}.lightbox.active img{transform:scale(1)}.social-grid{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.5rem}.social-link{display:inline-flex;align-items:center;justify-content:center;opacity:.6;font-size:1.2rem;transition:opacity .2s ease,transform .2s ease;color:var(--text-primary)}.social-link:hover{opacity:1;transform:translateY(-2px)}footer{margin:1.25rem auto;max-width:680px;padding:1rem 2rem;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;background:var(--surface-bg);border:none;border-radius:20px;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}#theme-toggle{background-color:var(--btn-bg);color:var(--text-primary);border:1px solid var(--btn-border);padding:.3rem .8rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-family:inherit}#theme-toggle:hover{background-color:var(--btn-hover-bg)}