/* Motion is a separate layer; the content remains readable without JavaScript. */
.about-copy h2>.word-reveal,.process-header h2>.word-reveal{color:var(--ink)}
.contact-heading h2>.word-reveal{color:var(--ink);-webkit-text-stroke:0}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:60;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--coral);transform-origin:left;transform:scaleX(var(--read-progress,0))}.hero-grid{isolation:isolate}.hero-ink-thread{position:absolute;inset:-30px 0 0;pointer-events:none;width:100%;height:110%;z-index:3;overflow:visible}.hero-ink-thread path{fill:none;stroke:var(--coral);stroke-width:2;stroke-dasharray:1500;stroke-dashoffset:1500;opacity:.65}.motion-ready .hero-ink-thread path{animation:thread-draw 1.8s .7s cubic-bezier(.2,.7,.2,1) forwards}.hero-copy,.hero-art{animation:none}.hero-image-frame{background:var(--paper)}.hero-image-frame img{mix-blend-mode:normal}.hero-art{transform:perspective(1000px) rotate(-4deg) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg)) translate3d(0,var(--art-scroll,0px),0);transition:transform .35s ease-out}.art-grid{translate:var(--grid-x,0px) var(--grid-y,0px)}.art-orbit{rotate:var(--orbit-scroll,0deg)}.art-star{rotate:var(--star-angle,0deg);translate:var(--star-x,0px) var(--star-y,0px)}.art-sticker{translate:var(--sticker-x,0px) var(--sticker-y,0px);transition:translate .35s ease-out}.hero-motion-hint{font-size:7px;color:var(--muted);margin-top:20px;letter-spacing:.08em}.hero h1{perspective:900px}.hero-letter{display:inline-block;transform-origin:50% 90%;transition:color .2s,translate .35s cubic-bezier(.2,1.5,.4,1)}.hero-letter:hover{color:var(--coral);translate:0 -10px}.hero-letter.name-period{color:var(--coral)}.motion-ready .hero-letter{animation:letter-rise .8s both cubic-bezier(.16,1,.3,1);animation-delay:calc(var(--letter-index) * 42ms + 100ms)}.motion-ready .hero-description,.motion-ready .hero-actions,.motion-ready .hero-motion-hint{animation:copy-arrive .8s .5s both}.motion-ready .hero-art{animation:poster-reveal 1.1s .25s both cubic-bezier(.16,1,.3,1)}.opening[open]~* .hero-letter,.opening[open]~* .hero-description,.opening[open]~* .hero-actions,.opening[open]~* .hero-motion-hint,.opening[open]~* .hero-art,.opening[open]~* .hero-ink-thread path{animation-play-state:paused}.hero .art-caption{z-index:4}.section-heading h2,.about-copy h2,.process-header h2,.contact-heading h2{overflow:hidden}.word-reveal{display:inline-block;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .6s;transition-delay:var(--word-delay,0ms)}.motion-ready .heading-unseen .word-reveal{transform:translateY(110%) rotate(3deg);opacity:0}.contact-heading h2{line-height:1.1}.process-grid article{transition:background .25s}.process-grid article:hover{background:#c5f53625}.process-grid article:hover .process-symbol{rotate:35deg;scale:1.25}.process-symbol{transition:rotate .6s cubic-bezier(.16,1,.3,1),scale .6s}.process-grid article::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}.process-grid article.is-seen::after{transform:scaleX(1)}.process-grid article:nth-child(2)::after{transition-delay:.12s}.process-grid article:nth-child(3)::after{transition-delay:.24s}.project-open{perspective:1100px}.project-open>.project-visual{transform:rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .35s ease-out,box-shadow .35s;transform-style:preserve-3d}.project-open:hover>.project-visual{box-shadow:7px 10px 0 #25271f14}.project-open>.project-visual::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#fff2,transparent 55%);opacity:0;transition:opacity .35s;pointer-events:none}.project-open:hover>.project-visual::after{opacity:1}.project-cursor{position:fixed;left:0;top:0;width:76px;height:76px;background:var(--lime);color:var(--ink);border:1px solid var(--ink);border-radius:50%;display:grid;place-content:center;text-align:center;font:9px/1.6 var(--mono);pointer-events:none;z-index:30;opacity:0;scale:.45;transition:opacity .2s,scale .25s cubic-bezier(.16,1,.3,1);translate:-50% -50%;rotate:-12deg}.project-cursor.visible{opacity:1;scale:1}.about-paper{transform:rotate(calc(-6deg + var(--paper-angle,0deg)));translate:0 var(--paper-y,0px)}.contact-stamp{rotate:var(--stamp-angle,0deg)}.section-asterisk{rotate:var(--section-spin,0deg)}.magnetic{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .3s cubic-bezier(.2,.8,.2,1)}
.opening{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;margin:0;background:var(--lime);color:var(--ink);padding:40px var(--gutter);overflow:hidden;z-index:100}.opening::backdrop{background:var(--ink)}.opening[open]{display:flex;flex-direction:column;justify-content:space-between;animation:opening-cut 1.65s cubic-bezier(.7,0,.2,1) both}.opening-top,.opening-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.opening-top{border-bottom:1px solid #25271f55;padding-bottom:20px;font-size:9px}.opening-center{align-self:center;position:relative}.opening-title{font:clamp(90px,16vw,240px)/.9 var(--display);letter-spacing:-.03em;transform:rotate(-6deg)}.opening-title>span{display:block;animation:clap-type .7s cubic-bezier(.16,1,.3,1) both}.opening-title>span:last-child{margin-left:10%;animation-delay:.12s}.opening-small{display:block;margin:0 0 30px 5px;font-size:9px}.opening-dot{color:var(--coral)}.opening-star{position:absolute;right:-80px;top:0;font:140px/1 var(--body);color:var(--coral);animation:spark-turn 2s ease-in-out}.opening-skip{background:transparent;border-bottom:1px solid var(--ink);padding:10px 0;font-size:9px}.opening-perfs{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 24px,var(--ink) 24px 36px,transparent 36px 60px);width:10px}.opening-meter{position:absolute;bottom:0;left:0;width:100%;height:5px;background:var(--ink);transform-origin:left;animation:intro-meter 1.2s linear both}.intro-replay{display:block;width:100%;padding:14px var(--gutter);background:var(--paper);border-top:1px solid var(--line);text-align:right;font-size:8px}.chapter-dock{position:fixed;z-index:18;right:12px;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:7px;padding:8px 5px;background:#f3f0e6e8;border:1px solid #25271f33;border-radius:25px}.chapter-dock a{width:20px;height:23px;display:grid;place-items:center;position:relative}.chapter-dock i{width:5px;height:5px;border:1px solid var(--ink);border-radius:50%;transition:height .3s,background .3s}.chapter-dock a[aria-current] i{height:15px;background:var(--ink)}.chapter-dock span{position:absolute;right:32px;padding:7px 10px;background:var(--ink);color:var(--paper);font:8px var(--mono);opacity:0;translate:6px 0;transition:opacity .2s,translate .2s;pointer-events:none;white-space:nowrap}.chapter-dock a:hover span,.chapter-dock a:focus-visible span{opacity:1;translate:0 0}
.flipbook-section{background:var(--ink);color:var(--paper);position:relative}.motion-ready .flipbook-section{height:180vh;min-height:960px}.flipbook-sticky{padding:35px var(--gutter) 30px;overflow:hidden}.motion-ready .flipbook-sticky{position:sticky;top:0;height:100vh;min-height:680px;max-height:1050px;display:flex;flex-direction:column;justify-content:space-between}.flipbook-section .section-register{border-color:#f3f0e633;font-size:8px}.flipbook-frame{color:var(--lime);font-weight:400}.flipbook-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-top:25px}.flipbook-heading h2{font:clamp(45px,5.3vw,76px)/1 var(--display);letter-spacing:-.015em}.flipbook-heading em{color:var(--lime);font-style:normal}.flipbook-heading p{font-size:12px;line-height:1.6;color:#bbbeb0}.flipbook-stage{position:relative;flex:1;min-height:230px;max-height:440px;margin:8px auto 0;width:min(100%,920px)}.flipbook-stage svg{display:block;width:100%;height:100%;overflow:visible}.flipbook-stage svg text{font:8px var(--mono);fill:#b9bdad;letter-spacing:1px}.flipbook-note{position:absolute;top:18px;left:0;color:var(--lime);font-size:8px;z-index:2}.flipbook-side-label{position:absolute;right:0;top:25px;font-size:7px;writing-mode:vertical-rl;color:#bbbeb0}.motion-ground{stroke:#f3f0e66b;fill:none;stroke-width:1}.motion-star>path{fill:var(--lime);stroke:var(--ink);stroke-width:1.5}.motion-face{fill:var(--ink);stroke:var(--ink)}#motion-path{stroke:var(--coral);stroke-width:1.5;stroke-dasharray:4 8;fill:none;opacity:.8}.motion-ghosts circle{fill:none;stroke:var(--lime);stroke-width:1;opacity:.18}.motion-shadow{fill:var(--paper);opacity:.2}.flipbook-bottom{display:flex;align-items:center;gap:25px;justify-content:space-between;padding-top:15px;border-top:1px solid #f3f0e633}.flipbook-frames{display:flex;gap:5px;flex:1;max-width:720px}.flipbook-frames span{height:23px;flex:1;border:1px solid #f3f0e638;transition:background .1s;position:relative}.flipbook-frames span.current{background:var(--lime);border-color:var(--lime)}.flipbook-frames span.past{background:#c5f53633}.flipbook-frames span:nth-child(6n)::after{content:attr(data-frame);position:absolute;bottom:-14px;font:6px var(--mono);left:0;color:#b9bdad}.flipbook-play{background:transparent;color:var(--paper);padding:12px 0;font-size:8px;display:flex;align-items:center;gap:15px}.flipbook-play>span{font-size:17px;color:var(--lime)}.flipbook-play:disabled{opacity:.5}.project-dialog[open]{animation:project-unfold .45s cubic-bezier(.16,1,.3,1)}.project-dialog::backdrop{animation:backdrop-in .35s both}
@keyframes letter-rise{from{opacity:0;transform:translateY(80%) rotateX(-70deg) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes poster-reveal{from{opacity:0;clip-path:inset(100% 0 0);scale:.94}to{opacity:1;clip-path:inset(-20%);scale:1}}@keyframes thread-draw{to{stroke-dashoffset:0}}@keyframes opening-cut{0%,76%{clip-path:inset(0)}100%{clip-path:inset(0 0 100%)}}@keyframes clap-type{from{opacity:0;transform:translateY(50%) rotate(10deg)}to{opacity:1;transform:none}}@keyframes intro-meter{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes project-unfold{from{opacity:0;transform:translateY(35px) scale(.95) rotate(-1deg)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(min-width:761px){.motion-ready .project:nth-child(2){transition-delay:60ms}.motion-ready .project:nth-child(3){transition-delay:150ms}}
@media(max-width:760px){.hero-motion-hint,.chapter-dock,.project-cursor{display:none}.hero-art{transform:rotate(-4deg) translateY(var(--art-scroll,0px))}.hero-ink-thread{inset:10% 0 0;height:85%;opacity:.5}.hero-ink-thread path{stroke-width:3}.hero-letter:hover{translate:0 0;color:inherit}.opening{padding:28px 25px}.opening-top{font-size:7px}.opening-bottom>.mono,.opening-skip{font-size:7px}.opening-title{font-size:24vw}.opening-star{right:-25px;top:-35px;font-size:85px}.opening-small{font-size:8px}.opening-perfs{width:6px}.motion-ready .flipbook-section{height:145svh;min-height:800px}.motion-ready .flipbook-sticky{height:100svh;min-height:560px;max-height:850px;padding:25px var(--gutter) 33px}.flipbook-heading{display:block;padding-top:25px}.flipbook-heading h2{font-size:clamp(34px,8.4vw,58px);line-height:1.04}.flipbook-heading p{font-size:10px;margin-top:16px}.flipbook-stage{min-height:190px;margin-top:5px;width:120%;margin-left:-10%}.flipbook-note{left:9%;font-size:6px;top:14px}.flipbook-side-label{display:none}.flipbook-bottom{flex-wrap:wrap;gap:18px}.flipbook-frames{width:100%;flex:auto;gap:3px}.flipbook-frames span{height:20px}.flipbook-play{margin-left:auto;padding:8px 0;font-size:7px}.project-open:hover>.project-visual{box-shadow:none}.intro-replay{text-align:center;font-size:7px}.word-reveal{transition-duration:.6s}}
@media(max-height:700px) and (min-width:761px){.motion-ready .flipbook-sticky{min-height:550px}.flipbook-heading h2{font-size:42px}.flipbook-stage{max-height:280px;min-height:150px}.flipbook-heading{padding-top:12px}}
body.reduce-motion .hero-art{transform:rotate(-4deg)}body.reduce-motion .hero-ink-thread path{stroke-dashoffset:0}body.reduce-motion .hero-letter,body.reduce-motion .word-reveal{opacity:1!important;transform:none!important;translate:none!important}body.reduce-motion .project-cursor{display:none}body.reduce-motion .flipbook-section{height:auto;min-height:0}body.reduce-motion .flipbook-sticky{position:relative;height:auto;min-height:0;padding-block:40px}body.reduce-motion .flipbook-stage{height:330px;flex:auto}body.reduce-motion .hero-art,body.reduce-motion .art-star,body.reduce-motion .art-sticker,body.reduce-motion .art-grid,body.reduce-motion .about-paper,body.reduce-motion .contact-stamp,body.reduce-motion .section-asterisk,body.reduce-motion .magnetic{translate:none;rotate:none}body.reduce-motion .project-open>.project-visual{transform:none}body.reduce-motion .motion-ghosts{display:none}body.reduce-motion .opening[open]{display:none}
@media(prefers-reduced-motion:reduce){.hero-ink-thread path{stroke-dashoffset:0}.motion-ready .heading-unseen .word-reveal{opacity:1;transform:none}.project-cursor{display:none}.motion-ready .flipbook-section{height:auto;min-height:0}.motion-ready .flipbook-sticky{position:relative;height:auto;min-height:0}.flipbook-stage{height:330px;flex:auto}.hero-letter{transform:none!important;opacity:1!important}.opening[open]{display:none}}
