@import url(https://fonts.googleapis.com/css2?family=Chivo:ital,wght@0,100..900;1,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Libre+Franklin:ital,wght@0,100..900;1,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap);:root{--primary-color:#0091e7;--primary-text-color:#212121;--primary-font:"Archivo";--secondary-font:"Libre Franklin";--navbar-height:76px}html{overflow-x:hidden;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;a{color:#212121;color:var(--primary-text-color);text-decoration:none;&:visited{color:#212121;color:var(--primary-text-color)}}.halfOpacity{opacity:50%}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(180deg,#f7fcff,#fff9fe 50%,#fffdf7);background:var(--Page-Bg,linear-gradient(180deg,#f7fcff 0,#fff9fe 50%,#fffdf7 100%));color:#212121;padding-bottom:40px;padding-left:40px;padding-right:40px;text-align:left;h1{font-family:Libre Franklin;font-size:8vw;font-weight:700;text-transform:capitalize}p{font-size:20px;font-weight:400;letter-spacing:1px;line-height:30px}.subheader,p{font-family:var(--secondary-font);font-style:normal}.subheader{font-size:40px;font-weight:700;letter-spacing:0;line-height:normal}.skillsBadges{font-size:14px;font-style:normal;font-weight:400;letter-spacing:.7px;line-height:normal}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:920px){h1{font-size:60px!important}.subheader{font-size:30px!important;line-height:normal!important}p{font-size:15px!important;line-height:25px!important}.skillsBadges{font-size:11px!important;font-style:normal!important}.introDesc{width:370px!important;width:100%!important}}@media (max-width:400px){h1{font-size:50px!important}.subheader{font-size:20px!important;line-height:normal!important}p{font-size:12px!important;line-height:20px!important}.introDesc{width:100%!important}#skillsAndExpertise,.aboutDesc,.aboutIntro{padding:0 6vw!important}}#homePage{align-items:center;display:flex;justify-content:center;padding-bottom:40px;width:100%;h1{color:#fff6ca}#asterisk{border-bottom:1px dotted #fff6ca;display:inline;font-size:2.5vw;font-weight:100;line-height:inherit}#heroSection{align-items:flex-start;color:#fff6ca;display:flex;height:100vh;justify-content:center;overflow:hidden;padding-top:calc(var(--navbar-height) + 20px);position:sticky;top:0;width:100vw;z-index:1;.heroGradientCanvas{border-radius:30px;height:80vh;isolation:isolate;left:50%;pointer-events:none;position:absolute;top:50%;translate:-50% -50%;width:calc(100vw - 80px);z-index:-1}.heroContent{align-items:center;box-sizing:border-box;display:flex;justify-content:center;max-width:calc(100vw - 80px);padding:0 clamp(16px,4vw,60px);position:relative;width:100%;z-index:1;a{opacity:0!important}#scrollToProjects a,.contactIcons a{opacity:1!important}}.intro{max-width:100%;overflow-wrap:break-word;width:70vw;word-break:break-word;#hiAndName{gap:40px;.name{font-family:Playfair Display}}#name{overflow-wrap:break-word;word-break:break-word}.introDesc{max-width:100%;width:580px}}.scrollIndicatorWrapper{z-index:2}}#projects{-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:#ffffff03;border-radius:30px;box-sizing:border-box;padding-left:40px;padding-right:40px;padding-top:40px;position:relative;width:100vw;z-index:2}.contactIconsBox{width:fit-content}}@media (max-width:920px){#homePage #heroSection{padding-top:100px;.heroGradientCanvas{height:100vh;width:calc(100vw - 40px)}.heroContent{max-width:calc(100vw - 40px)}.intro{width:85vw}}.introDesc{max-width:100%!important;width:370px!important}}@media (max-width:600px){#homePage{margin-top:calc(var(--navbar-height)*-1)}#homePage #heroSection{height:100vh;padding-top:0;width:100vw;.heroGradientCanvas{border-radius:0;height:100vh;left:0;top:0;translate:none;width:100vw}.heroContent{box-sizing:border-box;height:100%;max-width:100%;padding:0 24px;width:100%}.intro{width:90vw;.introDesc{width:100%!important}}}}@media (max-width:400px){#homePage #heroSection{.heroGradientCanvas{border-radius:16px}.intro{width:95vw}}.introDesc{width:100%!important}}.projectCard{align-items:center;align-items:stretch;background-color:#e2e5eaa7!important;border-radius:30px;display:flex;flex-direction:column;gap:6.25vw;height:fit-content;justify-content:center;width:100%;.imageGrid{align-items:stretch;border-radius:30px;display:flex;height:43.75vw;overflow:hidden;.image{height:auto;height:100%!important;object-fit:contain;width:100%}.hovering{transform:scale(1.03);z-index:1}}.imageGrid1{background:linear-gradient(0deg,#c7e3f7,#fbf9ff 50%,#ffecc7)}.imageGrid2{background:linear-gradient(180deg,#e0fde7,#fbf6ee 50%,#ffd9e9)}.imageGrid3{background:linear-gradient(180deg,#d7e1fd,#fbf9ff 50%,#edd6ff)}.imageGrid4{background:linear-gradient(180deg,#e1ffd2,#fbfdef 50%,#fcddbe)}.imageGrid5{background:linear-gradient(180deg,#ffd2d2,#fdeff9 50%,#c5daf4)}.text{align-items:flex-start;align-self:stretch;display:flex;flex:1 0;flex-direction:column;gap:2.5vw;justify-content:center;padding:.625vw 5vw;.projectTitle{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:1.25vw;justify-content:flex-end;padding:.625vw 0;text-align:left;.number{color:#21212180;color:color(display-p3 .1303 .1303 .1303/.5)}}.projectDescription{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:2.5vw;justify-content:flex-end;padding:.625vw 0;text-align:left;.skills{gap:.625vw}.buttons,.skills{display:flex;flex-wrap:wrap}.buttons{gap:1.25vw}}}}.hovering{background:rgba(0,0,0,.035);cursor:pointer}@media (max-width:700px){.projectCard .imageGrid{order:1}.projectCard .text{order:2;padding:5vw!important}.imageGrid1,.imageGrid2{height:80vw!important}}.contactIcons{align-items:center;align-self:center;display:flex;gap:60px;justify-content:center;width:fit-content;.icon{color:#fff6ca;height:25px;transition:.3s;width:25px;&:hover{color:var(--primary-color);transform:scale(1.1)}}@media (max-width:920px){gap:30px;.icon{height:20px;width:20px}}}.aboutPage{align-items:center;display:block;gap:9.375vw;justify-content:center;padding-bottom:2.5vw;padding-top:2.5vw;text-align:left;width:100%;.aboutIntro{align-items:center;display:flex;flex-direction:row;gap:10vw;justify-content:center;padding:0 12.5vw;img{align-items:flex-start;border-radius:30px;display:flex;flex:1 0;flex-direction:column;gap:.625vw;height:419px}@media (max-width:920px){flex-direction:column;text-align:center;.aboutBlurb{align-items:center}img{height:auto;width:100%}}}.aboutDesc{align-items:center;justify-content:center;padding:0 18.75vw}#skillsAndExpertise,.aboutDesc{align-self:stretch;display:flex;flex-direction:column;gap:5vw}#skillsAndExpertise{align-items:stretch;padding:0 12.5vw;text-align:left;.skillsBlurb{gap:20px}.skills{align-items:stretch;flex-wrap:wrap;gap:3.75vw}}.photographySection{text-align:center;.photographyBlurb{margin-bottom:20px}.photos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;overflow-x:auto;img{max-height:300px;object-fit:cover}}}}.skill-mosaic-card{background:linear-gradient(180deg,#f2f5ff,#fdfaff 50%,#f9f0fc);border-radius:30px;display:flex;flex:1 1;flex-direction:column;gap:1.5vw;padding:2.5vw 3.75vw}.skill-mosaic-title{font-size:.85rem}.skill-mosaic-grid{grid-gap:10px;display:grid;gap:10px;grid-auto-flow:dense;grid-auto-rows:78px;grid-template-columns:repeat(3,1fr);width:100%}.skill-tile{align-items:center;background:#ffffffb8;border-radius:16px;cursor:default;display:flex;justify-content:center;overflow:hidden;position:relative;transition:transform .22s ease,box-shadow .22s ease}.skill-tile:hover{box-shadow:0 8px 22px #50287829;transform:scale(1.06);z-index:2}.skill-tile--large{grid-column:span 2;grid-row:span 2}.skill-tile--medium{grid-column:span 2;grid-row:span 1}.skill-tile--small{grid-column:span 1;grid-row:span 1}.skill-tile img{background-color:initial!important;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.skill-tile--large img,.skill-tile--medium img,.skill-tile--small img{height:100%;width:100%}.skill-overlay{align-items:center;background:#26143cd1;border-radius:16px;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .22s ease}.skill-overlay__label{color:#fff;font-family:Libre Franklin;font-weight:600;letter-spacing:.01em;padding:4px 8px;text-align:center}.skill-tile--large .skill-overlay__label{font-size:.9rem}.skill-tile--medium .skill-overlay__label{font-size:.78rem}.skill-tile--small .skill-overlay__label{font-size:.68rem}.skill-tile:hover .skill-overlay{opacity:1}@media (max-width:900px){.skill-mosaic-card{gap:3vw;padding:4vw 5vw}.skill-tile--large img{height:48px;width:48px}.skill-tile--medium img{height:34px;width:34px}.skill-tile--small img{height:26px;width:26px}}@media (max-width:520px){.skill-mosaic-card{padding:5vw 6vw}.skill-mosaic-grid{gap:8px;grid-auto-rows:64px}.skill-overlay,.skill-tile{border-radius:12px}.skill-tile--large img{height:38px;width:38px}.skill-tile--medium img{height:28px;width:28px}.skill-tile--small img{height:22px;width:22px}.skill-tile--large .skill-overlay__label{font-size:.72rem}.skill-tile--medium .skill-overlay__label{font-size:.64rem}.skill-tile--small .skill-overlay__label{font-size:.58rem}}.caseStudyPage{--cs-accent:#0091e7;--cs-accent-bg:#e8f3fc;display:flex;justify-content:center;padding-bottom:4vw;.csLayout{margin:6vw auto 0;max-width:1200px;width:100%}.csHero{margin:0 auto 6vw;max-width:900px;text-align:left;transition:max-width .55s cubic-bezier(.4,0,.2,1);width:100%}.csHeroExpanded{max-width:1200px}.csHeroText{max-width:900px;width:100%}.csHighlight{color:var(--cs-accent)}.csPersonaImageContainer{align-items:center;background:linear-gradient(0deg,#d0d0d036,#d0d0d016);border-radius:30px;display:flex;justify-content:center}.csPersonaImage{width:90%}.csPersonaIconWrap{align-items:center;aspect-ratio:1;background:#0000000f;border-radius:30px;display:flex;justify-content:center;max-width:200px;width:100%}.csPersonaIcon{font-size:clamp(64px,10vw,96px);line-height:1}.csMediaBlock{display:flex;flex-direction:column;gap:.75rem}.csHeroMedia{border-radius:30px;overflow:hidden;width:100%}.csHeroVideo{display:block;height:auto;width:100%}.csOverviewVideo{display:flex;flex-direction:column;gap:.75rem;margin-top:.5vw}.csVideoLabel{font-size:.8rem!important;letter-spacing:.1em;opacity:.45;text-transform:uppercase}.csOverviewVideoEmbed{aspect-ratio:16/9;border-radius:18px;overflow:hidden;width:100%}.csOverviewVideoEmbed iframe{border:none;display:block;height:100%;width:100%}.csToc{align-items:flex-start;display:flex;flex-direction:column;gap:.5vw;position:sticky;top:100px}.csTocTitle{letter-spacing:.08em;margin-bottom:.75vw;text-transform:uppercase}.csTocList{display:flex;flex-direction:column}.csTocLink{color:#6b6b6b;font-family:var(--secondary-font);font-size:.875rem;font-weight:400;line-height:1.6;padding:.1rem 0 .1rem .85rem;position:relative;text-decoration:none;transition:color .2s ease}.csTocLink:before{background:var(--cs-accent);border-radius:2px;content:"";height:.85em;left:0;opacity:0;position:absolute;top:50%;transform:translateY(-50%) scaleY(0);transition:transform .22s cubic-bezier(.25,.46,.45,.94),opacity .22s ease;width:2px}.csTocLink.active,.csTocLink:hover{color:var(--cs-accent)}.csTocLink.active{font-weight:500}.csTocLink.active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.csSection{display:flex;flex-direction:column;gap:1.25vw;max-width:52rem;text-align:left}.csSection+.csSection{margin-top:7.8vw}.csPersona{max-width:none}.csPersonaLayout{flex-direction:row;gap:10vw;margin-top:2.5vw}.csPersonaLayout,.csPersonaLeft{align-items:flex-start;display:flex}.csPersonaLeft{flex:1 1 40%;flex-direction:column;gap:2vw;text-align:left}.csPersonaName{font-family:var(--secondary-font);font-size:1.5rem;font-weight:700}.csPersonaSynopsisRows{display:flex;flex-direction:column;gap:1vw;width:100%}.csPersonaSynopsisRow{grid-gap:.75rem;align-items:flex-start;display:grid;gap:.75rem;grid-template-columns:1.5rem 1fr}.csPersonaSynopsisIcon{font-size:1rem;line-height:1.5}.csPersonaSynopsis{text-align:left}.csPersonaRight{flex:1 1 50%;gap:5vw}.csPersonaBlock,.csPersonaRight{display:flex;flex-direction:column}.csPersonaBlock{gap:1.25vw}.csPersonaBlockTitle{font-family:var(--secondary-font);font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:.25rem}.csPersonaList{width:100%}.csPersonaListItem{border-radius:24px;padding:1.25vw 1.75vw;transition:transform .18s ease}.csPersonaListItem:hover{transform:translateY(-1px)}.goals{background-color:var(--cs-accent-bg)}.painPoints{background-color:#ffbf001c}.csHowHelpsIntro{margin-bottom:2vw;margin-top:.5vw;opacity:.7}.csHelpsList{margin-top:.5vw}.csHelpsItem{align-items:flex-start;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--cs-accent-bg);border-radius:18px;display:flex;flex-direction:row;gap:1.75vw;padding:1.5vw 2vw;transition:box-shadow .2s ease,transform .2s ease}.csHelpsItem:hover{box-shadow:0 12px 40px #0050b41c,0 4px 10px #0000000d,inset 0 1px 0 #ffffffd9;transform:translateY(-2px)}.csHelpsTitle{color:var(--primary-text-color);flex:0 0 220px;font-size:.95rem;font-weight:700;line-height:1.4}.csHelpsDesc{flex:1 1;font-size:.9rem;line-height:1.65;opacity:.8}.csDiagramContext{display:flex;flex-direction:column;gap:1.25vw}.csDiagramLegend{display:flex;flex-direction:column;gap:.5rem}.csDiagramLegendItem{align-items:center;display:flex;gap:.6rem}.csDiagramLegendDot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.csDiagramThumb{border-radius:16px;cursor:pointer;margin-left:0;max-width:100%;overflow:hidden;position:relative;width:140%}.csDiagramThumb:focus-visible{outline:2px solid var(--cs-accent);outline-offset:3px}.csDiagramImg{display:block;height:auto;transition:filter .25s ease,transform .3s ease;width:100%}.csDiagramThumb:hover .csDiagramImg{filter:brightness(.88);transform:scale(1.015)}.csDiagramHint{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border-radius:999px;bottom:12px;color:#fff;opacity:0;padding:.35rem .75rem;pointer-events:none;position:absolute;right:14px;transition:opacity .2s ease}.csDiagramHint p{color:#fff!important}.csDiagramThumb:hover .csDiagramHint{opacity:1}.csLightboxOverlay{align-items:center;animation:csFadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000d1;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:2vw;position:fixed;z-index:1300}@keyframes csFadeIn{0%{opacity:0}to{opacity:1}}.csLightboxContent{align-items:center;cursor:default;display:flex;justify-content:center;max-height:90vh;max-width:min(92vw,1400px);position:relative}.csLightboxImgWrap{border-radius:16px;box-shadow:0 24px 64px #00000080;cursor:zoom-in;line-height:0;max-height:88vh;max-width:100%;overflow:hidden}.csLightboxImgWrap.zoomed{cursor:zoom-out}.csLightboxImg{-webkit-user-drag:none;border-radius:16px;display:block;height:auto;max-height:88vh;object-fit:contain;transition:transform .25s ease;-webkit-user-select:none;user-select:none;width:100%;will-change:transform}.csLightboxImg.zoomed{transform:scale(2.5)}.csLightboxClose{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;position:absolute;right:-14px;top:-14px;transition:background .2s ease;width:36px;z-index:1}.csLightboxClose:hover{background:#ffffff4d}.csMockups{border:.5px solid #212121;border-radius:30px;overflow:hidden}.csMockups img{display:block;height:auto;width:100%}.csMockupsFigma{aspect-ratio:9/16;display:flex;max-height:80vh;width:100%}.csFigmaEmbed{border:none;display:block;height:100%;width:100%}.csHifiGalleryBlock{display:flex;flex-direction:column;gap:.75rem;margin-top:.5vw}.csHifiGallery{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.csHifiGalleryItem{border-radius:12px;cursor:pointer;overflow:hidden;position:relative}.csHifiGalleryItem:nth-child(3n+1){grid-column:span 2}.csHifiGalleryItem img{display:block;height:auto;transition:transform .3s ease,filter .3s ease;width:100%}.csHifiGalleryItem:hover img{filter:brightness(.88);transform:scale(1.03)}.csHifiGalleryItem:focus-visible{outline:2px solid var(--cs-accent);outline-offset:3px}.csGalleryLightbox{align-items:center;display:flex;gap:1rem;position:relative}.csGalleryNav{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:26px;height:44px;justify-content:center;line-height:1;transition:background .2s ease;width:44px;z-index:1}.csGalleryNav:hover{background:#ffffff4d}.csGalleryCounter{bottom:-2rem;color:#fff9;font-family:var(--secondary-font);font-size:.8rem;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.csChallengesList{margin-top:2vw}.csChallengeItem{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--cs-accent-bg);border-radius:24px;padding:1.75vw 2.25vw;text-align:left;transition:box-shadow .2s ease,transform .2s ease}.csChallengeItem:hover{box-shadow:0 10px 36px #0050b41a,0 3px 8px #0000000a;transform:translateY(-2px)}.csChallengeLabel{font-weight:600;margin-bottom:.5rem}.csFutureGrid{grid-gap:2vw;display:grid;gap:2vw;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2vw;text-align:left}.csFutureItem{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--cs-accent-bg);border-radius:24px;padding:1.75vw 2.25vw;transition:box-shadow .2s ease,transform .2s ease}.csFutureItem:hover{box-shadow:0 10px 36px #0050b41a,0 3px 8px #0000000a;transform:translateY(-2px)}.csFutureNumber{font-weight:700;margin-bottom:.75rem}}@media (max-width:920px){.caseStudyPage{padding-bottom:6vw;padding-top:6vw;.csHero{margin-bottom:8vw;max-width:100%}.csToc{margin-bottom:4vw;position:static}.csToc,.csTocList{flex-direction:column}.csTocList{gap:1vw}.csSection+.csSection{margin-top:10.4vw}.csFutureGrid{grid-template-columns:1fr}.csPersonaLayout{align-items:stretch;flex-direction:column;gap:6vw}.csPersonaLeft{flex:none;max-width:100%}.csPersonaIconWrap{max-width:160px}.csPersonaRight{flex:none;gap:6vw}.csHelpsItem{flex-direction:column;gap:2vw;padding:4vw 5vw}.csHelpsTitle{flex:none}.csHifiGallery{grid-template-columns:1fr}.csHifiGalleryItem:nth-child(3n+1){grid-column:span 1}.csDiagramThumb{margin-left:0;width:100%}}}@media (max-width:480px){.caseStudyPage{.csToc{display:none}}}#navbar{align-items:center;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:#f1f9ff44;border-radius:0 0 30px 30px;box-sizing:border-box;display:flex;height:var(--navbar-height);justify-content:space-between;padding:1.25vw;position:sticky;top:0!important;z-index:3;.navLogo{color:#212121;color:color(display-p3 .1303 .1303 .1303);font-family:Libre Franklin;font-size:32px;font-style:normal;font-weight:700;line-height:normal}.navLink{border-radius:30px;margin-left:2rem;padding:.5rem 1rem;transition:background-color .3s ease;a{cursor:pointer;font-size:16px!important;opacity:50%;text-decoration:none;transition:color .3s ease,opacity .3s ease;&:visited{opacity:50%}}&:hover a{color:var(--primary-color);opacity:1}&.active{a,a:visited{color:var(--primary-color);opacity:1}}}}#footer{align-items:center;display:flex;justify-content:space-between;padding:20px;position:sticky;top:0!important;.footerLogo{font-style:normal}.footerDesc,.footerLogo{color:#212121;color:color(display-p3 .1303 .1303 .1303);font-family:Libre Franklin;font-size:32px;font-weight:700;line-height:normal;text-align:left}.footerDesc{font-style:italic}.footerLink{margin-left:2rem;a{cursor:pointer;font-size:16px!important;opacity:50%;text-decoration:none;&:visited{opacity:50%}}}}
/*# sourceMappingURL=main.06d930a6.css.map*/