body{overflow:hidden;margin:0;background:#faf8f3}#intro{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);z-index:50;transition:opacity .6s ease}#intro.zooming{opacity:0;pointer-events:none}#intro.hidden{display:none}#enter-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center}#enter-btn img{height:120px;width:auto;display:block;mix-blend-mode:multiply;transition:transform .35s ease}#enter-btn:hover img{transform:scale(1.08)}#enter-btn.spin img{transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .5s ease;transform:rotate(360deg) scale(1.4);opacity:0}.intro__hint{margin-top:2rem;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-light);opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}#enter-btn:hover+.intro__hint{opacity:1;transform:translateY(0)}#enter-btn.spin+.intro__hint{opacity:0}#phrase-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);z-index:40;opacity:0;visibility:hidden;transition:opacity .8s ease}#phrase-screen.visible{opacity:1;visibility:visible}#phrase-screen.hiding{opacity:0;transform:translateY(-60px);pointer-events:none;transition:opacity .6s ease,transform .6s cubic-bezier(.4,0,.2,1)}#tagline{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;letter-spacing:.02em;color:var(--ink);text-align:center;line-height:1.2;margin:0;padding-inline:2rem;opacity:0;transform:translateY(12px);transition:opacity .7s ease .2s,transform .7s ease .2s}#phrase-screen.visible #tagline{opacity:1;transform:translateY(0)}#tagline em{font-style:italic;color:var(--accent);display:inline-block;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}#tagline em:hover{transform:translateY(-5px)}#scroll-btn{margin-top:3rem;background:none;border:none;cursor:pointer;color:var(--ink-light);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease,color .2s}#phrase-screen.visible:hover #scroll-btn{opacity:1;transform:translateY(0);animation:bob 1.8s ease-in-out infinite}#scroll-btn:hover{color:var(--ink)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}#gallery{position:fixed;inset:0;background:var(--cream);opacity:0;visibility:hidden;transform:translateY(40px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}#gallery.visible{opacity:1;visibility:visible;transform:translateY(0)}#gallery-nav{position:absolute;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(2rem,5vw,5rem);border-bottom:1px solid var(--cream-border);opacity:0;transform:translateY(-12px);transition:opacity .6s ease .2s,transform .6s ease .2s}#gallery.visible #gallery-nav{opacity:1;transform:translateY(0)}.nav-link{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mid);transition:color .2s;text-decoration:none}.nav-link:hover{color:var(--ink)}.nav-center-logo{background:var(--cream);padding:2px;line-height:0;border-radius:2px}.nav-center-logo img{height:32px;width:auto;display:block;mix-blend-mode:multiply}#projects-row{position:absolute;inset:56px 0 0;display:flex;align-items:center;overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .8s ease .3s,transform .8s ease .3s}#gallery.visible #projects-row{opacity:1;transform:translateY(0)}#projects-row:before,#projects-row:after{content:"";position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:10}#projects-row:before{left:0;background:linear-gradient(to right,rgba(250,248,243,.6) 0%,transparent 100%)}#projects-row:after{right:0;background:linear-gradient(to left,rgba(250,248,243,.6) 0%,transparent 100%)}#projects-track{display:flex;gap:1.5rem;padding-inline:3rem;will-change:transform;cursor:grab}#projects-track:active{cursor:grabbing}@media (hover: none),(pointer: coarse){#scroll-btn{opacity:1!important;transform:translateY(0)!important;animation:bob 1.8s ease-in-out infinite!important}#projects-track,#projects-track:active{cursor:default}}.project-item{flex-shrink:0;width:clamp(280px,25vw,360px);text-decoration:none;color:inherit}.project-item__img{width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--cream-dark)}.project-item__img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;transition:transform .6s ease}.project-item:hover .project-item__img img{transform:scale(1.04)}.project-item__title{margin-top:.75rem;font-family:var(--font-display);font-size:.95rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item__tag{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-light);margin-top:.2rem}
