@font-face{font-family:Inter Portfolio;src:url(/portfolio-assets/philip-kukulies/fonts/inter-latin-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Archivo Black Portfolio;src:url(/portfolio-assets/philip-kukulies/fonts/archivo-black-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--pf-blush: #f8d4d4;--pf-vermilion: #eb4726;--pf-mint: #d2fdd1;--pf-charcoal: #282828;--pf-white: #ffffff;--pf-bone: #f9f9f9;--pf-line: #e8e8e8;--pf-text: "Inter Portfolio", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--pf-display: "Archivo Black Portfolio", "Arial Black", Impact, ui-sans-serif, sans-serif;--pf-section-y: clamp(72px, 12vw, 160px);--pf-gutter: clamp(16px, 4vw, 24px);--pf-page: 1200px;--pf-column: 680px;--pf-ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*,*:before,*:after{box-sizing:border-box}.pf-body{margin:0;background:var(--pf-white);color:var(--pf-charcoal);font-family:var(--pf-text);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.5;letter-spacing:-.006em;text-align:center;overflow-x:clip;-webkit-font-smoothing:antialiased}.pf-body img,.pf-body video{display:block;max-width:100%;height:auto}.pf-body p,.pf-body h1,.pf-body h2,.pf-body h3,.pf-body figure,.pf-body ul,.pf-body ol{margin:0;padding:0}.pf-body ul,.pf-body ol{list-style:none}.pf-body :focus-visible{outline:2px solid var(--pf-charcoal);outline-offset:3px;border-radius:4px}.pf-skip{position:fixed;top:8px;left:8px;z-index:60;padding:12px 16px;background:var(--pf-white);border:1px solid var(--pf-charcoal);border-radius:12px;color:var(--pf-charcoal);transform:translateY(-200%)}.pf-skip:focus{transform:none}.pf-blush{background:var(--pf-blush)}.pf-white{background:var(--pf-white)}.pf-bone{background:var(--pf-bone)}.pf-section{padding:var(--pf-section-y) var(--pf-gutter);scroll-margin-top:0}.pf-column{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:var(--pf-column);margin-inline:auto}.pf-statement,.pf-h2,.pf-display-h{font-weight:500;letter-spacing:-.012em;text-wrap:balance;overflow-wrap:break-word;hyphens:manual}.pf-statement{font-size:clamp(2rem,1.3rem + 3.2vw,3.25rem);line-height:1.2;margin-bottom:clamp(40px,7vw,88px)}.pf-h2{font-size:clamp(1.875rem,1.45rem + 1.9vw,2.625rem);line-height:1.25}.pf-display-h{font-size:clamp(2.25rem,1.3rem + 4.4vw,4.5rem);line-height:1.12}.pf-h3{font-size:clamp(1.375rem,1.25rem + .6vw,1.75rem);font-weight:500;line-height:1.3;text-wrap:balance}.pf-h4{margin:0;font-size:clamp(1.25rem,1.15rem + .4vw,1.375rem);font-weight:500;line-height:1.4}.pf-lead{font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);line-height:1.45;text-wrap:pretty}.pf-role{font-weight:500}.pf-note,.pf-caption{font-size:1rem}.pf-caption{margin-top:12px}.pf-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,2.4vh,24px);padding:104px var(--pf-gutter) 56px}@media(min-width:768px){.pf-hero{min-height:100svh}}.pf-name{width:100%;margin-bottom:clamp(8px,2vh,24px)!important;color:var(--pf-vermilion);font-family:var(--pf-display);font-weight:400;font-size:min(18.6vw,33svh,400px);line-height:.92;letter-spacing:-.011em}.pf-name-line{display:block;white-space:nowrap}.pf-hero-sub{font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);font-weight:500;line-height:1.3}.pf-hero-intro{max-width:var(--pf-column);text-wrap:pretty}.pf-hero-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 32px}.pf-link,.pf-text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 2px;border:0;background:none;color:var(--pf-charcoal);font:inherit;letter-spacing:inherit;text-decoration:none;cursor:pointer}.pf-link-text{position:relative;padding-bottom:1px;border-bottom:1px solid var(--pf-vermilion)}.pf-link-text:after{content:"";position:absolute;inset:auto 0 -2px;height:2px;background:var(--pf-vermilion);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--pf-ease)}.pf-link:hover .pf-link-text:after,.pf-link:focus-visible .pf-link-text:after,.pf-text-button:hover .pf-link-text:after,.pf-text-button:focus-visible .pf-link-text:after{transform:scaleX(1)}.pf-arrow{flex:none;color:var(--pf-vermilion);transition:transform .2s var(--pf-ease)}.pf-link:hover .pf-arrow[data-direction=down],.pf-link:focus-visible .pf-arrow[data-direction=down]{transform:translateY(3px)}.pf-link:hover .pf-arrow[data-direction=up-right],.pf-link:focus-visible .pf-arrow[data-direction=up-right]{transform:translate(2px,-2px)}.pf-link:hover .pf-arrow[data-direction=right],.pf-link:focus-visible .pf-arrow[data-direction=right]{transform:translate(3px)}.pf-nav{position:fixed;top:16px;left:50%;z-index:40;display:flex;flex-direction:column;align-items:center;width:min(280px,calc(100vw - 32px));transform:translate(-50%);pointer-events:none}.pf-nav>*{pointer-events:auto}.pf-nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border:1px solid var(--pf-charcoal);border-radius:24px;background:var(--pf-white);color:var(--pf-charcoal);font:inherit;font-size:1rem;cursor:pointer}.pf-nav-plus{transition:transform .2s var(--pf-ease)}.pf-nav[data-open=true] .pf-nav-plus{transform:rotate(45deg)}.pf-nav-panel{width:100%;margin-top:8px!important;padding:8px!important;border:1px solid var(--pf-charcoal);border-radius:24px;background:var(--pf-white);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .2s var(--pf-ease),visibility 0s linear .2s}.pf-nav[data-open=true] .pf-nav-panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .2s var(--pf-ease),visibility 0s}.pf-nav-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 12px;border-radius:16px;color:var(--pf-charcoal);text-decoration:none}.pf-nav-link:hover{background:var(--pf-bone)}.pf-nav-link[aria-current=true]{font-weight:600;text-decoration:underline;text-decoration-color:var(--pf-vermilion);text-underline-offset:4px}html:not(.pf-js) .pf-nav{position:static;width:100%;background:var(--pf-blush);transform:none}html:not(.pf-js) .pf-nav-toggle{display:none}html:not(.pf-js) .pf-nav-panel{display:flex;flex-wrap:wrap;justify-content:center;margin:0!important;border:0;background:none;opacity:1;visibility:visible;transform:none}.pf-project{display:flex;flex-direction:column;align-items:center;gap:clamp(32px,5vw,56px);max-width:var(--pf-page);margin-inline:auto}.pf-project+.pf-project,.pf-column+.pf-project{margin-top:clamp(72px,11vw,144px)}.pf-project+.pf-column{margin-top:clamp(56px,7vw,88px)}.pf-link-row{display:flex;justify-content:center}.pf-work{width:100%}.pf-work-link{position:relative;display:block;border-radius:16px;color:var(--pf-charcoal);cursor:zoom-in}.pf-frame{position:relative;display:block;overflow:hidden;border-radius:16px;background:var(--pf-bone)}.pf-frame img{width:100%}.pf-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--pf-charcoal);border-radius:50%;background:var(--pf-white);transition:transform .2s var(--pf-ease)}.pf-work-link:hover .pf-zoom,.pf-work-link:focus-visible .pf-zoom{transform:rotate(90deg)}.pf-devices{display:flex;justify-content:center;width:100%}.pf-work-device{width:min(280px,100%)}.pf-work-cover{width:min(800px,100%)}.pf-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;width:min(800px,100%)}.pf-print-cover{width:min(1000px,100%)}.pf-print-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(1000px,100%)}@media(min-width:560px){.pf-print-pages{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:960px){.pf-print-pages{grid-template-columns:repeat(5,minmax(0,1fr))}}.pf-print-pages .pf-zoom{display:none}.pf-print{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;align-items:end;width:min(920px,100%)}@media(max-width:639px){.pf-print .pf-zoom{display:none}.pf-print>:first-child{grid-row:1 / span 2;align-self:start}}@media(min-width:640px){.pf-print{grid-template-columns:repeat(3,minmax(0,1fr))}}.pf-work-outlined .pf-frame{border:1px solid var(--pf-line)}.pf-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(960px,100%)}@media(min-width:640px){.pf-icons{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:960px){.pf-icons{grid-template-columns:repeat(6,minmax(0,1fr))}}.pf-icons li{position:relative;aspect-ratio:1;border-radius:16px;background:var(--pf-bone)}.pf-body .pf-icons img{position:absolute;inset:22%;width:56%;height:56%;object-fit:contain}.pf-further{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px!important;font-size:clamp(1.25rem,1.1rem + .6vw,1.75rem)}.pf-further-note{font-size:1rem}.pf-opener .pf-column{max-width:960px}.pf-media-project{gap:32px}.pf-videos{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:40px 32px;width:min(960px,100%)}.pf-video{width:min(320px,100%)}.pf-video[data-orientation=landscape]{grid-column:1 / -1;width:100%}@media(min-width:640px){.pf-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-video-stage{position:relative;overflow:hidden;border-radius:16px;background:var(--pf-line)}.pf-video video{width:100%;height:100%;object-fit:contain}.pf-video-start{position:absolute;bottom:16px;left:50%;display:none;align-items:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid var(--pf-charcoal);border-radius:24px;background:var(--pf-white);color:var(--pf-charcoal);font:inherit;cursor:pointer;transform:translate(-50%);transition:opacity .2s ease,transform .2s var(--pf-ease)}.pf-js .pf-video-start{display:inline-flex}.pf-video-start svg{color:var(--pf-vermilion)}.pf-video-link{display:block;text-decoration:none}.pf-video-link img{display:block;width:100%;height:100%;object-fit:cover}.pf-video-link .pf-video-start{display:inline-flex;white-space:nowrap}.pf-video[data-state=playing] .pf-video-start,.pf-video[data-state=paused] .pf-video-start{opacity:0;pointer-events:none;visibility:hidden;transform:translate(-50%) scale(.96)}.pf-media-status{display:block;min-height:1.5em;font-size:.9375rem}.pf-audio{width:min(680px,100%)}.pf-audio audio{width:100%}.pf-audio-ui{display:none;align-items:center;gap:16px;padding:16px;border:1px solid var(--pf-line);border-radius:16px;background:var(--pf-white);text-align:left;transition:border-color .2s ease}.pf-js .pf-audio audio{display:none}.pf-js .pf-audio-ui{display:flex}.pf-audio[data-state=playing] .pf-audio-ui{border-color:var(--pf-vermilion)}.pf-audio-toggle{flex:none;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--pf-charcoal);border-radius:50%;background:var(--pf-white);color:var(--pf-vermilion);cursor:pointer;transition:transform .2s var(--pf-ease)}.pf-audio-toggle:hover{transform:scale(1.04)}.pf-icon-pause{display:none}.pf-audio[data-state=playing] .pf-icon-pause{display:block}.pf-audio[data-state=playing] .pf-icon-play{display:none}.pf-audio-body{flex:1;min-width:0}.pf-audio-title{font-weight:500;overflow-wrap:anywhere}.pf-audio-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}.pf-audio-range{flex:1 1 120px;min-width:0;height:44px;margin:0;accent-color:var(--pf-vermilion);cursor:pointer}.pf-audio-range:disabled{cursor:default}.pf-audio-time{font-size:.9375rem;font-variant-numeric:tabular-nums}.pf-dev-placeholder{width:min(680px,100%);padding:16px;border:1px dashed var(--pf-charcoal);border-radius:12px;font-size:.9375rem;overflow-wrap:anywhere}.pf-flow{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:var(--pf-page);margin:clamp(40px,6vw,64px) auto 0!important;padding:clamp(32px,4vw,48px)!important;border-radius:16px;background:var(--pf-mint);font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);font-weight:500}.pf-flow li{display:flex;flex-direction:column;align-items:center;gap:8px}.pf-flow-arrow{display:inline-flex;color:var(--pf-charcoal)}.pf-flow-arrow .pf-arrow{color:var(--pf-charcoal);transform:rotate(90deg)}@media(min-width:900px){.pf-flow{flex-direction:row;justify-content:center;gap:16px}.pf-flow li{flex-direction:row;gap:16px}.pf-flow-arrow .pf-arrow{transform:none}}.pf-skills{display:flex;flex-direction:column;max-width:var(--pf-column);margin:clamp(48px,7vw,88px) auto 0}.pf-skill{display:flex;flex-direction:column;gap:8px;padding-block:clamp(32px,4vw,40px);border-top:1px solid var(--pf-charcoal)}.pf-skill:last-child{border-bottom:1px solid var(--pf-charcoal)}.pf-skill-tools{font-weight:500}.pf-about{padding-top:0}.pf-portrait{width:min(280px,72vw);margin-block:16px}.pf-timeline{display:flex;flex-direction:column;align-items:center;max-width:var(--pf-column);margin:clamp(48px,7vw,88px) auto 0!important}.pf-timeline li{display:flex;flex-direction:column;align-items:center;gap:4px;text-wrap:pretty}.pf-timeline li:not(:last-child):after{content:"";width:1px;height:32px;margin-block:12px;background:var(--pf-vermilion)}.pf-timeline-date{font-weight:600}.pf-languages{margin-top:clamp(48px,7vw,88px);gap:8px}.pf-contact .pf-column{max-width:960px;gap:clamp(32px,5vw,48px)}.pf-contact-list{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);overflow-wrap:anywhere}.pf-contact-text{display:flex;align-items:center;min-height:44px}.pf-footer{padding:0 var(--pf-gutter) 32px;font-size:.9375rem}.pf-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--pf-charcoal);text-decoration:underline;text-decoration-color:var(--pf-vermilion);text-underline-offset:4px}.pf-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--pf-white);color:var(--pf-charcoal)}.pf-lightbox[open]{display:flex;flex-direction:column}.pf-lightbox::backdrop{background:var(--pf-white)}.pf-lightbox-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:8px var(--pf-gutter)}.pf-lightbox-count{font-size:1rem}.pf-lightbox-caption{flex:1;font-size:1rem}.pf-lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding-inline:var(--pf-gutter);overflow:hidden}.pf-lightbox-stage img{width:auto;max-width:100%;height:auto;max-height:100%;border-radius:16px}.pf-lightbox-stage[data-tall=true]{display:block;overflow-y:auto}.pf-lightbox-stage[data-tall=true] img{width:min(1000px,100%);max-height:none;margin-inline:auto}@media(prefers-reduced-motion:no-preference){.pf-name-line{animation:pf-mask .68s var(--pf-ease) both}.pf-name-line:nth-child(2){animation-delay:90ms}.pf-hero-step{animation:pf-rise .5s var(--pf-ease) both;animation-delay:.62s}.pf-hero-step:nth-of-type(2){animation-delay:.69s}.pf-hero-links{animation-delay:.76s}.pf-motion [data-reveal]{opacity:0;transform:translateY(16px)}.pf-motion [data-reveal].is-in{opacity:1;transform:none;transition:opacity .52s ease var(--pf-delay, 0ms),transform .56s var(--pf-ease) var(--pf-delay, 0ms)}.pf-motion [data-reveal-image]:after{content:"";position:absolute;inset:0;background:var(--pf-blush);transform-origin:top}.pf-motion [data-reveal-image] img{transform:scale(1.03)}.pf-motion [data-reveal-image].is-in:after{transform:scaleY(0);transition:transform .62s var(--pf-ease) var(--pf-delay, 0ms)}.pf-motion [data-reveal-image].is-in img{transform:none;transition:transform .7s var(--pf-ease) var(--pf-delay, 0ms)}.pf-lightbox{opacity:0;transition:opacity .22s ease}.pf-lightbox .pf-lightbox-stage img{transform:scale(.985);transition:transform .26s var(--pf-ease)}.pf-lightbox.is-open{opacity:1}.pf-lightbox.is-open .pf-lightbox-stage img{transform:none}.pf-lightbox.is-closing{opacity:0;transition-duration:.17s}}@media(prefers-reduced-motion:reduce){.pf-body *,.pf-body *:before,.pf-body *:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}}@keyframes pf-mask{0%{clip-path:inset(0 -3% 100% -3%);transform:translateY(16%)}to{clip-path:inset(-12% -3% -22% -3%);transform:none}}@keyframes pf-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
