.proj{min-height:100vh;padding-top:clamp(96px,12vh,130px)}.proj-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-grotesk),sans-serif;font-size:14.5px;letter-spacing:.08em;color:rgba(var(--fg-rgb),.78);white-space:nowrap}.proj-back:hover{color:var(--fg)}.proj-head{padding:clamp(28px,6vh,72px) 0 clamp(32px,5vh,56px)}.proj-k{display:flex;align-items:center;justify-content:space-between;gap:20px}.proj-year{padding:8px 14px;border:1px solid rgba(var(--fg-rgb),.2);border-radius:100px;font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.2em;color:rgba(var(--fg-rgb),.7)}.site .proj-title{max-width:18ch;margin:20px 0 0;font-weight:900;font-size:clamp(40px,7vw,112px);line-height:.9;letter-spacing:-.045em}.proj-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.proj-tags span{padding:8px 16px;border:1px solid rgba(var(--fg-rgb),.24);border-radius:100px;font-family:var(--font-jbmono),monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--fg-rgb),.85)}.proj-sum{max-width:680px;margin-top:30px}.site .proj-sum p{margin:0 0 1em;font-size:clamp(17px,1.4vw,20px);line-height:1.6}.proj-actions{gap:12px;margin-top:30px}.proj-actions,.proj-meta{display:flex;flex-wrap:wrap}.proj-meta{gap:18px 48px;margin:28px 0 0}.proj-meta div{display:flex;flex-direction:column;gap:6px}.proj-meta dt{font-family:var(--font-jbmono),monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(var(--fg-rgb),.5)}.proj-meta dd{margin:0;font-size:16px}.proj-meta a{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(var(--fg-rgb),.3);text-underline-offset:4px;transition:text-decoration-color .3s ease}.proj-meta a:hover{color:var(--fg);text-decoration-color:var(--hue)}.proj-block,.proj-hero{padding-bottom:clamp(56px,10vh,110px)}.site .proj-h2{margin:0 0 24px;font-weight:900;font-size:clamp(26px,3vw,44px);line-height:1;letter-spacing:-.03em}.proj-shot{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:clamp(16px,2vw,28px);background:#0a0a0a;color:#fafafa}.proj-art-bg,.proj-brand{position:absolute;inset:0}.proj-brand{display:flex;align-items:center;justify-content:center;color:#fafafa}.proj-shot .fr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.proj-shot--browser .fr{width:76%}.proj-shot--phone .fr{height:86%}.proj-shot.proj-shot--tall{width:min(100%,calc(var(--ar) * 80svh));margin-inline:auto;aspect-ratio:var(--ar)}.sp-ico{font-size:17px;line-height:1}.proj-stills{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,20px)}.proj-stills figure{margin:0;overflow:hidden;border-radius:clamp(12px,1.4vw,18px);background:var(--surface)}.proj-stills figure:last-child:nth-child(3n+2),.proj-stills figure:nth-child(3n+1){grid-column:1/-1}.proj-stills img{display:block;width:100%;height:100%;object-fit:cover}.proj-h2-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.site .proj-h2-row .proj-h2{margin:0}.proj-count,.proj-more{font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.14em;color:rgba(var(--fg-rgb),.6);white-space:nowrap}.proj-more:hover{color:var(--fg)}.wgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4.5vw,60px) clamp(16px,2vw,28px)}.wtile{display:flex;flex-direction:column;gap:16px}.wtile,.wtile:hover{color:var(--fg)}.wtile-art{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:clamp(16px,1.8vw,24px);background:#0a0a0a;color:#fafafa}.wtile-bg{position:absolute;inset:0}.wtile .shot{transition:transform .9s cubic-bezier(.22,1,.36,1)}.wtile:hover .shot{transform:scale(1.03)}.wtile-art .fr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.wtile-art--browser .fr{width:88%;top:9%;transform:translate(-50%);transition:transform .9s cubic-bezier(.22,1,.36,1)}.wtile:hover .wtile-art--browser .fr{transform:translate(-50%,-2.5%)}.wslides{position:absolute;inset:0;overflow:hidden}.wslides-track{display:flex;height:100%;transition:transform .85s cubic-bezier(.65,0,.35,1)}.wslides-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;user-select:none}.wslides-dots{position:absolute;left:50%;bottom:12px;display:flex;gap:5px;padding:5px 7px;border-radius:100px;background:rgba(8,8,8,.45);backdrop-filter:blur(6px);transform:translateX(-50%)}.wslides-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .3s ease,transform .3s ease}.wslides-dots i.on{background:#fff;transform:scale(1.25)}@media (prefers-reduced-motion:reduce){.wslides-track{transition:none}}.wtile-art--phone .fr{height:84%}.wtile-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:scale(.62)}.wtile-open{position:absolute;left:16px;top:16px;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:100px;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-jbmono),monospace;font-size:11px;letter-spacing:.2em;color:#fafafa;opacity:0;transform:translateY(-4px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}.wtile:focus-visible .wtile-open,.wtile:hover .wtile-open{opacity:1;transform:none}.wtile-meta{display:flex;flex-direction:column;gap:7px}.wtile-k{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-jbmono),monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--fg-rgb),.6)}.wtile-k:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hue);box-shadow:0 0 10px var(--hue)}.wtile-t{font-size:clamp(18px,1.6vw,22px);font-weight:600;line-height:1.25}.wtile-tags{font-family:var(--font-jbmono),monospace;font-size:11px;letter-spacing:.16em;color:rgba(var(--fg-rgb),.55)}@media (hover:none){.wtile-open{opacity:1;transform:none}}.wfilter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,5vh,48px)}.wfilter a{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid rgba(var(--fg-rgb),.2);border-radius:100px;font-family:var(--font-jbmono),monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(var(--fg-rgb),.75);transition:color .25s ease,border-color .25s ease,background .25s ease}.wfilter a:hover{border-color:rgba(var(--fg-rgb),.45);color:var(--fg)}.wfilter a[aria-current=true]{border-color:transparent;background:var(--fg);color:var(--bg)}.wfilter-n{font-size:10px;opacity:.55}.wfilter+.wfilter--kind{margin-top:calc(-1 * clamp(28px, 5vh, 48px) + 10px)}.wfilter--kind a{border-style:dashed}.wfilter--kind a[aria-current=true]{border-style:solid}.wgrid--tall{grid-template-columns:repeat(4,minmax(0,1fr))}.wgrid--tall .wtile-art{aspect-ratio:9/16}.wgrid--square{grid-template-columns:repeat(3,minmax(0,1fr))}.wgrid--square .wtile-art{aspect-ratio:1}.wfilter .wfilter-client{border-style:dashed;color:var(--fg)}.site .wempty{margin:0;font-size:17px}.wempty a{text-decoration:underline;text-underline-offset:4px}@media (min-width:900px){.proj-split{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(40px,5.5vw,96px);padding-top:clamp(28px,6vh,72px);padding-bottom:clamp(56px,10vh,110px)}.proj-split>.proj-hero{grid-column:1;grid-row:1;padding-bottom:0}.proj-split>.proj-head{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;padding:0}.site .proj-split .proj-title{max-width:14ch;font-size:clamp(44px,5vw,96px)}.proj-split .proj-info{display:flex;flex-direction:column;gap:28px;margin-top:auto;padding-top:40px}.proj-split .proj-info>*{margin-top:0}.proj-split .proj-sum{order:-1}.site .proj-split .proj-sum p:last-child{margin-bottom:0}.proj-split .proj-sum{max-width:580px}.site .proj-split .proj-sum p:first-child{font-size:clamp(19px,1.6vw,24px);line-height:1.5;color:var(--fg)}.proj-split .film{width:min(calc(var(--ar, .5625) * 80svh),46vw)}.proj-split .film-amb{width:170%}.proj-split .proj-shot.proj-shot--tall{width:min(calc(var(--ar) * 80svh),46vw);margin:0}.proj-split .proj-shot--phone{aspect-ratio:9/19.5;height:80svh;overflow:visible;background:none}.proj-split .proj-shot--phone .proj-art-bg{display:none}.proj-split .proj-shot--phone .amb{inset:5% -60%;border-radius:50%;opacity:.55}.proj-split .proj-shot--phone .fr{height:100%}}.proj-next{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,20px);padding-bottom:clamp(56px,10vh,100px)}.proj-next-card{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;min-height:clamp(160px,24vh,240px);padding:clamp(24px,3vw,44px);border:1px solid rgba(var(--fg-rgb),.14);border-radius:clamp(18px,2vw,28px);background:var(--surface);color:var(--fg);transition:border-color .3s ease,transform .45s cubic-bezier(.22,1,.36,1)}.proj-next-card:hover{border-color:rgba(var(--fg-rgb),.36);color:var(--fg);transform:translateY(-3px)}.proj-next-card:only-child{grid-column:1/-1}.proj-next-k{font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:rgba(var(--fg-rgb),.6)}.proj-next-t{font-weight:900;font-size:clamp(24px,2.6vw,40px);line-height:1;letter-spacing:-.03em}.proj-next-card--cta,.proj-next-card--cta:hover{border-color:transparent;background:var(--fg);color:var(--bg)}.proj-next-card--cta .proj-next-k{color:rgba(var(--bg-rgb),.6)}.proj-foot{margin-top:0;padding:26px 0 40px;border-top:1px solid var(--line)}@media (max-width:900px){.wgrid--tall{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.wgrid{grid-template-columns:1fr}.wgrid--square,.wgrid--tall{grid-template-columns:repeat(2,minmax(0,1fr))}.proj-next,.proj-stills{grid-template-columns:1fr}.proj-shot{aspect-ratio:4/5}.proj-shot--browser .fr{width:90%}.proj-shot--phone .fr{height:82%}}.brief{max-width:880px;padding-bottom:clamp(56px,10vh,100px)}.brief-q{margin:0;padding:clamp(26px,4vh,40px) 0;border:0;border-top:1px solid rgba(var(--fg-rgb),.12);min-width:0}.brief-q legend{float:left;width:100%;margin-bottom:18px;padding:0;font-weight:800;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em}.brief-q legend+*{clear:both}.brief-n{margin-right:12px;font-family:var(--font-jbmono),monospace;font-size:13px;font-weight:400;letter-spacing:.2em;vertical-align:.35em;color:var(--hue,var(--brand-vio))}.brief-chips{display:flex;flex-wrap:wrap;gap:10px}.brief-chip{position:relative;cursor:pointer}.brief-chip input{position:absolute;opacity:0;pointer-events:none}.brief-chip span{display:inline-block;padding:12px 20px;border:1px solid rgba(var(--fg-rgb),.24);border-radius:100px;font-size:15.5px;color:rgba(var(--fg-rgb),.86);transition:border-color .2s ease,background .2s ease,color .2s ease}.brief-chip:hover span{border-color:rgba(var(--fg-rgb),.5)}.brief-chip input:checked+span{border-color:var(--fg);background:var(--fg);color:var(--bg)}.brief-chip input:focus-visible+span{outline:2px solid var(--hue,var(--brand-vio));outline-offset:3px}.brief-hint{margin:12px 0 0;font-size:14px;color:var(--muted)}.brief-input{width:100%;padding:14px 16px;border:1px solid rgba(var(--fg-rgb),.2);border-radius:14px;background:var(--surface);color:var(--fg);font:inherit;font-size:16px;transition:border-color .2s ease}.brief-input::placeholder{color:rgba(var(--fg-rgb),.38)}.brief-input:focus{outline:none;border-color:var(--hue,var(--brand-vio))}.brief-area{min-height:140px;resize:vertical;line-height:1.55}.brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.brief-field{display:flex;flex-direction:column;gap:8px}.brief-field>span{font-family:var(--font-jbmono),monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(var(--fg-rgb),.62)}.brief-field i{font-style:normal;letter-spacing:.08em;text-transform:none;color:rgba(var(--fg-rgb),.4)}.brief-field--wide{grid-column:1/-1}.brief-liked{margin:0 0 14px;font-size:15px;color:var(--muted)}.brief-liked a{color:var(--fg);text-decoration:underline;text-underline-offset:4px}.brief-liked button{margin-left:4px;padding:0 6px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.brief-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.brief-error{margin:8px 0 0;padding:14px 18px;border-radius:14px;background:rgba(241,96,138,.12);color:var(--fg);font-size:15px}.brief-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}.brief-actions button:disabled{opacity:.6;cursor:progress}.brief-btn{padding:18px 34px}.brief-or{font-size:15px;color:rgba(var(--fg-rgb),.78);text-decoration:underline;text-decoration-color:rgba(var(--fg-rgb),.3);text-underline-offset:5px}.brief-or:hover{color:var(--fg)}.brief-done{max-width:760px;padding:clamp(30px,5vw,56px);border:1px solid rgba(var(--fg-rgb),.14);border-radius:clamp(18px,2vw,28px);background:var(--surface);margin-bottom:clamp(56px,10vh,100px)}.brief-done-k{margin:0;font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--hue,var(--brand-vio))}.site .brief-done-t{margin:14px 0 0;font-weight:900;font-size:clamp(28px,3.4vw,48px);line-height:1.02;letter-spacing:-.03em}.site .brief-done-p{margin:16px 0 0;font-size:17px;line-height:1.6;color:var(--muted)}@media (max-width:700px){.brief-grid{grid-template-columns:1fr}}.ss{display:grid;grid-template-columns:minmax(280px,.72fr) 1.6fr;gap:clamp(24px,3vw,56px);align-items:start}.ss-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(var(--fg-rgb),.14)}.ss-list li{border-bottom:1px solid rgba(var(--fg-rgb),.14)}.ss-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;padding:clamp(18px,2.4vh,26px) 4px;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.ss-row:focus-visible{outline:2px solid var(--hue);outline-offset:2px;border-radius:10px}.ss-n{font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.18em;color:rgba(var(--fg-rgb),.45)}.ss-row[aria-pressed=true] .ss-n{color:var(--hue)}.ss-name{display:flex;flex-direction:column;gap:6px;min-width:0}.ss-t{font-weight:800;font-size:clamp(18px,1.6vw,24px);line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;transition:color .25s ease}.ss-row[aria-pressed=false] .ss-t{color:rgba(var(--fg-rgb),.72)}.ss-row:hover .ss-t{color:var(--fg)}.ss-sub{font-family:var(--font-jbmono),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--fg-rgb),.5)}.ss-pill{position:relative;flex:none;width:84px;height:40px;border-radius:100px;background:rgba(var(--fg-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--fg-rgb),.14);transition:background .35s ease}.ss-knob{position:absolute;top:4px;left:4px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:15px;transition:transform .45s cubic-bezier(.22,1,.36,1)}.ss-row:hover .ss-pill{background:rgba(var(--fg-rgb),.18)}.ss-row[aria-pressed=true] .ss-pill{background:var(--hue)}.ss-row[aria-pressed=true] .ss-knob{transform:translateX(44px);background:#0b0c10;color:#fff}.ss-side{position:sticky;top:clamp(92px,12vh,120px)}.ss-device.fr--browser{aspect-ratio:auto;height:clamp(400px,calc(100vh - 400px),760px)}.ss-screen{flex:1;position:relative;overflow:hidden;background:#070707}.ss-frame{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff}.ss-wait{position:absolute;inset:0;display:grid;place-items:center;background:#070707 top/cover no-repeat}.ss-wait span{padding:10px 18px;border-radius:100px;background:rgba(0,0,0,.66);color:#fff;font-family:var(--font-jbmono),monospace;font-size:12px;letter-spacing:.14em}.ss-still{position:absolute;inset:0;overflow-y:auto}.ss-still img{display:block;width:100%;height:auto}.ss-visit{position:absolute;left:50%;bottom:24px;transform:translateX(-50%)}.ss-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-top:14px}.ss-k{font-family:var(--font-jbmono),monospace;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--fg-rgb),.55)}.ss-k:before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--hue);vertical-align:1px}.ss-links-r{display:flex;gap:22px;font-size:15px}.ss-links-r a{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(var(--fg-rgb),.3);text-underline-offset:5px}@media (max-width:899px){.ss{grid-template-columns:1fr}.ss-preview{padding:0 0 22px}.ss-device.fr--browser{height:72vh;min-height:380px}.ss-pill{width:70px;height:34px}.ss-knob{width:26px;height:26px}.ss-row[aria-pressed=true] .ss-knob{transform:translateX(36px)}}@media (prefers-reduced-motion:reduce){.ss-knob,.ss-pill{transition:none}}.proj:has(.svc-backdrop){position:relative;isolation:isolate}.svc-backdrop{position:absolute;top:0;left:0;right:0;z-index:-1;height:min(72vh,680px);overflow:hidden;pointer-events:none}.svc-backdrop img{width:100%;height:100%;object-fit:cover;opacity:.34;-webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 45%,transparent);mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 45%,transparent)}:root[data-theme=light] .svc-backdrop img{opacity:.22}.proj-head--compact{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 64px;padding:clamp(4px,1.5vh,20px) 0 clamp(20px,3.5vh,36px)}.site .proj-head--compact .proj-title{margin-top:14px;font-size:clamp(38px,5.4vw,84px)}.proj-head--compact .proj-head-side{max-width:470px}.proj-head--compact .proj-tags{margin-top:0}.proj-head--compact .proj-sum{margin-top:16px}.site .proj-head--compact .proj-sum p{margin:0;font-size:clamp(15px,1.1vw,17px)}.ss-block .proj-h2-row{margin-bottom:16px}.ss-block .proj-h2{margin-bottom:0}.ss-preview--page .ss-device.fr--browser{height:clamp(460px,calc(100vh - 200px),860px)}