@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/space-grotesk-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/space-grotesk-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/space-mono-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/space-mono-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-mono-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-mono-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/dm-mono-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/dm-mono-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

body{margin:0;background:#FFFFFF}
*{box-sizing:border-box}
a{color:#000000}a:hover{color:#000000}
filter,feTurbulence,feDisplacementMap,feColorMatrix,feBlend{color-interpolation-filters:sRGB}
.site{overflow-x:clip;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;font-family:'Space Grotesk',Helvetica,Arial,sans-serif;font-size:17px;line-height:1.35;color:#000;background:#fff;-webkit-font-smoothing:antialiased}
.mono,.link,.pill,.btn,.seg button,.tag,.cell .num,.steps,.opt,.field span,.qty,.label,footer,.chip-label,.loadlbl{font-family:'Space Mono',ui-monospace,monospace;letter-spacing:0}
.wrap{padding-left:32px;padding-right:32px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #000;outline-offset:3px}
.link{min-height:44px;display:inline-flex;align-items:center;gap:6px;font-size:13px}
.link:hover,.link.on{text-decoration:underline;text-underline-offset:4px}
.big{font-weight: 700;letter-spacing:-.03em;line-height:.9}

/* flash pastels: lots of white, a few loud soft zones */
.c0{background-color:#D8DCFF}.c1{background-color:#CFFFE5}.c2{background-color:#FFF9B3}.c3{background-color:#D2ECFF}.c4{background-color:#E9DAFF}.c5{background-color:#FFDFCB}

/* filters: flat text toggles */
.pill{min-height:36px;padding:0 7px;display:inline-flex;align-items:center;font-size:12px;color:#000;transition:background-color .15s}
.pill.g-people:hover,.pill.g-people.on{background:#D8DCFF}
.pill.g-place:hover,.pill.g-place.on{background:#CFFFE5}
.pill.g-dens:hover,.pill.g-dens.on{background:#FFF9B3}
.pill.g-orient:hover,.pill.g-orient.on{background:#D2ECFF}
.pill svg{display:block}
.flbl{padding:0 6px 0 7px;font-size:12px;white-space:nowrap}
/* edition: 20 prints per photo */
.ticks{display:flex;gap:3px;margin:8px 0 6px}
.ticks i{display:block;width:6px;height:16px;border:1px solid #000}
.ticks i.sold{background:#000}
.ticks i.cart{background:repeating-linear-gradient(135deg,#000 0 1px,transparent 1px 3px)}
.btn:disabled{background:#BDBDBD;cursor:not-allowed}
.btn:disabled .arr{display:none}
.qty:disabled{opacity:.3;cursor:not-allowed}
.cell .num em{font-style:normal;margin-left:6px}
.pill.zero{opacity:.3}


/* motion */
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pass{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes show{from{opacity:0}to{opacity:1}}
@keyframes stOn{to{color:#000}}
@keyframes inkOn{to{transform:scaleY(1)}}
@keyframes introOut{to{opacity:0;visibility:hidden}}
@keyframes wordIn{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:none}}
.view{animation:fade .5s ease both}

/* archive */
.arch{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 14px;align-items:end;margin-left:-10px;margin-right:-10px}
.cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 10px 6px;background-color:transparent;transition:opacity .45s ease,background-color .2s;animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.cell img{display:block;height:128px;width:auto;max-width:100%;object-fit:contain;object-position:0 100%}
.cell .num{font-size:10px}
.cell.c0:hover,.cell.c0:focus-visible{background-color:#D8DCFF}.cell.c1:hover,.cell.c1:focus-visible{background-color:#CFFFE5}.cell.c2:hover,.cell.c2:focus-visible{background-color:#FFF9B3}.cell.c3:hover,.cell.c3:focus-visible{background-color:#D2ECFF}.cell.c4:hover,.cell.c4:focus-visible{background-color:#E9DAFF}.cell.c5:hover,.cell.c5:focus-visible{background-color:#FFDFCB}
.cell.c0,.cell.c1,.cell.c2,.cell.c3,.cell.c4,.cell.c5{background-color:transparent}
.cell.off{opacity:0;pointer-events:none}
@keyframes slap1{0%{opacity:0;transform:translateY(-40px) scale(2.1) rotate(-9deg)}40%{opacity:1}70%{transform:scale(.94) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes slap1b{0%{opacity:0;transform:translateY(-40px) scale(2.1) rotate(10deg)}40%{opacity:1}70%{transform:scale(.94) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes slap2{0%{opacity:0;transform:translateY(-40px) scale(2.1) rotate(-9deg)}40%{opacity:1}70%{transform:scale(.94) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes slap2b{0%{opacity:0;transform:translateY(-40px) scale(2.1) rotate(10deg)}40%{opacity:1}70%{transform:scale(.94) rotate(-1deg)}100%{opacity:1;transform:none}}
.arch.slap1 .cell{animation:slap1 .5s cubic-bezier(.3,1.35,.5,1) both}
.arch.slap1 .cell:nth-child(2n){animation-name:slap1b}
.arch.slap2 .cell{animation:slap2 .5s cubic-bezier(.3,1.35,.5,1) both}
.arch.slap2 .cell:nth-child(2n){animation-name:slap2b}

/* photo + CMYK press: four real ink plates, multiplied */
.press{position:relative;background:#fff;isolation:isolate;overflow:hidden;margin:0 auto}
.press canvas,.press img{position:absolute;inset:0;width:100%;height:100%;display:block}
.pl{clip-path:inset(0 0 100% 0)}
/* C, M, Y are printed as real separations; the 4th pass (black) lays down the photo itself:
   CMY + K = the photo, so the last band lands on the final image with no extra step */
.pl-m,.pl-y{mix-blend-mode:multiply}
.pl-k{display:none}
.pcol.go .pl-c{animation:pass .48s 0s steps(26,end) both}
.pcol.go .pl-m{animation:pass .48s .52s steps(26,end) both}
.pcol.go .pl-y{animation:pass .48s 1.04s steps(26,end) both}
.pcol.go .pl-final{animation:pass .48s 1.56s steps(26,end) both}
.pcol.plain .pl-final{clip-path:none;animation:none}
.loadlbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 12%;text-align:center;text-wrap:balance;font-size:12px;line-height:1.45;animation:fade .25s ease both}
.steps{display:flex;gap:16px;align-items:center;font-size:12px}
.st{display:inline-flex;align-items:center;gap:7px;color:#9A9A9A}
.st i{display:block;width:12px;height:12px;transform:scaleY(0);transform-origin:top}
.pcol.go .st{animation:stOn .01s both}
.pcol.go .st i{animation:inkOn .38s cubic-bezier(.5,0,.4,1) both}
.pcol.go .st:nth-child(2),.pcol.go .st:nth-child(2) i{animation-delay:.42s}
.pcol.go .st:nth-child(3),.pcol.go .st:nth-child(3) i{animation-delay:.84s}
.pcol.go .st:nth-child(4),.pcol.go .st:nth-child(4) i{animation-delay:1.26s}
.zone{padding:28px;transition:background-color .4s}
.opt{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:48px;padding:0 2px;border-bottom:1px solid #000;font-size:13px}
.opt.on{font-weight:700}
.opt:hover{background:rgba(255,255,255,.5)}
.opt.on{background:#fff}
.opt-l{display:flex;align-items:baseline;gap:4px 12px;padding-left:8px;flex-wrap:wrap;min-width:0}
.opt-d{white-space:nowrap}
.opt-i{white-space:nowrap;font-weight:400;font-size:11px;opacity:.65}
.opt-p{white-space:nowrap;font-weight:400;padding-right:8px;padding-left:12px}
.opt.on .opt-p{font-weight:700}
.opt.cu{cursor:pointer}
.cu-in{font:inherit;font-weight:700;width:46px;padding:2px 0;border:0;border-bottom:1px solid #000;background:transparent;color:#000;text-align:right;border-radius:0}
.cu-in:focus{outline:none;border-bottom-width:2px}
.tag{min-height:32px;display:inline-flex;align-items:center;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.seg{display:inline-flex;gap:14px}
.seg button{min-height:36px;font-size:12px;color:#000}
.seg button.on{text-decoration:underline;text-underline-offset:4px}
.seg button:disabled{opacity:.35;cursor:not-allowed}
/* photo stage: light wall so the white paper and its margin read, slim black frame */
.pstage{position:relative;width:100%;aspect-ratio:1 / 1;max-height:80vh;background:transparent;container-type:size;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:fade .45s ease both}
.frame{flex:none;padding:9px;background:#141414;box-shadow:0 1px 1px rgba(0,0,0,.18),0 22px 34px -18px rgba(0,0,0,.55),0 6px 12px -6px rgba(0,0,0,.25);transition:width .6s cubic-bezier(.65,0,.25,1)}
.paper{position:relative;width:100%;background:#fff;box-shadow:inset 0 3px 7px -3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.05)}
.paper .press{position:absolute;margin:0;transition:inset .6s cubic-bezier(.65,0,.25,1)}
.mock-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block}
.mock-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed #9A9A96;color:#55554F;font-size:12px;text-align:center;padding:16px}
.dots{display:flex;align-items:center}
.dot{width:28px;height:36px;display:inline-flex;align-items:center;justify-content:center}
.dot i{display:block;width:7px;height:7px;border-radius:50%;border:1px solid #000;background:transparent;transition:background-color .2s}
.dot.on i{background:#000}
.dot:hover i{background:#000}
.btn{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:54px;padding:0 22px;background:#000;color:#fff;font-size:13px;font-weight:700}
.btn .arr{transition:transform .3s}
.btn:hover .arr{transform:translateX(5px)}

/* intro: sober */
@keyframes land{from{opacity:0;transform:scale(1.16)}to{opacity:1;transform:none}}
.intro{position:fixed;inset:0;z-index:60;background:#111;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:48px 12vw;transition:opacity .6s ease}
.intro.out{opacity:0}
.ipi{position:absolute}
.ipi img{display:block;width:100%;height:auto;box-shadow:0 8px 20px -10px rgba(0,0,0,.35);animation:land .4s cubic-bezier(.2,.7,.2,1) both}
.icard{position:relative;z-index:2;width:100%;max-width:880px}
.ibgwrap{position:absolute;inset:-40px;overflow:hidden}
.ibg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;display:none;filter:saturate(1.2)}
.ibg.on{display:block}
.istack{position:absolute;inset:0}
/* 3D sheet: white room, the printed sheet follows the cursor, the text inverts over it */
.intro.sheet{background:#fff;touch-action:none}
.sheet-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro.sheet .icard,.intro.sheet .intro-next{mix-blend-mode:difference}
.iveil{position:absolute;inset:0;background:rgba(0,0,0,.22)}
@media (max-width: 760px){.pwrap{gap:20px}.frame{padding:6px}}
.itext{margin:0;font-family:'DM Mono',ui-monospace,monospace;font-size:clamp(18px,2vw,30px);line-height:1.35;font-weight:300;letter-spacing:-.02em;text-transform:lowercase;color:#fff}
.iw{animation:fade .35s ease both;white-space:pre-wrap}
.iw.old{animation:none}
.icard .itext+.itext{margin-top:.9em}
@media (max-width: 760px){.itext{font-size:18px}.intro{padding:40px 32px}}
/* (previous intro styles kept below are unused) */
.intro-txt{position:fixed;inset:0;z-index:60;background:#000;color:#000;display:flex;flex-direction:column;justify-content:center;padding:0 9vw;cursor:pointer}
.bgf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;filter:grayscale(1) contrast(1.08)}
.bgf.on{display:block}
.duo-light{position:absolute;inset:0;mix-blend-mode:multiply;transition:background-color .8s ease}
.duo-dark{position:absolute;inset:0;background:#17123F;mix-blend-mode:lighten}
.veil{position:absolute;inset:0;background:rgba(8,6,24,.42)}
.stanza{position:relative;z-index:2;max-width:1040px;transition:opacity .4s ease}
.stanza.leaving{opacity:0}
.ln{margin:0;font-family:'Space Mono',ui-monospace,monospace;font-size:38px;line-height:1.5;font-weight:400;letter-spacing:-.02em}
/* each word: white, slightly transparent, with an organic lens that bends and splits the photo beneath */
@keyframes floatA{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(2px,-4px) rotate(.6deg)}}
@keyframes floatB{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(-3px,3px) rotate(-.5deg)}}
.w{display:inline-block;color:rgba(255,255,255,.95);margin:0 .5em .05em 0;animation:wordIn .6s cubic-bezier(.2,.7,.2,1) both,floatA 4.6s ease-in-out infinite}
.w:nth-child(2n){animation:wordIn .6s cubic-bezier(.2,.7,.2,1) both,floatB 5.4s ease-in-out infinite}
.w:nth-child(3n){animation-duration:.6s,6.2s}
.intro-next{position:absolute;right:24px;bottom:18px;z-index:100001;min-height:48px;padding:0 4px;display:flex;align-items:center;gap:10px;font-family:'Space Mono',ui-monospace,monospace;font-size:13px;color:#fff;transition:transform .25s}
.intro-next b{font-weight:400;font-size:24px}
.intro-next:hover{transform:translateX(4px)}

/* shuffle overlay */
.shuf{position:fixed;inset:0;z-index:50;background:#fff;cursor:pointer}
.shuf .fr{position:absolute;opacity:0}
.shuf .fr.on{opacity:1}
.shuf-intro .fr{inset:0;width:100%;height:100%;object-fit:cover}
.shuf-rand .fr{left:50%;top:46%;transform:translate(-50%,-50%);max-width:70%;max-height:70%}
.shuf.leaving{animation:introOut .3s ease forwards}
.label{position:absolute;left:32px;bottom:32px;color:#000;padding:16px 20px;display:block;white-space:nowrap;font-size:13px}
.shuf-rand .label{left:50%;transform:translateX(-50%);bottom:40px;text-align:center}

/* ================= DARK: black ground, white type; the pastels and the print wall stay light ================= */
.site.dk{background:#0B0B0B;color:#fff}
.dk header{background:#0B0B0B !important}
.dk a{color:#fff}
.dk svg[stroke="#000"],.dk svg [stroke="#000"]{stroke:#fff}
.dk svg [fill="#000"]{fill:#fff}
.dk button:focus-visible,.dk a:focus-visible,.dk input:focus-visible,.dk textarea:focus-visible{outline-color:#fff}
.dk [style*="solid #000"]{border-color:#fff !important}
.dk .pill{color:#fff}
.dk .pill:hover svg,.dk .pill.on svg,.dk .pill:hover svg [stroke="#000"],.dk .pill.on svg [stroke="#000"]{stroke:#000}
.dk .pill:hover svg [fill="#000"],.dk .pill.on svg [fill="#000"]{fill:#000}
.dk .cell:hover .num,.dk .cell:focus-visible .num{color:#000}
.dk .zone{color:#000}
.dk .zone svg[stroke="#000"],.dk .zone svg [stroke="#000"]{stroke:#000}
.dk .zone svg [fill="#000"]{fill:#000}
.dk .zone [style*="solid #000"]{border-color:#000 !important}
.dk .zone a{color:#000}
.dk .loadlbl{color:#000}
.dk .pstage{background:#EFEEEA}
.dk .dot i{border-color:#fff}
.dk .dot.on i,.dk .dot:hover i{background:#fff}
.dk .qty{background:transparent;border-color:#fff;color:#fff}
.dk footer{background:#EFEEEA !important;color:#000 !important}
.dk .intro.sheet,.dk .shuf{background:#0B0B0B}
.dk .shuf .label{color:#fff}

/* monogram ink gauges: unused */
.hh-ink{display:none}

/* order */
.field{display:flex;flex-direction:column;gap:8px;font-size:12px}
.field input,.field textarea{font:inherit;font-family:'Space Grotesk',Helvetica,Arial,sans-serif;font-size:17px;width:100%;min-height:48px;padding:10px 0;border:0;border-bottom:1px solid #000;background:transparent;color:#000;border-radius:0}
.field textarea{min-height:90px;resize:vertical}
.qty{width:44px;height:44px;border:1px solid #000;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:#fff}
.nomotion *,.nomotion *::before,.nomotion *::after{animation-duration:.01s !important;animation-delay:0s !important;transition:none !important}
@media (prefers-reduced-motion: reduce){.site *{animation-duration:.01s !important;animation-delay:0s !important;transition:none !important}}
@media (max-width: 760px){
.wrap{padding-left:16px;padding-right:16px}
.topnav{gap:10px !important}
header.wrap{gap:8px !important}
.cell img{height:88px}
.arch{grid-template-columns:repeat(auto-fill,minmax(100px,1fr)) !important}
.cell{padding:6px 6px 4px}.arch{margin-left:-6px;margin-right:-6px}
.arch{gap:10px 8px}
.pill.sep{margin-left:8px}
.ln{font-size:21px}
.intro-txt{padding:0 16px}
.zone{padding:20px}
}
.site{caret-color:transparent}.site input,.site textarea{caret-color:auto}
footer a,footer a:hover,.foot-btn{color:inherit}.foot-btn{font:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}footer a{text-underline-offset:2px}
.legal h2{font-size:15px;font-weight:600;margin:28px 0 8px}.legal p{margin:0 0 10px;line-height:1.55}
