:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#29261f;background:#eeeae1;--ink:#29261f;--muted:#6e685b;--rule:#c8c1b4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100svh;position:relative;isolation:isolate;padding:27px 4.5vw 0;background:radial-gradient(ellipse at 80% 0%,#fcf9f0 0%,transparent 55%)}header,footer{display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.1em}header{padding-bottom:21px;border-bottom:1px solid var(--rule)}header>span:first-child{font-weight:700}header>span:last-child{letter-spacing:.04em;color:var(--muted)}main{max-width:1440px;margin:64px auto 76px}h1{width:min(100%,850px);margin:0 auto 48px}h1 img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;border-bottom:1px solid var(--rule);padding-bottom:21px}.intro p{font:italic 28px/1.25 Georgia,serif;letter-spacing:-.035em;margin:0}.intro>span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;min-width:0;outline-offset:8px}.project-card:focus-visible{outline:2px solid #7d3d36}.project-art{height:370px;position:relative;overflow:hidden;isolation:isolate}.project-copy{padding:25px 0 0;display:flex;align-items:flex-start;flex-direction:column;flex:1}.eyebrow{font-size:8px;letter-spacing:.11em;line-height:1.8;color:var(--muted)}.project-copy h2{font:normal clamp(39px,4.2vw,65px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:12px 0 16px}.project-copy>p{font-size:13px;line-height:1.8;color:#5b574d;margin:0 0 20px;max-width:38em}.availability{font-size:9px;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:7px;margin-top:auto}.availability:before{content:'';width:4px;height:4px;border-radius:50%;background:#806945}.project-action{display:flex;justify-content:space-between;width:100%;align-items:center;padding:20px 0 16px;margin-top:22px;border-top:1px solid var(--rule);font-size:11px;letter-spacing:.03em}.project-action>span{display:grid;place-items:center;border:1px solid #a9a18f;border-radius:50%;width:31px;height:31px;font-size:19px;transition:background .25s,color .25s,transform .25s}.project-card:hover .project-action>span{background:var(--ink);color:#eeeae1;transform:rotate(6deg)}.workout-art{background:radial-gradient(ellipse at 35% 15%,#99675f,#6c3533 55%,#3f2325);display:flex;align-items:center;justify-content:center;gap:12px;padding:30px 20px 52px}.workout-art:before{content:'';position:absolute;width:120%;height:105px;background:linear-gradient(165deg,#985e50,#603c32);bottom:-40px;left:-10%;transform:skewY(-8deg);box-shadow:0 -2px 1px #bd89704a;z-index:-1}.workout-art:after{content:'';position:absolute;inset:0;background:linear-gradient(119deg,transparent 42%,#fff1d914 42.2%,transparent 65%);pointer-events:none}.phone{width:42%;max-width:137px;height:auto;aspect-ratio:942/2048;border:3px solid #242333;border-radius:21px;box-shadow:9px 23px 25px #23110e66;transition:transform .65s cubic-bezier(.2,.8,.2,1);position:relative;z-index:1}.overview{transform:translateY(-13px) rotate(-7deg)}.active{transform:translateY(16px) rotate(7deg)}.project-card:hover .overview{transform:translateY(-19px) rotate(-9deg)}.project-card:hover .active{transform:translateY(10px) rotate(9deg)}.writing-art{background:linear-gradient(120deg,#b8aa8c,#d7cbb4 43%,#b6a88e);display:flex;align-items:center;justify-content:center;padding:28px}.writing-art:before{content:'';position:absolute;inset:-20%;background:repeating-linear-gradient(106deg,transparent 0 48px,#6b5b3610 49px 50px,transparent 51px 96px);pointer-events:none;z-index:-1}.manuscript{width:260px;background:#fffcef;padding:28px 25px 35px;transform:rotate(-7deg) translate(-10px,-7px);box-shadow:12px 22px 25px #53452e35;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.paper-label{font:7px Arial,sans-serif;letter-spacing:.12em;color:#77735f}.paper-title{font:27px Georgia,serif;margin:24px 0 16px}.manuscript p{font:11px/1.8 Georgia,serif;color:#514b3f}.paper-rule{width:65%;border-top:1px solid #d7d0bb;margin:18px 0}.paper-foot{font-size:6px;letter-spacing:.1em;color:#77735f}.scene-card{position:absolute;width:161px;right:14px;bottom:25px;background:#e2d6ad;padding:17px;box-shadow:8px 12px 20px #53452e35;transform:rotate(8deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}.scene-card>span{font-size:7px;letter-spacing:.09em;color:#686044}.scene-card strong{display:block;font:18px Georgia,serif;margin:11px 0}.scene-card p{font:10px/1.6 Arial,sans-serif;margin:0 0 9px;color:#615b43}.scene-card .revision{font-size:7px}.project-card:hover .manuscript{transform:rotate(-9deg) translate(-10px,-12px)}.project-card:hover .scene-card{transform:rotate(4deg) translateY(-3px)}.comic-art{background:#324c38}.comic-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 31%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.project-card:hover .comic-art img{transform:scale(1.035)}footer{margin:0 -4.5vw;padding:30px 4.5vw;background:#29261f;color:#c3baaa;font-size:9px;letter-spacing:.04em}.perspective{position:absolute;z-index:-1;pointer-events:none;bottom:68px;left:0;width:100%;height:250px;color:#766951;opacity:.18;mask-image:linear-gradient(transparent,#000)}@media(min-width:1500px){.project-art{height:440px}.phone{max-width:166px}.manuscript{width:290px}.scene-card{right:28px;bottom:38px}}@media(max-width:1000px) and (min-width:701px){.projects{gap:20px}.project-art{height:285px}.workout-art{padding:25px 10px 40px;gap:8px}.phone{border-radius:15px}.manuscript{width:210px;padding:20px}.manuscript p{font-size:9px}.paper-title{font-size:23px;margin:16px 0}.scene-card{width:135px;padding:13px;right:10px;bottom:18px}.scene-card strong{font-size:15px}.scene-card p{font-size:9px}.project-copy>p{font-size:12px}.eyebrow{font-size:7px}}@media(max-width:700px){body{padding:22px 24px 0}header{font-size:8px;gap:12px;padding-bottom:18px}main{margin:48px auto 55px}h1{margin-bottom:33px}.intro{margin-bottom:24px;padding-bottom:18px}.intro p{font-size:23px;max-width:200px}.intro>span{font-size:7px;max-width:90px;text-align:right;line-height:1.7}.projects{grid-template-columns:1fr;gap:38px}.project-art{height:380px}.project-copy{padding-top:21px}.project-copy h2{font-size:48px;margin:10px 0 15px}.project-copy>p{font-size:14px;line-height:1.75}.eyebrow{font-size:8px}.project-action{margin-top:20px;padding-top:17px}.phone{width:124px}.manuscript{width:270px}.scene-card{right:20px;bottom:30px}.comic-art img{object-position:50% 27%}footer{margin:0 -24px;padding:25px 24px;font-size:8px;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Vanishing Point owns the cast shadow; the art retains its existing crop. */
body { overflow-x: clip; }
.projects { isolation: isolate; overflow: clip; overflow-clip-margin: 4.5vw; }
.project-visual { position: relative; --rest-shadow-x: 0px; }
.rytiva .project-visual { --rest-shadow-x: -12px; }
.rootfolk .project-visual { --rest-shadow-x: 12px; }
.project-visual.vp-mounted { isolation: auto; }
.project-visual > .vp-source { display: block; }
.project-visual.vp-mounted > .vp-canvas { z-index: -1; pointer-events: none; }
.project-visual:not(.vp-mounted), .project-visual.vp-fallback {
  box-shadow: var(--rest-shadow-x) 16px 22px rgba(50, 37, 24, .17);
  text-shadow: none;
}
.project-copy { position: relative; z-index: 1; }
@media (max-width: 700px) {
  .projects { overflow-clip-margin: 24px; }
  .project-visual { --rest-shadow-x: 8px !important; }
}
