@property --accent-h{syntax:"<number>";inherits:true;initial-value:0}@property --accent-c{syntax:"<number>";inherits:true;initial-value:0}@property --accent-c-mid{syntax:"<number>";inherits:true;initial-value:0}@property --accent-c-dim{syntax:"<number>";inherits:true;initial-value:0}@property --accent-c-soft{syntax:"<number>";inherits:true;initial-value:0}.home-spiral{--grid-margin:24px;--inset-bottom:max(var(--grid-margin), env(safe-area-inset-bottom));--inset-left:max(var(--grid-margin), env(safe-area-inset-left));--inset-right:max(var(--grid-margin), env(safe-area-inset-right));--tap-target:44px;--spiral-nav-h:52px;--spiral-nav-control:34px;padding-top:calc(var(--spiral-nav-h) + env(safe-area-inset-top));color:#fafafa;position:relative}.home-spiral .backdrop{z-index:0;pointer-events:none;background:linear-gradient(115deg, #050505fa 0%, #070607c2 42%, #050505f0 100%), oklch(.105 var(--accent-c-soft) var(--accent-h));transition:background .8s cubic-bezier(.16,1,.3,1);position:fixed;inset:0}.home-spiral .backdrop-bloom,.home-spiral .backdrop-core,.home-spiral .backdrop-vignette{position:absolute;inset:0}.home-spiral .backdrop-bloom{background:radial-gradient(120% 105% at 50% 52%, oklch(.55 var(--accent-c) var(--accent-h) / .33) 0%, oklch(.47 var(--accent-c-mid) var(--accent-h) / .22) 26%, oklch(.36 var(--accent-c-dim) var(--accent-h) / .13) 48%, oklch(.26 var(--accent-c-dim) var(--accent-h) / .07) 68%, oklch(.18 var(--accent-c-soft) var(--accent-h) / .03) 85%, transparent 100%)}.home-spiral .backdrop-core{background:radial-gradient(38% 34% at 50% 52%, oklch(.72 var(--accent-c) var(--accent-h) / .14) 0%, oklch(.62 var(--accent-c-mid) var(--accent-h) / .06) 45%, transparent 80%)}.home-spiral .backdrop-vignette{background:radial-gradient(124% 112%,#0000 64%,#00000024 86%,#0000004d 100%)}.home-spiral .webgl{z-index:1;touch-action:pinch-zoom;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;width:100%;height:100dvh;display:block;position:fixed;inset:0}.home-spiral--scene:after{content:"";z-index:10;pointer-events:none;background:linear-gradient(#0000 0%,#00000014 18%,#0003 38%,#0000004d 58%,#00000061 80%,#0000006b 100%);height:max(340px,40dvh);position:fixed;inset:auto 0 0}.home-spiral .spiral-nav{z-index:30;pointer-events:none;position:fixed;top:0;left:0;right:0}.home-spiral .spiral-nav__bar{min-height:var(--spiral-nav-h);padding:8px max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));padding-top:calc(20px + env(safe-area-inset-top));pointer-events:auto;align-items:center;gap:12px;display:flex}.home-spiral .spiral-nav__mark{width:var(--spiral-nav-control);height:var(--spiral-nav-control);filter:drop-shadow(0 1px 6px #000000d9);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.home-spiral .spiral-nav__mark svg{width:21px;height:auto}.home-spiral .spiral-nav__search{flex:1;justify-content:center;min-width:0;padding-inline:4px;display:flex}.home-spiral .spiral-nav__burger{width:var(--spiral-nav-control);height:var(--spiral-nav-control);color:#e9efed;cursor:pointer;filter:drop-shadow(0 1px 6px #000000d9);background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:23px;transition:background-color .2s;display:inline-flex}.home-spiral .spiral-nav__burger:hover{background:#ffffff17}.home-spiral .spiral-nav__wordmark,.home-spiral .spiral-nav__links{display:none}.home-spiral .spiral-nav__mark{filter:drop-shadow(0 1px 6px #000000d9)}@media (min-width:900px){.home-spiral .spiral-nav__isotype,.home-spiral .spiral-nav__burger{display:none}.home-spiral .spiral-nav__wordmark{flex:none;align-items:center;display:inline-flex}.home-spiral .spiral-nav__wordmark svg{flex:none;width:118px;height:auto}.home-spiral .spiral-nav__mark{width:auto;height:auto}.home-spiral .spiral-nav__links{flex:none;align-items:center;gap:4px;display:flex}.home-spiral .spiral-nav__mark,.home-spiral .spiral-nav__links{flex-grow:1;flex-basis:0}.home-spiral .spiral-nav__links{justify-content:flex-end}}.home-spiral .spiral-nav__link{color:#ffffffd1;white-space:nowrap;filter:drop-shadow(0 1px 6px #000000d9);border-radius:6px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.home-spiral .spiral-nav__link:hover,.home-spiral .spiral-nav__link:focus-visible{color:#fff;background:#ffffff17}.home-spiral .spiral-nav__link-glyph{color:#3cdbc0}.spiral-menu{color:#e9efed;background:#0c0f10f7;border-left:1px solid #ffffff1a}.spiral-menu__title{color:#e9efed;letter-spacing:.02em;font-size:15px;font-weight:600}.spiral-menu__list{flex-direction:column;gap:2px;margin-top:20px;display:flex}.spiral-menu__item{color:#e9efed;border-radius:10px;align-items:center;gap:14px;min-height:48px;padding:0 12px;font-size:15px;text-decoration:none;transition:background-color .15s;display:flex}.spiral-menu__item:hover,.spiral-menu__item:focus-visible{background:#ffffff14}.spiral-menu__glyph{color:#3cdbc0;flex:none}.home-spiral .spiral-bottom{z-index:20;padding-bottom:var(--inset-bottom);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;inset:auto 0 0}.home-spiral .spiral-bottom--anchored{top:calc(var(--spiral-card-bottom,62%) + 20px);padding-bottom:0;bottom:auto}.home-spiral .spiral-search-root{pointer-events:auto;flex-direction:column;width:100%;max-width:440px;display:flex;position:relative}.home-spiral .spiral-note{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:inherit;font:inherit;text-align:center;background:#0a0a0ad1;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:5px;margin:0;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 50px -20px #000000e6}.home-spiral .spiral-note--action{cursor:pointer;transition:border-color .2s,background-color .2s}.home-spiral .spiral-note--action:hover{background:#0a0a0ae6;border-color:#3cdbc080}.home-spiral .spiral-note__title{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:1.3}.home-spiral .spiral-note__hint{color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:11px;line-height:1.4}.home-spiral .spiral-note__cta{color:#3cdbc0;justify-content:center;align-items:center;gap:5px;margin-top:4px;font-size:12px;font-weight:600;display:inline-flex}.home-spiral .spiral-search{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#0a0e10b8;border:1px solid #ffffff29;border-radius:6px;align-items:center;gap:2px;width:100%;min-height:36px;padding:0 4px 0 2px;transition:border-color .25s,background-color .25s;display:flex;position:relative}.home-spiral .spiral-search:focus-within{background:#0c1214f2;border-color:#3cdbc0cc;box-shadow:0 0 0 1px #3cdbc08c}.home-spiral .spiral-search__input:focus,.home-spiral .spiral-search__input:focus-visible{box-shadow:none;outline:none}.home-spiral .spiral-search__submit{color:#ffffff9e;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:color .2s;display:inline-flex}.home-spiral .spiral-search__submit:hover{color:#fff}.home-spiral .spiral-search__input{color:#fafafa;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:14px;line-height:1.3}.home-spiral .spiral-search__input::placeholder{color:#ffffff85}.home-spiral .spiral-search__input::-webkit-search-cancel-button{appearance:none;display:none}.home-spiral .spiral-search__clear{color:#fff9;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.home-spiral .spiral-search__clear:hover{color:#fafafa}.home-spiral .active-meta{width:100%;max-width:min(640px,100vw);padding-inline:var(--inset-left);text-align:center;margin-inline:auto}.home-spiral .meta-kicker{color:#ffffff9e;text-shadow:0 1px 8px #00000080;letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:baseline;margin:0 0 12px;font-size:12px;font-weight:500;line-height:1.4;display:flex}.home-spiral .meta-kicker span:first-child{color:oklch(.85 calc(var(--accent-c) * .72) var(--accent-h))}.home-spiral .meta-kicker span+span:before{content:"·";margin-right:12px}.home-spiral .active-title{text-shadow:0 1px 10px #0000008c;-webkit-line-clamp:2;line-clamp:2;letter-spacing:-.03em;text-wrap:balance;-webkit-box-orient:vertical;min-height:2.16em;margin:0;font-size:clamp(30px,3.2vw,44px);font-weight:800;line-height:1.08;display:-webkit-box;overflow:hidden}.home-spiral .meta-price{text-shadow:0 1px 8px #00000080;justify-content:center;align-items:baseline;gap:9px;margin:16px 0 0;display:flex}.home-spiral .meta-price__label{color:#fff9;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:500}.home-spiral .meta-price__value{color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.home-spiral a.active-meta{color:inherit;pointer-events:auto;flex-direction:column;align-items:center;text-decoration:none;display:flex}.home-spiral a.active-meta:hover .active-title,.home-spiral a.active-meta:focus-visible .active-title{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.home-spiral a.active-meta:focus-visible{outline-offset:8px;border-radius:12px;outline:2px solid #3cdbc0}.home-spiral .spiral-narrow{z-index:20;min-height:min(52dvh,420px);padding:84px var(--inset-right) 60px var(--inset-left);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:relative}.home-spiral .spiral-narrow__empty{margin:0;font-size:18px;line-height:1.4}.home-spiral .spiral-narrow__hint{color:#ffffff8c;margin:0;font-size:14px;line-height:1.4}.home-spiral .spiral-narrow__list{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;max-width:720px;margin:0;padding:0;list-style:none;display:flex}.home-spiral .spiral-narrow__card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;max-width:340px;color:inherit;text-align:left;background:#0a0a0a80;border:1px solid #ffffff1f;border-radius:16px;align-items:center;gap:16px;padding:12px;text-decoration:none;transition:border-color .2s,transform .25s cubic-bezier(.16,1,.3,1);display:flex}.home-spiral .spiral-narrow__card:hover{border-color:#ffffff47;transform:translateY(-2px)}.home-spiral .spiral-narrow__cover{-o-object-fit:cover;object-fit:cover;border-radius:10px;flex:none;width:72px;height:72px}.home-spiral .spiral-narrow__body{flex-direction:column;gap:5px;min-width:0;display:flex}.home-spiral .spiral-narrow__kicker{color:#ffffff8c;letter-spacing:.1em;text-transform:uppercase;font-size:10px;line-height:1.3}.home-spiral .spiral-narrow__title{font-size:16px;font-weight:600;line-height:1.25}.home-spiral .spiral-narrow__price{color:#55e9d1;color:lab(84.2313% -45.3464 -.346184);font-size:13px;font-weight:500}.home-spiral .spiral-skeleton{z-index:5;pointer-events:none;--card:var(--spiral-card-px,300px);position:fixed;inset:0}.home-spiral .spiral-skeleton__card{left:50%;top:var(--spiral-card-bottom,62%);width:calc(var(--card) * var(--d,1));height:calc(var(--card) * var(--d,1));margin:calc(var(--card) * var(--d,1) / -2) 0 0 calc(var(--card) * var(--d,1) / -2);transform:translate(calc(var(--x) * var(--card)), calc(var(--y) * var(--card) - var(--card) / 2)) rotate(var(--r,0deg)) skewY(var(--k,0deg));opacity:calc(.18 + var(--d,1) * .45);animation:1.8s ease-in-out infinite spiral-skeleton-sweep;animation-delay:var(--delay,0s);background:#ffffff05 linear-gradient(100deg,#ffffff04 30%,#ffffff0e 50%,#ffffff04 70%) 0 0/220% 100%;border-radius:5%;position:absolute}.home-spiral .spiral-skeleton__card--front{--d:1;--x:0;--y:0;--r:0deg;--k:0deg;opacity:1;background:#ffffff09 linear-gradient(100deg,#ffffff06 30%,#ffffff16 50%,#ffffff06 70%) 0 0/220% 100%}.home-spiral .spiral-skeleton__caption{top:calc(var(--spiral-card-bottom,62%) + 20px);flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;left:0;right:0}.home-spiral .spiral-skeleton__line{background:#ffffff08 linear-gradient(100deg,#ffffff06 30%,#ffffff12 50%,#ffffff06 70%) 0 0/220% 100%;border-radius:6px;animation:1.8s ease-in-out infinite spiral-skeleton-sweep}.home-spiral .spiral-skeleton__line--kicker{width:min(210px,52vw);height:10px}.home-spiral .spiral-skeleton__line--title{width:min(300px,72vw);height:22px;animation-delay:.12s}.home-spiral .spiral-skeleton__line--price{width:min(130px,34vw);height:14px;animation-delay:.24s}@keyframes spiral-skeleton-sweep{0%{background-position:140% 0}to{background-position:-40% 0}}@media (prefers-reduced-motion:reduce){.home-spiral .spiral-skeleton__card,.home-spiral .spiral-skeleton__line{animation:none}}.home-spiral .experience-note{bottom:calc(var(--inset-bottom) + 120px);max-width:min(640px,100vw);padding-inline:var(--inset-left);opacity:.7;text-align:center;z-index:25;margin-inline:auto;font-size:15px;line-height:1.4;position:fixed;left:0;right:0}.home-spiral .project-list{z-index:15;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:140px var(--inset-right) calc(var(--inset-bottom) + 40px) var(--inset-left);position:fixed;inset:0;overflow-y:auto}.home-spiral .project-list ul{max-width:640px;margin:0 auto;padding:0;list-style:none}.home-spiral .project-list-item{width:100%;min-height:var(--tap-target);color:#fafafa;cursor:pointer;opacity:.75;text-align:left;background:0 0;border:0;border-bottom:1px solid #fafafa1f;padding:18px 4px;font-size:22px;line-height:1.3;display:block}.home-spiral .project-list-item.active,.home-spiral .project-list-item:hover{opacity:1}.home-spiral .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-spiral .sr-only:focus-within{top:12px;left:var(--inset-left);clip:auto;z-index:40;background:#0a0a0aeb;border:1px solid #fafafa33;border-radius:12px;width:auto;height:auto;margin:0;padding:12px 16px;position:fixed;overflow:visible}.home-spiral :focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #fafafa}@media (max-width:640px){.home-spiral{--grid-margin:16px}.home-spiral .active-meta{padding-inline:max(12px, env(safe-area-inset-left))}.home-spiral .spiral-nav>div>div{gap:12px;padding-inline:14px}.home-spiral--scene:after{background:linear-gradient(#0000 0%,#0000001f 12%,#00000042 28%,#0000005c 45%,#00000070 65%,#0000007a 100%);height:max(400px,48dvh)}.home-spiral .meta-kicker{flex-direction:column;align-items:center;gap:5px;font-size:13px}.home-spiral .meta-kicker span+span:before{content:none}}@media (prefers-reduced-motion:reduce){.home-spiral,.home-spiral *,.home-spiral :before,.home-spiral :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}