.case-study{--cs-ink:#17191c;--cs-ink-body:#4a4d52;--cs-ink-muted:#93918f;--cs-rule:#e6e4e1;--cs-block-gap:clamp(56px, 6.2vw, 104px);--cs-stack:clamp(12px, 1vw, 18px);--cs-mono:ui-monospace, "SF Mono", Menlo, monospace;width:100%;max-width:1400px;color:var(--cs-ink);background:#fff;margin:0 auto;padding:clamp(40px,5vw,88px) clamp(20px,3.5vw,56px) clamp(72px,8vw,140px);font-family:Geist,Inter,sans-serif}.cs-layout{grid-template-columns:minmax(160px,200px) minmax(0,800px);align-items:start;gap:clamp(32px,7vw,120px);display:grid}.cs-sidebar{top:calc(var(--header-h) + clamp(20px, 2.5vw, 40px));flex-direction:column;gap:clamp(20px,2.2vw,34px);display:flex;position:sticky}.cs-back{color:var(--cs-ink-muted);font-family:var(--cs-mono);letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:8px;font-size:11px;text-decoration:none;transition:color .15s;display:inline-flex}.cs-back:hover{color:var(--accent)}.cs-toc{flex-direction:column;gap:clamp(9px,.8vw,13px);display:flex}.cs-toc a{color:var(--cs-ink-muted);font-size:clamp(13px,1vw,15px);line-height:1.35;text-decoration:none;transition:color .18s;position:relative}.cs-toc a:hover,.cs-toc a.is-active{color:var(--cs-ink)}.cs-toc a.is-active:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:.65em;left:-18px}.cs-content{gap:var(--cs-block-gap);flex-direction:column;min-width:0;display:flex}.cs-block{gap:var(--cs-stack);scroll-margin-top:calc(var(--header-h) + clamp(16px, 2vw, 32px));flex-direction:column;display:flex}.cs-content>.cs-block:last-child{min-height:46vh}.cs-eyebrow{color:var(--cs-ink-muted);font-family:var(--cs-mono);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px;font-weight:400;line-height:1.4}.cs-title{letter-spacing:-.022em;max-width:15ch;margin:0;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(32px,3.5vw,52px);font-weight:400;line-height:1.08}.cs-heading{letter-spacing:-.015em;max-width:24ch;margin:0;font-size:clamp(20px,1.85vw,27px);font-weight:400;line-height:1.32}.cs-body{max-width:60ch;color:var(--cs-ink-body);flex-direction:column;gap:1.1em;font-size:clamp(15px,1.08vw,17px);line-height:1.72;display:flex}.cs-body p{margin:0}.cs-hero{aspect-ratio:1408/864;border-radius:2px;width:100%;margin-top:clamp(12px,1.6vw,24px);position:relative;overflow:hidden}.cs-hero img{object-fit:cover;width:118.86%;max-width:none;height:129.15%;position:absolute;top:0;left:-9.43%}.cs-figure{border:1px solid var(--cs-rule);background:#fbfaf9;border-radius:2px;width:100%;margin-top:clamp(12px,1.6vw,24px);overflow:hidden}.cs-figure img{width:100%;height:auto;display:block}.cs-facts{border-top:1px solid var(--cs-rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(16px,2vw,28px);padding-top:clamp(16px,2vw,28px);display:grid}.cs-fact{flex-direction:column;gap:8px;display:flex}.cs-fact p{color:var(--cs-ink-body);margin:0;font-size:clamp(13px,.98vw,15px);line-height:1.5}.cs-index{color:var(--accent);font-family:var(--cs-mono);letter-spacing:.08em;font-size:11px}.cs-questions{border-top:1px solid var(--cs-rule);margin:clamp(8px,1vw,16px) 0 0;padding:0;list-style:none}.cs-questions li{border-bottom:1px solid var(--cs-rule);grid-template-columns:40px minmax(0,1fr);align-items:baseline;gap:16px;padding:clamp(14px,1.4vw,20px) 0;display:grid}.cs-questions p{margin:0;font-size:clamp(15px,1.08vw,17px);font-weight:400;line-height:1.5}.cs-moment-grid{grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,36px) clamp(24px,3vw,48px);margin-top:clamp(8px,1vw,16px);display:grid}.cs-moment{border-top:1px solid var(--cs-rule);flex-direction:column;gap:6px;padding-top:clamp(12px,1.2vw,18px);display:flex}.cs-moment-title,.cs-moment-body{margin:0;font-size:clamp(14px,1.02vw,16px);line-height:1.55}.cs-moment-title{margin-top:2px;font-weight:500}.cs-moment-body{color:var(--cs-ink-body)}.cs-phones{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(14px,2vw,30px);margin-top:clamp(16px,2.2vw,32px);display:grid}.cs-phones-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:66%}.cs-phones-single{grid-template-columns:minmax(0,1fr);max-width:34%}.cs-device{background:linear-gradient(145deg,#4b4d52 0%,#1b1c1f 22% 78%,#4b4d52 100%);border-radius:14%/6.9%;padding:2.9%;box-shadow:0 18px 38px #17191c29,0 2px 6px #17191c1a}.cs-device-screen{aspect-ratio:390/844;background:#faf8f4;border-radius:12%/5.6%;position:relative;overflow:hidden}.cs-device-screen img{width:100%;height:auto;display:block;position:absolute;top:6.4%;left:0}.cs-device-screen:before{content:"";background:#0d0e10;border-radius:999px;width:31%;height:4.15%;position:absolute;top:1.42%;left:50%;transform:translate(-50%)}.cs-device-screen:after{content:"";background:#17191ccc;border-radius:999px;width:35%;height:.6%;position:absolute;bottom:1.07%;left:50%;transform:translate(-50%)}.cs-screencap{border-radius:9.8%/4.7%;width:100%;height:auto;display:block;box-shadow:0 24px 50px #17191c33,0 3px 10px #17191c1f}.cs-stage{background:linear-gradient(170deg,#ece5fa 0%,#f7f5f1 100%);border-radius:3px;justify-content:center;margin:clamp(16px,2.2vw,32px) 0 0;padding:clamp(30px,4.4vw,64px) clamp(20px,3vw,44px);display:flex}.cs-stage .cs-screencap{width:min(272px,42%)}.cs-media{margin:0}.cs-embed{aspect-ratio:16/9;border:1px solid var(--cs-rule);object-fit:cover;background:#111;border-radius:3px;width:100%;display:block}.cs-flow{border:1px solid var(--cs-rule);background:#fbfaf9;border-radius:3px;flex-direction:column;gap:clamp(20px,2.2vw,32px);margin-top:clamp(16px,2vw,28px);padding:clamp(20px,2.4vw,32px);display:flex}.cs-flow-pass{flex-direction:column;gap:12px;display:flex}.cs-flow-row{flex-wrap:wrap;align-items:center;gap:8px 0;display:flex}.cs-flow-step{align-items:center;gap:8px;display:inline-flex}.cs-flow-arrow{color:var(--cs-ink-muted);padding:0 2px;font-size:13px}.cs-flow-node{border:1px solid var(--cs-rule);background:#fff;border-radius:2px;padding:7px 12px;font-size:clamp(12px,.9vw,13px);line-height:1.3}.cs-canvas{background:#efeae4;border-radius:3px;margin:clamp(16px,2vw,28px) 0 0;padding:clamp(16px,2.2vw,34px)}.cs-canvas img{width:100%;height:auto;display:block}.cs-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #17191c12}.cs-card img{width:100%;height:auto;display:block}.cs-canvas-pair{grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px);display:grid}.cs-canvas-bleed img{border-radius:6px}.cs-spec{border-top:1px solid var(--cs-rule);flex-direction:column;margin-top:clamp(8px,1vw,16px);display:flex}.cs-spec-item{border-bottom:1px solid var(--cs-rule);flex-direction:column;gap:8px;padding:clamp(20px,2.2vw,34px) 0;display:flex}.cs-spec-title{margin:0;font-size:clamp(15px,1.12vw,18px);font-weight:500;line-height:1.4}.cs-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.1vw,16px);margin-top:clamp(16px,2vw,28px);display:grid}.cs-gallery>:first-child{grid-column:1/-1}.cs-gallery img{aspect-ratio:3/2;object-fit:cover;border-radius:2px;width:100%;height:100%;display:block}.cs-pull{border-left:2px solid var(--accent);letter-spacing:-.015em;margin:clamp(18px,2.2vw,32px) 0 0;padding-left:clamp(14px,1.5vw,22px);font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(19px,1.8vw,27px);font-weight:400;line-height:1.32}.cs-table-wrap{margin-top:clamp(20px,2.4vw,32px);overflow-x:auto}.cs-table{border-collapse:collapse;text-align:left;width:100%}.cs-table th{border-bottom:1px solid var(--cs-rule);color:var(--cs-ink-muted);font-family:var(--cs-mono);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;padding:0 24px 10px 0;font-size:11px;font-weight:400}.cs-table td{border-bottom:1px solid var(--cs-rule);color:var(--cs-ink-body);vertical-align:top;padding:clamp(12px,1.3vw,18px) 24px clamp(12px,1.3vw,18px) 0;font-size:clamp(13px,1vw,15px);line-height:1.5}.cs-table td:first-child{color:var(--cs-ink);white-space:nowrap}.cs-table td:last-child,.cs-table th:last-child{padding-right:0}.cs-caption{color:var(--cs-ink-muted);margin:clamp(10px,1vw,14px) 0 0;font-size:clamp(12px,.92vw,14px);line-height:1.5}.cs-changes{border-top:1px solid var(--cs-rule);flex-direction:column;margin-top:clamp(8px,1vw,16px);display:flex}.cs-change{border-bottom:1px solid var(--cs-rule);grid-template-columns:40px minmax(0,1fr);gap:16px;padding:clamp(20px,2.2vw,34px) 0;display:grid}.cs-change-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.cs-change-title{margin:0;font-size:clamp(15px,1.12vw,18px);font-weight:500;line-height:1.4}.cs-change .cs-figure{margin-top:clamp(8px,1vw,16px)}.cs-eyebrow+.cs-metrics{margin-top:0;padding-top:clamp(12px,1.4vw,20px)}.cs-metrics{border-top:1px solid var(--cs-rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,36px) clamp(16px,2vw,28px);margin:clamp(8px,1vw,16px) 0 0;padding-top:clamp(16px,2vw,28px);display:grid}.cs-metric{flex-direction:column;gap:6px;display:flex}.cs-metric dt{letter-spacing:-.02em;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1}.cs-metric dd{color:var(--cs-ink-body);margin:0;font-size:clamp(13px,.98vw,15px);line-height:1.45}.cs-recs{flex-direction:column;gap:clamp(40px,4.5vw,72px);margin-top:clamp(12px,1.6vw,24px);display:flex}.cs-rec{flex-direction:column;gap:clamp(12px,1.2vw,18px);margin:0;display:flex}.cs-rec-media{aspect-ratio:763/434;object-fit:cover;border-radius:2px;width:100%}.cs-rec-copy{border-top:1px solid var(--cs-rule);flex-direction:column;gap:8px;padding-top:clamp(10px,1vw,14px);display:flex}@media (width<=900px){.cs-layout{grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,40px)}.cs-sidebar{border-bottom:1px solid var(--cs-rule);gap:16px;padding-bottom:clamp(16px,3vw,28px);position:static}.cs-toc{flex-flow:wrap;gap:8px 18px}.cs-toc a.is-active:before{display:none}.cs-facts,.cs-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-phones-two{max-width:100%}.cs-gallery,.cs-canvas-pair{grid-template-columns:minmax(0,1fr)}.cs-phones-single{max-width:58%}.cs-stage .cs-screencap{width:min(272px,62%)}}@media (width<=560px){.cs-moment-grid,.cs-facts{grid-template-columns:minmax(0,1fr)}.cs-phones{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-questions li,.cs-change{grid-template-columns:28px minmax(0,1fr);gap:12px}}.page{--pg-ink:#17191c;--pg-body:#4a4d52;--pg-muted:#93918f;--pg-rule:#e6e4e1;--pg-mono:ui-monospace, "SF Mono", Menlo, monospace;width:100%;max-width:1232px;color:var(--pg-ink);background:#fff;margin:0 auto;padding:clamp(40px,5vw,88px) clamp(20px,3.5vw,56px) clamp(72px,8vw,140px);font-family:Geist,Inter,sans-serif}.pg-eyebrow{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px}.pg-title{letter-spacing:-.024em;max-width:18ch;margin:.35em 0 0;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(34px,4.6vw,68px);font-weight:400;line-height:1.04}.pg-lede{max-width:54ch;color:var(--pg-body);margin:clamp(16px,1.8vw,26px) 0 0;font-size:clamp(16px,1.2vw,19px);line-height:1.65}.pg-section{margin-top:clamp(56px,7vw,116px)}.pg-head{border-bottom:1px solid var(--pg-rule);align-items:baseline;gap:clamp(12px,1.4vw,22px);padding-bottom:clamp(14px,1.6vw,22px);display:flex}.pg-head h2{letter-spacing:-.02em;margin:0;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(24px,2.4vw,36px);font-weight:400;line-height:1.1}.pg-head .pg-count{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.12em;white-space:nowrap;margin-left:auto;font-size:11px}.pg-note{max-width:58ch;color:var(--pg-body);margin:clamp(14px,1.5vw,20px) 0 0;font-size:clamp(14px,1.05vw,16px);line-height:1.7}.pg-masonry{columns:3;column-gap:clamp(10px,1.2vw,18px);margin-top:clamp(20px,2.4vw,34px)}.pg-masonry-wide{columns:4}.pg-shot{break-inside:avoid;width:100%;transform:translateY(var(--pg-lift,0));background:#f1eee9;border-radius:8px;margin:0 0 clamp(10px,1.2vw,18px);transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s cubic-bezier(.22,.61,.36,1),opacity .7s cubic-bezier(.22,.61,.36,1);display:block;position:relative;overflow:hidden}.pg-shot img{width:100%;height:auto;transition:transform .6s cubic-bezier(.22,.61,.36,1);display:block}.pg-shot:hover{--pg-lift:-4px;box-shadow:0 18px 40px #28203c29}.pg-shot:hover img{transform:scale(1.04)}.pg-hobbies{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,28px);margin-top:clamp(20px,2.4vw,34px);display:grid}.pg-hobby{flex-direction:column;gap:12px;margin:0;display:flex}.pg-hobby-frame{aspect-ratio:3/4;background:linear-gradient(150deg, var(--h1) 0%, var(--h2) 100%);transform:rotate(var(--tilt,0deg)) translateY(var(--pg-lift,0));border-radius:10px;transition:transform .55s cubic-bezier(.22,.61,.36,1),box-shadow .55s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden;box-shadow:0 10px 26px #28203c1f}.pg-hobby-frame img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.pg-hobby:hover .pg-hobby-frame,.pg-hobby-frame:focus{--tilt:0deg;--pg-lift:-6px;outline:none;box-shadow:0 22px 46px #28203c33}.pg-hobby:hover .pg-hobby-frame img,.pg-hobby-frame:focus img{transform:scale(1.05)}.pg-hobby-story{color:#fff;text-align:center;opacity:0;background:linear-gradient(#1210169e 0%,#121016c2 100%);flex-direction:column;justify-content:center;gap:10px;padding:clamp(16px,1.6vw,24px);transition:opacity .4s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;inset:0}.pg-hobby-story p{text-wrap:balance;margin:0;font-size:clamp(12px,.95vw,14px);line-height:1.55}.pg-hobby-story-title{letter-spacing:-.015em;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(18px,1.5vw,23px)!important}.pg-hobby:hover .pg-hobby-story,.pg-hobby-frame:focus .pg-hobby-story{opacity:1}@media (hover:none){.pg-hobby-story{opacity:1}}.pg-hobby figcaption{align-items:baseline;gap:8px;font-size:clamp(14px,1.05vw,16px);display:flex}.pg-hobby figcaption i{color:var(--accent);font-family:var(--pg-mono);letter-spacing:.08em;font-size:11px;font-style:normal}.pg-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,90px);display:grid}.pg-body p{color:var(--pg-body);margin:0 0 1.05em;font-size:clamp(15px,1.1vw,17px);line-height:1.75}.pg-body p:last-child{margin-bottom:0}.pg-list{border-top:1px solid var(--pg-rule);margin:clamp(18px,2vw,28px) 0 0;padding:0;list-style:none}.pg-list li{border-bottom:1px solid var(--pg-rule);grid-template-columns:68px minmax(0,1fr);align-items:baseline;gap:14px;padding:clamp(12px,1.3vw,18px) 0;font-size:clamp(14px,1.05vw,16px);display:grid}.pg-list .pg-when{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.08em;font-size:11px}.pg-list .pg-role{color:var(--pg-body)}.pg-links{flex-wrap:wrap;gap:10px;margin-top:clamp(18px,2vw,28px);display:flex}.pg-link{border:1px solid var(--pg-rule);color:var(--pg-ink);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;text-decoration:none;transition:border-color .25s,background .25s,transform .35s cubic-bezier(.22,.61,.36,1);display:inline-flex}.pg-link:hover{border-color:var(--accent);background:#fff7f4;transform:translateY(-2px)}.reveal-armed .pg-reveal{opacity:0;--pg-lift:20px}.reveal-armed .pg-reveal.is-in{opacity:1;--pg-lift:0px}@media (width<=900px){.pg-masonry{columns:2}.pg-masonry-wide{columns:3}.pg-hobbies{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.pg-masonry,.pg-masonry-wide{columns:2}.pg-list li{grid-template-columns:56px minmax(0,1fr)}.pg-hobbies{grid-template-columns:minmax(0,1fr)}.pg-hobby-frame{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){.pg-shot,.pg-hobby-frame,.pg-shot img,.pg-hobby-frame img,.pg-link{transition:none;transform:none}.reveal-armed .pg-reveal{opacity:1;--pg-lift:0px}.pg-hobby-story{transition:none}}.wall{border:1px solid var(--pg-rule);background:radial-gradient(circle at 18% 16%,#fffffff2,#0000 46%),linear-gradient(150deg,#f3edf9 0%,#f7f2ea 48%,#eef3ef 100%);border-radius:6px;width:100%;height:clamp(440px,58vh,620px);margin-top:clamp(24px,3vw,44px);position:relative;overflow:hidden}.wall-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.wall-card{z-index:2;flex-direction:column;gap:8px;width:min(500px,86%);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wall-label{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.18em;text-align:center;text-transform:uppercase;margin:0 0 4px;font-size:10px}.wall-row{width:100%;display:flex}.wall-row input{min-width:0;color:var(--pg-ink);font-family:var(--pg-mono);letter-spacing:.1em;text-transform:uppercase;background:#ffffffb8;border:1px solid #17191c24;outline:none;flex:1;padding:12px 15px;font-size:11px;transition:border-color .2s,background .2s}.wall-row input::placeholder{color:#17191c57}.wall-row input:focus{border-color:var(--accent);background:#fff}.wall-row button{border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--pg-mono);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;cursor:pointer;margin-left:-1px;padding:12px 20px;font-size:10px;transition:filter .2s}.wall-row button:hover{filter:brightness(1.08)}.wall-row-meta input{background:#ffffff80;padding:10px 15px;font-size:10px}.wall-row-meta input:first-child{margin-right:-1px}.wall-hint{z-index:2;color:#17191c52;font-family:var(--pg-mono);letter-spacing:.16em;text-transform:uppercase;pointer-events:none;white-space:nowrap;margin:0;font-size:9px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.wall-plain{font-family:var(--pg-mono);letter-spacing:.12em;color:var(--pg-body);flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:0;padding:26px;font-size:11px;list-style:none;display:flex;position:absolute;inset:0 0 auto}.pg-num{color:var(--accent);font-family:var(--pg-mono);letter-spacing:.1em;font-size:11px}.pg-aside{border-left:2px solid var(--accent);max-width:62ch;padding-left:clamp(16px,1.8vw,26px)}.pg-aside-mark{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 clamp(10px,1.2vw,16px);font-size:11px}.pg-aside-text{letter-spacing:-.015em;margin:0 0 .9em;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(19px,1.75vw,26px);line-height:1.42}.pg-aside-text:last-child{color:var(--pg-body);margin-bottom:0;font-size:clamp(16px,1.3vw,20px)}button.pg-shot{font:inherit;color:inherit;cursor:pointer;text-align:left;border:none;padding:0}.pg-lightbox{z-index:200;background:#100e14e6;place-items:center;padding:clamp(20px,5vw,64px);animation:.25s both pg-fade;display:grid;position:fixed;inset:0}.pg-lightbox img{border-radius:4px;max-width:min(100%,1100px);max-height:84vh;box-shadow:0 30px 80px #00000080}.pg-lb-close,.pg-lb-nav{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:44px;height:44px;font-size:20px;line-height:1;transition:background .2s,border-color .2s;display:grid;position:absolute}.pg-lb-close:hover,.pg-lb-nav:hover{background:#ffffff29;border-color:#fff}.pg-lb-close{font-size:26px;top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px)}.pg-lb-prev{left:clamp(10px,2vw,26px)}.pg-lb-next{right:clamp(10px,2vw,26px)}.pg-lb-count{color:#fff9;font-family:var(--pg-mono);letter-spacing:.14em;margin:0;font-size:11px;position:absolute;bottom:clamp(14px,2.5vw,26px);left:50%;transform:translate(-50%)}@keyframes pg-fade{0%{opacity:0}to{opacity:1}}@media (width<=560px){.wall{height:clamp(400px,62vh,520px)}.wall-row-meta{flex-direction:column}.wall-row-meta input:first-child{margin:0 0 -1px}.pg-lb-nav{top:auto;bottom:clamp(14px,2.5vw,26px)}}@media (prefers-reduced-motion:reduce){.pg-lightbox{animation:none}}.wall-loading{border-style:dashed}.pg-volcano-grid{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.pg-volcano-clip{transform:translateY(var(--pg-lift,0));margin:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.pg-volcano-clip video{background:#14161a;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 20px 44px #1814223d}.pg-caption{color:var(--pg-muted);font-family:var(--pg-mono);letter-spacing:.12em;text-transform:uppercase;margin:10px 0 0;font-size:10px}.pg-volcano-copy{border-left:2px solid var(--accent);transform:translateY(var(--pg-lift,0));padding-left:clamp(16px,1.8vw,26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.pg-volcano-stills{grid-template-columns:1fr 1fr;gap:clamp(10px,1.2vw,18px);margin-top:clamp(20px,2.6vw,36px);display:grid}.pg-volcano-stills .pg-shot{margin:0}@media (width<=760px){.pg-volcano-grid{grid-template-columns:minmax(0,1fr)}.pg-volcano-clip{max-width:260px}.pg-volcano-stills{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.pg-volcano-clip,.pg-volcano-copy{transition:none;transform:none}}@font-face{font-family:tiemposText;src:url(/fonts/TiemposText-Regular.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}:root{--cursor-accent:#fe4f2a;--accent:#fe4f2a;--header-h:clamp(52px, 4.4vw, 68px);--mono:ui-monospace, "SF Mono", Menlo, monospace;color:#000;font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:Geist,Inter,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent;cursor:pointer}body.has-custom-cursor,body.has-custom-cursor *{cursor:none}.cursor{z-index:9999;background:var(--cursor-accent);pointer-events:none;opacity:0;will-change:transform;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;transition:width .28s cubic-bezier(.22,1,.36,1),height .28s cubic-bezier(.22,1,.36,1),background-color .2s,opacity .18s;display:flex;position:fixed;top:0;left:0}.cursor[data-visible=true]{opacity:1}.cursor[data-state=tab]{background:#fe4f2a52;width:46px;height:46px}.cursor[data-state=tile]{width:187px;height:44px}.cursor-pill{color:#fff;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;opacity:0;align-items:center;gap:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1;transition:opacity .16s,transform .28s cubic-bezier(.22,1,.36,1);display:flex;transform:scale(.9)}.cursor[data-state=tile] .cursor-pill{opacity:1;transition-delay:60ms;transform:scale(1)}.cursor-pill svg{flex-shrink:0;width:15px;height:15px}@media (prefers-reduced-motion:reduce){.cursor,.cursor-pill{transition-duration:.01ms}}button:focus-visible,a:focus-visible{outline-offset:2px;outline:1px solid #fe4f2a}.portfolio{scroll-margin-top:var(--header-h);--column-gap:clamp(20px, 1.852vw, 42px);color:#000;background:#fff;width:100%;max-width:2400px;min-height:100vh;margin:0 auto;padding:clamp(48px,7.523vw,170px) clamp(20px,7.465vw,168px) clamp(56px,6.944vw,156px)}.site-header{z-index:60;min-height:var(--header-h);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);background:#ffffffeb;border-bottom:1px solid #ececec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(16px,2vw,40px);padding:0 clamp(20px,3.5vw,56px);display:flex;position:sticky;top:0}.site-brand{color:#000;letter-spacing:.06em;text-transform:uppercase;font-size:clamp(13px,.926vw,20px);font-weight:500;text-decoration:none;transition:color .15s}.site-brand:hover{color:var(--accent,#fe4f2a)}.navigation{flex-wrap:wrap;justify-content:flex-end;gap:clamp(10px,1.157vw,26px);display:flex}.nav-item{color:#000;font:inherit;letter-spacing:.02em;cursor:pointer;opacity:0;animation:fade-down .5s ease var(--delay) both;background:0 0;border:0;margin:0;padding:4px 2px;font-size:clamp(13px,.926vw,20px);text-decoration:none;transition:color .15s,opacity .15s}.nav-item:hover:not(.selected){color:var(--accent);opacity:.55}.nav-item.selected{color:var(--accent);opacity:1}.hero{gap:var(--column-gap);grid-template-columns:1fr 1fr;margin-bottom:clamp(48px,5.208vw,117px);display:grid}.hero h1{opacity:0;min-width:0;max-width:100%;margin:0;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(26px,2.778vw,62px);font-weight:400;line-height:1.3;animation:.9s .15s both fade-up-blur}.experience-list{grid-template-columns:minmax(clamp(34px,5.208vw,90px),auto) minmax(clamp(72px,8.681vw,150px),auto) minmax(0,1fr);align-content:start;align-items:start;gap:clamp(3px,.33vw,7px) clamp(14px,2.5vw,56px);min-width:0;display:grid}.experience-row{grid-column:1/-1;grid-template-columns:subgrid;opacity:0;animation:slide-row .55s ease var(--delay) both;align-items:baseline;font-size:clamp(13px,1.042vw,24px);display:grid}.year{color:#a3a0a0}.company{color:#423e3e}.role{color:#a3a0a0;min-width:0}@media (width<=620px){.experience-list{grid-template-columns:minmax(clamp(34px,5.208vw,90px),auto) minmax(0,1fr);row-gap:10px}.experience-row{row-gap:1px}.role{grid-column:1/-1}}.marks{gap:clamp(14px,2.778vw,62px);margin-bottom:clamp(40px,5.208vw,117px);display:flex}.mark{opacity:0;width:clamp(48px,8.333vw,190px);height:clamp(48px,8.333vw,190px);animation:blob-pop .65s cubic-bezier(.32, 1.4, .5, 1) var(--delay) both}.mark svg{width:100%;height:100%;display:block}.mark path{transform-box:fill-box;transform-origin:50%}.mark:hover path{animation:.7s cubic-bezier(.32,1.1,.5,1) both shape-spin}.project-grid{gap:var(--column-gap);grid-template-columns:1fr 1fr;display:grid}.project-card{--lift:0px;transform:translateY(var(--lift));flex-direction:column;gap:clamp(20px,1.852vw,42px);transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .75s cubic-bezier(.22,.61,.36,1);display:flex}.project-card:hover{--lift:-6px;transition-delay:0s}.project-grid.reveal-armed>.project-card:not(.is-in){opacity:0;--lift:22px;transition-delay:0s}.project-grid.reveal-armed>.project-card.is-in{transition-delay:calc(var(--reveal-i,0) * .11s)}.project-card-link{color:inherit;text-decoration:none}.project-media{aspect-ratio:1.3;isolation:isolate;border-radius:8px;width:100%;transition:box-shadow .55s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden}.project-card:hover .project-media{box-shadow:0 22px 48px #28203c29}.project-stage{background:radial-gradient(circle at 22% 20%, #ffffffe6, transparent 44%), linear-gradient(135deg, var(--t1,#ece7f6) 0%, var(--t2,#e6eef4) 100%);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;display:grid;box-shadow:inset 0 0 0 1px #432f5e12}.project-stage:before{content:"";aspect-ratio:1;filter:blur(34px);pointer-events:none;background:#fff9;border-radius:999px;width:54%;animation:17s ease-in-out infinite alternate tile-drift;position:absolute;top:-16%;left:-12%}.project-shot{z-index:1;object-fit:contain;border-radius:8px;width:auto;max-width:82%;height:auto;max-height:82%;transition:transform .55s cubic-bezier(.22,.61,.36,1),box-shadow .55s cubic-bezier(.22,.61,.36,1);display:block;position:relative;box-shadow:0 16px 36px #28203c2e,0 2px 6px #28203c1a}.project-shot-phone{border-radius:14px;max-height:88%}.project-card:hover .project-shot{transform:scale(1.045);box-shadow:0 24px 50px #28203c42,0 3px 8px #28203c1f}.project-mark{z-index:1;aspect-ratio:1;width:46%;display:block;position:relative}.project-mark:before,.project-mark:after{content:"";transition:transform .6s cubic-bezier(.22,.61,.36,1);position:absolute}.project-mark:before{border:1.5px solid #432f5e38;border-radius:999px;inset:0 26% 26% 0}.project-mark:after{background:#ffffffc7;border-radius:26%;inset:30% 0 0 34%;box-shadow:0 10px 24px #28203c1f}.project-card:hover .project-mark:before{transform:translate(-6%,-6%)}.project-card:hover .project-mark:after{transform:translate(6%,6%)rotate(6deg)}.erp-motion{isolation:isolate;background:radial-gradient(circle at 20% 24%,#e4ff596b,#0000 29%),linear-gradient(135deg,#eee5ff 0%,#e1f2ef 52%,#ffe7de 100%);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #432f5e12;container-type:inline-size}.erp-glow{aspect-ratio:1;filter:blur(34px);opacity:.62;border-radius:999px;width:38%;animation:5s ease-in-out infinite erp-glow-loop;position:absolute}.erp-glow-purple{background:#cdb5ff;top:-16%;right:3%}.erp-glow-mint{background:#a7e9dd;animation-delay:-2.5s;bottom:-22%;left:4%}.erp-app{z-index:1;color:#25232b;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdb;border:1px solid #372d491a;border-radius:clamp(8px,2.7cqw,16px);font-size:clamp(6.5px,1.65cqw,10px);animation:5s cubic-bezier(.22,.75,.28,1) infinite erp-app-loop;position:absolute;inset:9% 6% 11%;overflow:hidden;box-shadow:0 16px 38px #4b3a6829,0 2px 8px #4b3a6814}.erp-appbar{background:#ffffffb8;border-bottom:1px solid #372d4914;align-items:center;gap:4%;height:13%;padding:0 3.2%;display:flex}.erp-appmark{aspect-ratio:1;width:4.2%;position:relative}.erp-appmark i{transform-origin:50%;border:1px solid #5b4d71;border-radius:60% 40%;width:40%;height:40%;position:absolute;top:31%;left:31%}.erp-appmark i:nth-child(2){transform:rotate(120deg)}.erp-appmark i:nth-child(3){transform:rotate(240deg)}.erp-appnav{color:#706b7b;flex:1;justify-content:flex-end;gap:7%;font-weight:500;display:flex}.erp-add-button{color:#fff;background:#6c55db;border-radius:.55em;padding:1.1% 2.6%;font-weight:600;animation:5s ease-in-out infinite erp-button-loop}.erp-dashboard-ui{transform-origin:0;height:87%;padding:2.5% 3%;animation:5s cubic-bezier(.22,.75,.28,1) infinite erp-dashboard-loop}.erp-welcome{color:#8a8493;justify-content:space-between;align-items:baseline;margin-bottom:2%;display:flex}.erp-welcome strong{color:#26232c;font-size:1.26em}.erp-metrics{grid-template-columns:repeat(3,1fr);gap:2.2%;margin-bottom:2.4%;display:grid}.erp-metric{opacity:0;min-width:0;animation:5s ease-in-out infinite erp-item-loop;animation-delay:calc(var(--erp-item) * 70ms);background:#ffffffc4;border:1px solid #39304614;border-radius:.75em;grid-template-rows:1fr 1fr;grid-template-columns:22% 1fr;align-items:center;padding:5% 6%;display:grid}.erp-metric i{aspect-ratio:1;border-radius:.55em;grid-row:1/3;width:72%}.erp-metric.blue i{background:#c9ddff}.erp-metric.mint i{background:#bfe8df}.erp-metric.purple i{background:#dcf}.erp-metric strong{font-size:1.38em;line-height:1}.erp-metric span{color:#7f7988;text-overflow:ellipsis;white-space:nowrap;font-size:.82em;overflow:hidden}.erp-workspace{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:2.2%;height:61%;display:grid}.erp-table-card,.erp-reminders{background:#ffffffb8;border:1px solid #39304614;border-radius:.75em;overflow:hidden}.erp-table-head,.erp-columns,.erp-data-row{grid-template-columns:1.25fr 1.3fr .58fr .52fr;align-items:center;gap:2%;padding:1.8% 3%;display:grid}.erp-table-head{justify-content:space-between;padding-top:2.8%;padding-bottom:2.8%;display:flex}.erp-table-head span,.erp-columns{color:#8b8592;font-size:.78em}.erp-columns{background:#f1edf794;border-top:1px solid #3930460f;border-bottom:1px solid #3930460f}.erp-data-row{opacity:0;min-height:17%;animation:5s ease-in-out infinite erp-row-loop;animation-delay:calc(var(--erp-item) * 65ms);border-bottom:1px solid #3930460d}.erp-data-row>span:not(.erp-chip){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.erp-chip{border-radius:.45em;justify-self:start;padding:.24em .62em;font-size:.76em}.erp-chip.purple{color:#6d40b3;background:#eadfff}.erp-chip.green{color:#26745d;background:#d9f2e9}.erp-reminders{padding:6% 7%}.erp-reminders>strong{margin-bottom:7%;display:block}.erp-reminders>div{align-items:center;gap:8%;margin:7% 0;display:flex}.erp-reminders i{aspect-ratio:1;border-radius:.45em;width:18%}.erp-reminders i.blue{background:#c9ddff}.erp-reminders i.peach{background:#ffd6c8}.erp-reminders i.lime{background:#e9f8ad}.erp-reminders span{color:#8c8693;flex-direction:column;font-size:.78em;display:flex}.erp-reminders b{color:#33303a;font-size:1.15em}.erp-form-drawer{z-index:4;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fdfbfff0;border-left:1px solid #4334571a;width:61%;padding:4% 4.5%;animation:5s cubic-bezier(.22,.75,.28,1) infinite erp-drawer-loop;position:absolute;top:13%;bottom:0;right:0;transform:translate(108%);box-shadow:-18px 0 38px #4432591f}.erp-drawer-top{color:#8a8490;justify-content:space-between;align-items:center;font-size:.8em;display:flex}.erp-drawer-top i{font-size:1.6em;font-style:normal}.erp-drawer-title{margin:3% 0 4%;font-size:1.32em;display:block}.erp-field-grid{grid-template-columns:1fr 1fr;gap:7% 4%;display:grid}.erp-field{opacity:0;animation:5s ease-in-out infinite erp-field-loop;animation-delay:calc(var(--erp-item) * 55ms);flex-direction:column;gap:.35em;display:flex}.erp-field span{color:#746e7b;font-size:.78em}.erp-field b{text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d7cfe1;border-radius:.5em;padding:.52em .68em;font-weight:500;overflow:hidden}.erp-alert{color:#594a79;background:#f2ecff;border:1px solid #bba6e6;border-radius:.65em;align-items:center;gap:4%;margin-top:7%;padding:3.2%;display:flex}.erp-alert>i{aspect-ratio:1;background:#dbcaff;border-radius:999px;place-items:center;width:9%;font-style:normal;font-weight:700;display:grid}.erp-alert span{flex-direction:column;font-size:.78em;display:flex}.erp-alert b{font-size:1.15em}.erp-mini-table{background:#f4f1f8;border-radius:.55em;grid-template-columns:1fr 1fr .55fr;margin-top:5%;padding:3%;display:grid}.erp-mini-table b{color:#26745d;background:#d9f2e9;border-radius:.4em;justify-self:start;padding:.2em .55em}.erp-drawer-actions{align-items:center;gap:1.4em;display:flex;position:absolute;bottom:7%;right:7%}.erp-drawer-actions span{color:#7f7888}.erp-drawer-actions b{color:#fff;background:#6c55db;border-radius:.55em;padding:.65em 1.6em}.erp-cursor{z-index:6;aspect-ratio:1;opacity:0;background:#5740c9;border:1px solid #fff;border-radius:999px;width:1.8%;animation:5s ease-in-out infinite erp-cursor-loop;position:absolute;top:11%;left:88%;box-shadow:0 0 0 .35em #6c55db2e}.erp-success{z-index:7;opacity:0;background:#fffffff5;border:1px solid #4837611a;border-radius:.7em;align-items:center;gap:.8em;min-width:34%;padding:2.4% 3%;animation:5s ease-in-out infinite erp-success-loop;display:flex;position:absolute;bottom:5%;right:3%;box-shadow:0 10px 24px #40315624}.erp-success i{aspect-ratio:1;color:#246c58;background:#ccf0e4;border-radius:999px;place-items:center;width:2em;font-style:normal;display:grid}.erp-success span{color:#847d8b;flex-direction:column;font-size:.78em;display:flex}.erp-success b{color:#2f2b34;font-size:1.16em}.erp-demo-label{z-index:2;color:#3a30459e;letter-spacing:.03em;align-items:center;gap:.65em;font-size:clamp(6px,1.45cqw,9px);display:flex;position:absolute;bottom:2.2%;right:3%}.erp-demo-label span{color:#463b50;font-weight:600}.erp-demo-label i{aspect-ratio:1;background:#6c55db;border-radius:999px;width:.35em}.project-title{letter-spacing:-.01em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:clamp(14px,.9vw,20px);line-height:1.45;display:flex}.project-meta{color:#8b8787;letter-spacing:0;white-space:nowrap;font-size:.88em}body.intro-active{overflow:hidden}body.intro-active .portfolio *,body.intro-active .portfolio{animation-play-state:paused}.intro{z-index:10000;background:#fdfbf7;animation:.28s 2.88s forwards intro-out;position:fixed;inset:0;overflow:hidden}.intro-discs{position:absolute;top:44%;left:50%}.intro-disc{border-radius:50%;width:84px;height:84px;animation:.38s cubic-bezier(.34,1.4,.5,1) both disc-drop;position:absolute;top:-42px;left:-42px}.disc-3{--drop:30px;background:#c7e8e5;animation-delay:70ms}.disc-2{--drop:15px;background:#e9dbff;animation-delay:.12s}.disc-1{background:var(--cursor-accent);--drop:0px;animation-delay:.17s}.intro-panel{opacity:0;border-radius:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:.3s cubic-bezier(.5,0,.2,1) forwards panel-open;position:absolute;top:44%;left:50%;transform:scale(.04)}.panel-1{background:var(--cursor-accent);animation-delay:.58s}.panel-2{background:#e9dbff;animation-delay:1.15s}.intro-word{color:#fff;white-space:nowrap;font-family:tiemposText,"Source Serif 4",Inria Serif,serif;font-size:clamp(150px,30vw,400px);line-height:1;animation:.17s linear 1.17s forwards word-ink,.32s cubic-bezier(.5,0,.3,1) 1.95s forwards word-settle;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.intro-letter{transform:translateY(var(--gy)) rotate(var(--gr));animation:letter-gather .82s var(--ad) forwards;display:block}.intro-letter b{font-weight:inherit;animation:.62s cubic-bezier(.22,1.4,.36,1) both letter-in;display:block}@keyframes disc-drop{0%{transform:translateY(-62vh)}to{transform:translateY(var(--drop))}}@keyframes panel-open{0%{opacity:1;transform:scale(.04)}to{opacity:1;transform:scale(1)}}@keyframes letter-in{0%{opacity:0;transform:translate(var(--fx), var(--fy)) rotate(var(--fr))}to{opacity:1;transform:none}}@keyframes letter-gather{0%{transform:translateY(var(--gy)) rotate(var(--gr));animation-timing-function:cubic-bezier(.4,0,.85,.45)}36%{transform:translate(var(--sx), var(--sy)) scale(var(--ss)) rotate(var(--sr));animation-timing-function:cubic-bezier(.22,1.32,.38,1)}to{transform:none}}@keyframes word-ink{to{color:#25232b}}@keyframes word-settle{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(.14)}}@keyframes intro-out{to{opacity:0;visibility:hidden}}.site-footer{border-top:1px solid #ececec;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(20px,3vw,48px);max-width:2400px;margin:0 auto;padding:clamp(36px,4vw,64px) clamp(20px,3.5vw,56px) clamp(28px,3vw,48px);display:flex}.footer-signoff{flex-direction:column;gap:6px;max-width:52ch;display:flex}.footer-signoff p{color:#57545a;margin:0;font-size:clamp(14px,1.05vw,17px);line-height:1.55}.footer-signoff p:first-child{color:#000}.footer-credit{color:#8b8787;font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;font-size:clamp(11px,.85vw,13px);display:flex}.footer-heart{width:1.15em;height:1.15em;color:var(--accent);flex-shrink:0}@media (width<=640px){.site-footer{flex-direction:column;align-items:flex-start}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up-blur{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes slide-row{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes blob-pop{0%{opacity:0;transform:scale(.4)rotate(-14deg)}60%{opacity:1;transform:scale(1.08)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes box-reveal{0%{opacity:0;transform:scaleY(.9)}to{opacity:1;transform:scaleY(1)}}@keyframes text-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tile-drift{to{transform:translate(40%,30%)scale(1.14)}}@keyframes shape-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes erp-glow-loop{0%,to{transform:translate(-4%,2%)scale(.94)}50%{transform:translate(8%,-5%)scale(1.12)}}@keyframes erp-app-loop{0%{opacity:0;transform:translate(5%,4%)scale(.94)}8%,88%{opacity:1;transform:translate(0,0)scale(1)}96%{opacity:1;transform:translate(-1%,-1%)scale(.98)}to{opacity:0;transform:translate(-1%,-1%)scale(.96)}}@keyframes erp-item-loop{0%,9%{opacity:0;transform:translateY(16%)}18%,90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8%)}}@keyframes erp-row-loop{0%,13%{opacity:0;transform:translate(-2%)}23%,88%{opacity:1;transform:translate(0)}to{opacity:0}}@keyframes erp-button-loop{0%,28%,47%,to{transform:scale(1);box-shadow:0 0 #6c55db00}36%{transform:scale(1.035);box-shadow:0 0 0 .6em #6c55db26}40%{transform:scale(.97);box-shadow:0 0 #6c55db00}}@keyframes erp-dashboard-loop{0%,39%{opacity:1;filter:blur();transform:translate(0)scale(1)}47%,82%{opacity:.48;filter:blur(.5px);transform:translate(-5%)scale(.965)}91%,to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes erp-drawer-loop{0%,39%{opacity:0;transform:translate(108%)}47%,82%{opacity:1;transform:translate(0)}90%,to{opacity:0;transform:translate(108%)}}@keyframes erp-field-loop{0%,47%{opacity:0;transform:translateY(20%)}58%,84%{opacity:1;transform:translateY(0)}94%,to{opacity:0}}@keyframes erp-cursor-loop{0%,23%{opacity:0;top:11%;left:88%;transform:scale(1)}29%,36%{opacity:1;top:11%;left:88%;transform:scale(1)}40%{opacity:1;top:11%;left:88%;transform:scale(.58)}44%,57%{opacity:0;top:81%;left:86%;transform:scale(1)}63%,72%{opacity:1;top:81%;left:86%;transform:scale(1)}76%{opacity:1;top:81%;left:86%;transform:scale(.58)}80%,to{opacity:0;top:81%;left:86%;transform:scale(1)}}@keyframes erp-success-loop{0%,75%{opacity:0;transform:translateY(35%)scale(.96)}82%,92%{opacity:1;transform:translateY(0)scale(1)}98%,to{opacity:0;transform:translateY(-22%)scale(.98)}}@media (width<=900px){.hero{grid-template-columns:1fr;gap:clamp(28px,3.5vw,48px)}}@media (width<=680px){.project-grid{grid-template-columns:1fr}.project-card>.project-title{order:-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-item,.hero h1,.experience-row,.mark,.project-card,.project-media,.project-stage:before,.project-title{opacity:1;filter:none;animation:none;transform:none}.mark:hover path,.erp-glow,.erp-app,.erp-dashboard-ui,.erp-metric,.erp-data-row,.erp-add-button,.erp-form-drawer,.erp-field,.erp-cursor,.erp-success{animation:none}.erp-app,.erp-dashboard-ui,.erp-metric,.erp-data-row{opacity:1;filter:none;transform:none}.erp-form-drawer,.erp-cursor,.erp-success{display:none}}
