@font-face{font-family:Manrope;src:url('./assets/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#fff;--ink:#202020;--yellow:#ffe430;--gray:#d9d9d9;--sans:Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif;--header-height:56px;--folder-height:190px;--row-pitch:140px;--tab-height:30px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}a:focus-visible{outline:2px solid #252525;outline-offset:5px}::selection{background:var(--yellow);color:#171717}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;padding:12px 20px;background:var(--yellow)}.skip-link:focus{top:12px}
.archive-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);background:#fff}.archive-header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:100%}.archive-header a{display:flex;align-items:center;padding:0 32px;font-size:11px;line-height:20px;text-transform:uppercase;letter-spacing:.025em}.archive-header a:hover{background:var(--yellow);color:var(--ink)}.archive-header a[aria-current=page]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}main{padding-top:var(--header-height)}
.archive-intro{position:relative;height:calc(68vh - var(--header-height));height:calc(68svh - var(--header-height));min-height:340px;padding:32px 32px 0}.archive-intro h1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;font-size:clamp(56px,5.2vw,90px);font-weight:400;line-height:1.15;letter-spacing:-.065em}.archive-intro h1 span:last-child{color:#d4d4d4}.archive-intro-foot{position:absolute;left:32px;right:32px;bottom:26px;display:flex;justify-content:space-between;align-items:end;gap:30px;font-size:10px;line-height:1.7;color:#777}.archive-intro-foot>span{letter-spacing:.03em}.archive-intro-foot p{margin:0;font-size:10px;color:#8d8d8d}
.archive-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:var(--row-pitch);padding-bottom:calc(var(--folder-height) - var(--row-pitch));isolation:isolate}.archive-folder{position:relative;height:var(--folder-height);min-width:0;--folder-paper:#d9d9d9;--front-z:2}.folder-spring{--folder-paper:#ffe430}.folder-ai{--folder-paper:#d1d1d1;--front-z:3}.folder-gift{--folder-paper:#b9b9b9;--front-z:3}.folder-back,.folder-front{position:absolute;inset:0;border-radius:5px 5px 0 0;clip-path:polygon(0 0,46% 0,calc(46% + var(--tab-height)) var(--tab-height),100% var(--tab-height),100% 100%,0 100%)}
.folder-back{z-index:1;background:#e6e6e6;transform:translate3d(0,-4px,0);transition:background-color .2s ease}.folder-front{z-index:var(--front-z);display:flex;flex-direction:column;align-items:flex-start;padding:14px 32px 22px;background:var(--folder-paper);transition:background-color .22s ease,color .22s ease,transform .35s cubic-bezier(.2,.7,.25,1);overflow:hidden}.folder-yellow{position:absolute;inset:0;background:var(--yellow);opacity:0;z-index:-1;transition:opacity .2s ease}.folder-number{display:block;font-size:10px;line-height:18px;letter-spacing:.03em;margin:0 0 17px}.folder-front h2{margin:0;font:400 clamp(29px,3.2vw,57px)/1.15 var(--sans);letter-spacing:-.065em}.folder-bottom{width:100%;display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:auto;font-size:10px;line-height:1.6}.folder-bottom p{margin:0;color:#555}.folder-open{white-space:nowrap;font-size:9px}.folder-open>span{margin-left:12px;font-size:17px}.folder-front:focus-visible{outline:2px solid #252525;outline-offset:-6px}.folder-front:focus-visible h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.folder-previews{position:absolute;inset:0 5%;height:100%;pointer-events:none;z-index:var(--front-z)}.preview-image{position:absolute;top:12px;width:29%;height:clamp(120px,17vw,245px);object-fit:cover;object-position:top;border:5px solid #fff;background:#fff;box-shadow:0 4px 12px #00000016;opacity:0;transition:transform .4s cubic-bezier(.2,.7,.25,1),opacity .22s ease;transform:translate3d(0,45px,0) rotate(var(--image-rotate));transform-origin:50% 90%}.preview-one{left:5%;--image-rotate:-12deg}.preview-two{left:36%;--image-rotate:-3deg;transition-delay:.025s}.preview-three{left:66%;--image-rotate:9deg;transition-delay:.05s}.two-previews .preview-one{left:20%;width:31%}.two-previews .preview-three{left:57%;width:31%}.folder-spring .preview-one,.folder-spring .preview-two{object-fit:contain;background:transparent;border:0;box-shadow:none}
.archive-folder.is-active .folder-yellow{opacity:1}.archive-folder.is-active .folder-front{transform:translate3d(0,-3px,0)}.archive-folder.is-active .preview-image{opacity:1;transform:translate3d(0,-142px,0) rotate(var(--image-rotate))}.archive-grid.has-active .archive-folder:not(.is-active) .folder-front{background:#f1f1f1;color:#6d6d6d}.archive-grid.has-active .archive-folder:not(.is-active) .folder-bottom p{color:inherit}.archive-grid.has-active .archive-folder:not(.is-active) .folder-back{background:#f7f7f7}.archive-grid.has-active .archive-folder:not(.is-active) .preview-image{opacity:0}.touch-instruction{display:none}
.archive-footer{position:relative;z-index:5;margin-top:0;padding:60px 32px 25px;background:#202020;color:#eee;overflow:hidden}.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;font-size:11px;line-height:20px}.footer-links a:hover{color:var(--yellow)}.footer-links a:focus-visible{outline-color:var(--yellow)}.footer-wordmark{font:500 clamp(78px,14.4vw,265px)/1.15 var(--sans);letter-spacing:-.08em;white-space:nowrap;color:#5e5e5e;margin:32px 0 25px}.footer-colophon{display:flex;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid #ffffff24;color:#a9a9a9;font-size:9px;line-height:18px}
@media(min-width:1800px){:root{--folder-height:225px;--row-pitch:160px;--tab-height:34px}.archive-header a{padding-inline:40px}.archive-intro{padding-inline:40px}.archive-intro-foot{left:40px;right:40px}.folder-front{padding:16px 40px 28px}.folder-number{margin-bottom:22px}.archive-folder.is-active .preview-image{transform:translate3d(0,-172px,0) rotate(var(--image-rotate))}}
@media(max-width:1000px){:root{--folder-height:178px;--row-pitch:128px}.archive-header a{padding-inline:24px}.archive-intro{padding-inline:24px}.archive-intro-foot{left:24px;right:24px}.folder-front{padding-inline:24px}.folder-front h2{font-size:clamp(27px,3.7vw,40px)}.folder-bottom p{font-size:9px}.folder-open{font-size:8px}.preview-image{border-width:3px}.archive-folder.is-active .preview-image{transform:translate3d(0,-112px,0) rotate(var(--image-rotate))}}
@media(max-width:700px){:root{--header-height:56px;--folder-height:170px;--row-pitch:128px;--tab-height:24px}.archive-header a{padding:0 16px;font-size:10px}.archive-intro{height:calc(61svh - var(--header-height));min-height:330px;padding:38px 16px 0}.archive-intro h1{font-size:clamp(43px,10.5vw,70px);letter-spacing:-.07em}.archive-intro-foot{left:16px;right:16px;bottom:22px;display:block;font-size:8px}.archive-intro-foot>span{font-size:8px}.archive-intro-foot p{display:none}.folder-front{padding:12px 15px 18px}.folder-number{font-size:8px;line-height:15px;margin-bottom:21px}.folder-front h2{font-size:clamp(21px,5.2vw,33px);line-height:1.22;letter-spacing:-.065em}.folder-bottom{display:block;font-size:8px}.folder-bottom p{font-size:8px;line-height:1.6}.folder-open{display:block;font-size:7px;line-height:16px;margin-top:6px}.folder-open>span{font-size:13px;margin-left:7px}.folder-previews{inset-inline:3%}.preview-image{width:31%;height:100px;top:7px;border-width:2px;box-shadow:0 3px 8px #00000010}.preview-one{left:4%;--image-rotate:-10deg}.preview-two{left:35%;--image-rotate:-2deg}.preview-three{left:65%;--image-rotate:8deg}.archive-folder.is-active .preview-image{transform:translate3d(0,-70px,0) rotate(var(--image-rotate))}.archive-folder.is-active .folder-front{transform:translate3d(0,-2px,0)}.touch-instruction{display:block;position:relative;z-index:5;background:#fff;margin:0;padding:14px 16px 18px;font-size:9px;line-height:1.7;color:#666}.archive-footer{padding:35px 16px 22px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;font-size:10px}.footer-wordmark{font-size:14.3vw;margin:32px 0 20px}.footer-colophon{font-size:8px;display:block}.footer-colophon>span{display:block}.footer-colophon>span+span{margin-top:6px}}
@media(max-width:360px){.folder-front{padding-inline:12px}.folder-front h2{font-size:20px}.folder-number{margin-bottom:23px}.archive-intro h1{font-size:40px}.folder-bottom p{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.folder-back,.folder-front,.folder-yellow,.preview-image{transition:none}}
/* Three folders above two: offset seams keep the paper rhythm without an empty last cell. */
.archive-grid{--folder-overlap:calc(var(--tab-height) + 8px);--row-pitch:calc(var(--folder-height) - var(--folder-overlap));grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,var(--row-pitch));margin-top:0}
.folder-ai{grid-column:1 / span 2;grid-row:1;--front-z:2}
.folder-travel{grid-column:3 / span 2;grid-row:1;--front-z:2}
.folder-spring{grid-column:5 / span 2;grid-row:1;--front-z:2}
.folder-gift{grid-column:1 / span 3;grid-row:2;--front-z:3}
.folder-collection{grid-column:4 / span 3;grid-row:2;--folder-paper:#e6e6e6;--front-z:3}
/* The next paper edge may overlap the folder, never its project link. */
.folder-front{padding-bottom:calc(22px + var(--folder-overlap))}
@media(min-width:1800px){.folder-front{padding-bottom:calc(28px + var(--folder-overlap))}}
@media(max-width:700px){
  .archive-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,var(--row-pitch))}
  .archive-folder{grid-column:1;--front-z:2}
  .folder-ai{grid-row:1}
  .folder-travel{grid-row:2;--front-z:3}
  .folder-spring{grid-row:3;--front-z:4}
  .folder-gift{grid-row:4;--front-z:5}
  .folder-collection{grid-row:5;--front-z:6}
  .folder-front{padding-bottom:calc(18px + var(--folder-overlap))}
  .folder-front h2{font-size:clamp(28px,6.5vw,36px)}
  .folder-bottom{display:flex;align-items:end;gap:16px}
  .folder-open{margin-top:0}
}

/* Keep folder feedback equally clear for pointer, touch, and keyboard input. */
.preview-image{height:auto;aspect-ratio:3/4}
.folder-front,.archive-header a{touch-action:manipulation}
.archive-folder.is-active .folder-front:active{transform:translate3d(0,-1px,0)}
.folder-front:active .folder-open>span{transform:translate3d(2px,-2px,0)}
.folder-open>span{display:inline-block;transition:transform .16s ease}
.archive-header a:focus-visible{outline-offset:-5px;background:var(--yellow)}
@media(pointer:coarse) and (min-width:701px){.touch-instruction{display:block;position:relative;z-index:5;background:#fff;margin:0;padding:14px 24px 18px;font-size:10px;line-height:1.7;color:#666}}
@media(prefers-reduced-motion:reduce){.folder-open>span{transition:none}}

/* Selected project artwork for archive previews. */
.folder-ai .preview-image,.folder-gift .preview-image{aspect-ratio:4/3;object-position:center}.folder-travel .preview-image{object-position:center top}.folder-spring .preview-image{object-fit:contain;background:transparent;border:0;box-shadow:none}.folder-collection .preview-image{object-position:center}
.archive-folder:is(.folder-ai,.folder-gift).is-active .preview-image{transform:translate3d(0,-75%,0) rotate(var(--image-rotate))}

/* Clip the thin black capture edge inside the travel preview only. */
.folder-travel .preview-image{overflow:hidden}.folder-travel .preview-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;clip-path:inset(.8% .8% 0);transform:scale(1.018);transform-origin:center center}
