.interactive-portfolio{--ip-paper:#ffffff;--ip-ink:#080808;--ip-red:#b52214;--ip-line:#bfbfbf;margin:0;background:var(--ip-paper);color:var(--ip-ink);font:16px/1.6 system-ui,sans-serif;overflow-x:clip;scrollbar-color:var(--ip-red)var(--ip-paper)}.interactive-portfolio *{box-sizing:border-box}.interactive-portfolio ::selection{background:var(--ip-red);color:var(--ip-paper)}.interactive-portfolio a{color:inherit;text-underline-offset:5px}.interactive-portfolio a:hover{text-decoration-thickness:2px}.interactive-portfolio :focus-visible{outline:3px solid var(--ip-red);outline-offset:6px}.interactive-portfolio h1,.interactive-portfolio h2,.interactive-portfolio h3,.interactive-portfolio p{margin:0}.interactive-portfolio img{display:block;max-width:100%}.interactive-portfolio button{font:inherit;cursor:pointer}.interactive-portfolio a,.interactive-portfolio button{touch-action:manipulation}.interactive-portfolio .ip-skip{position:fixed;top:12px;left:12px;z-index:99;padding:12px 20px;background:var(--ip-paper);transform:translateY(-180%)}.interactive-portfolio .ip-skip:focus{transform:none}.interactive-portfolio .ip-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4vw;background:var(--ip-paper);border-bottom:1px solid var(--ip-line)}.interactive-portfolio .ip-brand{font:24px IPPrata,Georgia,serif;text-decoration:none}.interactive-portfolio .ip-header>span{font-size:13px}.interactive-portfolio .ip-header>a:last-child{font-size:14px;text-decoration:none}.interactive-portfolio .ip-header>a:last-child span{margin-left:12px}.interactive-portfolio .ip-journey{background:var(--ip-red);position:relative}.interactive-portfolio .ip-stage{position:relative;isolation:isolate;padding:6vw 4vw 50px;overflow:hidden}.interactive-portfolio .ip-art{position:absolute;inset:0 0 auto;height:min(1100px,110vh);z-index:-2;overflow:hidden;pointer-events:none;transform-origin:42% 47%}.interactive-portfolio .ip-art img{height:100%;width:100%;object-fit:cover;object-position:42% center;max-width:none}.interactive-portfolio .ip-thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.8}.interactive-portfolio .ip-thread path{fill:none;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.interactive-portfolio .ip-intro{position:relative;width:fit-content;max-width:52%;padding:26px 32px 28px;background:var(--ip-paper);transform-origin:left center}.interactive-portfolio .ip-intro h1{font:clamp(42px,5.4vw,86px)/1.06 IPPrata,Georgia,serif;letter-spacing:-.035em}.interactive-portfolio .ip-intro>p{margin-top:20px;font-size:clamp(15px,1.25vw,18px);line-height:1.6}.interactive-portfolio .ip-scroll{color:var(--ip-paper);margin-top:30px;font-size:13px;display:flex;align-items:center;gap:20px;max-width:280px}.interactive-portfolio .ip-scroll>span{font-size:26px}.interactive-portfolio .ip-folios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32vh;perspective:1400px}.interactive-portfolio .ip-folio{min-width:0;transform-origin:center;position:relative}.interactive-portfolio .ip-folio__tilt{padding:14px;background:var(--ip-paper);box-shadow:10px 20px 40px #00000055;transform-style:preserve-3d}.interactive-portfolio .ip-folio__top{display:flex;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;margin-bottom:12px;text-transform:uppercase;letter-spacing:.065em}.interactive-portfolio .ip-folio img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}.interactive-portfolio .ip-folio--1 img{object-position:center top}.interactive-portfolio .ip-folio__copy{padding:20px 10px 12px}.interactive-portfolio .ip-folio h2{font:clamp(23px,2.4vw,38px)/1.15 IPPrata,Georgia,serif;letter-spacing:-.025em}.interactive-portfolio .ip-folio__copy>p{font-size:15px;line-height:1.6;margin-top:14px}.interactive-portfolio .ip-folio__details{margin-top:16px;font-size:14px;line-height:1.65}.interactive-portfolio .ip-folio__details>span{display:block;margin-top:18px;font-size:12px;letter-spacing:.04em}.interactive-portfolio .ip-meter{display:none}.interactive-portfolio .ip-motion-control{position:absolute;bottom:28px;right:4vw;z-index:9}.interactive-portfolio .ip-motion-control button{color:var(--ip-paper);background:var(--ip-ink);border:1px solid var(--ip-paper);padding:9px 14px;font-size:12px}.interactive-portfolio .ip-motion-control button:hover{background:var(--ip-paper);color:var(--ip-ink)}.interactive-portfolio .ip-motion-control button:focus-visible{outline-color:var(--ip-paper)}.interactive-portfolio .ip-projects{position:relative;z-index:2;background:var(--ip-paper);padding:110px 7vw 80px;scroll-margin-top:24px}.interactive-portfolio .ip-projects__intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:75px}.interactive-portfolio .ip-projects__intro h2{font:clamp(35px,4.2vw,66px)/1.13 IPPrata,Georgia,serif;letter-spacing:-.03em}.interactive-portfolio .ip-projects__intro>p{max-width:34ch;font-size:15px}.interactive-portfolio .ip-project{display:grid;grid-template-columns:minmax(0,1.08fr)minmax(0,1fr);align-items:center;gap:6vw;padding:55px 0;border-top:1px solid var(--ip-line);scroll-margin-top:30px}.interactive-portfolio .ip-project__image{display:block}.interactive-portfolio .ip-project__image img{width:100%;aspect-ratio:16/10;object-fit:cover}.interactive-portfolio .ip-project__body{min-width:0}.interactive-portfolio .ip-project__kind{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.interactive-portfolio .ip-project h3{font:clamp(26px,2.8vw,44px)/1.2 IPPrata,Georgia,serif;margin:14px 0}.interactive-portfolio .ip-project h3 a{text-decoration:none}.interactive-portfolio .ip-project h3 svg{height:.6em;width:.6em;margin-left:16px;fill:none;stroke:currentColor;stroke-width:1.6}.interactive-portfolio .ip-project__role{font-size:12px;margin-bottom:20px;color:#4d4d4d}.interactive-portfolio .ip-project__body>p:last-of-type{max-width:65ch;font-size:15px;line-height:1.8}.interactive-portfolio .ip-tags{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:23px 0 0;list-style:none;font-size:12px}.interactive-portfolio .ip-tags li{border-bottom:1px solid var(--ip-line);padding-bottom:3px}.interactive-portfolio .ip-contact{background:var(--ip-ink);color:var(--ip-paper);padding:85px 7vw 35px;display:flex;align-items:start;flex-wrap:wrap;gap:40px;justify-content:space-between}.interactive-portfolio .ip-contact>p{font:clamp(29px,3.5vw,54px)/1.2 IPPrata,Georgia,serif;letter-spacing:-.02em}.interactive-portfolio .ip-contact>a{font-size:18px;margin-top:12px}.interactive-portfolio .ip-contact>a:focus-visible{outline-color:var(--ip-paper)}.interactive-portfolio .ip-contact .ip-contact__back{font-size:13px}.interactive-portfolio .ip-contact small{display:block;flex-basis:100%;margin-top:35px;color:#bdbdbd;font-size:11px}.interactive-portfolio .ip-folio img,.interactive-portfolio .ip-project__image img{height:auto}.interactive-portfolio .ip-motion-control{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:440px}.interactive-portfolio .ip-motion-control[hidden]{display:none}@media(min-width:900px){.interactive-portfolio .is-enhanced .ip-meter{right:480px}}.interactive-portfolio .ip-scroll{background:var(--ip-ink);padding:10px 14px;width:fit-content}@media(min-width:900px){.interactive-portfolio .ip-stage.is-enhanced{height:100svh;min-height:680px;padding:0}.interactive-portfolio .is-enhanced .ip-art{height:100%;inset:0}.interactive-portfolio .is-enhanced .ip-intro{position:absolute;top:7%;left:4vw;max-width:48%}.interactive-portfolio .is-enhanced .ip-scroll{position:absolute;left:4vw;bottom:90px;margin:0}.interactive-portfolio .is-enhanced .ip-folios{position:absolute;inset:0;display:block;margin:0;pointer-events:none}.interactive-portfolio .is-enhanced .ip-folio{position:absolute;left:50%;top:50%;width:clamp(360px,37vw,570px);max-height:none;will-change:transform,opacity}.interactive-portfolio .is-enhanced .ip-folio__tilt{pointer-events:auto}.interactive-portfolio .is-enhanced .ip-folio img{aspect-ratio:16/9}.interactive-portfolio .is-enhanced .ip-folio__copy{padding-top:18px}.interactive-portfolio .is-enhanced .ip-folio__copy>p{font-size:16px}.interactive-portfolio .is-enhanced .ip-meter{position:absolute;left:4vw;bottom:28px;right:230px;display:flex;align-items:center;gap:30px;color:var(--ip-paper);font-size:12px}.interactive-portfolio .ip-meter__track{height:1px;background:#fff6;flex:1}.interactive-portfolio .ip-meter__track>span{display:block;height:2px;background:var(--ip-paper);transform:scaleX(0);transform-origin:left}.interactive-portfolio .is-enhanced .ip-thread{z-index:0}}@media(max-width:899px){.interactive-portfolio .ip-header{height:66px}.interactive-portfolio .ip-header>span{display:none}.interactive-portfolio .ip-stage{padding:42px 5vw}.interactive-portfolio .ip-art{height:730px}.interactive-portfolio .ip-art img{object-position:35% center}.interactive-portfolio .ip-intro{max-width:95%;padding:24px}.interactive-portfolio .ip-intro h1{font-size:clamp(42px,8vw,66px)}.interactive-portfolio .ip-intro>p{font-size:15px}.interactive-portfolio .ip-scroll{margin-top:22px}.interactive-portfolio .ip-folios{margin-top:300px;grid-template-columns:1fr;gap:28px;max-width:580px;margin-inline:auto}.interactive-portfolio .ip-folio{transform:none}.interactive-portfolio .ip-folio h2{font-size:30px}.interactive-portfolio .ip-folio__top{font-size:10px}.interactive-portfolio .ip-folio__copy{padding:19px 9px}.interactive-portfolio .ip-folio__details{font-size:14px}.interactive-portfolio .ip-folio__tilt{box-shadow:6px 14px 28px #00000044}.interactive-portfolio .ip-projects{padding:65px 6vw 35px}.interactive-portfolio .ip-projects__intro{display:block;margin-bottom:38px}.interactive-portfolio .ip-projects__intro>p{margin-top:24px}.interactive-portfolio .ip-project{grid-template-columns:1fr;gap:26px;padding:35px 0}.interactive-portfolio .ip-project h3{font-size:30px}.interactive-portfolio .ip-contact{padding:55px 6vw 25px;gap:25px}.interactive-portfolio .ip-contact>p{flex-basis:100%;font-size:35px}.interactive-portfolio .ip-contact small{margin-top:20px}.interactive-portfolio .ip-thread{height:730px}}@media(prefers-reduced-motion:reduce){.interactive-portfolio *{scroll-behavior:auto!important}.interactive-portfolio .ip-folio{will-change:auto}}.interactive-portfolio .ip-folio img,.interactive-portfolio .ip-project__image img{filter:grayscale(1)}.interactive-portfolio .ip-folio__top{color:var(--ip-red)}.interactive-portfolio .ip-project h3 a:hover{color:var(--ip-red)}.interactive-portfolio .ip-weaver{--iw-paper:#e9dfcb;--iw-ink:#22211e;--iw-red:#a82720;position:relative;isolation:isolate;min-height:580px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding:90px 8vw;overflow:hidden;background:var(--iw-paper);color:var(--iw-ink)}.interactive-portfolio .ip-weaver__image{position:absolute;inset:0 0 0 33%;z-index:-2;overflow:hidden;opacity:.94}.interactive-portfolio .ip-weaver__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--iw-paper),#e9dfcb00 58%),linear-gradient(0deg,var(--iw-paper) 0%,transparent 24%)}.interactive-portfolio .ip-weaver__image img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:sepia(.24)contrast(1.04)}.interactive-portfolio .ip-weaver__thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.interactive-portfolio .ip-weaver__thread path{fill:none;stroke:var(--iw-red);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #e9dfcb)}.interactive-portfolio .ip-weaver__copy{max-width:470px;align-self:center}.interactive-portfolio .ip-weaver__copy h2{max-width:9ch;font:clamp(42px,5vw,72px)/1.04 IPPrata,Georgia,serif;letter-spacing:-.035em;text-wrap:balance}.interactive-portfolio .ip-weaver__copy p{max-width:40ch;margin-top:24px;font-size:16px;line-height:1.8}.interactive-portfolio .ip-weaver__copy button{display:flex;align-items:center;gap:12px;margin-top:30px;padding:10px 0;border:0;border-bottom:1px solid var(--iw-ink);background:0 0;font-size:14px;font-weight:700}.interactive-portfolio .ip-weaver__copy button svg{width:30px;height:30px;padding:6px;border:1px solid var(--iw-red);border-radius:50%;color:var(--iw-red);transition:transform .5s cubic-bezier(.2,.8,.2,1);fill:none;stroke:currentColor;stroke-width:1.5}.interactive-portfolio .ip-weaver__copy button:hover svg,.interactive-portfolio .ip-weaver__copy button[aria-pressed=true] svg{transform:translate(4px,-4px)}.interactive-portfolio .ip-weaver__enter{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:330px;margin-top:30px;padding:14px 0;border-bottom:1px solid #a89e8c;font-size:15px;font-weight:700;text-decoration:none}.interactive-portfolio .ip-weaver__enter svg{width:22px;height:22px;color:var(--iw-red);transition:transform .2s;fill:none;stroke:currentColor;stroke-width:1.5}.interactive-portfolio .ip-weaver__enter:hover svg{transform:translateX(5px)}.interactive-portfolio .ip-weaver__threads{position:absolute;right:6vw;bottom:30px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;max-width:470px}.interactive-portfolio .ip-weaver__threads a{min-height:44px;display:flex;align-items:center;padding:6px 0;border-bottom:1px solid #a89e8c;font-size:12px;text-decoration:none;transition:color .2s,border-color .2s}.interactive-portfolio .ip-weaver__threads a:hover,.interactive-portfolio .ip-weaver__threads a:focus-visible{color:var(--iw-red);border-color:var(--iw-red)}.interactive-portfolio .ip-weaver__image img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.interactive-portfolio .ip-weaver.is-woven .ip-weaver__image img{transform:scale(1.025)}@media(max-width:899px){.interactive-portfolio .ip-weaver{min-height:720px;display:block;padding:60px 6vw 118px}.interactive-portfolio .ip-weaver__image{inset:0 0 0 12%;opacity:.74}.interactive-portfolio .ip-weaver__image:after{background:linear-gradient(90deg,var(--iw-paper),#e9dfcb00 75%),linear-gradient(0deg,var(--iw-paper) 0%,#e9dfcbd9 26%,transparent 65%)}.interactive-portfolio .ip-weaver__copy{position:relative;z-index:1;max-width:440px}.interactive-portfolio .ip-weaver__copy h2{font-size:clamp(42px,10vw,64px)}.interactive-portfolio .ip-weaver__copy p{font-size:15px}.interactive-portfolio .ip-weaver__threads{left:6vw;right:6vw;bottom:22px;justify-content:flex-start;gap:4px 22px}}@media(prefers-reduced-motion:reduce){.interactive-portfolio .ip-weaver *{transition:none!important}}