.win__bar{background:var(--accent);color:var(--accent-ink);font-family:var(--font-pixel);text-transform:uppercase;margin:0;padding:10px 14px;font-size:clamp(11px,1.3vw,13px);font-weight:400}.proj__head{gap:22px;padding-top:clamp(28px,4vw,48px);display:grid}.back{font-family:var(--font-pixel);text-transform:uppercase;color:var(--fg-dim);justify-self:start;font-size:10px}.back:before{content:"";vertical-align:-.1em;clip-path:polygon(100% 0,0 50%,100% 100%);background:currentColor;width:.8em;height:.9em;margin-right:.8em;display:inline-block}.back:hover{color:var(--accent)}.proj__tags{font-family:var(--font-pixel);color:var(--tag);gap:14px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.proj__title{font-family:var(--font-pixel);text-transform:uppercase;color:var(--accent);margin:0;font-size:clamp(20px,4vw,46px);font-weight:400;line-height:1.3}.proj__stamp{color:var(--fg-dim);margin:-10px 0 0;font-size:.95rem}.proj__hero{width:100%;padding:6px}.proj__heroMedia{aspect-ratio:16/9;background:var(--bg-deep);position:relative;overflow:hidden}.proj__heroMedia video,.proj__heroMedia img{object-fit:contain;background:var(--bg-deep);width:100%;height:100%;position:absolute;inset:0}.proj__heroMedia:after,.gal__item:after,.strip__item:after{content:"";pointer-events:none;background:repeating-linear-gradient(#00000024 0 1px,#0000 1px 3px);position:absolute;inset:0}.proj__intro{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,56px);display:grid}.proj__lead{margin:0 0 14px;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:500;line-height:1.35}.proj__facts{margin:0;padding:6px 16px}.proj__facts>div{border-bottom:2px dotted var(--edge);grid-template-columns:6.2rem 1fr;align-items:baseline;gap:4px 14px;padding:11px 0;display:grid}.proj__facts>div:last-child{border-bottom:0}.proj__facts dt{font-family:var(--font-pixel);color:var(--fg-dim);text-transform:uppercase;font-size:9px;line-height:1.4}.proj__facts dd{margin:0;font-weight:500;line-height:1.35}.proj__role{padding:6px}.proj__role ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:0;padding:14px 16px 10px;list-style:none;display:grid}.proj__role li,.bullets li{padding-left:20px;line-height:1.4;position:relative}.proj__role li:before,.bullets li:before{content:"";background:var(--accent);width:8px;height:8px;position:absolute;top:.5em;left:0}.copy{gap:12px;margin-top:4px;display:grid}.copy p{color:var(--fg-dim);max-width:62ch;margin:0}.proj__group{border-top:3px solid var(--edge);gap:clamp(26px,4vw,44px);display:grid}.proj__group>.h2{margin-bottom:0}.detail{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;padding:6px;display:grid}.detail--rev{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.detail--rev>:first-child{order:2}.detail__text{flex-direction:column;justify-content:center;gap:12px;padding:clamp(16px,2.6vw,34px);display:flex}.detail__title{font-family:var(--font-pixel);text-transform:uppercase;color:var(--accent);margin:0;font-size:clamp(12px,1.5vw,17px);font-weight:400;line-height:1.5}.detail__lead{margin:0;font-size:1.1rem;font-weight:500;line-height:1.4}.bullets{color:var(--fg-dim);gap:8px;margin:0;padding:0;font-size:.98rem;list-style:none;display:grid}.detail code,.proj code{background:var(--bg-deep);color:var(--fg);padding:1px 5px;font-size:.9em}.gal{aspect-ratio:16/9;background:var(--bg-deep);position:relative;overflow:hidden}.gal__track{scroll-snap-type:x mandatory;scrollbar-width:none;height:100%;display:flex;overflow-x:auto}.gal__track::-webkit-scrollbar{display:none}.gal__item{scroll-snap-align:start;flex:0 0 100%;height:100%;position:relative}.gal__item img,.gal__item video,.strip__item img,.strip__item video{object-fit:contain;background:var(--bg-deep);width:100%;height:100%;position:absolute;inset:0}.gal__btn{z-index:2;cursor:pointer;width:38px;height:38px;color:var(--fg);background:var(--panel);box-shadow:inset 2px 2px 0 var(--hi), inset -2px -2px 0 var(--lo), 0 0 0 2px var(--edge);border:0;place-items:center;font-size:12px;display:grid;position:absolute;top:50%;translate:0 -50%}.gal__btn:hover{color:var(--accent)}.gal__btn--prev{left:10px}.gal__btn--next{right:10px}.gal__dots{z-index:2;justify-content:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.gal__dots i{background:#fff6;width:9px;height:9px;box-shadow:0 0 0 1px #00000080}.gal__dots i.on{background:var(--accent)}.compare{--img:clamp(460px, 56%, 740px);grid-template-columns:minmax(0, var(--img)) minmax(0, 1fr);gap:0 clamp(8px,2vw,28px)}.compare--portrait{--img:320px}.compare--rev{grid-template-columns:minmax(0, 1fr) minmax(0, var(--img))}.compare--rev>:first-child{order:2}.ba{--pos:50%;aspect-ratio:var(--ar,16 / 9);background:var(--bg-deep);align-self:center;position:relative;overflow:hidden}.ba__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ba__before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);position:absolute;inset:0}.ba__handle{top:0;bottom:0;left:var(--pos);background:var(--accent);width:4px;position:absolute;translate:-50%}.ba__handle:after{content:"";background:var(--accent);width:22px;height:22px;box-shadow:0 0 0 3px var(--edge);position:absolute;top:50%;left:50%;translate:-50% -50%}.ba__range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba__label{font-family:var(--font-pixel);text-transform:uppercase;color:#f4f2eb;background:#0b0c14d9;padding:4px 8px;font-size:8px;position:absolute;top:10px}.ba__label--before{left:10px}.ba__label--after{right:10px}.minimodels{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:20px;display:grid}.minimodels .note{grid-column:1/-1;margin:0}.strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:16px;padding:6px 6px 14px;display:flex;overflow-x:auto}.strip__item{aspect-ratio:16/9;scroll-snap-align:start;background:var(--bg-deep);flex:0 0 min(520px,82vw);padding:0;position:relative;overflow:hidden}.strip__item--zoom img{cursor:zoom-in}.lightbox{background:var(--panel);max-width:94vw;max-height:92vh;box-shadow:0 0 0 3px var(--edge);border:0;padding:6px}.lightbox::backdrop{background:#05060cd9}.lightbox img{object-fit:contain;max-width:calc(94vw - 12px);max-height:calc(92vh - 70px);margin-top:8px;display:block}.lightbox .viewer__close{font-family:var(--font-pixel);margin-left:auto;padding:8px 14px;font-size:10px;display:block}.pager{border-top:3px solid var(--edge);grid-template-columns:1fr 1fr;gap:18px;display:grid}.pager__link{font-family:var(--font-pixel);text-transform:uppercase;gap:8px;padding:18px 20px;font-size:clamp(11px,1.3vw,14px);line-height:1.5;display:grid}.pager__link span{color:var(--fg-dim);font-size:9px}.pager__link--next{text-align:right}.pager__link:hover{color:var(--accent)}@media (width<=860px){.proj__intro,.detail,.detail--rev,.compare,.compare--portrait,.compare--rev{grid-template-columns:minmax(0,1fr)}.detail--rev>:first-child,.compare--rev>:first-child{order:0}.proj__role ul,.proj__facts>div{grid-template-columns:1fr}.minimodels{grid-template-columns:repeat(2,minmax(0,1fr))}.pager{grid-template-columns:1fr}.pager__link--next{text-align:left}}.proj__group.section{padding-block:clamp(40px,6vw,72px)}.proj{isolation:isolate;position:relative}.scene{pointer-events:none;height:min(88vh,780px);position:absolute;top:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 45%,#0000 100%);mask-image:linear-gradient(#000 45%,#0000 100%)}.scene__art{inset:var(--y,0px) 0 calc(var(--y,0px) * -1) 0;-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 calc(var(--y,0px) + 40px));mask-image:linear-gradient(to bottom, transparent 0, #000 calc(var(--y,0px) + 40px));image-rendering:pixelated;filter:brightness(var(--b,.6)) saturate(1.1);background-position:50% 55%;background-size:cover;position:absolute}.scene__fx{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.scene:after{content:"";background:linear-gradient(to right, color-mix(in srgb, var(--bg-deep) 62%, transparent), color-mix(in srgb, var(--bg-deep) 22%, transparent) 45%, transparent 70%), linear-gradient(to bottom, color-mix(in srgb, var(--bg-deep) 55%, transparent), transparent 40%), repeating-linear-gradient(to bottom, #00000024 0 1px, transparent 1px 3px);position:absolute;inset:0}.proj__top{grid-template:"heading side""text side"1fr/minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:22px clamp(24px,4vw,56px);display:grid}.proj__heading{grid-area:heading;justify-items:start;gap:22px;display:grid}.proj__side{grid-area:side;gap:22px;display:grid}.proj__text{grid-area:text}.proj__top .proj__lead{font-size:clamp(1.1rem,1.6vw,1.4rem)}@media (width<=980px){.proj__top{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""hero""text"}.proj__side{display:contents}.proj__hero{grid-area:hero}}.proj__side{justify-items:start}.proj__hero--image{width:fit-content;max-width:100%}.proj__hero--image .proj__heroMedia{aspect-ratio:auto}.proj__hero--image .proj__heroMedia img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(78vh,760px);display:block;position:static}@media (width<=980px){.proj__hero--image{justify-self:center}}.proj__bg{left:0;right:0;top:calc(var(--bar) * -1);z-index:-1;pointer-events:none;position:absolute;bottom:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 320px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 320px),#0000 100%)}.scene--chained{height:960px;-webkit-mask-image:none;mask-image:none}.scene--band{height:1500px;-webkit-mask-image:linear-gradient(#0000 0,#000 300px);mask-image:linear-gradient(#0000 0,#000 300px)}.scene--band:after{background:repeating-linear-gradient(#00000024 0 1px,#0000 1px 3px)}.proj__text .copy p{color:var(--fg)}.proj__text,.proj__heading .back,.proj__heading .proj__tags{text-shadow:0 1px 2px var(--bg-deep), 0 0 6px var(--bg-deep), 0 0 14px color-mix(in srgb, var(--bg-deep) 85%, transparent)}@font-face{font-family:Black Ops One;font-weight:400;font-display:swap;src:url(/assets/fonts/black-ops-one-latin.woff2)format("woff2")}@font-face{font-family:Special Elite;font-weight:400;font-display:swap;src:url(/assets/fonts/special-elite-latin.woff2)format("woff2")}@font-face{font-family:Nosifer;font-weight:400;font-display:swap;src:url(/assets/fonts/nosifer-latin.woff2)format("woff2")}body[data-project] .theme{display:none}body[data-project] .proj__title{font-family:var(--font-title,var(--font-pixel));font-size:calc(clamp(20px, 4vw, 46px) * var(--title-k,1));color:var(--title-color,var(--accent));text-shadow:var(--title-shadow,none)}body[data-project] .proj__group>.h2,body[data-project] .detail__title{font-family:var(--font-title,var(--font-pixel))}body[data-project] .detail__title{font-size:calc(clamp(12px, 1.5vw, 17px) * var(--title-k,1))}.proj__stamp{border:3px double var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-family:var(--font-title,var(--font-pixel));letter-spacing:.08em;text-transform:uppercase;justify-self:start;margin:4px 0 6px;padding:10px 16px;font-size:.95rem;transform:rotate(-2.5deg)}body[data-project=normandia]{--bg:#43392a;--bg-deep:#2d261b;--panel:#241f12;--fg:#f3ecd6;--fg-dim:#d8cba6;--edge:#6b5c36;--hi:#7a6a3e;--lo:#14100a;--accent:#b9402f;--accent-hover:#cf5240;--accent-ink:#f5eedb;--tag:#c8d99a;--font-title:"Black Ops One", var(--font-pixel);--title-k:1.6;--title-color:#ece5cf;--title-shadow:3px 3px 0 #b9402fb3;font-family:"Special Elite", var(--font-body)}body[data-project=normandia] .proj__lead,body[data-project=normandia] .detail__lead{font-family:"Special Elite", var(--font-body);font-weight:400}body[data-project=normandia] .proj__role{color:#2a2416;background:#ece5cf}body[data-project=normandia] .proj__role li{color:#2a2416}body[data-project=normandia] .proj__role .win__bar{color:#ece5cf;background:#2a2416}body[data-project=normandia] .proj__role li:before{background:#b9402f}body[data-project=lastgunner]{--bg:#060a06;--bg-deep:#030503;--panel:#0c150c;--fg:#d8f5da;--fg-dim:#7fa385;--edge:#1f4023;--hi:#2f5f34;--lo:#010201;--accent:#d8393a;--accent-hover:#ee5556;--accent-ink:#fff;--tag:#7ee081;--font-title:var(--font-pixel);--title-k:.95;--title-color:#d8f5da;--title-shadow:3px 3px 0 #d8393a99;background-image:repeating-linear-gradient(0deg,#7ee08109 0 1px,#0000 1px 4px);background-position:0 0;background-size:auto}body[data-project=freezingcold]{--bg:#081c28;--bg-deep:#04121a;--panel:#0e2a3a;--fg:#eaf7fb;--fg-dim:#86b3c6;--edge:#1d4d63;--hi:#3d86a3;--lo:#02090e;--accent:#4fd6f0;--accent-hover:#8ae6f8;--accent-ink:#04121a;--tag:#bdf3ff;--font-title:"Nosifer", var(--font-pixel);--title-k:.85;--title-color:#bdf3ff;--title-shadow:0 0 18px #4fd6f08c}body[data-project=blackhole]{--bg:#050509;--bg-deep:#020204;--panel:#101019;--fg:#f1e9dc;--fg-dim:#9a93a6;--edge:#2c2842;--hi:#4d4772;--lo:#010102;--accent:#ff9f43;--accent-hover:#fb7;--accent-ink:#1a0f05;--tag:#ffcf94;--title-color:#f1e9dc;--title-shadow:3px 3px 0 #ff9f438c;background-image:radial-gradient(#f1e9dc80 .8px,#0000 1px),radial-gradient(#f1e9dc40 .8px,#0000 1px);background-position:0 0,40px 60px;background-size:140px 140px,87px 87px}body[data-project=freezingcold] .proj__heroMedia video,body[data-project=freezingcold] .gal__item video,body[data-project=freezingcold] .strip__item video{object-fit:cover}body[data-project] .win:not(.btn){background:var(--panel) padding-box;box-shadow:none;image-rendering:pixelated;border-width:16px;border-image:url(/assets/tiles/frame-wood-dark.png) 8/16px round}body[data-project] .detail.win:not(.btn){background:0 0;border:0;border-image:;align-items:center;gap:clamp(24px,4vw,56px);padding:0}body[data-project] .detail__text{gap:14px;padding:0}body[data-project] .gal,body[data-project] .ba{background:var(--panel) padding-box;image-rendering:pixelated;border:16px solid #0000;border-image:url(/assets/tiles/frame-wood-dark.png) 8/16px round}body[data-project] .detail__title{font-size:calc(clamp(15px, 2vw, 24px) * var(--title-k,1));line-height:1.4}body[data-project] .detail__lead{font-size:1.2rem}body[data-project] .proj__group{gap:clamp(44px,6vw,88px)}body[data-project] .proj__group>.h2{font-size:calc(clamp(20px, 3vw, 34px) * var(--title-k,1))}body[data-project=normandia] .detail__title{color:var(--fg);text-shadow:2px 2px #b9402fbf}body[data-project=normandia] .bullets li:before{background:var(--tag)}body[data-project=normandia] .proj__group>.h2{color:var(--fg);text-shadow:3px 3px #b9402fbf}body[data-project=normandia] .gal__item img,body[data-project=normandia] .gal__item video,body[data-project=normandia] .strip__item img,body[data-project=normandia] .strip__item video{object-fit:cover}body[data-project] .proj__heroMedia:after,body[data-project] .gal__item:after,body[data-project] .strip__item:after{background:repeating-linear-gradient(#0000000f 0 1px,#0000 1px 3px)}
