.wh{position:relative}.wh-region{outline:none;gap:14px;min-width:0;display:grid;position:relative}.wh-region:focus-visible .wh-stage{outline:2px solid var(--accent);outline-offset:4px}.wh-stage{background:radial-gradient(ellipse 42% 56% at 50% 50%, var(--accent-dim), transparent 72%);border-block:1px solid var(--line);height:clamp(480px,64vh,760px);position:relative;overflow:hidden}.wh-canvas{touch-action:none;cursor:grab;width:100%;height:100%;transition:opacity .8s;display:block;position:absolute;inset:0}.wh-cards{pointer-events:none;transition:opacity .8s;position:absolute;inset:0}.wh-region[data-ready=false] :is(.wh-canvas,.wh-cards){opacity:0}.wh-card{transform-origin:0 0;will-change:transform, opacity;position:absolute;top:0;left:0}.wh-node{border:1px solid var(--accent);background:var(--bg);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-dim), 0 0 18px var(--accent-dim);border-radius:50%;transition:background-color .25s,transform .25s;position:absolute;top:-6px;left:-6px}.wh-card[data-active=true] .wh-node{background:var(--accent);transform:scale(1.25)}.wh-label{width:max-content;max-width:var(--room,220px);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:3px;padding:7px 10px;transition:opacity .25s,border-color .25s;display:grid;position:absolute;top:0;transform:translateY(-50%)}.wh-card[data-side=right] .wh-label{left:16px}.wh-card[data-side=left] .wh-label{right:16px}.wh-card[data-front=false] .wh-label{opacity:0}.wh-card[data-active=true] .wh-label{border-color:var(--line-strong)}.wh-card[data-selected=true] .wh-label{outline:2px solid var(--accent);outline-offset:2px}.wh-name{font:600 14px/1.25 var(--font-body);color:var(--fg);letter-spacing:-.005em;overflow-wrap:anywhere}.wh-num{color:var(--accent);letter-spacing:.08em;margin-right:2px;font-size:11px}.wh-meta{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.35}.wh-card .wh-meta{display:none}.wh-card[data-active=true] .wh-meta{display:block}.wh-focus{border:1px solid var(--line);background:var(--panel);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px 18px;padding:14px 18px;transition:border-color .2s;display:grid}.wh-focus:hover{border-color:var(--accent)}.wh-focus-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px}.wh-focus-name{font:600 clamp(17px, 1.5vw, 21px)/1.2 var(--font-body);color:var(--fg);min-width:0}.wh-focus .wh-meta{grid-column:2}.wh-focus-open{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;grid-area:1/3/span 2;align-self:center;font-size:12px}.wh-hint{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.wh-index{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.wh-index-item{background:var(--bg);align-content:start;gap:8px;min-width:0;padding:20px;display:grid}.wh-index-link{font:600 19px/1.25 var(--font-body);color:var(--fg);text-decoration:none}.wh-index-link:hover{color:var(--accent)}.wh-index-text{color:var(--fg-soft);margin:0;font-size:15px;line-height:1.55}.wh-index .wh-meta{margin:0}.wh[data-live] .wh-index{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.wh-flat-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.wh-flat-list li{background:var(--bg);min-width:0}.wh-flat-item{all:unset;box-sizing:border-box;cursor:pointer;align-content:start;gap:8px;width:100%;height:100%;padding:20px;display:grid}.wh-flat-item:hover{background:var(--bg-raise)}.wh-flat-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wh-flat-name{font:600 19px/1.25 var(--font-body);color:var(--fg)}.wh-flat-open{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px}@media (max-width:1024px),(pointer:coarse){.wh-stage{height:min(560px,120vw)}.wh-canvas{touch-action:pan-y}.wh-name{font-size:13px}.wh-label{padding:6px 8px}.wh-card[data-active=true] .wh-meta{display:none}}@media (max-width:640px){.wh-focus{grid-template-columns:minmax(0,1fr);padding:14px}.wh-focus .wh-meta,.wh-focus-open{grid-area:auto/1}}.pv{gap:16px;min-width:0;display:grid}.pv-head{gap:6px;display:grid}.pv-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px}.pv-title{font:400 clamp(30px, 3.4vw, 48px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--fg);text-wrap:balance;margin:0}.pv-live{gap:10px;min-width:0;display:grid}.pv-devices{justify-content:flex-end;gap:6px;display:flex}.pv-device{border:1px solid var(--line-strong);background:var(--bg-raise);width:100%;max-width:100%;transition:max-width .45s var(--ease-out);min-width:0;margin-inline:auto}.pv-device[data-device=phone]{border-radius:22px;max-width:400px;overflow:hidden}.pv-bar{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;height:34px;padding:0 12px;display:flex}.pv-dots{flex:none;gap:6px;display:inline-flex}.pv-dots i{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.pv-host{text-align:center;letter-spacing:.06em;min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:32px;font-size:11px;overflow:hidden}.pv-screen{background:var(--bg);height:clamp(420px,68vh,780px);position:relative}.pv-device[data-device=phone] .pv-screen{height:clamp(520px,72vh,800px)}.pv-screen{overflow:hidden}.pv-screen iframe{transform-origin:0 0;border:0;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.pv-device[data-device=desktop] .pv-screen{aspect-ratio:16/10;height:auto}.pv-loading{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);place-items:center;margin:0;font-size:12px;display:grid;position:absolute;inset:0}.pv-gallery{gap:12px;min-width:0;display:grid}.pv-shot{gap:8px;margin:0;display:grid}.pv-shot-frame{aspect-ratio:16/10;border:1px solid var(--line-strong);background:var(--bg-raise);position:relative}.pv-shot-frame img{object-fit:contain}.pv-shot figcaption{letter-spacing:.14em;color:var(--muted);font-size:11px}.pv-thumbs{align-items:center;gap:8px;min-width:0;display:flex}.pv-thumbs ol{flex:1;gap:8px;min-width:0;margin:0;padding:2px;list-style:none;display:flex;overflow-x:auto}.pv-thumbs ol button{all:unset;cursor:pointer;border:1px solid var(--line);line-height:0;display:block}.pv-thumbs ol button[aria-current=true]{border-color:var(--accent)}.pv-thumbs ol button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pv-thumbs img{object-fit:cover;width:96px;height:60px}.pv-soon{text-align:center;border:1px dashed var(--line-strong);background:radial-gradient(ellipse at 50% 40%, var(--accent-dim), transparent 70%);place-content:center;gap:10px;min-height:280px;padding:48px 24px;display:grid}.pv-soon-title{font:400 clamp(28px, 3vw, 40px)/1 var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--fg);margin:0}.pv-soon-text{max-width:46ch;color:var(--fg-soft);margin:0;font-size:15px}.pv-actions{flex-wrap:wrap;align-items:center;gap:12px 26px;margin:0;display:flex}.pv-action{color:var(--fg);border-bottom:1px solid var(--line-strong);font:500 15px/1.3 var(--font-body);padding-bottom:2px;text-decoration:none;transition:border-color .2s,color .2s}.pv-action:hover{border-color:var(--accent);color:var(--accent)}.pv-action--strong{border-color:var(--accent)}.pv--fill{flex-direction:column;height:100%;min-height:0;display:flex}.pv--fill :is(.pv-live,.pv-gallery),.pv--fill .pv-device{flex-direction:column;flex:1;min-height:0;display:flex}.pv--fill .pv-device[data-device=phone]{width:400px}.pv--fill .pv-screen,.pv--fill .pv-device[data-device=phone] .pv-screen{aspect-ratio:auto;flex:1;height:auto;min-height:300px}.pv--fill .pv-shot{flex:1;grid-template-rows:minmax(0,1fr) auto;min-height:0}.pv--fill .pv-shot-frame{aspect-ratio:auto;min-height:260px}.pv--fill .pv-soon{flex:1}.pv-inline{border-top:1px solid var(--line);margin-bottom:clamp(40px,6vw,72px);padding-top:18px}@media (max-width:700px){.pv-devices{display:none}.pv-device[data-device=phone]{border-radius:0;max-width:100%}.pv-screen,.pv-device[data-device=phone] .pv-screen{height:min(72vh,640px)}}.pd{z-index:200;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pd-panel{background:var(--bg);border:1px solid var(--line-strong);flex-direction:column;width:min(1240px,100%);height:min(920px,100dvh - 32px);min-height:0;padding:clamp(16px,2.4vw,28px);display:flex;position:relative;overflow:auto}.pd .pv-head{padding-right:96px}.pd-close{all:unset;z-index:1;cursor:pointer;border:1px solid var(--line-strong);color:var(--fg);background:var(--bg);align-items:center;gap:8px;padding:8px 12px;display:inline-flex;position:absolute;top:clamp(12px,2vw,22px);right:clamp(12px,2vw,22px)}.pd-close span:first-child{font-size:20px;line-height:1}.pd-close-label{letter-spacing:.16em;text-transform:uppercase;font-size:11px}.pd-close:hover{border-color:var(--accent);color:var(--accent)}.pd-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pd-sentinel{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}@media (max-width:700px){.pd{padding:0}.pd-panel{width:100%;height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);border:0}.pd .pv-head{padding-right:84px}}.work-helix-col .wh-stage{isolation:isolate;background:0 0}.wh-stage:before,.wh-stage:after{content:"";z-index:-1;pointer-events:none;opacity:var(--spot-on,0);transition:opacity .4s;position:absolute;inset:0}.wh-stage:before{background:radial-gradient(circle 160px at var(--spot-x,50%) var(--spot-y,50%), color-mix(in srgb, var(--accent) 24%, transparent), transparent 72%)}.wh-stage:after{background:radial-gradient(ellipse 110px calc(var(--spot-y,50%) + 60px) at var(--spot-x,50%) 0, color-mix(in srgb, var(--fg) 8%, transparent), transparent 100%)}:root[data-theme=light] .wh-stage:after{background:radial-gradient(ellipse 110px calc(var(--spot-y,50%) + 60px) at var(--spot-x,50%) 0, color-mix(in srgb, var(--accent) 10%, transparent), transparent 100%)}.pv-inline .pv-title{background:var(--accent-ink);color:#0000;-webkit-background-clip:text;background-clip:text}.pv-views{gap:12px;min-width:0;display:grid}.pv--fill .pv-views{flex-direction:column;flex:1;min-height:0;display:flex}.pv-tabs{flex-wrap:wrap;gap:6px;display:flex}.pv-tab{all:unset;cursor:pointer;border:1px solid var(--line-strong);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:9px 14px;font-size:11px;transition:color .2s,border-color .2s,background-color .2s}.pv-tab:hover{color:var(--fg);border-color:var(--fg-soft)}.pv-tab[aria-selected=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.pv-tab[aria-selected=true] .pv-tab-num{color:var(--bg)}.pv-tab-num{color:var(--accent);margin-right:4px}.pv-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wh-canvas,.wh-stage:before,.wh-stage:after{-webkit-mask-image:linear-gradient(#0000 0,#000 16% 84%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 16% 84%,#0000 100%)}.wh-label{transform-origin:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),border-color .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),background-color .6s,box-shadow .6s}.wh-card[data-side=left] .wh-label{transform-origin:100%}.wh-card[data-active=true] .wh-label{box-shadow:0 8px 26px #0000004d, 0 0 18px var(--accent-dim);transform:translateY(-50%)scale(1.045)}.wh-card .wh-meta{opacity:0;max-height:0;transition:max-height .6s cubic-bezier(.22,1,.36,1),opacity .5s;display:block;overflow:hidden}.wh-card[data-active=true] .wh-meta{opacity:1;max-height:3em}.wh-node{transition:background-color .6s,transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s}@media (max-width:1024px),(pointer:coarse){.wh-card[data-active=true] .wh-meta{opacity:0;max-height:0}}
