@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&display=swap";:root{font-family:Space Grotesk,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--space-0: 0;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--max-w: 1200px;--page-pad-x: 5vw;--float-depth: clamp(120px, 14vh, 260px)}html,body,#root{margin:0;padding:0;width:100%;background:#fff;font-family:Roboto,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}img{display:block;max-width:100%;height:auto}.project-detail-wrapper{width:100%;overflow-x:hidden;background:#fff}.section{padding:var(--space-12) var(--page-pad-x)}.container{max-width:var(--max-w);margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.eyebrow{font-family:Bebas Neue,sans-serif;letter-spacing:.5px;font-size:clamp(1rem,.9rem + .5vw,1.125rem);color:#000}.h1{font-family:Bebas Neue,sans-serif;font-size:clamp(1.8rem,1.2rem + 3vw,3rem);color:#000;margin:0 0 var(--space-2)}.h2{font-family:Bebas Neue,sans-serif;font-size:clamp(1.4rem,1rem + 2vw,2.2rem);color:#000;margin:0 0 var(--space-2)}.body{font-size:clamp(.98rem,.9rem + .3vw,1.05rem);line-height:1.8;color:#333}.callout-strong{font-weight:700;font-size:clamp(1.05rem,1rem + .6vw,1.25rem);line-height:1.8}.img-contained{border-radius:.5rem;object-fit:contain}.img-cover{border-radius:.5rem;object-fit:cover}.img-bleed{width:100vw;margin-left:calc(-50vw + 50%)}.ratio{position:relative;width:100%}.ratio>img,.ratio>video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.ratio-16x9{padding-top:56.25%}.ratio-4x3{padding-top:75%}.ratio-1x1{padding-top:100%}.meta{position:relative;width:100%}.meta .bg,.bg-image{width:100%;display:block}.meta .overlay,.meta-overlay{position:absolute;top:12%;left:5%;right:50%;display:flex;gap:1rem;flex-wrap:wrap;color:#fff}.meta .group,.meta-group{flex:1;min-width:220px;font-size:.95rem}.meta .group strong,.meta-group strong{font-family:Bebas Neue,sans-serif;font-size:1rem}.meta .mockup,.meta-mockup{position:absolute;top:50%;right:5%;transform:translateY(-50%);width:clamp(240px,28vw,520px);z-index:5}.meta .mockup img,.meta-mockup img{width:100%;height:auto;object-fit:contain}.meta,.meta-section{overflow:visible}.meta--floating{position:relative;padding-bottom:var(--float-depth)}.meta--floating .meta-mockup,.meta--floating .mockup,.meta--floating .mockup-outside{position:absolute;top:auto;bottom:calc(-1 * var(--float-depth));right:5%;transform:none;width:clamp(260px,30vw,600px);z-index:9;pointer-events:none;filter:drop-shadow(0 20px 40px rgba(0,0,0,.25))}@media (max-width: 1024px){.section{padding:var(--space-8) var(--page-pad-x)}.meta .overlay,.meta-overlay{position:static;color:#111;padding:var(--space-2) 0}.meta .mockup,.meta-mockup{position:static;transform:none;margin:var(--space-2) auto 0}.meta--floating{padding-bottom:0}.meta--floating .meta-mockup,.meta--floating .mockup,.meta--floating .mockup-outside{position:static;margin:var(--space-2) auto 0;filter:none}}.split{display:flex;gap:var(--space-6);align-items:flex-start;flex-wrap:wrap}.split>.col{flex:1 1 300px;min-width:280px}.gallery{display:flex;gap:var(--space-2);overflow:hidden}.gallery>img{flex:1 1 0;height:clamp(220px,40vw,480px);object-fit:cover;border-radius:.5rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.1rem}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.overview-section,.problem-section,.research-section,.solution-section,.wireframe-section,.mockup-section,.outcome-section,.reflection-section{padding:var(--space-12) var(--page-pad-x)}:root{--float-up: clamp(140px, 16vh, 280px);--mockup-right: 5%;--mockup-width: clamp(360px, 32vw, 640px)}.meta--float-up{position:relative}.meta--float-up .meta-mockup{position:absolute;top:calc(-1 * var(--float-up));right:var(--mockup-right);bottom:auto;transform:none;width:var(--mockup-width);z-index:9;pointer-events:none;filter:drop-shadow(0 20px 40px rgba(0,0,0,.25))}@media (max-width:1024px){.meta--float-up .meta-mockup{position:static;margin:var(--space-2) auto 0;filter:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:9999;height:var(--nav-h);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;background-color:#fff}.navbar-logo img{width:70px;display:block}.navbar-menu{list-style:none;display:flex;gap:2rem;align-items:center;margin:0}.navbar-menu li{position:relative}.navbar-link{background:none;border:none;color:#000;text-decoration:none;font-family:inherit;font-size:1.4rem;font-weight:700;cursor:pointer;padding:0;transition:transform .2s ease,color .2s ease,text-shadow .2s ease}.navbar-link:focus{outline:none;box-shadow:none}.navbar-link:hover{transform:scale(1.06)}.navbar-link.about:hover{text-shadow:0 0 8px rgba(255,50,50,.7)}.navbar-link.work:hover{text-shadow:0 0 8px rgba(255,105,180,.7)}.navbar-link.about.active{color:#ff4d4d;text-shadow:0 0 8px rgba(255,77,77,.7)}.navbar-link.work.active{color:#ff95cc;text-shadow:0 0 8px rgba(255,149,204,.7)}.hamburger{display:none;position:absolute;right:2rem;top:calc((var(--nav-h) - 18px)/2);width:24px;height:18px;cursor:pointer;z-index:1101;flex-direction:column;justify-content:space-between}.hamburger span{height:3px;background:#000;border-radius:2px;transition:all .3s ease}.hamburger.open span{background:#fff}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 1024px){.hamburger{display:flex}.navbar-menu{position:fixed;top:0;right:0;width:100vw;height:100vh;background:#1b1b1b;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transform:translate(100%);transition:transform .35s ease-in-out,opacity .2s ease;opacity:0;pointer-events:none;z-index:1100}.navbar-menu.open{transform:translate(0);opacity:1;pointer-events:auto}.navbar-link{font-size:1.8rem;color:#fff}}@media (min-width: 1025px){.navbar-menu{position:static;transform:none!important;opacity:1!important;pointer-events:auto;flex-direction:row;background:transparent;height:auto;width:auto;z-index:auto}.navbar-link{font-size:1.4rem;color:#000}}.site-footer{margin-top:clamp(4px,1.2vw,12px);border-top:1px solid var(--edge, #e5e7eb);background:#ffe3e3}.footer-inner{max-width:1200px;margin:0 auto;padding:10px clamp(1rem,3vw,2rem);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,1.5vw,16px)}.footer-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--ink, #1f2a37);letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#ffb9e1,#ff95cc);color:#111;font-size:.8rem;font-weight:800}.brand-name{opacity:.9;font-size:.95rem}.footer-copy{margin:.15rem 0 0;color:var(--ink, #1f2a37);opacity:.55;font-size:.85rem}.footer-nav{display:flex;justify-content:center;gap:clamp(10px,1.8vw,18px)}.footer-link{color:var(--ink, #1f2a37);text-decoration:none;font-weight:700;font-size:.95rem;line-height:1}.footer-link:hover{text-decoration:underline}.footer-social{display:flex;gap:.5rem}.icon-link{display:inline-flex;line-height:0}.icon-link img{width:18px;height:18px;opacity:.9}.icon-link:hover img{opacity:1}@media (max-width: 900px){.footer-inner{grid-template-columns:1fr;justify-items:center;padding:12px clamp(1rem,4vw,1.5rem);text-align:center;gap:8px}.footer-nav,.footer-social{margin-top:2px}}html,body,#root{height:100%}body{margin:0}.page{min-height:100dvh;display:flex;flex-direction:column}.main{flex:1 0 auto}.site-footer{margin-top:0}:root{--nav-h: 72px;--page-down-desktop: 24px;--page-down-tablet: 20px;--page-down-mobile: 16px}*{box-sizing:border-box}html,body{overflow-x:hidden}.home{--right-max: min(46vw, 920px);--col-gap: clamp(28px, 4vw, 88px);width:100vw;max-width:100vw;display:grid;grid-template-columns:minmax(420px,1fr) var(--right-max);column-gap:var(--col-gap);align-items:start;padding:calc(var(--nav-h) + 72px + var(--page-down-desktop)) clamp(16px,6vw,96px) 1.25rem;background:#fff;font-family:Space Grotesk,sans-serif;isolation:isolate}.home-left{display:flex;flex-direction:column;gap:1.6rem;color:#111;max-width:70ch;justify-self:start;position:relative;z-index:2}.home-left p{font-size:clamp(1rem,.6rem + 1.2vw,1.6rem);line-height:1.65;margin:0;word-break:keep-all}.home-left strong{font-weight:700}.resume-button{background-color:#ffb9e1;color:#111;font-weight:700;border:none;border-radius:28px;padding:clamp(14px,1.6vw,18px) clamp(28px,3.6vw,36px);font-size:clamp(1.1rem,.9rem + .6vw,1.35rem);cursor:pointer;width:fit-content;font-family:Space Grotesk,sans-serif;box-shadow:0 2px 10px #ffb9e166;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.resume-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffb9e180;color:red}.resume-button:focus-visible{outline:3px solid #ff4d88;outline-offset:3px}.home-right{display:flex;align-items:flex-start;justify-self:end;position:relative;z-index:1;width:var(--right-max)}.ticket-group{display:flex;flex-direction:column;gap:clamp(.6rem,1.2vw,.9rem);width:100%;max-width:var(--right-max);transform:none!important}@media (max-width: 1100px){.home{grid-template-columns:1fr;row-gap:1.4rem;padding:calc(var(--nav-h) + 56px + var(--page-down-tablet)) clamp(14px,5vw,40px) 1rem}.home-right{justify-self:end;width:min(760px,100%)}.ticket-group{width:min(760px,100%);max-width:100%}}@media (max-width: 768px){.home{padding:calc(var(--nav-h) + 44px + var(--page-down-mobile)) clamp(12px,4.5vw,24px) .75rem}.home-left p{font-size:clamp(.98rem,.82rem + .6vw,1.15rem);line-height:1.55}}:root{--ink: #1f2a37;--ink-soft: #364152;--paper: #ffffff;--edge: #e5e7eb;--pink: #ff95cc;--shadow: 0 10px 30px rgba(16, 24, 40, .08);--r: 18px;--perf-gap: 12px}.bp{display:grid;grid-template-columns:1fr 56px 300px;align-items:stretch;gap:0;width:100%;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.panel{background:var(--paper);border:1px solid var(--edge);position:relative;box-shadow:var(--shadow)}.panel-left{border-right:none;border-top-left-radius:var(--r);border-bottom-left-radius:var(--r)}.panel-right{border-left:none;border-top-right-radius:var(--r);border-bottom-right-radius:var(--r)}.panel-inner{padding:2.2rem 2.4rem;color:var(--ink)}.panel-inner.right{height:100%;display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#ffb9e1,#ff95cc);color:#111;font-size:.9rem;font-weight:800}.brand-name{opacity:.9}.title{margin:.2rem 0 1.2rem;color:#ff4d88;font-size:1.35rem;letter-spacing:.05em}.grid{display:grid;grid-template-columns:140px 1fr;gap:.5rem 1rem;align-items:baseline;margin-bottom:1.5rem}.label{color:var(--ink-soft);font-weight:700}.value{color:var(--ink);word-break:keep-all}.barcode{height:46px;border-radius:8px;background:repeating-linear-gradient(90deg,#111 0 3px,transparent 3px 6px),linear-gradient(#000,#000);opacity:.85}.perf{position:relative;background:var(--paper);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.perf:before{content:"";position:absolute;left:50%;top:14px;bottom:14px;transform:translate(-50%);width:0;border-left:2px dashed var(--pink);opacity:.9}.scissors{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:12px;opacity:.6}.stub-grid{display:grid;grid-template-columns:1fr;gap:1rem}.stub-item{display:grid;grid-template-columns:1fr;gap:.25rem}.stub-label{color:var(--ink-soft);font-weight:700;letter-spacing:.04em}.stub-value{color:var(--ink);font-weight:700}.mono{font-variant-numeric:tabular-nums}.big{font-size:2.2rem;line-height:1;letter-spacing:.04em}.qr{align-self:flex-end;width:112px;height:112px;border-radius:10px;background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(90deg,#111 0 4px,transparent 4px 8px),repeating-linear-gradient(0deg,#111 0 4px,transparent 4px 8px);border:6px solid #111;box-shadow:0 4px 16px #0000000f}.is-tearing .perf{animation:perf-fade .9s ease forwards .1s}.is-tearing .panel-left{animation:tear-left .95s cubic-bezier(.19,.8,.3,1) forwards}.is-tearing .panel-right{animation:tear-right .95s cubic-bezier(.19,.8,.3,1) forwards}@keyframes tear-left{0%{transform:translate(0) rotate(0)}30%{transform:translate(-6px) rotate(-1.2deg)}to{transform:translate(-72px) rotate(-3deg)}}@keyframes tear-right{0%{transform:translate(0) rotate(0)}30%{transform:translate(6px) rotate(1.2deg)}to{transform:translate(92px) rotate(3.2deg)}}@keyframes perf-fade{0%{opacity:1}60%{opacity:.6}to{opacity:0}}.panel:hover{transform:translateY(-2px);transition:transform .2s ease}@media (max-width: 1024px){.bp{grid-template-columns:1fr 48px 260px}.panel-inner{padding:1.8rem 2rem}.big{font-size:1.9rem}.qr{width:96px;height:96px}}@media (max-width: 768px){.bp{grid-template-columns:1fr 40px 200px}.panel-inner{padding:1.4rem 1.6rem}.grid{grid-template-columns:120px 1fr}.big{font-size:1.6rem}.qr{width:84px;height:84px}}.flight-path{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;width:100%}.path-line{flex:1;height:2px;background:repeating-linear-gradient(to right,#ccc,#ccc 8px,transparent 8px,transparent 16px);position:relative;overflow:visible}.plane{position:absolute;top:-18px;left:0;font-size:22px;line-height:1;animation:movePlane 6s linear infinite}@keyframes movePlane{0%{left:0}to{left:95%}}.dot{font-size:1rem;font-weight:700}.start{color:#ff7ec7}.end{color:#555}:root{--gutter: clamp(12px, 1.6vw, 20px);--heroH: clamp(220px, 32vw, 420px);--ink: #0b1220;--accent:#ff4d88}.auto-section{margin-top:clamp(24px,5vw,48px);padding:clamp(6px,1.2vw,12px) 0 clamp(14px,2vw,22px);background:#fff}.auto-container{width:100vw;max-width:100vw;margin-left:50%;transform:translate(-50%)}.auto-slider{position:relative;overflow:hidden;padding-inline:var(--gutter)}.track{display:flex;gap:clamp(12px,1.4vw,16px);list-style:none;margin:0;padding:0;animation:auto-scroll var(--speed, 30s) linear infinite;will-change:transform}@keyframes auto-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.auto-slider:hover .track{animation-play-state:paused}.item{flex:0 0 auto;width:clamp(300px,52vw,820px)}.project-card{display:block;text-decoration:none;color:inherit}.hero{margin:0;position:relative;height:var(--heroH);overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .3s ease,filter .3s ease}.project-card:hover .hero img{transform:scale(1.015)}.project-info{position:absolute;inset:auto 0 0 0;padding:clamp(10px,1.2vw,16px) clamp(12px,1.6vw,18px);background:linear-gradient(180deg,#0000,#00000080,#0009);color:#fff;display:flex;align-items:center;gap:clamp(8px,.8vw,12px)}.pi-view{font-weight:900;letter-spacing:.01em;font-size:clamp(.95rem,.55rem + 1.1vw,1.35rem)}.pi-arrow{width:clamp(28px,3vw,44px);height:2px;background:#fff;position:relative;opacity:.95}.pi-arrow:after{content:"";position:absolute;right:-2px;top:50%;width:7px;height:7px;border-right:2px solid #fff;border-top:2px solid #fff;transform:translateY(-50%) rotate(45deg)}.project-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion: reduce){.track{animation:none}}:root{--nav-h: 72px;--footer-h: 88px}.about-container{background-color:#fff;color:#969696;padding:calc(var(--nav-h) + 16px) 2rem 12px;height:calc(100dvh - var(--footer-h));height:calc(100svh - var(--footer-h));overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;position:relative}.about-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.bg-blob{position:absolute;left:50%;top:16%;width:70vmax;height:70vmax;transform:translate(-50%);background:radial-gradient(40% 40% at 50% 50%,#ffb9e173,#ffb9e126 50%,#ffb9e100 70%);filter:blur(48px);opacity:.55}.plane{position:absolute;width:56px;opacity:.5;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.plane-a{animation:flyA 16s linear infinite}.plane-b{animation:flyB 20s linear infinite;opacity:.38;width:48px}@keyframes flyA{0%{transform:translate(-20vw,24vh) rotate(12deg)}25%{transform:translate(15vw,14vh) rotate(4deg)}50%{transform:translate(45vw,20vh) rotate(0)}75%{transform:translate(80vw,12vh) rotate(-6deg)}to{transform:translate(120vw,26vh) rotate(-10deg)}}@keyframes flyB{0%{transform:translate(120vw,68vh) rotate(192deg)}25%{transform:translate(85vw,58vh) rotate(186deg)}50%{transform:translate(50vw,64vh) rotate(180deg)}75%{transform:translate(15vw,56vh) rotate(174deg)}to{transform:translate(-20vw,70vh) rotate(168deg)}}@media (prefers-reduced-motion: reduce){.plane{display:none}.bg-blob{filter:none;opacity:.18}}.about-left{position:relative;z-index:1;align-self:center;flex:0 0 auto;display:flex;flex-direction:column;gap:1.1rem;justify-content:center;align-items:center}.about-images{display:flex;flex-direction:row;gap:1.25rem;justify-content:center;align-items:center}.about-images img:first-child{transform:rotate(-4deg)}.about-images img:last-child{transform:rotate(3deg)}.about-images img{width:280px;border-radius:16px;object-fit:cover;box-shadow:0 8px 24px #0000001a;transition:transform .3s ease}.about-images img:hover{transform:scale(1.03) rotate(0)}.about-actions{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:center}.about-actions .resume-button{background-color:#ffb9e1;color:#111;font-weight:700;border:none;border-radius:24px;padding:8px 18px;cursor:pointer;font-family:Space Grotesk,sans-serif;transition:transform .2s ease,box-shadow .2s ease}.about-actions .resume-button:hover{transform:translateY(-2px);box-shadow:0 2px 10px #ffb9e166}.about-actions .social-icons{display:flex;align-items:center;gap:10px}.about-actions .social-icons img{width:22px;height:22px;transition:transform .2s ease}.about-actions .social-icons img:hover{transform:scale(1.1)}.about-text{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-width:800px;width:100%;margin:0 auto;padding-right:8px}.about-text::-webkit-scrollbar{width:8px}.about-text::-webkit-scrollbar-thumb{background:#0000002e;border-radius:8px}.about-text::-webkit-scrollbar-track{background:transparent}.about-text h1{font-size:2.3rem;color:#000;margin-bottom:1.5rem;line-height:1.4;font-family:Space Grotesk,sans-serif}.about-text h3{color:#000;font-size:1.1rem;margin-top:2.2rem;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-family:Noto Sans,sans-serif}.about-text p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;font-family:Noto Sans,sans-serif}@media (max-width: 1024px){.about-container{padding:calc(var(--nav-h) + 24px) 1.5rem 12px;gap:1.25rem}.about-images img{width:240px}}@media (max-width: 768px){.about-container{padding:calc(var(--nav-h) + 20px) 1.25rem 10px}.about-images{flex-direction:column;gap:.75rem}.about-images img{width:160px}.about-text{max-width:640px;min-height:50vh}}@media (min-width: 1280px){.about-images img{width:320px}}@media (max-height: 900px) and (min-width: 769px){.about-container{padding:calc(var(--nav-h) + 8px) 1.5rem 8px;gap:.5rem}.about-images img{width:240px}.about-actions .resume-button{padding:7px 16px}.about-actions .social-icons img{width:20px;height:20px}}@media (max-height: 780px) and (min-width: 769px){.about-container{padding:calc(var(--nav-h) + 4px) 1.25rem 6px;gap:.4rem}.about-images{gap:.75rem}.about-images img{width:210px}}.work-page{--grid-max: min(1600px, 94vw);--grid-gap: clamp(1.5rem, 2.2vw, 3rem);--thumb-ratio: 16 / 9;--title-min: 1.12rem;--title-fluid: .6vw;--title-max: 1.35rem;--text-min: .95rem;--text-fluid: .3vw;--text-max: 1.05rem;padding:clamp(4rem,6vw,8rem) clamp(1.5rem,4vw,5rem);background:#fff;font-family:Space Grotesk,sans-serif}.work-page .project-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);max-width:var(--grid-max);margin:0 auto}.work-page .project-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:transparent!important;border:none!important;box-shadow:none!important;transition:transform .22s ease;cursor:pointer}.work-page .project-card:hover{transform:translateY(-4px)}.work-page .project-card:focus{outline:2px solid #111;outline-offset:3px}.work-page .project-card:before,.work-page .project-card:after{content:none!important}.work-page .thumb-wrap{width:100%;aspect-ratio:var(--thumb-ratio);background:#f6f6f6;overflow:hidden}.work-page .thumb-wrap img{width:100%;height:100%!important;display:block;object-fit:cover;object-position:center}.work-page .project-info{position:static!important;inset:auto!important;background:transparent!important;padding:1.1rem 0 .25rem;z-index:auto!important;display:grid!important;grid-template-columns:1fr;row-gap:.35rem;align-items:start}.work-page .project-info h4,.work-page .project-info p{margin:0;white-space:normal!important}.work-page .project-info h4{font-weight:700;color:#111;letter-spacing:.1px;font-size:clamp(var(--title-min),calc(.9rem + var(--title-fluid)),var(--title-max))}.work-page .project-info p{color:#9a9a9a;line-height:1.6;font-size:clamp(var(--text-min),calc(.85rem + var(--text-fluid)),var(--text-max))}@media (max-width: 1024px){.work-page{padding:4rem 2rem}.work-page .project-section{grid-template-columns:1fr 1fr;gap:2rem;max-width:min(1100px,96vw)}}@media (max-width: 768px){.work-page{padding:3rem 1.5rem}.work-page .project-section{grid-template-columns:1fr;max-width:720px}}@media (min-width: 1800px){.work-page .project-section{max-width:1760px}}:root{--page-pad-x: clamp(16px, 5vw, 64px);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--nav-h: 72px;--content-rail: 1100px}.section-block{padding:var(--space-12) var(--page-pad-x);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.section-block>p,.section-block>ul,.section-block>ol,.section-block>.split,.section-block>.problem-image,.section-block>.research-image-row,.section-block>.solution-image-row,.section-block>.wireframe-grid{max-width:var(--content-rail);width:100%;margin-left:auto;margin-right:auto}.section-block>p{max-width:min(820px,var(--content-rail))}.section-block h4{font-family:Bebas Neue,cursive;font-size:clamp(1.8rem,1.2rem + 2.7vw,2.6rem);color:#000;margin:0 0 1rem}.section-block p,.section-block li{font-size:clamp(1.06rem,.98rem + .5vw,1.24rem);line-height:1.9;color:#333}.section-block h4+*{margin-top:.25rem}.callout{font-size:clamp(1.25rem,1.05rem + .9vw,1.55rem);font-weight:700;line-height:1.45;max-width:min(880px,var(--content-rail));margin-left:auto;margin-right:auto}.split{display:flex;gap:clamp(16px,2.5vw,32px);align-items:flex-start;margin-top:var(--space-3)}.col{flex:1 1 0;min-width:280px}.eyebrow{text-transform:uppercase;letter-spacing:.04em;font-weight:800;font-size:.9rem;color:#111}.section-block ul{padding-left:1.1rem}.section-block li{margin:.35rem 0}.meta-section{position:relative;width:100%;overflow:visible}.powerpause-page .meta-section.meta--composite{margin-top:clamp(80px,12vh,160px)}.meta--composite .bg-image{width:100%;display:block}.meta-overlay{position:absolute;top:12%;left:5%;right:50%;display:none}.problem-image{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.problem-image img{width:clamp(380px,40vw,520px);height:clamp(240px,26vw,320px);object-fit:cover;border-radius:8px}.research-image-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.research-image-row>*{flex:1 1 320px;max-width:520px}.research-image-row img{width:100%;height:auto;max-height:400px;object-fit:contain;border-radius:8px}.solution-image-row{max-width:min(1600px,95vw);width:100%;margin:var(--space-2) auto 0;display:flex;gap:clamp(16px,2vw,28px);justify-content:center;align-items:flex-start;padding-left:0;flex-wrap:nowrap}.solution-image-row img{width:clamp(320px,26vw,460px);height:auto;object-fit:contain;border-radius:8px}.wireframe-grid{display:grid;gap:.1rem;justify-items:center;grid-template-columns:repeat(4,1fr)}.wireframe-grid img{width:100%;height:auto;object-fit:contain;border-radius:12px}.outcomes-section,.outcome-section,.reflection-section{padding:var(--space-12) var(--page-pad-x)}.outcomes-section h4,.outcome-section h4,.reflection-section h4{font-family:Bebas Neue,cursive;font-size:clamp(1.8rem,1.2rem + 2.7vw,2.6rem);margin:0 0 1rem}.outcomes-section>*,.outcome-section>*,.reflection-section>*{max-width:var(--content-rail);width:100%;margin-left:auto;margin-right:auto}@media (max-width:1200px){.solution-image-row{flex-wrap:wrap;padding-left:0}.solution-image-row img{width:clamp(260px,40vw,360px)}}@media (max-width:1024px){:root{--content-rail: 960px}.wireframe-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--content-rail: 92vw}html{scroll-behavior:smooth}.meta-section,.section-block{scroll-margin-top:calc(var(--nav-h, 72px) + 24px)}.project-detail-wrapper{padding-bottom:clamp(60px,10vh,140px)}.wireframe-grid{grid-template-columns:1fr}}:root{--nav-h: 72px}html{scroll-behavior:smooth}.meta-section,.section-block{scroll-margin-top:calc(var(--nav-h) + 24px)}.project-detail-wrapper{padding-bottom:160px}.project-detail-wrapper{width:100%;background:#fff;overflow-x:hidden}.findmypark-page .research-stack{max-width:min(1300px,96vw);margin:var(--space-3) auto 0;display:grid;grid-template-columns:1fr;row-gap:clamp(20px,3vw,40px)}.findmypark-page .research-figure{display:flex;justify-content:center;align-items:flex-start}.findmypark-page .research-figure img{width:100%;max-width:1200px;height:auto;display:block;border-radius:12px}.findmypark-page .research-figure--journey img{max-width:1400px}.findmypark-page .solution-rows{max-width:min(1400px,95vw);margin:var(--space-2) auto 0;display:flex;flex-direction:column;gap:clamp(16px,2vw,28px)}.findmypark-page .solution-row{display:flex;justify-content:center;align-items:stretch;gap:clamp(16px,2vw,28px);flex-wrap:wrap}.findmypark-page .solution-row img{width:clamp(300px,28vw,420px);height:clamp(220px,22vw,300px);object-fit:cover;border-radius:12px;display:block}.findmypark-page .wireframe-section .wireframe-grid{display:flex;justify-content:center;align-items:center;gap:0}.findmypark-page .wireframe-section .wireframe-grid img{width:100%;max-width:min(1200px,92vw);height:auto;border-radius:12px}@media (max-width:1024px){.findmypark-page .solution-row img{width:clamp(260px,42vw,360px);height:clamp(200px,30vw,260px)}.findmypark-page .research-figure img,.findmypark-page .research-figure--journey img{max-width:96vw}}@media (max-width:768px){.findmypark-page .solution-row img{width:94vw;height:auto}.findmypark-page .wireframe-section .wireframe-grid img{max-width:96vw}}.project-nav-container{position:fixed;bottom:0;width:100%;display:flex;justify-content:space-between;padding:1rem 2rem;background-color:#fff;border-top:1px solid #eee;z-index:100}.nav-button{background:none;border:none;font-size:1rem;font-weight:700;color:#000;cursor:pointer;transition:transform .2s ease}.nav-button:hover{transform:translateY(-2px)}.nav-button:focus{outline:none;box-shadow:none}.simple-side-nav{z-index:20;transition:opacity .25s ease}.simple-side-nav.hide{opacity:0;pointer-events:none}.simple-side-nav.show{opacity:1;pointer-events:auto}.simple-side-nav ul{list-style:none;margin:0;padding:0}.simple-side-nav.right,.simple-side-nav.left{position:fixed;top:calc(var(--nav-h, 72px) + 24px);max-height:calc(100vh - var(--nav-h, 72px) - 48px);overflow:auto}.simple-side-nav.right{right:clamp(8px,4vw,40px)}.simple-side-nav.left{left:clamp(8px,4vw,40px)}.simple-side-nav.right ul,.simple-side-nav.left ul{display:flex;flex-direction:column;gap:18px}.simple-side-nav a{font-weight:700;text-decoration:none;color:#222;opacity:.65}.simple-side-nav a.active{color:#ff8ec4;opacity:1}.simple-side-nav.inline{position:sticky;top:calc(var(--nav-h, 72px) + 16px);width:min(820px,var(--content-rail, 820px));margin:0 auto 1.2rem;padding:.25rem 0;transform:none}.simple-side-nav.inline ul{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.simple-side-nav.inline a{font-size:clamp(22px,2.4vw,32px);line-height:1.1;font-weight:700;text-decoration:none;color:#222;opacity:.7}.simple-side-nav.inline a.active{color:#ff8ec4;opacity:1}@media (max-width: 720px){.simple-side-nav.inline ul{flex-direction:row;gap:10px;overflow-x:auto;padding-bottom:6px}.simple-side-nav.inline a{font-size:15px;padding:8px 12px;border-radius:999px;background:#f7f7f9;white-space:nowrap}.simple-side-nav.inline a.active{background:#ffe9f4}}.homerst-page{overflow-x:hidden}.homerst-page #problem.section-block{padding:var(--space-12) var(--page-pad-x)}.homerst-page #problem .problem-image{max-width:min(1400px,95vw);width:100%;margin:var(--space-2) auto 0;display:flex;justify-content:center;align-items:center;gap:clamp(16px,2vw,28px);flex-wrap:wrap}.homerst-page #problem .problem-image img{width:clamp(420px,42vw,560px);height:clamp(260px,30vw,360px);object-fit:cover;border-radius:12px;display:block}.homerst-page .solution-section .solution-image-row{max-width:min(1400px,95vw);width:100%;margin:var(--space-2) auto 0;padding-left:0;display:flex;justify-content:center;align-items:flex-start;gap:clamp(16px,2vw,28px);flex-wrap:wrap}.homerst-page .solution-section .solution-image-row img{width:clamp(300px,28vw,420px);height:clamp(220px,22vw,300px);object-fit:cover;border-radius:12px;display:block}.mockup-section .overview-text-container{max-width:960px;padding:var(--space-2) var(--space-2);margin-left:var(--page-pad-x);margin-right:auto;text-align:left}.mockup-section .overview-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.6rem,1.1rem + 2.5vw,2.4rem);color:#000;margin-bottom:1rem}.mockup-section .overview-description{font-size:clamp(.98rem,.9rem + .3vw,1.05rem);line-height:1.8;color:#333;max-width:650px}.mockup-group{max-width:min(1400px,95vw);margin:var(--space-4) auto 0;display:flex;justify-content:center;align-items:flex-start;gap:clamp(20px,3vw,40px);flex-wrap:wrap}.mockup-column{display:flex;flex-direction:column;align-items:center;text-align:center}.mockup-image{display:block;border-radius:12px;height:auto}.mockup-image.large{width:clamp(320px,26vw,420px)}.mockup-image.mobile.large{width:clamp(180px,18vw,260px)}.mockup-caption{margin-top:.75rem;font-size:1.02rem;line-height:1.45;color:#444;max-width:420px}.prototype-section{padding:var(--space-12) var(--page-pad-x)}.prototype-section .overview-text-container{max-width:960px;margin-left:var(--page-pad-x);margin-right:auto;text-align:left;padding:var(--space-2) var(--space-2)}.prototype-section .overview-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.6rem,1.1rem + 2.5vw,2.4rem);color:#000;margin-bottom:1rem}.prototype-section .overview-description{font-size:clamp(.98rem,.9rem + .3vw,1.05rem);line-height:1.8;color:#333;max-width:650px}.prototype-video-wrapper{width:100%;display:flex;justify-content:center;margin-top:var(--space-6)}.prototype-video{width:min(1100px,96vw);border-radius:16px;background:#000;box-shadow:0 18px 50px #00000047;display:block;outline:none}.homerst-page .problem-section>p,.homerst-page .research-section>p,.homerst-page .solution-section>p,.homerst-page .outcomes-section>p,.homerst-page .reflection-section>p{max-width:min(820px,var(--content-rail));width:100%;margin-left:auto;margin-right:auto}.homerst-page .mockup-section .overview-text-container,.homerst-page .prototype-section .overview-text-container{max-width:min(820px,var(--content-rail));margin-left:auto!important;margin-right:auto!important;text-align:left}@media (max-width:1024px){.homerst-page .solution-section .solution-image-row img{width:clamp(260px,42vw,360px);height:clamp(200px,30vw,260px)}.homerst-page #problem .problem-image img{width:clamp(320px,46vw,520px);height:auto}}@media (max-width:768px){.mockup-image.large{width:92vw}.mockup-image.mobile.large{width:50vw;max-width:320px}.prototype-video,.homerst-page #problem .problem-image img{width:96vw}}.gd-page{overflow-x:hidden}.gd-page .gd-banner{width:100%;max-width:min(1100px,96vw);margin:var(--space-6) auto 0}.gd-page .gd-banner img{width:100%;height:auto;display:block;border-radius:16px}.gd-page .problem-section>p,.gd-page .branding-section>p,.gd-page .outcomes-section>p,.gd-page .reflection-section>p{max-width:min(820px,var(--content-rail));width:100%;margin-left:auto;margin-right:auto}.gd-page .problem-section>.split,.gd-page .branding-section>.branding-image-row,.gd-page .outcomes-section>.split{max-width:var(--content-rail);width:100%;margin-left:auto;margin-right:auto}.branding-image-row{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,22px);justify-content:center}.branding-image-row img{width:clamp(320px,44vw,540px);height:auto;border-radius:12px;display:block;object-fit:cover}.gd-page #outcomes .auto-section{margin-top:var(--space-4);padding:0}.gd-page #outcomes .auto-container{width:100vw!important;max-width:none!important;margin-left:50%!important;transform:translate(-50%)!important}.gd-page #outcomes .auto-slider{--speed: 26s;padding-inline:0;overflow:hidden}.gd-page #outcomes .auto-slider .track{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:clamp(16px,2vw,28px)}.gd-page #outcomes .item{flex:0 0 auto;display:inline-flex;width:clamp(300px,45vw,720px)}.gd-page #outcomes .hero{height:clamp(240px,38vw,560px);border-radius:12px;overflow:hidden;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:#fff}.gd-page #outcomes .hero img,.gd-page #outcomes .hero picture,.gd-page #outcomes .hero picture img,.gd-page #outcomes .hero source{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}.gd-page #outcomes .gd-auto-wrap .track{animation-play-state:paused}.gd-page #outcomes .gd-auto-wrap.is-live .track{animation-play-state:running}.gd-page #outcomes .project-info{display:none!important}.gd-page #outcomes .project-card{pointer-events:none}.gd-page #outcomes .auto-slider:hover .track{animation-play-state:running!important}@media (max-width: 640px){.gd-page #outcomes .item{width:clamp(240px,80vw,520px)}.gd-page #outcomes .hero{height:clamp(200px,46vw,420px)}}.gd-page .branding-section .problem-image img{height:auto;max-height:clamp(220px,34vw,460px);object-fit:contain;display:block}.project-detail-wrapper .content-zoom{padding-right:calc(var(--side-nav-w, 260px) + 32px)}.project-detail-wrapper .zoom-inner{--zoom: .94;transform:scale(var(--zoom));width:calc(100% / var(--zoom));transform-origin:top center;will-change:transform}@media (min-width: 1280px){.project-detail-wrapper .zoom-inner{--zoom: .92}}@media (min-width: 1600px){.project-detail-wrapper .zoom-inner{--zoom: .88}}@media (max-width: 1024px){.project-detail-wrapper .content-zoom{padding-right:0}.project-detail-wrapper .zoom-inner{--zoom: 1}}.simple-side-nav{z-index:30}:root{--side-nav-w: 260px}
