
.sv{position:relative}
.howv{position:relative;margin-top:76px;aspect-ratio:16/9;max-height:calc(100svh - 76px);width:100%;background:#000;overflow:hidden}
.howv video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){.howv{margin-top:66px}.hero{aspect-ratio:9/16!important;max-height:calc(100svh - 66px)}.hero video{object-fit:cover}}
.sv.live .snd{background:#fff;border-color:#fff}.sv.live .snd svg{stroke:#111}.sv.live .snd svg path:first-child{fill:#111}
.sv>.snd{right:14px;bottom:14px}
.hero>.snd{z-index:4;right:clamp(16px,2.4vw,36px);bottom:58px}
@media (max-width:760px){.hero>.snd{bottom:12px;right:12px}}
.reels.hz.hz3 .rlw{grid-auto-columns:calc((100% - 2*clamp(10px,1.2vw,18px))/3)}
@media (max-width:700px){.reels.hz.hz3 .rlw{grid-auto-columns:88%}}
.pj-bts{margin-top:clamp(50px,7vw,100px)}
.pstack{padding-top:24px;display:flex;flex-direction:column;gap:clamp(28px,3.5vw,54px)}
.pstack .rl{aspect-ratio:16/9;max-height:none}
.pj-bts .bh{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px;color:var(--mute)}
.pj-bts .rl{aspect-ratio:16/9;max-height:none}

:root{--bg:#fff;--ink:#0b0b0b;--mute:#8a8a8a;--line:#e6e6e6;--card:#f1f1f1}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#fff;--ink:#0b0b0b;--mute:#8a8a8a;--line:#e6e6e6;--card:#f1f1f1}}
:root[data-theme="dark"]{--bg:#fff;--ink:#0b0b0b}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Inter Tight",system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%;height:100%;object-fit:cover}
img{object-position:center 15%}
.cap{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.pad{padding-left:clamp(16px,2.4vw,36px);padding-right:clamp(16px,2.4vw,36px)}
/* header */
header{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,2.4vw,36px);transition:background .3s}
header .logo img{height:40px;width:auto}
header .lw{display:none}
header.over{color:#fff}header.over .lb{display:none}header.over .lw{display:block}
header.solid{background:var(--bg);color:var(--ink)}header.solid .lb{display:block}header.solid .lw{display:none}
nav{display:flex;gap:clamp(14px,2vw,28px)}
nav a{opacity:.9}nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
@media (max-width:600px){header .logo img{height:30px}nav{gap:12px}nav a{font-size:10px}}
/* hero */
.hero{height:100svh;position:relative;overflow:hidden;background:#000;display:grid;grid-template-columns:repeat(3,1fr)}
.hero .slot{position:relative;overflow:hidden}
.hero .slot img{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero .slot img.on{opacity:1;animation:drift 9s linear forwards}
.hero video{position:absolute;inset:0;z-index:1}.hero .disc{top:auto!important;bottom:64px;transform:none!important}.hero .disc a{font-size:clamp(20px,2vw,28px)!important}
@keyframes drift{to{transform:scale(1)}}
.hero:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 35%);pointer-events:none}
.hero .disc{position:absolute;z-index:3;left:clamp(16px,2.4vw,36px);top:50%;transform:translateY(-50%);color:#fff}
.hero .disc a{display:block;font-size:clamp(28px,3.4vw,48px);font-weight:500;line-height:1.08;letter-spacing:-.01em;opacity:.9}
.hero .disc a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.hero .disc p{margin-bottom:14px}
p.claim{display:block;text-align:center;padding-top:clamp(36px,4vw,56px);font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:clamp(17px,1.45vw,20px);letter-spacing:.2em}
.twbox{position:relative;display:inline-block}.ghost{visibility:hidden}.twin{position:absolute;left:0;top:0;white-space:nowrap}
.cur{animation:blink 1s steps(1) infinite;margin-left:.1em}@keyframes blink{50%{opacity:0}}
p.claim+section.block{padding-top:clamp(28px,3vw,44px)}
.hero .tag{position:absolute;z-index:3;left:clamp(16px,2.4vw,36px);right:clamp(16px,2.4vw,36px);bottom:22px;color:#fff;display:flex;justify-content:space-between}
@media (max-width:760px){.hero{display:block;height:auto;aspect-ratio:16/9;margin-top:66px}.hero:after,.hero .disc,.hero .tag{display:none}p.claim{padding-top:18px;font-size:13px;letter-spacing:.05em}
header.over{background:var(--bg);color:var(--ink)}header.over .lb{display:block}header.over .lw{display:none}}
.mq{background:#0b0b0b;color:#f4f2ee;overflow:hidden;margin-top:clamp(48px,6vw,90px);padding:22px 0;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(14px,1.2vw,17px)}
.mqt{display:inline-flex;white-space:nowrap;animation:mq 45s linear infinite}
.mqt span{padding:0 28px}.mqt i{font-style:normal;opacity:.6}
.mq:hover .mqt{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.about{padding-top:150px;max-width:1300px;margin:0 auto}
.ab-k{color:var(--mute);margin-bottom:18px}
.ab-lead{font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:clamp(19px,2vw,29px);line-height:1.4;letter-spacing:-.01em;max-width:44em}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);max-width:960px;margin:clamp(60px,8vw,110px) auto 0}
.fp{aspect-ratio:3/4;overflow:hidden;background:var(--card)}.fp.blank{background:#0b0b0b}
.founders figcaption{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;gap:10px;flex-wrap:wrap}
.fn{font-size:clamp(15px,1.3vw,18px);font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.ft{color:var(--mute);font-family:"IBM Plex Mono",monospace}
.ab-body{max-width:720px;margin:clamp(60px,8vw,110px) auto 0}
.ab-body p.ab-sign{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(18px,1.7vw,24px);margin-top:2.2em}
.ab-body p{font-size:clamp(16px,1.3vw,19px);line-height:1.65;margin-bottom:1.3em}
@media (max-width:600px){.founders{grid-template-columns:1fr}.about{padding-top:110px}}
.how{padding-top:150px;max-width:1300px;margin:0 auto}
.tabs{display:flex;gap:28px;margin-top:clamp(40px,5vw,70px);border-bottom:1px solid var(--line);position:sticky;top:76px;z-index:20;background:var(--bg);padding-top:14px}
.tabs button{background:none;border:0;font:inherit;font-family:"IBM Plex Mono",monospace;font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);padding:0 0 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button.on{color:var(--ink);border-color:var(--ink)}
.flow{position:relative;padding:clamp(20px,3vw,40px) 0 0 clamp(56px,8vw,120px)}
.rail{position:absolute;left:clamp(18px,3vw,44px);top:clamp(56px,7vw,100px);bottom:40px;width:1px;background:var(--line)}
.fill{position:absolute;inset:0;background:var(--ink);transform-origin:top;transform:scaleY(0)}
.st{display:grid;grid-template-columns:clamp(70px,9vw,130px) 1fr;gap:clamp(16px,3vw,40px);padding:clamp(34px,5vw,64px) 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.st.in{opacity:1;transform:none}
.sn{font-family:"IBM Plex Mono",monospace;font-size:clamp(36px,5vw,72px);line-height:.9}
.st h3{font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.015em;margin-bottom:10px}
.st p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:36em;color:#333}
.engage{margin-top:clamp(80px,10vw,140px)}
.eng{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.en{background:var(--bg);padding:clamp(22px,2.5vw,36px);opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.en.in{opacity:1;transform:none}.en:nth-child(2){transition-delay:.1s}.en:nth-child(3){transition-delay:.2s}.en:nth-child(4){transition-delay:.3s}
.en h4{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:400;margin-bottom:14px}
.en p{line-height:1.55;color:#333}
.how-cta{margin-top:clamp(80px,10vw,140px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding-top:40px}
.sig{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(18px,1.7vw,24px)}
.how-cta .book{margin-top:0}
@media (max-width:900px){.eng{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tabs{top:66px}.eng{grid-template-columns:1fr}.st{grid-template-columns:1fr;gap:8px}.flow{padding-left:34px}.rail{left:10px}.how{padding-top:110px}}
.cl{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:clamp(48px,6vw,90px) clamp(16px,2.4vw,36px) 0;padding:16px 0}
.cl-k{color:var(--mute);white-space:nowrap;flex:none}
.clw{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.clt{display:inline-flex;white-space:nowrap;animation:mq 40s linear infinite}
.clt span{padding:0 clamp(28px,4vw,60px);font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(13px,1.1vw,16px);color:#555}
.clt{align-items:center}.clt img{width:auto;margin:0 clamp(32px,4.5vw,72px);opacity:.75}
.st{grid-template-columns:clamp(70px,9vw,130px) 1fr clamp(230px,26vw,360px)!important;align-items:center}
.vis{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b0b0b;color:#f4f2ee}
.vis img,.vis video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vis .tag{position:absolute;left:10px;bottom:9px;font:10px "IBM Plex Mono",monospace;letter-spacing:.16em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);z-index:3}
.vtxt{background:#0b0b0b}
.vtxt pre{position:absolute;inset:0;margin:0;padding:18px 20px;font:12px/1.65 "IBM Plex Mono",monospace;letter-spacing:.06em;white-space:pre;overflow:hidden}
.vtxt pre:after{content:"_";animation:blink 1s steps(1) infinite}
.vcast{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#f4f2ee}
.vcast img{position:static;opacity:.28;filter:grayscale(1);transition:opacity .5s,filter .5s}
.vcast img.pick{opacity:1;filter:none}
.vmood{background:#e9e6e0}
.vmood img{width:46%;height:auto;aspect-ratio:3/4;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vmood img{transition:left 1s cubic-bezier(.2,.7,.2,1),top 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),opacity .8s}
.vmood img:nth-of-type(1){left:6%;top:14%;transform:rotate(-5deg)}.vmood img:nth-of-type(2){left:28%;top:7%;transform:rotate(2deg)}.vmood img:nth-of-type(3){left:50%;top:12%;transform:rotate(5deg) scale(1.04)}
.vmood .tag{color:#111;text-shadow:none;z-index:5;top:9px;bottom:auto}
.st:not(.in) .vmood img{transform:translateY(30px) rotate(0);opacity:0}

@keyframes mood{to{transform:rotate(-1deg) translateY(-6px)}}
.vvid .rec{left:auto;right:10px;top:9px;bottom:auto}
.vvid .rec:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#e33;margin-right:6px;animation:blink 1.2s steps(1) infinite}
.vref .base{filter:grayscale(1) blur(2.5px) contrast(.8) brightness(1.1)}
.vref .top{clip-path:inset(0 100% 0 0)}
.vref .bar{position:absolute;top:0;bottom:0;width:1px;background:#fff;left:0;z-index:2}
.st.in .vref .top{animation:wipe 5s ease-in-out infinite alternate}
.st.in .vref .bar{animation:bar 5s ease-in-out infinite alternate}
@keyframes wipe{0%,10%{clip-path:inset(0 100% 0 0)}90%,100%{clip-path:inset(0 0 0 0)}}
@keyframes bar{0%,10%{left:0}90%,100%{left:100%}}
.vref .tag.r{left:auto;right:10px}
.vdel{background:#e9e6e0}
.vdel img{height:auto;transition:opacity .7s,transform .7s}
.vdel .f1{left:5%;top:35.5%;width:46%;aspect-ratio:16/9}
.vdel .f2{left:54%;top:38%;width:24%;aspect-ratio:1/1}
.vdel .f3{left:81%;top:34.4%;width:15%;aspect-ratio:9/16;height:auto}
.vdel .tag{color:#111;text-shadow:none}
.st:not(.in) .vdel img{opacity:0;transform:translateY(16px)}
.st.in .vdel .f2{transition-delay:.25s}.st.in .vdel .f3{transition-delay:.5s}
.vface img{transform:scale(1);transition:transform 6s ease}
.st.in .vface img{animation:zoom 8s ease-in-out infinite alternate}
@keyframes zoom{to{transform:scale(1.18)}}
.vface .cm{position:absolute;inset:18% 26%;border:1px solid rgba(255,255,255,.9);z-index:2;-webkit-mask:linear-gradient(#000 0 0) top left/18px 18px no-repeat,linear-gradient(#000 0 0) top right/18px 18px no-repeat,linear-gradient(#000 0 0) bottom left/18px 18px no-repeat,linear-gradient(#000 0 0) bottom right/18px 18px no-repeat;mask:linear-gradient(#000 0 0) top left/18px 18px no-repeat,linear-gradient(#000 0 0) top right/18px 18px no-repeat,linear-gradient(#000 0 0) bottom left/18px 18px no-repeat,linear-gradient(#000 0 0) bottom right/18px 18px no-repeat}
.vco .g{filter:grayscale(1) contrast(1.15)}
.vco .c{opacity:0}
.st.in .vco .c{animation:fadeio 6s ease-in-out infinite}
@keyframes fadeio{0%,25%{opacity:0}50%,85%{opacity:1}100%{opacity:0}}
.vco .tag.r{left:auto;right:10px}
.st.in .vco .tag.l{animation:tl 6s ease-in-out infinite}.st.in .vco .tag.r{animation:tr 6s ease-in-out infinite}
@keyframes tl{0%,30%{opacity:1}45%,95%{opacity:.25}100%{opacity:1}}
@keyframes tr{0%,30%{opacity:.25}45%,95%{opacity:1}100%{opacity:.25}}
.st.in .vrev img{animation:grade 7.5s steps(1) infinite}
@keyframes grade{0%{filter:grayscale(1) contrast(.85) brightness(1.15)}33%{filter:sepia(.55) saturate(.8) contrast(1.05)}66%,100%{filter:none}}
.vrev .tag{opacity:0}
.st.in .vrev .r1{animation:t1 7.5s steps(1) infinite}.st.in .vrev .r2{animation:t2 7.5s steps(1) infinite}.st.in .vrev .r3{animation:t3 7.5s steps(1) infinite}
@keyframes t1{0%{opacity:1}33%,100%{opacity:0}}
@keyframes t2{0%{opacity:0}33%{opacity:1}66%,100%{opacity:0}}
@keyframes t3{0%{opacity:0}66%,100%{opacity:1}}
.vseas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:34px 12px 14px;background:#e9e6e0;align-content:center}
.vseas .tag.top{top:12px;bottom:auto;color:#111;text-shadow:none}
.vseas figure{position:relative;margin:0;transition:opacity .8s,transform .8s}
.vseas img{position:static;aspect-ratio:3/4;height:auto}
.vseas figcaption{font:9px "IBM Plex Mono",monospace;letter-spacing:.16em;color:#111;padding-top:6px;text-align:center}
.st:not(.in) .vseas figure{opacity:0;transform:translateY(16px)}
.st.in .vseas figure:nth-child(2){transition-delay:.35s}.st.in .vseas figure:nth-child(3){transition-delay:.7s}
@media (prefers-reduced-motion:reduce){.vis *{animation:none!important}}
@media (max-width:600px){.st{grid-template-columns:1fr!important}.vis{margin-top:10px}}
p.claim{transition:letter-spacing 1.1s cubic-bezier(.2,.7,.2,1),font-size 1.1s cubic-bezier(.2,.7,.2,1)}
p.claim.wide{letter-spacing:.55em;font-size:clamp(20px,1.75vw,24px)}
@media (max-width:760px){p.claim.wide{letter-spacing:.32em;font-size:14px}}
.work{padding-top:150px;max-width:1500px;margin:0 auto}
.wkg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,32px) clamp(12px,1.6vw,24px);margin-top:clamp(50px,6vw,90px)}
.wk-m{position:relative;aspect-ratio:4/3;overflow:hidden;background:#111}
.wk-m img,.wk-m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s,transform 1.2s ease}
.wk-m video{opacity:0}
.wk.on .wk-m video{opacity:1}.wk:hover .wk-m img{transform:scale(1.03)}
.wk-t{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-family:"IBM Plex Mono",monospace}
.wk-t{align-items:center}.wk-l{width:auto;display:block}
.wk-t span:last-child{color:var(--mute)}
@media (max-width:700px){.wkg{grid-template-columns:1fr}.work{padding-top:110px}}
.proj{padding-top:76px}
.pj-hero{aspect-ratio:16/9;max-height:86svh;width:100%;background:#000;overflow:hidden}
.pj-hero video{width:100%;height:100%;object-fit:cover}
.pj-info{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding-top:clamp(40px,5vw,70px);align-items:end}
.pj-info h1{font-size:clamp(44px,6vw,96px);font-weight:500;letter-spacing:-.03em;line-height:.95}
.pj-info dl{display:grid;grid-template-columns:repeat(5,auto);gap:24px;font-family:"IBM Plex Mono",monospace}
.pj-info dt{color:var(--mute);margin-bottom:6px}
.pj-info dd a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.pj-info{grid-template-columns:1fr}.pj-info dl{grid-template-columns:1fr 1fr}}
.pj-g{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(280px,34vw,560px);gap:clamp(10px,1.2vw,18px);margin-top:clamp(40px,5vw,70px)}
.pj-g a{display:block;overflow:hidden;background:var(--card);cursor:zoom-in}
.pj-g img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.pj-g a:hover img{transform:scale(1.03)}
.g-a{grid-column:span 2}.g-b{grid-column:span 4}.g-c{grid-column:span 3}
@media (max-width:700px){.pj-g{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.pj-g a{grid-column:span 1!important;aspect-ratio:3/4}}
.pj-next{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:clamp(60px,8vw,110px);padding-top:30px;padding-bottom:10px}
.pj-next .nm{font-size:clamp(28px,4vw,56px);font-weight:500;letter-spacing:-.02em}
.pj-next:hover .nm{color:var(--mute)}
.reels{padding-top:24px}
.rlw{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 2*clamp(10px,1.2vw,18px))/3));gap:clamp(10px,1.2vw,18px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.rlw::-webkit-scrollbar{display:none}
.rl{position:relative;aspect-ratio:9/16;max-height:82svh;background:#111;scroll-snap-align:start;overflow:hidden}
.rl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.snd{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.6);font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;padding:8px 12px;cursor:pointer;backdrop-filter:blur(6px)}
.snd:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;border:1px solid #fff;margin-right:8px;vertical-align:1px}
.rl.live .snd{background:#fff;color:#111;border-color:#fff}.rl.live .snd:before{background:#111;border-color:#111}
@media (max-width:700px){.rlw{grid-auto-columns:82%}}
@media (max-width:600px){nav{gap:11px!important}nav a{white-space:nowrap}nav a:last-child{display:none}}
.gi{position:relative;overflow:hidden;background:var(--card)}
.gi a.gz{display:block;height:100%;cursor:zoom-in}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.gi a.gz:hover img{transform:scale(1.03)}
.mt{position:absolute;left:12px;bottom:12px;z-index:2;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;color:#fff;background:rgba(0,0,0,.45);padding:7px 10px;backdrop-filter:blur(6px)}
.pj-g a.mt,a.mt{display:inline-block;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.6);cursor:pointer;overflow:visible}.pj-g a.mt:hover,a.mt:hover{background:#fff;color:#111}
.pj-next .nm{white-space:nowrap}
.rl .mt{bottom:12px}
@media (max-width:700px){.pj-g .gi{grid-column:span 1!important;aspect-ratio:3/4}}
.rlf,.gi{margin:0}
.rlf figcaption,.gi figcaption{padding-top:10px;min-height:14px}
.pj-g figure.gi{overflow:visible;background:none;display:flex;flex-direction:column}
.pj-g figure.gi a.gz{flex:1;min-height:0;overflow:hidden;background:var(--card)}
.mt{position:static!important;background:none!important;border:0!important;padding:0!important;backdrop-filter:none!important;color:var(--mute)!important;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em}
a.mt.lk{color:var(--ink)!important;text-decoration:underline;text-underline-offset:3px}
a.mt.lk:hover{color:var(--mute)!important}
.rl{cursor:zoom-in}
.snd{position:absolute;right:10px;bottom:10px;z-index:3;width:38px;height:38px;padding:0;display:grid;place-items:center;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.55);border-radius:50%;cursor:pointer;backdrop-filter:blur(6px);font-size:0;letter-spacing:0}
.snd:before{display:none!important}
.snd svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.snd svg path:first-child{fill:#fff}
.snd .w{display:none}
.live .snd .x,.rpl.live .snd .x{display:none}.live .snd .w,.rpl.live .snd .w{display:inline}
.rl.live .snd{background:#fff;border-color:#fff}.rl.live .snd svg{stroke:#111}.rl.live .snd svg path:first-child{fill:#111}
.xp{position:absolute;left:10px;top:10px;z-index:3;width:30px;height:30px;display:grid;place-items:center;opacity:0;transition:opacity .3s}
.xp svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.rl:hover .xp{opacity:1}
.rpl{position:fixed;inset:0;z-index:60;background:rgba(10,10,10,.96);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.rpl.open{display:flex}
.rpv{position:relative;height:min(84svh,calc(92vw*16/9));aspect-ratio:9/16;background:#000}
.rpv video{width:100%;height:100%;object-fit:contain}
.rpv .snd.big{width:46px;height:46px;right:14px;bottom:14px}.rpv .snd.big svg{width:22px;height:22px}
.rpc{color:#ccc;min-height:14px}.rpc .mt{color:#bbb!important}.rpc a.mt.lk{color:#fff!important}
.rpl>button{position:absolute;background:none;border:0;color:#fff;font:inherit;font-size:11px;letter-spacing:.12em;cursor:pointer;padding:18px}
.rpl .x{top:6px;right:8px}.rpl .p{left:4px;top:50%;transform:translateY(-50%)}.rpl .n{right:4px;top:50%;transform:translateY(-50%)}
.pj-g{display:block!important;grid-auto-rows:auto!important}
.jr{display:flex;gap:clamp(10px,1.2vw,18px);margin-bottom:clamp(16px,1.8vw,26px);align-items:flex-start}
.jr .gi{min-width:0}
.pj-g figure.gi a.gz{flex:none!important;display:block;width:100%;height:auto!important}
.pj-g .gi img{height:100%;object-fit:cover}
@media (max-width:700px){.jr{flex-direction:column}.jr .gi{flex:none!important;width:100%}}
.pmain{padding-top:24px}
.rl-main{aspect-ratio:16/9;max-height:none;width:100%}
.pmain figcaption{padding-top:10px;min-height:14px}
.reels.hz .rlw{grid-auto-columns:calc((100% - clamp(10px,1.2vw,18px))/2)}
.reels.hz .rl{aspect-ratio:16/9;max-height:none}
@media (max-width:700px){.reels.hz .rlw{grid-auto-columns:90%}}
.rpl.hzv .rpv{height:auto;width:min(92vw,calc(80svh*16/9));aspect-ratio:16/9}
.xb{width:56px;height:56px;padding:0!important;display:grid;place-items:center;font-size:0!important;cursor:pointer}
.xb svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;transition:transform .3s}
.xb:hover svg{transform:rotate(90deg)}
.lbx .xb,.rpl .xb{top:14px!important;right:14px!important}
.brief{padding-top:150px;max-width:980px;margin:0 auto}
.bf{display:grid;gap:26px;margin-top:clamp(40px,5vw,70px)}
.bf .row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.bf .f{display:grid;gap:10px;border:0;padding:0;margin:0}
.bf .f>span{color:var(--mute);font-family:"IBM Plex Mono",monospace}
.bf input:not([type=radio]):not([type=checkbox]),.bf select,.bf textarea{font:inherit;font-size:17px;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;border-radius:0;outline:none;width:100%;-webkit-appearance:none;appearance:none}
.bf select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888'/%3E%3C/svg%3E") right center/12px no-repeat}
.bf textarea{border:1px solid var(--line);padding:14px;resize:vertical}
.bf input:focus,.bf select:focus,.bf textarea:focus{border-color:var(--ink)}
.seg{display:flex;gap:0;border:1px solid var(--ink);width:max-content}
.seg input,.ck input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:12px 20px;cursor:pointer;font-family:"IBM Plex Mono",monospace}
.seg input:checked+span{background:var(--ink);color:var(--bg,#fff)}
.cks{display:flex;flex-wrap:wrap;gap:10px}
.ck span{display:block;padding:10px 16px;border:1px solid var(--line);cursor:pointer;font-size:14px;transition:.2s}
.ck input:checked+span{background:#111;color:#fff;border-color:#111}
.bf .book{justify-self:start;cursor:pointer;border:0;background:#111;color:#fff;padding:16px 34px}
.bf .note{color:var(--mute)}.bf .note a{color:var(--ink);text-decoration:underline}
@media (max-width:700px){.bf .row{grid-template-columns:1fr}.brief{padding-top:110px}.seg span{padding:10px 14px}}
.row7{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:calc((100% - 24px)/7);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.row7::-webkit-scrollbar{display:none}
.row7 a{scroll-snap-align:start}
.r7w{position:relative}
.r7b{position:absolute;top:calc(50% - 30px);transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#111;font-size:20px;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.15);transition:opacity .3s}
.r7p{left:10px}.r7n{right:10px}
.r7b.off{opacity:0;pointer-events:none}
@media (max-width:900px){.row7{grid-auto-columns:42vw}.r7b{display:none}}
/* blocks */
.block{padding-top:clamp(48px,6vw,90px)}
.bh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.row7{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.row7 .ph{aspect-ratio:3/4;overflow:hidden;background:var(--card)}
.row7 img{transition:transform 1s ease}.row7 a:hover img{transform:scale(1.04)}
.row7 .cap{margin-top:8px;display:block}
@media (max-width:900px){.row7{grid-template-columns:repeat(7,42vw);overflow-x:auto;scroll-snap-type:x mandatory}.row7 a{scroll-snap-align:start}}
.latest{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.2vw,18px);align-items:start}
.latest a .ph{overflow:hidden;background:var(--card)}
.latest a img{transition:transform 1s ease}.latest a:hover img{transform:scale(1.03)}
.latest .t{margin-top:8px}.latest .t span{display:block;color:var(--mute)}
.l1{grid-column:span 3}.l1 .ph{aspect-ratio:3/4}
.l2{grid-column:span 3;margin-top:12%}.l2 .ph{aspect-ratio:4/5}
.l3{grid-column:span 6}.l3 .ph{aspect-ratio:3/4}
.l4{grid-column:span 4}.l4 .ph{aspect-ratio:3/4}
.l5{grid-column:span 5;margin-top:8%}.l5 .ph{aspect-ratio:4/5}
.l6{grid-column:span 3}.l6 .ph{aspect-ratio:3/4}
@media (max-width:760px){.latest{grid-template-columns:repeat(2,1fr)}.latest a{grid-column:span 1!important;margin-top:0!important}.latest .l3{grid-column:span 2!important}}
.split{display:grid;grid-template-columns:2fr 1fr;gap:0;margin-top:clamp(48px,6vw,90px)}
.split.r{grid-template-columns:1fr 2fr}
.split>div{position:relative;overflow:hidden;background:#111}
.split>.vid{aspect-ratio:4/3}
.split>div>a>img,.split>div>img{position:absolute;inset:0}
.films{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.2vw,18px)}
.films .vid{aspect-ratio:4/3;background:#111;overflow:hidden;position:relative}
.vid a{display:block;height:100%}
.vid .lab{position:absolute;left:16px;bottom:14px;color:#fff;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.mvid{aspect-ratio:4/3;max-width:1200px;margin:clamp(40px,6vw,90px) auto 0;background:#111;overflow:hidden}
@media (max-width:760px){.films{grid-template-columns:1fr}}
.split .lab{position:absolute;left:16px;bottom:14px;color:#fff;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.split a{display:block;height:100%}
@media (max-width:760px){.split,.split.r{grid-template-columns:1fr}.split>div:not(.vid){aspect-ratio:3/4}}
.band{position:relative;height:min(90svh,56vw);overflow:hidden;background:#111;margin-top:clamp(48px,6vw,90px)}
.band img{object-position:center 30%}
.band .lab{position:absolute;left:clamp(16px,2.4vw,36px);bottom:18px;color:#fff;z-index:2}
.more{display:block;text-align:center;margin-top:40px}
.more:hover{text-decoration:underline}
.manifesto{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,80px);max-width:1200px;margin:0 auto}
.manifesto h2{font-size:clamp(30px,3.4vw,48px);font-weight:500;letter-spacing:-.02em;line-height:1.02}
.manifesto p{font-size:clamp(16px,1.4vw,19px);line-height:1.55;margin-bottom:1em;max-width:36em}
.manifesto p.lead{font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.01em;line-height:1.2}
@media (max-width:720px){.manifesto{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:28px}
.contact h3{grid-column:1/-1;font-size:clamp(30px,3.6vw,52px);font-weight:500;letter-spacing:-.02em}
.contact .cap{color:var(--mute);margin-bottom:6px}
.contact a:hover{text-decoration:underline}
@media (max-width:720px){.contact{grid-template-columns:1fr}}
footer{margin-top:clamp(60px,8vw,120px);padding-top:28px;padding-bottom:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
footer img{height:34px;width:auto}
footer .c{color:var(--mute)}
@media (max-width:720px){footer{grid-template-columns:1fr}}
/* directory */
.dir{padding-top:110px}
.filt{display:grid;grid-template-columns:repeat(3,max-content);gap:clamp(24px,5vw,72px)}
.filt h4{color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px;min-width:110px}
.filt button{display:block;background:none;border:0;font:inherit;color:var(--ink);opacity:.75;cursor:pointer;padding:2px 0;text-align:left}
.filt button:hover{opacity:1}
.filt button.on{opacity:1;text-decoration:underline;text-underline-offset:3px}
.filt button:disabled{opacity:.25;cursor:default}
.az{display:flex;justify-content:space-between;align-items:center;margin:34px 0 16px;gap:16px;flex-wrap:wrap}
.az .letters{display:flex;gap:9px;flex-wrap:wrap;margin:0 auto}
.az .letters button{background:none;border:0;font:inherit;cursor:pointer;color:var(--ink);padding:2px}
.az .letters button:disabled{color:var(--line);cursor:default}
.az .letters button.on{text-decoration:underline}
.views button{background:none;border:0;font:inherit;cursor:pointer;color:var(--mute)}.views button.on{color:var(--ink)}
.dgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.2vw,18px) clamp(10px,1.2vw,18px)}
.dgrid .ph{aspect-ratio:3/4;overflow:hidden;background:var(--card);position:relative}
.dgrid .ph img{position:absolute;inset:0;transition:opacity .5s}
.dgrid .ph img.alt{opacity:0}.dgrid a:hover .ph img.alt{opacity:1}
.dgrid .cap{margin-top:8px;display:flex;justify-content:space-between}.dgrid .cap span:last-child{color:var(--mute)}
@media (max-width:1000px){.dgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.dgrid{grid-template-columns:repeat(2,1fr)}.filt{grid-template-columns:repeat(3,1fr);gap:14px}.filt h4{min-width:0}}
.dlist{display:none;position:relative}
.dlist a{display:flex;justify-content:space-between;font-size:clamp(26px,4vw,56px);font-weight:500;letter-spacing:-.02em;line-height:1.15;border-bottom:1px solid var(--line)}
.dlist a span{font-size:11px;color:var(--mute);align-self:center;letter-spacing:.08em}
.dlist a:hover{color:var(--mute)}
.dlist .pv{position:fixed;width:240px;aspect-ratio:3/4;pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}
.list-mode .dgrid{display:none}.list-mode .dlist{display:block}
.empty{display:none;padding:60px 0;color:var(--mute)}
.hide{display:none!important}
/* model page */
.mhero{display:grid;grid-template-columns:auto 1fr;min-height:100svh;padding-top:76px}
.mhero .big{position:relative;height:calc(100svh - 76px);aspect-ratio:3/4;background:#000}
.mhero .big img{position:absolute;inset:0}
.mhero .info{padding:34px clamp(16px,4vw,64px) 40px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.mhero h1{font-size:clamp(64px,9vw,150px);font-weight:500;line-height:.9;letter-spacing:-.04em}
.mhero .meta{margin-top:18px;display:flex;gap:28px;color:var(--mute)}
.book{display:inline-block;margin-top:30px;padding:15px 28px;border:1px solid var(--ink);transition:background .3s,color .3s}
.book:hover{background:var(--ink);color:var(--bg)}
.navm{display:flex;justify-content:space-between;color:var(--mute)}.navm a:hover{color:var(--ink)}
@media (max-width:820px){.mhero{grid-template-columns:1fr}.mhero{padding-top:66px}.mhero .big{height:auto;width:100%}.mhero .info{padding-top:40px}}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,18px);align-items:start;padding-top:clamp(40px,6vw,90px)}
.gallery a{display:block;break-inside:avoid;background:var(--card);cursor:zoom-in}
.gallery img{height:auto;width:100%}
@media (max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
.lbx{position:fixed;inset:0;background:rgba(255,255,255,.98);z-index:50;display:none;align-items:center;justify-content:center}
.lbx.open{display:flex}
.lbx img{max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain}
.lbx button{position:absolute;background:none;border:0;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:18px;color:var(--ink)}
.lbx .x{top:6px;right:8px}.lbx .p{left:4px;top:50%;transform:translateY(-50%)}.lbx .n{right:4px;top:50%;transform:translateY(-50%)}
