@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600;700&display=swap');
:root{--paper:#faf9f6;--ink:#222321}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}.shell{margin:0 auto;max-width:1920px;padding:0 clamp(20px,4vw,72px)}header{padding-top:32px;padding-bottom:100px;display:flex;align-items:center;font-size:16px;font-weight:700;letter-spacing:-.02em}header a:hover,.back:hover{text-decoration:underline;text-underline-offset:4px}h1{font-weight:700;font-size:clamp(32px,4vw,60px);letter-spacing:-.055em;margin:0 0 52px;line-height:1.1}.gallery{display:grid;gap:clamp(32px,5vw,76px);padding-bottom:110px}.tile{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#999}.art{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.8,.2,1);background:linear-gradient(130deg,var(--c1),var(--c2));display:grid;place-items:center}.art::before{content:'';position:absolute;width:46%;height:75%;border:1px solid #ffffff50;transform:rotate(-18deg);border-radius:50%}.art::after{content:'';position:absolute;width:29%;aspect-ratio:1;border-radius:50%;background:#ffffff22;box-shadow:0 0 90px #ffffff30;transform:translate(45%,8%)}.art span{font-size:clamp(36px,10vw,180px);font-weight:700;letter-spacing:-.1em;color:#ffffff60;transform:translate(-8%,-8%)}.tile:hover .art{transform:scale(1.035)}.tile:focus-visible{outline:3px solid #333;outline-offset:5px}.tile-label{position:absolute;bottom:0;left:0;right:0;padding:clamp(20px,3vw,44px);color:white;background:linear-gradient(transparent,#0007)}.tile-label strong{display:block;font-size:clamp(16px,1.8vw,27px);font-weight:700;letter-spacing:-.035em}footer{border-top:1px solid #dddcd7;padding:25px 0 40px;font-size:12px;display:flex;justify-content:space-between}.project-header{max-width:800px;padding-bottom:50px}.project-header h1{margin-bottom:18px}.project-header p{font-size:clamp(16px,1.6vw,22px);line-height:1.5;color:#555;margin:0}.detail-media{display:grid;gap:clamp(28px,4vw,60px);padding-bottom:90px}.detail-media .tile{cursor:default}.detail-media .tile:hover .art{transform:none}.caption{font-size:13px;color:#656560;margin-top:-20px}.back{font-size:13px;display:inline-block;margin-bottom:70px}@media(max-width:600px){header{padding-top:22px;padding-bottom:80px}h1{margin-bottom:32px}.gallery{gap:24px;padding-bottom:80px}.tile-label{padding:18px}footer{padding-bottom:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art{transition:none}}
/* Scroll reveal: content remains visible without JavaScript. */
@media (prefers-reduced-motion: no-preference){.js-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.js-reveal .reveal.is-visible{opacity:1;transform:none}}
