@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-BhU9QXUp.woff2)format("woff2")}:root{--paper:#f1ece2;--paper-2:#e7dfce;--ink:#17130e;--ink-2:#4a4234;--line:#17130e;--accent:#b7410e;--accent-deep:#8c3208;--accent-glow:#b7410e73;--steel-1:#26211a;--steel-2:#14110c;--font-display:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease:cubic-bezier(.83, 0, .17, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--sh:8px 8px 0 var(--ink)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{overflow:hidden}body{overscroll-behavior:none;touch-action:pan-y;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:clamp(1rem,.95rem + .2vw,1.1rem);font-weight:400;line-height:1.6;overflow:hidden}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}img,svg{display:block}ul,ol{list-style:none}a{color:inherit}button{font:inherit;color:inherit;background:0 0;border:none}.grain{z-index:9000;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");width:220%;height:220%;animation:1.1s steps(4,end) infinite grain;position:fixed;inset:-60%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-2%,1.4%)}50%{transform:translate(1.6%,-1%)}75%{transform:translate(-1%,-1.8%)}to{transform:translate(0)}}.h-display{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;font-weight:700;line-height:.96}.btn{--bsh:6px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.07em;color:var(--ink);background:var(--paper);border:3px solid var(--ink);cursor:pointer;box-shadow:var(--bsh) var(--bsh) 0 var(--ink);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .25s, color .25s;align-items:center;gap:10px;padding:14px 26px;font-size:clamp(.82rem,1vw,.95rem);font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(3px,3px)}.btn:active{box-shadow:0 0 0 var(--ink);transform:translate(6px,6px)}.btn--accent{background:var(--accent);color:var(--paper)}.btn--accent:hover{background:var(--accent-deep)}.btn--glow{box-shadow:var(--bsh) var(--bsh) 0 var(--ink), 0 0 36px var(--accent-glow)}.btn--glow:hover{box-shadow:3px 3px 0 var(--ink), 0 0 52px #b7410e8c}.btn--mini{box-shadow:4px 4px 0 var(--ink);padding:8px 14px;font-size:.72rem}.btn--mini:hover{box-shadow:2px 2px 0 var(--ink)}[data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(var(--i,0) * 60ms);transform:translateY(30px)}[data-reveal=left]{transform:translate(-46px)}[data-reveal=right]{transform:translate(46px)}[data-reveal=pop]{transition-timing-function:var(--spring), var(--spring);transform:scale(.55)}.panel.is-active [data-reveal],.panel.revealed [data-reveal]{opacity:1;transform:none}body.no-motion [data-reveal]{opacity:1!important;transform:none!important}.preloader{z-index:10000;color:var(--paper);opacity:0;transition:opacity .35s;position:fixed;inset:0}.preloader.is-active{opacity:1}.preloader.is-done{display:none}.vault{background:var(--steel-2);position:absolute;inset:0;overflow:hidden}.vault__door{will-change:transform;background:linear-gradient(155deg, var(--steel-1) 0%, #191510 55%, #201b14 100%);width:calc(50% - .0001px);transition:none;position:absolute;top:0;bottom:0}.preloader.is-live .vault__door{transition:transform .9s var(--ease)}.preloader.is-fast .vault__door{transition-duration:.48s}.vault__door--left{border-right:4px solid #0b0906;left:0}.vault__door--right{border-left:4px solid #0b0906;right:0}.vault--open .vault__door--left{transform:translate(-104%)}.vault--open .vault__door--right{transform:translate(104%)}.vault--open{background:0 0}.vault__door:before{content:"";opacity:.5;background:repeating-linear-gradient(90deg,#f1ece206 0 2px,#0000 2px 7px);position:absolute;inset:0}.vault__rivets{opacity:.9;background-image:radial-gradient(circle,#5c5340 0 4px,#0e0c08 4.5px 7px,#0000 7.5px);background-position:50% 22px;background-size:26px 64px;width:26px;position:absolute;top:0;bottom:0}.vault__door--left .vault__rivets{left:12px}.vault__door--right .vault__rivets{right:12px}.vault__hazard{background:repeating-linear-gradient(-45deg, var(--accent) 0 16px, #14110c 16px 32px);width:30px;position:absolute;top:0;bottom:0}.vault__door--left .vault__hazard{border-left:4px solid #0b0906;right:0}.vault__door--right .vault__hazard{border-right:4px solid #0b0906;left:0}.vault__stencil{font-family:var(--font-display);white-space:nowrap;letter-spacing:.04em;color:#f1ece20d;-webkit-user-select:none;user-select:none;font-size:clamp(4rem,15vw,13rem);font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.vault__door--left .vault__stencil{right:8%}.vault__door--right .vault__stencil{left:8%}.vault__plate{color:#f1ece28c;letter-spacing:.3em;text-transform:uppercase;border:3px solid #f1ece259;padding:6px 12px;font-size:.64rem;position:absolute;bottom:34px}.vault__door--left .vault__plate{left:clamp(22px,4vw,44px)}.vault__door--right .vault__plate{right:clamp(22px,4vw,44px)}.vault__wheel{z-index:5;aspect-ratio:1;width:min(150px,24vw);color:var(--accent);transition:opacity .28s, transform .55s var(--ease);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vault__wheel svg{width:100%;height:100%;animation:9s linear infinite spin}.vault--open .vault__wheel{opacity:0;transform:translate(-50%,-50%)scale(1.5)rotate(100deg)}.preloader.is-gone{opacity:0;transition:opacity .22s}.preloader.is-gone .vault__door,.preloader.is-gone .vault__wheel{transition:none}@keyframes spin{to{transform:rotate(360deg)}}.topbar{z-index:950;-webkit-backdrop-filter:blur(14px)saturate(1.1);border-bottom:3px solid var(--ink);background:#f1ece2b8;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(16px,3vw,32px) 14px;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand .plate{font-family:var(--font-display);letter-spacing:.06em;border:3px solid var(--ink);background:var(--paper);padding:3px 9px;font-weight:700}.topnav{gap:clamp(14px,2.4vw,30px);display:flex}.topnav a{letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:4px 0;font-size:.78rem;font-weight:600;text-decoration:none;position:relative}.topnav a:after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:3px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.topnav a:hover:after,.topnav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.topbar__meta{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:16px;font-size:.74rem;display:flex}.progress{z-index:980;border-bottom:2px solid var(--ink);background:var(--paper);height:8px;position:fixed;top:0;left:0;right:0}.progress__bar{background:var(--accent);transform-origin:0;height:100%;transition:transform .6s var(--ease);transform:scaleX(0)}.dots{z-index:940;flex-direction:column;gap:14px;display:flex;position:fixed;top:50%;right:clamp(12px,2vw,26px);transform:translateY(-50%)}.dot{border:3px solid var(--ink);background:var(--paper);cursor:pointer;width:16px;height:16px;transition:transform .3s var(--spring), background .3s, box-shadow .3s;padding:0;position:relative}.dot:hover{transform:scale(1.25)}.dot[aria-current=true]{background:var(--accent);transform:scale(1.35)}.dot .tip{letter-spacing:.16em;text-transform:uppercase;color:var(--paper);-webkit-backdrop-filter:blur(8px);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s, transform .3s var(--ease);background:#17130ec7;border:2px solid #f1ece2e6;padding:5px 11px;font-size:.7rem;font-weight:600;position:absolute;top:50%;right:30px;transform:translateY(-50%)translate(10px)}.dot:hover .tip,.dot:focus-visible .tip{opacity:1;transform:translateY(-50%)translate(0)}.tag{border:3px solid var(--ink);background:var(--paper);width:fit-content;max-width:100%;box-shadow:5px 5px 0 var(--ink);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:clamp(12px,2vh,24px);padding:5px 12px;font-size:.7rem;font-weight:700;display:inline-flex}.tag i{background:var(--accent);width:9px;height:9px}.section-title{margin:16px 0 22px;font-size:clamp(2.1rem,5.4vw,3.9rem)}.lede{max-width:56ch;color:var(--ink-2)}.lede strong{color:var(--ink)}.about__grid{grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.portrait{aspect-ratio:4/5;border:2px solid var(--ink);max-width:400px;box-shadow:6px 6px 0 var(--ink);background:url(/assets/me-BksF90Ef.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;margin-top:clamp(8px,1.5vh,16px);display:flex;position:relative}.portrait__mono{font-family:var(--font-display);letter-spacing:-.03em;color:#0000;-webkit-text-stroke:1.8px var(--ink);font-size:clamp(4rem,8vw,6.5rem);font-weight:700;line-height:1}.portrait__caption{letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2);font-size:.66rem;position:absolute;bottom:12px;left:14px}.portrait__hazard{border-bottom:1px solid var(--ink);background:repeating-linear-gradient(-45deg, var(--accent) 0 10px, var(--ink) 10px 20px);opacity:.75;height:8px;position:absolute;top:0;left:0;right:0}.rivet{opacity:.7;background:radial-gradient(circle at 35% 30%,#7a705b,#2a251d 72%);border:1px solid #0e0c08;border-radius:50%;width:9px;height:9px;position:absolute}.rivet--tl{top:18px;left:9px}.rivet--tr{top:18px;right:9px}.rivet--bl{bottom:9px;left:9px}.rivet--br{bottom:9px;right:9px}.about__copy p+p{margin-top:14px}.pills{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.pill{border:3px solid var(--ink);background:var(--paper-2);box-shadow:4px 4px 0 var(--ink);transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .25s, color .25s;padding:8px 16px;font-size:.85rem;font-weight:600}.pill:hover{box-shadow:6px 6px 0 var(--ink);background:var(--accent);color:var(--paper);transform:translate(-2px,-2px)}@media (width<=900px){.about__grid{grid-template-columns:1fr;gap:22px}.portrait{aspect-ratio:16/9;background:url(/assets/me-BksF90Ef.jpg) top/cover no-repeat;width:100%;max-width:none;margin-top:12px;margin-left:0;margin-right:0}}@media (width<=720px){.portrait{aspect-ratio:4/3;margin-top:12px}}@media (width>=901px) and (height<=960px){.panel--work{padding-top:250px!important;padding-bottom:22px!important}}@media (width<=740px){.panel--work{padding:clamp(100px,15vh,128px) clamp(16px,4vw,28px) clamp(20px,4vh,40px)!important}}.panel--contact{text-align:center;flex-direction:column;display:flex;position:relative}.contact__center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(12px,2vh,20px);display:flex}.contact__headline{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-transform:uppercase;text-align:center;max-width:12ch;font-size:clamp(2.2rem,6vw,4.2rem);font-weight:700;line-height:1.1}.contact__divider{background:var(--ink);border:none;width:clamp(200px,40vw,360px);height:2px;margin:0}.contact__info-item{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);align-items:center;gap:8px;padding:4px 10px;font-size:.75rem;display:flex}.contact__info-icon{font-size:1rem;font-style:normal}.btn--mail{padding:clamp(16px,2.4vh,22px) clamp(24px,4vw,44px);font-size:clamp(.95rem,1.8vw,1.25rem)}.socials{flex-wrap:wrap;justify-content:center;gap:clamp(16px,3vw,34px);display:flex}.socials a{letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--ink);padding-bottom:4px;font-size:.8rem;font-weight:700;text-decoration:none;position:relative}.socials a:after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:3px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.socials a:hover:after,.socials a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.contact__footer{border-top:2px solid var(--ink);text-align:center;background:var(--paper);padding:14px 24px;position:absolute;bottom:0;left:0;right:0}.contact__copy{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-size:.68rem}.contact__top{z-index:10;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.1rem;display:flex;position:absolute;bottom:64px;right:24px}.panel--skills{justify-content:center;gap:clamp(8px,1.4vh,16px);padding-top:clamp(82px,12vh,114px);padding-bottom:clamp(20px,4vh,40px)}.panel--skills .wrap{flex:none;justify-content:center}.skills-marquee-wrap{flex-direction:column;flex:none;gap:clamp(6px,1vh,10px);width:calc(100% + 2*clamp(18px,4.5vw,64px) + 16px);margin-left:calc(-1*clamp(18px,4.5vw,64px));display:flex}.tools-wrap{flex-direction:column;flex:none;justify-content:center;width:100%;margin-top:clamp(8px,1.4vh,16px);display:flex}.marquee{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--paper-2);z-index:2;padding:12px 0;position:relative;overflow:hidden}.marquee__track{width:max-content;animation:30s linear infinite scrollX;display:flex}.marquee--rev .marquee__track{animation-duration:36s;animation-direction:reverse}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes scrollX{to{transform:translate(-50%)}}.m-item{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:clamp(18px,3vw,34px);padding:0 clamp(18px,3vw,34px) 0 0;font-size:clamp(1.3rem,2.8vw,2.2rem);font-weight:700;display:flex}.m-item .m-sep{background:var(--accent);flex:none;width:11px;height:11px;margin-left:clamp(18px,3vw,34px)}.marquee--rev .m-item{color:#0000;-webkit-text-stroke:1.5px var(--ink)}.marquee--rev .m-item .m-sep{background:var(--ink)}.tools{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:13px;display:grid}.tool{border:3px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink);text-align:center;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .25s, color .25s;cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 8px 10px;font-size:.86rem;font-weight:600;display:flex}.tool__icon{object-fit:contain;filter:grayscale()contrast(1.1);width:34px;height:34px;transition:filter .25s, transform .25s var(--ease);display:block}.tool__label{letter-spacing:.04em;color:var(--ink);font-size:.74rem;transition:color .25s}.tool:hover{background:var(--accent);color:var(--paper);box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.tool:hover .tool__icon{filter:brightness(0)invert();transform:scale(1.08)}.tool:hover .tool__label{color:var(--paper)}@media (width<=520px){.tools{grid-template-columns:repeat(2,1fr)}}@media (width>=901px) and (height<=720px){.tools{gap:10px}}.xp__grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);align-items:start;gap:clamp(26px,5vw,80px);display:grid}.xp__note{color:var(--ink-2);max-width:30ch;margin-top:10px}.timeline{padding-left:46px;position:relative}.timeline__rail{background:var(--ink);transform-origin:top;width:4px;transition:transform 1.5s var(--ease) .25s;position:absolute;top:6px;bottom:6px;left:8px;transform:scaleY(0)}.panel.is-active .timeline__rail{transform:scaleY(1)}.t-item{padding:clamp(10px,1.8vh,20px) 0;position:relative}.t-item:before{content:"";border:3px solid var(--ink);background:var(--paper);width:14px;height:14px;transition:background .35s, transform .45s var(--spring);transition-delay:calc(var(--i,0) * .11s + .32s);position:absolute;top:calc(clamp(10px,1.8vh,20px) + 7px);left:-44px}.panel.is-active .t-item:before{background:var(--accent);transform:scale(1.18)}.t-when{border:2px solid var(--ink);background:var(--paper-2);font-family:var(--font-display);letter-spacing:.2em;margin-bottom:6px;padding:2px 10px;font-size:.7rem;font-weight:700;display:inline-block}.t-item h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.02rem,1.7vw,1.3rem);font-weight:700}.t-item p{color:var(--ink-2);max-width:52ch;font-size:.9rem}@media (width<=900px){.xp__grid{grid-template-columns:1fr;gap:22px}}@media (width>=901px) and (height<=720px){.t-item p{display:none}.t-item{padding:10px 0}}@media (width>=901px) and (height<=740px){.t-item p{display:none}}.work__head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(16px,3vh,30px);display:flex}.rail-nav{margin:inherit;gap:12px;display:flex}.rail-btn{border:3px solid var(--ink);background:var(--paper);cursor:pointer;width:52px;height:52px;box-shadow:5px 5px 0 var(--ink);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .25s, color .25s, opacity .2s;justify-content:center;align-items:center;padding:0;font-size:1.3rem;font-weight:700;line-height:1;display:inline-flex}@media (hover:hover){.rail-btn:hover:not(:disabled){background:var(--accent);color:var(--paper);box-shadow:3px 3px 0 var(--ink);transform:translate(2px,2px)}}.rail-btn:active:not(:disabled),.rail-btn.is-pressed:not(:disabled){background:var(--accent);color:var(--paper);box-shadow:0 0 0 var(--ink);transition:transform 80ms var(--ease), box-shadow 80ms var(--ease);transform:translate(5px,5px)}.rail-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:5px 5px 0 var(--ink);transform:none}.rail{scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;touch-action:manipulation;-webkit-touch-callout:none;gap:clamp(16px,2.4vw,30px);margin:0 -6px;padding:10px 6px 22px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail.is-drag{cursor:grabbing;scroll-snap-type:none}.card{scroll-snap-align:start;border:4px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--ink);transition:transform .3s var(--ease), box-shadow .3s var(--ease);flex-direction:column;flex:0 0 clamp(260px,46vw,460px);gap:13px;padding:clamp(16px,2.2vw,28px);display:flex;position:relative}.card:hover{box-shadow:14px 14px 0 var(--ink);transform:translate(-4px,-4px)}.card__top{justify-content:space-between;align-items:baseline;display:flex}.card__index{font-family:var(--font-display);color:#0000;-webkit-text-stroke:2px var(--ink);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:700;line-height:1}.card__year{letter-spacing:.24em;color:var(--ink-2);font-size:.72rem}.card__thumb{aspect-ratio:16/8.4;border:3px solid var(--ink);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card:hover .card__thumb:after{opacity:1}.card__thumb--img{border-width:3px;padding:0}.card__thumb-img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.card__glyph{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.4rem,5vw,4rem);font-weight:700}.p1{background:radial-gradient(circle at 74% 26%, var(--accent) 0 16%, transparent 16.6%), linear-gradient(#f1ece214 1px, transparent 1px), linear-gradient(90deg, #f1ece214 1px, transparent 1px), linear-gradient(150deg, #2a241b, #171310);background-size:auto,34px 34px,34px 34px,auto}.p1 .card__glyph{color:var(--paper)}.p2{background:linear-gradient(90deg, var(--ink) 0 21%, transparent 21.4%), repeating-linear-gradient(-45deg, #e9e1cf 0 22px, #dcd2ba 22px 44px)}.p2 .card__glyph{color:var(--accent)}.p3{background:radial-gradient(circle at 20% 82%, var(--paper-2) 0 22%, transparent 22.6%), linear-gradient(120deg, var(--accent) 0 34%, var(--accent-deep) 34% 100%)}.p3 .card__glyph{color:var(--paper)}.p4{background:repeating-linear-gradient(90deg,#1d1913 0 26px,#241f16 26px 52px)}.p4 .card__glyph{color:var(--accent)}.card__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:700;line-height:1.2}.card__desc{color:var(--ink-2);font-size:.92rem}.card__tags{flex-wrap:wrap;flex:auto;align-content:flex-start;gap:6px;min-width:0;min-height:60px;display:flex}.card__tags li{border:2px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;background:var(--paper-2);white-space:nowrap;flex:none;padding:3px 10px;font-size:.68rem;font-weight:600}.card__link{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);cursor:pointer;border-bottom:2px solid #0000;align-self:flex-start;padding-bottom:2px;font-size:.78rem;font-weight:700;text-decoration:none;transition:border-color .25s}.card__link:hover{border-color:var(--accent)}.card__links{flex-wrap:wrap;align-items:center;gap:10px 8px;margin-top:auto;padding-top:8px;display:flex}.card__link--primary{border:3px solid var(--ink);background:var(--paper-2);color:var(--ink);letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:4px 4px 0 var(--ink);transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .25s, color .25s;align-items:center;gap:6px;margin-left:auto;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.card__link--primary:hover{background:var(--accent);color:var(--paper);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.rail-ticks{gap:4px;margin-top:12px;display:flex}.rtick{border:2px solid var(--ink);background:var(--paper);cursor:pointer;width:28px;height:10px;padding:0;transition:background .25s}.rtick[aria-current=true]{background:var(--accent)}.rtick:hover{background:var(--ink)}@media (width<=720px){.card{box-shadow:6px 6px 0 var(--ink);flex-basis:86vw}.card__top{display:none}.card__thumb{aspect-ratio:16/12}.card__thumb:after{font-size:.78rem}.card__title{font-size:clamp(1rem,4vw,1.2rem)}.card__tags li{padding:2px 8px;font-size:.62rem}}@media (width<=520px){.rail-btn{width:42px;height:42px}}#app{height:100%}.deck{will-change:transform;transition:transform .95s var(--ease);position:absolute;inset:0}body.no-motion .deck{transition:none}.panel{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;flex-direction:column;justify-content:center;height:100dvh;padding:clamp(104px,15vh,140px) clamp(18px,4.5vw,64px) clamp(24px,5vh,48px);display:flex;position:relative;overflow:clip auto}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--paper)}.panel:focus{outline:none}.wrap{z-index:2;width:100%;max-width:1180px;margin:0 auto;position:relative}.panel--hero{background:var(--paper);padding-left:clamp(18px,4.5vw,64px);padding-right:clamp(18px,4.5vw,64px);overflow:hidden;justify-content:center!important;padding-top:clamp(96px,14vh,128px)!important;padding-bottom:clamp(96px,14vh,128px)!important}.grid-bg{z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(#17130e0e 1px,#0000 1px),linear-gradient(90deg,#17130e0e 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0}.blob{z-index:0;pointer-events:none;filter:blur(60px);opacity:.45;border-radius:50%;max-width:100%;position:absolute}.blob--a{aspect-ratio:1;background:radial-gradient(circle, var(--accent) 0%, transparent 70%);width:clamp(200px,32vw,420px);top:-8%;right:-4%}.blob--b{aspect-ratio:1;background:radial-gradient(circle, var(--accent-deep) 0%, transparent 70%);width:clamp(180px,26vw,360px);bottom:-10%;left:-4%}.hero__title{letter-spacing:-.035em;margin:26px 0 30px;font-size:clamp(3.1rem,13.5vw,10.6rem);line-height:.92}.hero__title .w{white-space:nowrap;margin-right:.24em;display:inline-block}.hero__title .l{vertical-align:bottom;margin-bottom:-.06em;padding-bottom:.06em;display:inline-block;overflow:hidden}.hero__title .l b{font-weight:inherit;transition:transform .85s var(--ease);transition-delay:calc(var(--i,0) * 48ms + .12s);display:inline-block;transform:translateY(118%)rotate(7deg)}.panel.is-active .hero__title .l b{transform:none}body.no-motion .hero__title .l b{transition:none!important;transform:none!important}.hero__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.hero__role{max-width:44ch;color:var(--ink-2);font-size:clamp(1rem,1.5vw,1.25rem)}.hero__role strong{color:var(--ink)}.hero__ctas{flex-wrap:wrap;gap:18px;display:flex}.hero__foot{z-index:2;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;gap:16px;padding:0 clamp(20px,4.5vw,64px);font-size:.72rem;display:flex;position:absolute;bottom:clamp(18px,3.4vh,30px);left:0;right:0}.scroll-hint{align-items:center;gap:8px;display:inline-flex}.chev{color:var(--accent);animation:bob 1.6s var(--ease) infinite;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.gear{color:var(--ink);opacity:.13;z-index:0;animation:26s linear infinite spin;position:absolute}.gear--a{width:min(300px,34vw);top:6%;right:4%}.gear--b{width:min(160px,18vw);animation-duration:19s;animation-direction:reverse;top:calc(6% + min(220px,25vw));right:calc(4% + min(210px,24vw))}@media (prefers-reduced-motion:reduce){.grain,.gear,.blob,.chev,.vault__wheel svg{animation:none!important}*{scroll-behavior:auto!important}}@media (width<=900px){.topnav{display:none}.panel{padding-top:calc(var(--topbar-h,72px) + 16px);padding-bottom:calc(60px + 24px + env(safe-area-inset-bottom,0px));justify-content:flex-start}}@media (width<=720px){.panel--hero{padding-left:clamp(14px,4vw,24px);padding-right:clamp(14px,4vw,24px);padding-top:clamp(100px,14vh,120px)!important;padding-bottom:clamp(24px,4vh,40px)!important;overflow:hidden!important}}@media (width<=520px){.vault__plate{letter-spacing:.15em;border-width:2px;padding:4px 8px;font-size:.5rem;bottom:12px}.vault__door--left .vault__plate{left:14px}.vault__door--right .vault__plate{right:14px}.vault__stencil{font-size:clamp(2.6rem,12vw,5rem)}.vault__wheel{width:min(120px,28vw)}.vault__rivets{background-size:18px 48px;width:18px}.vault__hazard{width:18px}.vault__door:before{background:repeating-linear-gradient(90deg,#f1ece206 0 1px,#0000 1px 5px)}}@media (width<=360px){.vault__stencil{font-size:2.4rem}.vault__plate{letter-spacing:.1em;padding:3px 6px;font-size:.45rem}.vault__door--left .vault__plate{left:8px}.vault__door--right .vault__plate{right:8px}.vault__rivets{display:none}}@media (width<=720px){.panel{padding:clamp(100px,15vh,128px) clamp(16px,4vw,28px) clamp(20px,4vh,40px)}.hero__title{margin:14px 0 18px}.topbar__meta .btn--mini,.topbar__meta span{display:none}}@media (width<=520px){.portrait{aspect-ratio:4/3;margin-top:12px}.dots{display:none}}@media (width>=901px) and (height<=720px){.panel{padding-top:96px;padding-bottom:18px}.hero__title{margin:12px 0 14px}.card{gap:10px;padding:14px 16px}.card__thumb{aspect-ratio:16/10}.card__desc{display:none}}@media (width>=901px) and (height<=740px){.panel{padding-top:96px;padding-bottom:22px}.hero__title{margin:14px 0 18px}}@media (width<=900px){html,body{height:100%}html{overflow:hidden}body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));overflow:hidden}.deck{inset:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));will-change:transform;transition:transform .6s var(--ease);position:absolute}#main{height:100%}.panel{height:100%;overflow:clip auto}.dots{display:none!important}}.mnav{z-index:960;-webkit-backdrop-filter:blur(14px)saturate(1.1);border-top:3px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);background:#f1ece2eb;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mnav__item{color:var(--ink-2);-webkit-tap-highlight-color:transparent;border-left:1px solid #17130e1a;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px 10px;text-decoration:none;transition:color .2s,background .2s;display:flex}.mnav__item:first-child{border-left:none}.mnav__item.is-active{color:var(--accent);background:#b7410e14}.mnav__item.is-active .mnav__icon{transform:scale(1.1)}.mnav__icon{transition:transform .25s var(--spring)}.mnav__label{letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:600}
