/* Personal apps extend the existing portfolio without changing case-study styles. */
.personal-apps{margin-top:60px;border-top:1px solid var(--rule);padding-top:36px}.personal-apps-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.personal-apps-heading p{font-size:12px;color:#747980}.personal-apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.personal-app-card a{text-decoration:none}.personal-app-card h3{font-size:17px;font-weight:500;letter-spacing:-.025em;margin:15px 0 4px}.personal-app-card h3 span{float:right;font-size:14px}.personal-app-card p{font-size:13px;line-height:20px;color:#747980;max-width:360px}.personal-app-preview{height:285px;background:#f3f0e9;border-radius:12px;overflow:hidden;display:flex;justify-content:center;align-items:center;gap:18px;padding:28px}.personal-app-preview img{height:100%;width:auto;max-width:42%;object-fit:contain;box-shadow:0 12px 24px #302a201a;border-radius:5px;transition:transform .3s}.personal-app-card a:hover .personal-app-preview img{transform:translateY(-5px)}.personal-app-preview.pocket-preview{background:#eae9e3}.pocket-preview img{height:390px;max-width:none;align-self:flex-start;border-radius:20px}.personal-app-card small{display:block;font-size:11px;color:#6f747b;margin-top:11px}
.app-project .app-main{width:min(1050px,calc(100% - 80px));margin:0 auto;padding:55px 0 80px}.app-project .app-top{width:min(1050px,calc(100% - 80px));margin:auto;padding:26px 0;display:flex;justify-content:space-between;border-bottom:1px solid #e4e5df;font-size:12px}.app-top a{text-decoration:none}.app-project h1{font-size:clamp(38px,6vw,66px);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:12px 0 22px}.app-project .app-lead{font-size:20px;line-height:1.5;max-width:650px;color:#62665f}.app-project .app-kicker{font-size:11px;color:#6c716a}.app-project .app-hero{margin:40px 0 0;background:#efede6;border-radius:12px;padding:45px;display:flex;justify-content:center;gap:32px;overflow:hidden;height:570px}.app-hero img{height:100%;width:auto;object-fit:contain;max-width:46%;border-radius:18px;box-shadow:0 16px 40px #29251d14}.app-project .app-caption{font-size:11px;color:#73796e;margin:12px 0 0;line-height:1.6}.app-project .app-story{display:grid;grid-template-columns:220px 1fr;gap:48px;padding:65px 0;border-bottom:1px solid #e4e5df}.app-story h2{font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.035em;margin:0}.app-story p{font-size:15px;line-height:1.8;max-width:650px;color:#62665f}.app-story p+p{margin-top:15px}.app-project .flip-stage{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:#efede6;border-radius:12px;padding:32px}.app-project .flip-button{border:0;background:transparent;cursor:pointer;perspective:1400px;padding:0;width:100%;max-width:320px;justify-self:center}.flip-sides{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.25,1)}.flip-button[aria-pressed=true] .flip-sides{transform:rotateY(180deg)}.flip-sides img{grid-area:1/1;width:100%;border-radius:14px;backface-visibility:hidden;box-shadow:0 10px 25px #0001}.flip-sides img:last-child{transform:rotateY(180deg)}.app-project .flip-stage h3{font-size:25px;font-weight:500;letter-spacing:-.035em;margin:0 0 14px}.app-project .flip-stage p{font-size:14px;line-height:1.7;color:#62665f}.app-project .flip-label{display:block;margin-top:20px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.app-project .cover-shelf{display:grid;grid-template-columns:repeat(7,1fr);gap:25px 20px;padding:35px;background:#efede6;border-radius:12px;margin-top:30px}.cover-shelf img{width:100%;height:165px;object-fit:contain;filter:drop-shadow(0 9px 5px #30281f18)}.app-project .app-video{display:block;width:100%;height:560px;background:#efede6;border-radius:12px;margin-top:28px}.app-project .mac-shot{margin-top:30px;border-radius:9px;width:100%;border:1px solid #e4e5df}.app-project .next-personal{display:flex;justify-content:space-between;padding:40px 0 0;font-size:14px;text-decoration:none}.app-project button:focus-visible{outline:2px solid #384b83;outline-offset:5px}
@media(max-width:760px){.personal-app-preview{height:240px;padding:25px 16px;gap:10px}.pocket-preview img{height:330px}.personal-apps-heading{display:block}.personal-apps-heading p{margin-top:8px}.app-project .app-main,.app-project .app-top{width:calc(100% - 40px)}.app-project .app-main{padding-top:35px}.app-project .app-lead{font-size:17px}.app-project .app-hero{height:420px;padding:25px;gap:20px}.app-project .app-story{grid-template-columns:1fr;gap:20px;padding:40px 0}.app-project .cover-shelf{grid-template-columns:repeat(4,1fr);padding:22px;gap:20px 12px}.cover-shelf img{height:130px}.app-project .flip-stage{padding:22px;gap:22px}.app-project .app-video{height:460px}}
@media(max-width:520px){.personal-apps-grid{grid-template-columns:1fr;gap:32px}.personal-app-preview{height:270px}.pocket-preview img{height:390px}.app-project .app-hero{height:350px;gap:14px;padding:20px 12px}.app-project .app-story p{font-size:14px}.app-project .flip-stage{grid-template-columns:1fr}.app-project .flip-button{max-width:260px}.app-project .cover-shelf{grid-template-columns:repeat(3,1fr)}.cover-shelf img{height:135px}.app-project .app-top{font-size:11px}.app-project .app-video{height:420px}.app-project .next-personal{gap:20px}}
@media(prefers-reduced-motion:reduce){.flip-sides{transition:none}.personal-app-preview img{transition:none}.personal-app-card a:hover .personal-app-preview img{transform:none}}
.motion-home-card{grid-column:1/-1}.motion-home-preview{height:300px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:12px;overflow:hidden;background:#efede6}.motion-home-preview img{width:100%;height:100%;object-fit:cover;min-width:0}.motion-home-card p{max-width:none}.app-project .motion-gallery{display:grid;grid-template-columns:1fr 1fr;gap:58px 32px;margin:45px 0 20px}.motion-study{min-width:0}.motion-study video{display:block;width:100%;aspect-ratio:4/5;border-radius:10px;background:#efede6;object-fit:contain}.app-project .motion-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:18px}.app-project .motion-title h2{font-size:22px;letter-spacing:-.035em;font-weight:500;margin:0}.motion-title span{font-size:11px;white-space:nowrap;color:#73796e}.motion-study>p{font-size:14px;line-height:1.7;margin-top:10px;color:#62665f}.motion-study>.motion-tools{font-size:11px;line-height:1.8;margin-top:12px;color:#62665f}.app-project .document-gallery{margin-top:30px}
@media(max-width:760px){.motion-home-preview{height:240px}.app-project .motion-gallery{gap:35px 22px}.app-project .motion-title{display:block}.motion-title span{display:block;margin-top:7px}.app-project .motion-title h2{font-size:20px}}
@media(max-width:520px){.motion-home-preview{height:200px}.app-project .motion-gallery{grid-template-columns:1fr;gap:38px}.motion-home-preview img{object-fit:cover}.motion-home-preview img:last-child{display:none}.motion-home-preview{grid-template-columns:1fr 1fr}}
