.pf{--grey:var(--color-text-muted);--text2:var(--color-text-body);--off:var(--color-grey-light);--border:var(--color-grey-dark);--dim:var(--color-text-dim);--soft:var(--color-text-soft);--line-d:var(--color-line-on-dark);--hh:var(--header-h);& .meta{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;color:var(--grey);flex-wrap:wrap;gap:4px 14px;display:flex}& .meta b{color:var(--color-purple);font-weight:600}& .tags{flex-wrap:wrap;gap:6px;display:flex}& .tags li,& .tags span{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.08em;border:1px solid;padding:3px 7px}& .lnk{text-underline-offset:6px;font-weight:700;text-decoration:underline}& .h2{font-family:var(--font-display);font-weight:800;font-size:var(--text-h2);text-transform:uppercase;line-height:1.05}& .ph-img{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--dim);background:#0b0b0b;align-items:flex-end;padding:16px;display:flex;position:relative;overflow:hidden}& .ph-img:before{content:attr(data-g);font-family:var(--font-mono);color:#1b1b1b;word-break:break-all;font-size:14px;line-height:1.35;position:absolute;inset:-10% -5%;overflow:hidden}& .ph-img span{position:relative}& .ph-img b{font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;color:var(--color-yellow);font-size:clamp(40px,6vw,96px);font-weight:900;line-height:.8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}& .ph-img.light{background:var(--off)}& .ph-img.light:before{color:#ece6dc}& .ph-img.light span{color:var(--grey)}& .img{background:var(--off);position:relative;overflow:hidden}& .img img{object-fit:cover;width:100%;height:100%;display:block}& .img.contain{background:#f2f0eb}& .img.contain img{object-fit:contain}& .cfil>div{flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:20px;display:flex}& .cfil .lab{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--grey)}& .filters{flex-wrap:wrap;gap:8px;display:flex}& .filters button{border:1px solid var(--color-black);min-height:40px;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:9px 12px;transition:background-color .15s}& .filters button:hover{background:var(--off)}& .filters button[aria-pressed=true]{background:var(--color-black);color:var(--color-yellow)}& .cnt{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;color:var(--grey)}& .empty{color:var(--grey);margin-top:20px}& .cards{gap:clamp(20px,3vw,40px);display:grid}& .cards>li[hidden]{display:none}& .card{flex-direction:column;gap:14px;text-decoration:none;display:flex}& .card .media{aspect-ratio:16/10;overflow:hidden}& .card .media img,& .card .media .ph-img b{transition:transform .4s}& .card .media .ph-img{height:100%}& .card:hover .media img{transform:scale(1.03)}& .card:hover .media .ph-img b{transform:translate(-50%,-50%)scale(1.08)}& .card:hover{color:inherit}& .card:hover :is(h2,h3){color:var(--color-purple)}& .card :is(h2,h3){font-family:var(--font-display);text-transform:uppercase;font-size:clamp(22px,2.2vw,30px);font-weight:800;line-height:1.05;transition:color .2s}& .card p{color:var(--text2);font-size:17px}& .card .res-short{color:var(--color-black);margin-top:10px;font-weight:600}& .card .tags{color:var(--color-purple);margin-top:12px}& .card.feat :is(h2,h3){font-size:clamp(28px,3.2vw,46px)}& .chero .tags{color:var(--color-yellow);margin-bottom:20px}& .chero h1{max-width:1100px;font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;margin-bottom:18px;font-size:clamp(34px,5vw,76px);font-weight:900;line-height:.96}& .chero h1 span{color:var(--color-yellow)}& .chero .sub{max-width:720px;color:var(--soft);margin-bottom:32px;font-size:clamp(18px,1.6vw,22px)}& .chero .cover{aspect-ratio:21/9}& .chero .cover .ph-img{height:100%}& .facts{border-top:1px solid #262626}& .facts dl{gap:18px 0;padding-block:24px clamp(40px,5vw,64px);display:grid}& .facts dl>div{border-left:1px solid #262626;padding:0 20px 0 16px}& .facts dt{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--dim);margin-bottom:6px}& .facts dd{font-size:16px}& .facts dd a{color:var(--color-yellow);text-underline-offset:4px;text-decoration:underline}& .facts dd a:hover{color:var(--color-white)}& .cs>div{gap:clamp(24px,5vw,80px);padding-block:clamp(56px,6vw,96px);display:grid}& .cs .h2{font-size:clamp(26px,3vw,42px)}& .cs .body{max-width:68ch;color:var(--text2);font-size:19px;line-height:1.65}& .cs .body p{margin-bottom:20px}& .chero .tags li.y{border-color:var(--color-yellow);background:var(--color-yellow);color:var(--color-black)}& .journey{border-bottom:1px solid var(--border);padding-block:clamp(40px,4vw,64px)}& .jhead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 32px;margin-bottom:26px;display:flex}& .jhead>p{max-width:56ch;color:var(--grey)}& .jhead a{color:var(--color-black);text-underline-offset:5px;font-weight:700}& .jhead a:hover{color:var(--color-purple)}& .jsteps{display:grid}& .jsteps>li{border:1px solid var(--border);background:var(--color-white);align-content:start;gap:10px;padding:22px 22px 24px;display:grid}& .jsteps>li+li{border-top:0}& .jsteps .state{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase}& .jsteps .ph{font-family:var(--font-display);text-transform:uppercase;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}& .jsteps .ph i{border:2px solid;flex:none;width:14px;height:14px}& .jsteps .what{color:var(--grey);font-size:15px}& .jsteps .on{border-color:var(--color-black);box-shadow:inset 0 6px 0 var(--color-yellow)}& .jsteps .on .ph i{border-color:var(--color-black);background:var(--color-yellow)}& .jsteps .off,& .jsteps .off .what{color:#67625b;background:0 0}& .del{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}& .del li{background:var(--color-black);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.03em;color:var(--color-yellow);padding:7px 9px;line-height:1}& .int .body{max-width:62ch;color:var(--text2);margin-top:24px}& .pblock{border-top:1px solid var(--border);gap:22px;margin-top:36px;padding-top:36px;display:grid}& .int .h2+.pblock{border-top:0;margin-top:28px;padding-top:0}& .ptitle{font-family:var(--font-display);text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:clamp(22px,2.4vw,30px);font-weight:800;display:flex}& .ptitle span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-purple);font-size:13px;font-weight:400}& .moves{gap:16px;display:grid}& .move{border:1px solid var(--border);background:var(--color-white);align-content:start;gap:10px;padding:24px;display:grid}& .move h4{font-size:20px;line-height:1.25}& .move .sub{color:var(--grey);margin-top:-6px;font-size:15px}& .move p{color:var(--text2)}& .key blockquote{max-width:1000px;font-family:var(--font-display);text-transform:uppercase;font-size:clamp(24px,3vw,44px);font-weight:800;line-height:1.12}& .key blockquote span{color:var(--color-yellow)}& .key .why{max-width:680px;color:var(--color-lavender-dim);margin-top:24px;font-size:18px}& .ihead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px;margin-bottom:28px;display:flex}& .ihead p:not(.eyebrow){max-width:56ch;color:var(--grey);margin-top:12px}& .ctrl{align-items:center;gap:8px;display:flex}& .ctrl button{border:1px solid var(--color-black);background:var(--color-white);cursor:pointer;width:48px;height:48px;font-size:20px;transition:background-color .2s,color .2s}& .ctrl button:hover:not(:disabled){background:var(--color-black);color:var(--color-yellow)}& .ctrl button:disabled{opacity:.3;cursor:default}& .ctrl .count{min-width:56px;font-family:var(--font-mono);color:var(--grey);text-align:center;font-size:13px}& .strip{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:min(86%,760px);grid-auto-flow:column;gap:20px;padding-bottom:18px;display:grid;overflow-x:auto}& .strip li{scroll-snap-align:start;min-width:0}& .strip a{border:1px solid var(--border);background:var(--off);cursor:zoom-in;display:block}& .strip img{aspect-ratio:16/9;object-fit:contain;background:var(--color-white);width:100%;height:auto;display:block}& .strip .cap{align-items:baseline;gap:10px;margin-top:12px;font-size:15px;display:flex}& .strip .cap span{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.04em;color:var(--grey)}& dialog.lb{background:0 0;border:0;width:100%;max-width:min(1400px,94vw);margin:auto;padding:0}& dialog.lb img{width:100%;height:auto;display:block}& dialog.lb .bar{font-family:var(--font-mono);color:var(--color-white);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}& dialog.lb button{background:var(--color-yellow);cursor:pointer;border:0;min-width:44px;min-height:44px;padding:0 14px;font-weight:700}& dialog.lb button:hover{background:var(--color-white)}& .nums{border:2px solid var(--color-black);background:var(--color-black);gap:2px;margin-top:28px;display:grid}& .nums>div{background:var(--color-yellow);padding:clamp(20px,2.4vw,32px)}& .nums b{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(44px,6vw,88px);font-weight:900;line-height:.9;display:block}& .nums span{margin-top:10px;font-size:17px;display:block}& .res-big{max-width:30ch;font-family:var(--font-display);margin-top:8px;font-size:clamp(24px,2.8vw,38px);font-weight:800;line-height:1.15}& .nums+.res-big{margin-top:28px}& .testi blockquote{border-left:4px solid var(--color-purple);max-width:900px;padding:8px 0 8px 28px;font-size:clamp(22px,2.4vw,32px);font-weight:500;line-height:1.35}& .testi .tr{letter-spacing:.04em;text-transform:none;margin-top:6px;display:block}& .testi figcaption{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--grey);margin:20px 0 0 32px}& .galg{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,22vw,320px);gap:2px;margin-top:32px;display:grid}& .galg .img{height:100%}& .galg .w{grid-column:1/-1}& .galg .pano{grid-area:span 1/1/auto/-1;height:auto}& .galg .pano .img{height:auto}& .galg .pano img{aspect-ratio:auto;object-fit:contain;height:auto}& .galg.solo{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}& .galg .solo .img{height:auto}& .galg .solo img{height:auto;max-height:min(85vh,760px)}& .nextc a{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding-block:clamp(40px,5vw,64px);text-decoration:none;display:grid}& .nextc .lab{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--dim);margin-bottom:10px;display:block}& .nextc b{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(28px,4vw,60px);font-weight:900;line-height:1;transition:color .2s}& .nextc i{color:var(--color-yellow);font-size:clamp(28px,4vw,60px);font-style:normal;transition:transform .2s}& .nextc a:hover{color:var(--color-white)}& .nextc a:hover b{color:var(--color-yellow)}& .nextc a:hover i{transform:translate(10px)}& .mhero h1{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;margin-bottom:20px;font-size:clamp(34px,4.4vw,64px);font-weight:900;line-height:.98}& .mhero h1 span{color:var(--color-yellow)}& .mhero .sub{max-width:640px;font-size:var(--text-lead);color:var(--soft)}& .ltools{z-index:20;border-bottom:1px solid var(--border);background:var(--color-white)}& .ltools>div{flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:14px;display:flex}& .ltools select{border:2px solid var(--color-black);background:var(--color-white);min-height:44px;padding:10px 12px;font-size:15px}& .ltools label.tg{align-items:center;gap:8px;font-size:15px;display:flex}& .ltools label.tg input{width:18px;height:18px;accent-color:var(--color-purple)}& .lg{border:2px solid var(--border);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}& .lg li[hidden]{display:none}& .lg .tile{aspect-ratio:1;background:var(--color-white);text-align:left;cursor:pointer;outline:none;flex-direction:column;justify-content:space-between;width:100%;padding:14px;transition:box-shadow .2s;display:flex;position:relative}& .lg .tile:hover,& .lg .tile:focus-visible{box-shadow:inset 0 0 0 3px var(--color-yellow)}& .lg .logo{width:72%;margin:auto;transition:transform .2s;display:block}& .lg .logo img{width:100%;height:auto;display:block}& .lg .tile:hover .logo,& .lg .tile:focus-visible .logo{transform:scale(1.03)}& .lg .cap{font-family:var(--font-mono);letter-spacing:.08em;color:var(--grey);opacity:0;font-size:10px;transition:opacity .2s}& .lg .tile:hover .cap,& .lg .tile:focus-visible .cap{opacity:1}& .lg .sk{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-purple);border:1px solid;padding:1px 4px;font-size:9px;position:absolute;top:10px;right:10px}& .lg .ev .tile:after{content:"";background:var(--color-yellow);width:10px;height:10px;position:absolute;top:0;left:0}& .lg .tile .nojs-cap{color:var(--grey);font-size:13px}& dialog.lb{background:var(--color-white);width:100%;max-width:min(920px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-black);border:0;margin:auto;padding:0;overflow:auto}& dialog.lb::backdrop{background:#000000d1}& .lb .wrap{display:grid}& .lb .art{aspect-ratio:16/10;background:var(--color-white);border-bottom:1px solid var(--border);place-items:center;display:grid}& .lb .art img{object-fit:contain;width:60%;height:auto;max-height:90%}& .lb .info{flex-direction:column;gap:14px;padding:clamp(20px,3vw,36px);display:flex}& .lb h2{font-family:var(--font-display);text-transform:uppercase;padding-right:48px;font-size:clamp(22px,2.6vw,34px);font-weight:900;line-height:1}& .lb dl{grid-template-columns:96px minmax(0,1fr);gap:6px 12px;font-size:16px;display:grid}& .lb dt{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--grey);padding-top:3px}& .lb .sks-lab{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--grey)}& .lb .sks{grid-template-columns:repeat(3,1fr);gap:2px;margin-top:8px;display:grid}& .lb .sks .img{aspect-ratio:1}& .lb .close{background:var(--color-black);width:44px;height:44px;color:var(--color-white);cursor:pointer;font-size:22px;position:absolute;top:10px;right:10px}& .lb .close:hover{background:var(--color-purple)}& .lb .navb{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}& .lb .navb button{border:2px solid var(--color-black);cursor:pointer;min-height:44px;padding:10px 14px;font-size:14px}& .lb .navb button:hover{background:var(--color-black);color:var(--color-white)}& .lb .q{border-left:3px solid var(--color-purple);padding-left:14px}& .lb .q p{font-size:17px;font-weight:500;line-height:1.45}& .lb .q footer{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin-top:6px}& .lb a.go{text-underline-offset:5px;font-weight:700;text-decoration:underline}& .lb a.go:hover{color:var(--color-purple)}& dialog :focus-visible{outline-color:var(--color-purple)}& .pj{gap:clamp(16px,2vw,28px);display:grid}& .pj li[hidden]{display:none}& .pj .tile{text-align:left;cursor:pointer;flex-direction:column;gap:12px;width:100%;display:flex}& .pj .tile:focus-visible{outline:3px solid var(--color-purple);outline-offset:4px}& .pj .media{aspect-ratio:4/3;overflow:hidden}& .pj .media>*{height:100%}& .pj .media img,& .pj .media .ph-img b{transition:transform .4s}& .pj .tile:hover .media img{transform:scale(1.03)}& .pj .tile:hover .media .ph-img b{transform:translate(-50%,-50%)scale(1.08)}& .pj .tile:hover :is(h2,h3){color:var(--color-purple)}& .pj :is(h2,h3){font-size:20px;font-weight:700;line-height:1.2;transition:color .2s}& .pj a.tile{color:inherit;text-decoration:none}& .pj .meta .st{color:var(--color-purple)}& .prh h1{max-width:18ch}& .prh .facts{flex-wrap:wrap;gap:18px 40px;margin-top:28px;display:flex}& .prh .facts .did{flex-basis:100%}& .prh .facts dt{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--dim);margin-bottom:6px}& .prh .facts dd{color:var(--color-white)}& .prh .did ul{flex-wrap:wrap;gap:4px 18px;display:flex}& .prh .did li:before{content:"› ";color:var(--color-yellow)}& .prt{max-width:760px;font-size:var(--text-lead);line-height:1.5}& .pgal{gap:clamp(16px,2vw,24px);margin-top:clamp(32px,4vw,56px);display:grid}& .pgal .row{gap:clamp(16px,2vw,24px);display:grid}& .pgal a{border:1px solid var(--border);cursor:zoom-in;background:#f2f0eb;display:block}& .pgal img{object-fit:contain;width:100%;height:auto;max-height:85vh;display:block}& dialog.zoom{background:0 0;border:0;width:100%;max-width:min(1400px,94vw);margin:auto;padding:0}& dialog.zoom::backdrop{background:#000000e0}& dialog.zoom img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 110px);margin-inline:auto;display:block}& dialog.zoom .bar{font-family:var(--font-mono);color:var(--color-white);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}& dialog.zoom .bar>span:last-child{gap:8px;display:flex}& dialog.zoom button{background:var(--color-yellow);cursor:pointer;border:0;min-width:44px;min-height:44px;padding:0 14px;font-weight:700}& dialog.zoom button:hover{background:var(--color-white)}& .prlogo .wrap{align-items:start;gap:24px;display:grid}& .prlogo .mark{aspect-ratio:1;border:1px solid var(--border);background:var(--color-white);justify-content:center;align-items:center;max-width:480px;display:flex}& .prlogo .mark img{object-fit:contain;width:100%;height:100%}& .prlogo .sks .lab{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--grey);margin-bottom:10px}& .prlogo .sks>div{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}& .prlogo .sks span{aspect-ratio:1;border:1px solid var(--border);background:var(--off);display:block}& .prlogo .sks img{object-fit:contain;width:100%;height:100%}& .prlogo .go{margin-top:24px;font-weight:700;display:inline-block}& .prmore .testi+.links{margin-top:32px}& .prmore .links{flex-wrap:wrap;gap:12px 32px;display:flex}& .prmore .links a{font-weight:700}& .prnav>div{gap:2px;display:grid}& .prnav a{padding-block:clamp(28px,4vw,48px);text-decoration:none;display:block}& .prnav .lab{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--dim);margin-bottom:8px;display:block}& .prnav b{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(22px,2.6vw,36px);font-weight:900;line-height:1.05;transition:color .2s}& .prnav a:hover{color:var(--color-white)}& .prnav a:hover b{color:var(--color-yellow)}& .ab>div{gap:clamp(24px,5vw,80px);padding-block:clamp(56px,6vw,96px);display:grid}& .ab .body{max-width:68ch;color:var(--text2);font-size:19px;line-height:1.65}& .ab .body p{margin-bottom:20px}& .ab .body strong{color:var(--color-black)}& .intro>div{align-items:center;gap:clamp(24px,5vw,80px);padding-block:clamp(56px,6vw,96px);display:grid}& .intro img{aspect-ratio:1;object-fit:cover;width:100%;max-width:520px;height:auto;display:block}& .intro .body{max-width:68ch;color:var(--text2);font-size:19px;line-height:1.65}& .intro .body p{margin-bottom:20px}& .intro .body p:first-child{font-size:var(--text-lead);color:var(--color-black);font-weight:600}& .intro .body .social{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;gap:20px;margin:28px 0 0;display:flex}& .intro .social a{color:var(--color-black);text-underline-offset:4px}& .intro .social a:hover{color:var(--color-purple)}& .talks .where{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.06em;color:var(--grey)}& .partners a{text-underline-offset:4px;text-decoration:underline}& .partners a:hover{color:var(--color-purple)}& .fails{border-top:2px solid var(--color-black);margin:8px 0 28px}& .fails li{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:14px 0;font-size:18px;display:grid}& .fails li:before{content:"×";font-family:var(--font-mono);color:var(--color-purple);font-size:18px}& .fails li span{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--grey)}& .alter>div,& .off2>div{align-items:center;gap:clamp(24px,5vw,80px);display:grid}& .alter h2{font-family:var(--font-display);text-transform:uppercase;margin-bottom:20px;font-size:clamp(32px,4.4vw,64px);font-weight:900;line-height:.95}& .alter h2 span{color:var(--color-yellow)}& .alter p{max-width:560px;color:var(--soft);margin-bottom:18px;font-size:19px}& .trip{background:#262626;border:2px solid #262626;gap:2px;display:grid}& .trip div{background:var(--color-black);padding:22px 24px;transition:background-color .2s}& .trip div:hover{background:#0f0f0f}& .trip b{font-family:var(--font-mono);font-weight:600;font-size:var(--text-meta);letter-spacing:.12em;color:var(--color-yellow);margin-bottom:6px;display:block}& .trip span{color:var(--soft)}& .prin ol,& .talks{border:2px solid var(--border);background:var(--border);gap:2px;margin-top:36px;display:grid}& .prin ol{counter-reset:p}& .prin li{background:var(--color-white);counter-increment:p;flex-direction:column;gap:10px;padding:clamp(22px,2.6vw,34px);display:flex}& .prin li:before{content:counter(p, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-purple)}& .prin b{font-family:var(--font-display);text-transform:uppercase;font-size:22px;font-weight:800;line-height:1.05}& .prin span{color:var(--text2)}& .partners{max-width:900px;margin-top:24px;font-size:18px}& .talks article{background:var(--color-white);flex-direction:column;display:flex}& .talks .media{aspect-ratio:16/10;overflow:hidden}& .talks .media>*{height:100%}& .talks .talk-img{object-fit:cover;object-position:50% 35%;width:100%;height:100%}& .talks .t{flex-direction:column;flex:1;gap:8px;padding:22px;display:flex}& .talks h3{font-size:21px;font-weight:700;line-height:1.2}& .talks p{color:var(--text2);font-size:16px}& .off2 h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(26px,3vw,42px);font-weight:900;line-height:1}& .off2 ul{flex-wrap:wrap;gap:8px;display:flex}& .off2 li{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;color:var(--soft);border:1px solid #3a3a3a;padding:7px 10px}& .leg .wrap{max-width:860px}& .leg h1{font-family:var(--font-display);text-transform:uppercase;margin:12px 0 10px;font-size:clamp(34px,4.4vw,60px);font-weight:900;line-height:1}& .leg .upd{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;color:var(--grey);margin-bottom:32px}& .leg .lead{color:var(--text2);margin-bottom:32px;font-size:19px}& .leg h2{font-family:var(--font-display);text-transform:uppercase;scroll-margin-top:calc(var(--hh) + 24px);margin:44px 0 14px;font-size:clamp(20px,1.8vw,24px);font-weight:800}& .leg p,& .leg li{color:var(--text2);font-size:17px;line-height:1.65}& .leg p{margin-bottom:16px}& .leg ul{margin-bottom:16px;padding-left:22px;list-style:outside}& .leg a:not(.btn){text-underline-offset:4px;text-decoration:underline}& .leg a:not(.btn):hover{color:var(--color-purple)}& .leg strong{color:var(--color-black)}& .leg .tw{border:2px solid var(--color-black);margin-bottom:16px;overflow-x:auto}& .leg .tw:focus-visible{outline:3px solid var(--color-purple);outline-offset:2px}& .leg table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}& .leg th{background:var(--color-black);font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.08em;text-align:left;vertical-align:bottom;color:var(--color-white);padding:10px 12px;font-weight:600}& .leg td{border-top:1px solid var(--border);vertical-align:top;color:var(--text2);padding:12px;font-size:15px}& .leg code{background:var(--off);font-family:var(--font-mono);padding:1px 5px;font-size:13px}& .leg .toc2{flex-wrap:wrap;gap:8px 18px;margin-bottom:8px;font-size:15px;display:flex}& .leg .toc2 a{font-weight:600}& .enlist{border-top:2px solid var(--color-black);margin-top:32px}& .enlist li{border-bottom:1px solid var(--border);align-items:baseline;gap:6px 24px;padding:20px 0;display:grid}& .enlist b{font-size:20px}& .enlist span{color:var(--text2)}& .enlist em{font-style:normal;font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.08em;color:var(--color-purple)}& .phases3,& .steps3{gap:2px;margin-top:36px;display:grid}& .phases3{background:#262626;border:2px solid #262626}& .phases3 div{background:var(--color-black);padding:clamp(22px,2.6vw,34px)}& .phases3 small{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--dim)}& .phases3 b{font-family:var(--font-display);text-transform:uppercase;color:var(--color-yellow);margin:8px 0;font-size:clamp(26px,2.8vw,40px);font-weight:900;display:block}& .phases3 span{color:var(--soft)}& .steps3{border:2px solid var(--color-black);background:var(--color-black);counter-reset:s}& .steps3 li{background:var(--color-yellow);counter-increment:s;padding:clamp(20px,2.4vw,30px)}& .steps3 li:before{content:counter(s, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-meta);margin-bottom:10px;display:block}& .steps3 b{margin-bottom:6px;font-size:20px;display:block}& .lk{min-height:100dvh}& .lk .col{max-width:480px;margin-inline:auto;padding:clamp(28px,6vw,56px) 16px 32px}& .lk .me{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;display:flex}& .lk .me .logo{width:72px;height:auto}& .lk .me img{border:3px solid var(--color-yellow);object-fit:cover;width:120px;height:120px;margin-top:6px}& .lk h1{font-family:var(--font-display);text-transform:uppercase;font-size:24px;font-weight:900;line-height:1}& .lk .me p{color:var(--soft);font-size:15px}& .lkl{flex-direction:column;gap:10px;display:flex}& .lkl a{border:2px solid #333;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;width:100%;min-height:56px;padding:14px 18px;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}& .lkl small{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.1em;color:var(--dim);grid-column:1}& .lkl b{grid-column:1;font-size:18px}& .lkl a:after{content:"→";color:var(--color-yellow);grid-area:1/2/span 2;font-size:20px}& .lkl a:hover{border-color:var(--color-yellow);color:var(--color-white)}& .lkl a.y{border-color:var(--color-yellow);background:var(--color-yellow);color:var(--color-black)}& .lkl a.y small,& .lkl a.y:after{color:var(--color-black)}& .lkl a.y:hover{border-color:var(--color-white);background:var(--color-white);color:var(--color-black)}& .soc{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}& .soc a{min-height:40px;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;border:1px solid #3a3a3a;align-items:center;padding:9px 12px;text-decoration:none;display:inline-flex}& .soc a:hover{border-color:var(--color-yellow);color:var(--color-yellow)}& .lk .mail{color:var(--dim);margin-top:22px;font-size:15px}& .lk .mail a{color:var(--color-white);text-underline-offset:4px;text-decoration:underline}& .lk .legal{color:var(--dim);text-align:center;margin-top:36px;font-size:13px}& .lk .legal a,& .lk .legal button{color:var(--dim);cursor:pointer;text-decoration:none}& .lk .legal a:hover,& .lk .legal button:hover{color:var(--color-yellow)}& .e404{min-height:calc(100dvh - var(--hh));align-items:center;display:flex}& .e404>div{width:100%}& .e404 .rain{aspect-ratio:17/8;width:100%;max-width:760px;position:relative}& .e404 .rain canvas{width:100%;height:100%;position:absolute;inset:0}& .e404 .big{height:100%;font-family:var(--font-mono);color:var(--color-yellow);place-items:center start;font-size:clamp(120px,26vw,330px);line-height:1;display:grid}& .e404 .rain.on .big{display:none}& .e404 .term{min-height:5.6em;font-family:var(--font-mono);color:var(--soft);gap:6px;margin-top:24px;font-size:clamp(14px,1.5vw,17px);line-height:1.5;display:grid}& .e404 .term .cur{vertical-align:-.15em;background:var(--color-yellow);width:.6em;height:1.1em;margin-left:2px;animation:1s step-end infinite e404-blink;display:inline-block}@media (prefers-reduced-motion:reduce){& .e404 .term .cur{animation:none}}& .e404 h1{font-family:var(--font-display);text-transform:uppercase;margin:32px 0 24px;font-size:clamp(28px,3.6vw,52px);font-weight:900;line-height:1}& .e404 ul{flex-wrap:wrap;gap:10px;display:flex}& .e404 ul a{border:2px solid #333;align-items:center;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}& .e404 ul a:hover{border-color:var(--color-yellow);color:var(--color-yellow)}@media (width>=30rem){& .lg{grid-template-columns:repeat(3,minmax(0,1fr))}& .facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=35rem){& .pj{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){& .cards{grid-template-columns:repeat(2,minmax(0,1fr))}& .cards>li.fl{grid-column:1/-1}& .card.feat{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(20px,3vw,48px);display:grid}& .facts dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}& .cs>div{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}& .cs.wide>div{grid-template-columns:minmax(0,1fr)}& .jsteps{grid-template-columns:repeat(3,minmax(0,1fr))}& .jsteps>li+li{border-top:1px solid var(--border);border-left:0}& .jsteps>li.on+li{border-left:0}& .moves{grid-template-columns:repeat(2,minmax(0,1fr))}& .nums{grid-template-columns:repeat(3,minmax(0,1fr))}& .nums.four{grid-template-columns:repeat(4,minmax(0,1fr))}& .galg{grid-template-columns:repeat(6,minmax(0,1fr))}& .galg .w{grid-column:span 4}& .galg .pano{grid-column:1/-1}& .galg .n{grid-column:span 2}& .galg .h{grid-column:span 3}& .lg{grid-template-columns:repeat(6,minmax(0,1fr))}& .ltools{top:var(--hh);position:sticky}& .ltools .cnt{margin-left:auto}& .lb .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}& .lb .art{aspect-ratio:1;border-bottom:0}& .pj{grid-template-columns:repeat(3,minmax(0,1fr))}& .pgal .row.two{grid-template-columns:repeat(2,minmax(0,1fr))}& .prlogo .wrap{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:40px}& .prnav>div{grid-template-columns:repeat(2,minmax(0,1fr))}& .prnav .nx{text-align:right}& .ab>div{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}& .intro>div{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}& .alter>div,& .off2>div{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}& .prin ol,& .talks,& .phases3,& .steps3{grid-template-columns:repeat(3,minmax(0,1fr))}& .enlist li{grid-template-columns:minmax(0,4fr) minmax(0,6fr) auto}}@media (prefers-reduced-motion:reduce){& .lg .logo{transition:none}& .lg .tile:hover .logo,& .lg .tile:focus-visible .logo{transform:none}& .card .media img,& .card .media .ph-img b,& .pj .media img,& .pj .media .ph-img b,& .nextc i{transition:none}}}@keyframes e404-blink{50%{opacity:0}}
