:root{--paper:#F7F4EC;--paper-warm:#F1ECDF;--ink:#1B1A17;--graphite:#6B6456;--faint:#E2DCCB;--blueprint:#1F4D8F;--blueprint-soft:#5B82BE;--vermilion:#C1442E;--hand:"DashCJK","Architects Daughter","Kaiti SC","STKaiti",KaiTi,"PingFang SC",cursive;--mono:"Space Mono","SF Mono",ui-monospace,monospace;--dw:1440;--sheet-max:1440px}@font-face{font-family:DashCJK;src:local("Kaiti SC"),local("STKaiti"),local("KaiTi"),local("PingFang SC");unicode-range:U+2014}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--hand);overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:#1f4d8f2e}:focus-visible{outline:2px solid var(--blueprint);outline-offset:3px}.sheet-rule{position:fixed;top:0;bottom:0;width:1px;background:var(--faint);z-index:5;pointer-events:none}.sheet-rule.l1{left:16px}.sheet-rule.l2{left:22px}.sheet-rule.r1{right:16px}.sheet-rule.r2{right:22px}.skip{position:absolute;left:-9999px}.skip:focus{left:24px;top:12px;z-index:60;background:var(--ink);color:var(--paper);padding:.5rem .9rem;font:12px/1 var(--mono)}.panel{position:relative;overflow:hidden}.panel .cwrap{position:relative;width:100%}.panel canvas{display:block;width:100%;height:auto}.lay{position:absolute;z-index:3}.tag{font-family:var(--mono);font-size:clamp(9.5px,.74vw,12px);letter-spacing:.14em;color:var(--graphite);text-transform:uppercase}.tag i{font-style:normal;color:var(--blueprint)}.tag em{font-style:normal;color:var(--vermilion)}.cap{font-size:clamp(15px,1.35vw,21px);line-height:1.62;color:var(--ink);max-width:min(32em,78vw)}.cap+.cap{margin-top:.7em}.cap .src{display:block;margin-top:.4em;font-family:var(--mono);font-size:clamp(9.5px,.7vw,11.5px);line-height:1.5;color:var(--graphite);letter-spacing:.02em;text-transform:none}.cap b{font-weight:400;text-decoration:underline;text-decoration-color:#1f4d8f4d;text-decoration-thickness:.34em;text-underline-offset:-.04em;text-decoration-skip-ink:none}.cap.right{text-align:right}h1{font-family:var(--hand);font-weight:400;font-size:clamp(46px,6.6vw,98px);line-height:1.02;letter-spacing:.01em;-webkit-text-stroke:.3px currentColor}h2{font-family:var(--hand);font-weight:400;font-size:clamp(30px,3.6vw,54px);line-height:1.1;-webkit-text-stroke:.3px currentColor}h3{font-family:var(--hand);font-weight:400;font-size:clamp(19px,1.55vw,25px);line-height:1.25}.link{font-family:var(--mono);font-size:clamp(10.5px,.78vw,12.5px);letter-spacing:.06em;color:var(--blueprint);border-bottom:1px solid rgba(31,77,143,.35);padding-bottom:1px;transition:color .2s,border-color .2s;overflow-wrap:anywhere}.link:hover{color:var(--vermilion);border-color:var(--vermilion)}.btn{display:inline-block;font-family:var(--hand);font-size:clamp(15px,1.15vw,18px);line-height:1.2;padding:.62rem 1.5rem;border:2px solid var(--ink);color:var(--ink);border-radius:255px 15px 225px/15px 225px 15px 255px;transition:background .2s,color .2s,border-color .2s}.btn:hover{background:var(--ink);color:var(--paper)}.btn.accent{border-color:var(--blueprint);color:var(--blueprint)}.btn.accent:hover{background:var(--blueprint);color:var(--paper)}.proof{display:flex;flex-wrap:wrap;gap:0 2.2rem}.proof div{padding-top:.55rem;border-top:1px solid var(--faint)}.proof .k{display:block;font:9.5px/1 var(--mono);letter-spacing:.16em;color:var(--graphite);margin-bottom:.32rem}.proof .v{font-size:clamp(16px,1.35vw,21px);color:var(--ink)}.js .lay{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.js .lay.in{opacity:1;transform:translateY(0)}.titleblock{position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;padding:.95rem 1.1rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:255px 15px 225px/15px 225px 15px 255px}.tb-head{font:10px/1 var(--mono);letter-spacing:.18em;color:var(--graphite);margin-bottom:.6rem}.titleblock a{display:flex;align-items:baseline;gap:.6rem;font-size:13.5px;line-height:2;color:var(--graphite);transition:color .2s}.titleblock a i{font:700 9px/1.2 var(--mono);letter-spacing:.12em;font-style:normal;color:var(--blueprint);opacity:.72}.titleblock a:hover,.titleblock a.active{color:var(--ink)}.titleblock a.active i{color:var(--vermilion);opacity:1}@media(max-width:1439px){.titleblock{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media(max-width:860px){.sheet-rule.l2,.sheet-rule.r2{display:none}.sheet-rule.l1{left:10px}.sheet-rule.r1{right:10px}.panel .cwrap{display:flex;flex-direction:column;padding:3.5rem 20px 0}.panel .cwrap>canvas{order:10;width:calc(100% + 40px);margin:1.2rem -20px 0}.lay{position:static!important;left:auto!important;top:auto!important;width:auto!important;margin-bottom:1rem}.cap{max-width:none}h1{font-size:clamp(40px,12vw,60px)}}@media(max-width:760px){.work{grid-template-columns:1fr!important;gap:1.6rem!important}.shots{grid-template-columns:repeat(min(var(--n),2),1fr)!important}}.colophon[data-astro-cid-sz7xmlte]{position:relative;z-index:3;text-align:center;padding:2.4rem 1.5rem 5rem;border-top:1px solid var(--faint)}.links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;align-items:center;gap:.7rem;margin:0 0 1.4rem}.sep[data-astro-cid-sz7xmlte]{color:var(--faint)}.sig[data-astro-cid-sz7xmlte]{font:10.5px/1.6 var(--mono);letter-spacing:.12em;color:var(--graphite)}
