.home-backdrop{z-index:0;pointer-events:none;contain:strict;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.home-backdrop-base{fill:var(--home-field,#081d23)}.home-backdrop-plane{fill:var(--home-plane,#163d43)}.home-backdrop-ribbon{fill:none;stroke:var(--home-ribbon,#303a32);stroke-linecap:butt;stroke-linejoin:round}.home-backdrop-fold{fill:none;stroke:#000;opacity:.2}.home-backdrop-crease{fill:none;stroke:var(--home-edge,#70aa9e);stroke-width:1.25px;opacity:.38}.home-backdrop-rule{fill:none;stroke:var(--home-edge,#70aa9e);stroke-width:1px;opacity:.26}.home-backdrop-reading{fill:url(#home-reading-material)}.scroll-world[data-home-backdrop] .scroll-world-light{opacity:.28!important}@media (max-width:759px){.home-backdrop-crease{stroke-width:2px;opacity:.22}.home-backdrop-rule{display:none}.home-backdrop-fold{opacity:.12}.portfolio-home.material-gallery #jarvis>.world-project-copy{box-shadow:none;background:0 0}}html:is([data-motion-paused=true],[data-motion-hidden=true]) .home-backdrop{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.home-backdrop{transition:none;animation:none}}@media (forced-colors:active),print{.home-backdrop{display:none}}.portfolio-home.material-gallery #about.builder-section{display:block}.portfolio-home.material-gallery #contact.closing-section{overflow:clip}.portfolio-home.material-gallery #contact.closing-section:after{content:none;display:none}.portfolio-home.material-gallery #contact .home-invitation-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:32px 7%;display:grid}.portfolio-home.material-gallery #about .builder-copy h2{font-size:clamp(48px,5.5vw,80px)}.portfolio-home.material-gallery #about .builder-skills{width:52%;margin-top:40px}.portfolio-home.material-gallery #contact .home-invitation-copy{grid-area:1/1}.portfolio-home.material-gallery #contact .studio-signature{grid-column:1/-1;margin-top:0;padding-top:0;font-size:clamp(24px,3vw,42px)}@media (max-width:759px){.portfolio-home.material-gallery #contact .home-invitation-layout{flex-direction:column;align-items:stretch;gap:30px;display:flex}.portfolio-home.material-gallery #about .builder-copy h2{font-size:clamp(48px,12vw,72px)}.portfolio-home.material-gallery #about .builder-skills{width:100%;margin-top:20px}.portfolio-home.material-gallery #contact .home-invitation-copy{display:contents}.portfolio-home.material-gallery #contact .closing-bottom{order:1}.portfolio-home.material-gallery #contact .closing-email{order:2}.portfolio-home.material-gallery #contact .studio-signature{order:3}}.studio-atmosphere{z-index:0;pointer-events:none;contain:strict;--air-x:0px;--air-y:0px;--air-scroll:0px;--air-turn:0deg;position:fixed;inset:0;overflow:hidden}.atmosphere-wash{opacity:.38;transform:translate3d(var(--air-x),calc(var(--air-y) - var(--air-scroll) * .2),0);background:radial-gradient(at 85% 28%,#cbb8e24d,#0000 42%),radial-gradient(at 5% 75%,#c9aa7833,#0000 38%);position:absolute;inset:-15%}.atmosphere-contours{width:120%;height:125%;transform:translate3d(var(--air-x),calc(var(--air-y) - var(--air-scroll) * .36),0) rotate(var(--air-turn));transform-origin:70% 40%;opacity:.68;position:absolute;top:-12%;left:-10%}.studio-atmosphere[data-tone=ink]{opacity:.6}.studio-atmosphere[data-tone=ink] .atmosphere-wash{opacity:.2}body:has(.portfolio-home){background:#faf8f5}#main-content.portfolio-home,.case-study{z-index:1;background:0 0;position:relative}.website-service-page>main,.website-service-page footer,body>footer{z-index:1;position:relative}.motion-ready [data-reveal]{transition-duration:.85s;transition-timing-function:cubic-bezier(.2,.7,.2,1)}.research-feature>.edge-market{grid-column:1/-1}@media (max-width:700px){.atmosphere-contours{opacity:.45;width:200%;left:-60%}.site-header{gap:8px;height:auto;min-height:80px;padding:10px 18px}.site-header .wordmark{font-size:28px}.site-header nav{gap:12px}.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.site-header .nav-contact{min-height:36px;padding:0 10px;font-size:11px;position:static}}@media (prefers-reduced-motion:reduce){.atmosphere-contours,.atmosphere-wash{transform:none}}.studio-atmosphere[data-theme=jarvis]{background:radial-gradient(at 100% 30%,#251a38,#0000 65%)}.studio-atmosphere[data-theme=trainer]{background:radial-gradient(at 90%,#1b3029,#0000 65%)}.studio-atmosphere[data-theme=edge]{background:radial-gradient(at 100% 65%,#32251c,#0000 65%)}.atmosphere-art{perspective:1000px;opacity:.18;color:#bca4d0;width:min(78vw,950px);height:78vh;transform:translate3d(calc(var(--air-x) * -1.5),calc(var(--air-y) + var(--air-scroll) * -.6),0) rotate(calc(var(--air-turn) * -1.4));position:absolute;top:16%;right:-19vw}.studio-atmosphere[data-theme=trainer] .atmosphere-art{color:#9eb9a5}.studio-atmosphere[data-theme=edge] .atmosphere-art{color:#c6a782}.studio-atmosphere[data-tone=paper] .atmosphere-art{color:#877394;opacity:.08}.atmosphere-optics{transform-style:preserve-3d;transform:rotateY(calc(-25deg + var(--air-turn) * 2)) rotateZ(-25deg);position:absolute;inset:12%}.atmosphere-optics i{inset:calc(var(--orbit-index) * 2.5%);transform:translateZ(calc(var(--orbit-index) * 14px)) rotateY(calc(var(--orbit-index) * 6deg));border:1px solid;border-radius:50%;position:absolute;box-shadow:inset 1px 1px #d8c4ea33}.atmosphere-sheets{transform-style:preserve-3d;transform:rotateY(-30deg) rotateX(calc(12deg + var(--air-turn))) rotateZ(18deg);position:absolute;inset:16%}.atmosphere-sheets i{background:linear-gradient(140deg,#9eb9a511,#0000);border:1px solid;border-radius:20px;position:absolute;inset:0;transform:translate3d(-45px,45px,-50px)}.atmosphere-sheets i:nth-child(2){transform:translateZ(-5px)}.atmosphere-sheets i:nth-child(3){transform:translate3d(45px,-45px,40px)}.atmosphere-sheets i:nth-child(4){transform:translate3d(90px,-90px,85px)}.atmosphere-sheets i:after{content:"";opacity:.4;border-top:1px solid;border-bottom:1px solid;position:absolute;inset:15%}.atmosphere-market{width:100%;height:100%;transform:rotateY(calc(-10deg + var(--air-turn))) rotateX(6deg)}.atmosphere-fold{transform-style:preserve-3d;transform:rotateX(45deg) rotateZ(calc(-30deg + var(--air-turn)));position:absolute;inset:20%}.atmosphere-fold i{border:1px solid;position:absolute;inset:0;transform:translateZ(-35px)}.atmosphere-fold i:nth-child(2){transform:translateZ(15px)rotate(12deg)}.atmosphere-fold i:nth-child(3){transform:translateZ(65px)rotate(24deg)}body:has(.studio-atmosphere[data-theme=jarvis]){--cyan:#c8b1e3;--cyan-dim:#34273e;--violet:#a88ab8;--gold:#b99b7e}body:has(.studio-atmosphere[data-theme=trainer]){--cyan:#b9d0bc;--cyan-dim:#253a30;--violet:#9eb9a5;--gold:#cfbda0}body:has(.studio-atmosphere[data-theme=edge]){--cyan:#d2b794;--cyan-dim:#3d3023;--violet:#b49ac2;--gold:#c6a782}body:has(.studio-atmosphere[data-theme=trainer]) .px-trainer{--px-lilac:#a5b9ac;background:#eef1e8;border-color:#c2cfbf}body:has(.studio-atmosphere[data-theme=trainer]) .px-trainer .px-scene{background:radial-gradient(at 45% 30%,#f7f6ec,#dfe7dd 72%)}body:has(.studio-atmosphere[data-theme=edge]) .px-edge{background:#f3eee4;border-color:#d0bfaa}@media (max-width:700px){.atmosphere-art{opacity:.16;width:120vw;height:80vh;right:-55vw}.atmosphere-optics{inset:10%}.atmosphere-market{width:90%}}@media (prefers-reduced-motion:reduce){.atmosphere-art{transform:none}}.scroll-world{z-index:0;pointer-events:none;contain:strict;--world-yaw:-27deg;--world-pitch:8deg;--world-roll:-11deg;--world-spread:11px;--world-stack:2px;--world-depth:23px;--world-fan:2deg;--world-roundness:49%;--world-progress:0;position:fixed;inset:0;overflow:hidden}.scroll-world.studio-atmosphere[data-tone=ink]{opacity:1}.scroll-world-light{background:radial-gradient(ellipse at 76% 55%,var(--world-wash,#e8ddeb77),transparent 48%),radial-gradient(ellipse at 92% 80%,#d0b58c2b,transparent 36%);position:absolute;inset:0}.scroll-world[data-tone=ink] .scroll-world-light{background:radial-gradient(ellipse at 76% 55%,var(--world-dark-wash,#5843674d),transparent 55%),radial-gradient(ellipse at 92% 80%,#c6a2701a,transparent 36%)}.scroll-world-canvas{opacity:0;position:absolute;inset:0}.scroll-world-canvas canvas{width:100%;height:100%;display:block}.scroll-world[data-renderer=ready] .scroll-world-canvas{opacity:1}.scroll-world[data-renderer=ready] .scroll-world-fallback{visibility:hidden}.scroll-world-fallback{aspect-ratio:1;perspective:1100px;width:min(34vw,510px);position:absolute;top:52%;left:73.5%;transform:translate(-50%,-50%)}.scroll-world-object{transform-style:preserve-3d;transform:rotateX(var(--world-pitch)) rotateY(var(--world-yaw)) rotateZ(var(--world-roll));position:absolute;inset:0}.scroll-world-ribbon{inset:calc(13% + var(--ribbon) * 2%);border:clamp(13px,1.5vw,24px) solid var(--world-primary,#9e86b5);border-radius:var(--world-roundness);transform:translate3d(calc(var(--ribbon) * var(--world-spread)),calc(var(--ribbon) * var(--world-stack)),calc(var(--ribbon) * var(--world-depth))) rotateZ(calc(var(--ribbon) * var(--world-fan)));box-shadow:inset 2px 2px 1px #fff9, inset -3px -4px 2px #45354c80, 4px 6px 0 var(--world-ink,#776381), 8px 15px 20px #30263d20;background:0 0;display:block;position:absolute}.scroll-world-ribbon:nth-child(2){border-color:var(--world-accent,#c0a783);box-shadow:inset 2px 2px 1px #fff9, inset -3px -4px 2px #66503870,4px 6px 0 var(--world-ink,#927b5c),8px 15px 20px #30263d20}.scroll-world-ribbon:nth-child(3){border-color:var(--world-pearl,#e5dce9)}.scroll-world-ribbon:nth-child(5){border-color:var(--world-ink,#67566c)}.scroll-world-core{aspect-ratio:1;border:8px solid var(--world-accent,#c0a783);width:19%;box-shadow:inset 1px 1px 1px #fff,3px 4px 0 var(--world-ink,#8f7659);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(55px)}.scroll-world-grain{opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@media (max-width:759px){.scroll-world{height:100lvh;bottom:auto}.scroll-world-fallback{width:min(78vw,370px);top:68%;left:60%}.scroll-world-ribbon{border-width:14px}.scroll-world-light{background:radial-gradient(ellipse at 68% 70%,var(--world-wash,#e4d7e977),transparent 45%)}.scroll-world-grain{opacity:.035}}@media (prefers-reduced-motion:reduce){.scroll-world-object,.scroll-world-ribbon{transition:none;animation:none}}@media (max-width:599px) and (max-height:649px) and (orientation:portrait){.scroll-world-fallback{width:min(65vw,310px);top:78%;left:68%}}.world-svg{filter:drop-shadow(8px 16px 14px #30253c25);width:100%;height:100%;overflow:visible}.world-svg-lens{transform-box:view-box}.scroll-world[data-renderer=ready] .world-svg{display:none}.scroll-world[data-story=jarvis] .scroll-world-light{background:radial-gradient(ellipse at 74% 52%,color-mix(in srgb,var(--jarvis-color) 13%,transparent),transparent 47%)}.scroll-world-canvas{transition:opacity .45s}@media (prefers-reduced-motion:reduce){.scroll-world-canvas{transition:none}}.scroll-world-fallback{top:var(--world-center-y,52%);left:var(--world-center-x,73.5%);scale:var(--world-fallback-scale,1);transform-origin:0 0}.world-intro-backdrop,.world-intro-caption{display:none}.scroll-world[data-intro=playing]{z-index:80}.scroll-world[data-intro=playing] .world-intro-backdrop{opacity:var(--intro-backdrop,1);background:radial-gradient(at 50% 47%,#29312b 0%,#101613 35%,#070b09 76%);display:block;position:absolute;inset:0}.scroll-world[data-intro=playing] .scroll-world-canvas,.scroll-world[data-intro=playing] .world-svg{opacity:var(--intro-reveal,0)}.scroll-world[data-intro=playing] .world-intro-caption{text-align:center;color:#e5e4dc;width:100%;opacity:var(--intro-caption,0);letter-spacing:.22em;text-transform:uppercase;gap:12px;font-size:12px;display:grid;position:absolute;top:71%;left:0}.world-intro-caption small{letter-spacing:.1em;color:#a7b1a8;text-transform:none;font-size:10px}@media (prefers-reduced-motion:reduce){.world-intro-backdrop,.world-intro-caption{display:none!important}}.home-story-root .home-story-svg{pointer-events:none;width:100%;height:100%;opacity:var(--story-presence,1);filter:drop-shadow(10px 18px 16px #0000004d);position:absolute;inset:0;overflow:visible}.home-story-root[data-renderer=ready] .home-story-svg{display:none}.home-story-root .home-story-svg [data-cap=front]{stroke:#f6ecdb2e;stroke-width:.8px;stroke-linejoin:round}.home-story-root .home-story-svg [data-cap=back]{stroke:#0003;stroke-width:.6px}.home-story-root .home-story-svg-floor{fill:#0000002e}.home-story-root[data-intro=playing] .home-story-svg{opacity:calc(var(--intro-reveal,0) * var(--story-presence,1))}@media print{.home-story-root{display:none}}
