.heroSection{flex-direction:column;justify-content:center;min-height:100vh;padding-top:6rem;padding-bottom:2rem;display:flex}.heroContainer{max-width:80rem}.themeToggle{color:var(--text);cursor:pointer;background:0 0;border:none;padding:.5rem;transition:opacity .15s;position:fixed;top:3rem;right:3rem}.themeToggle:hover{opacity:.7}.themeToggleIcon{width:1.25rem;height:1.25rem}.heroTitle{letter-spacing:-.02em;color:var(--text);margin-bottom:2rem;font-size:clamp(3rem,12vw,8.5rem);font-weight:900;line-height:.95}.heroSubtitle{letter-spacing:-.02em;color:var(--text);margin-bottom:5rem;font-size:clamp(2.5rem,10vw,6rem);font-weight:900;line-height:.95}.heroDescription{color:var(--text);max-width:64rem;margin-bottom:6rem;font-size:1.75rem;font-weight:500;line-height:1.4}@media (min-width:768px){.heroDescription{font-size:2.25rem}}@media (min-width:1024px){.heroDescription{font-size:2.75rem}}.heroNavigation{flex-direction:column;gap:2rem;font-size:1.5rem;font-weight:500;display:flex}@media (min-width:640px){.heroNavigation{flex-direction:row}}.heroLink{color:var(--text);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:none;text-decoration:none;transition:opacity .15s}.heroLink:hover{opacity:.5}
.heading{color:var(--text)}.projectContainer{padding-top:4rem;padding-bottom:6rem}.projectContent{grid-template-columns:1fr;align-items:start;gap:3rem;display:grid;overflow:visible}@media (min-width:1024px){.projectContent{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:flex-start;gap:4rem}.projectContentReverse{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.projectContentReverse .thumbnailWrapper{order:2;justify-content:flex-end}.projectContentReverse .content{order:1}}@media (max-width:1023px){.projectContent,.projectContentReverse{grid-template-columns:1fr}.thumbnailWrapper,.content{order:0}}.thumbnailWrapper{justify-content:flex-start;align-items:flex-start;width:100%;display:flex;overflow:visible}.thumbnailContainer{cursor:pointer;aspect-ratio:1243/698;width:100%;position:relative;overflow:visible}.thumbnailImageWrapper{z-index:0;position:absolute;inset:0;overflow:visible}.thumbnailImage{object-fit:contain;object-position:left center;image-rendering:auto;will-change:transform;transition:transform .3s}.thumbnailContainer:hover .thumbnailImage{transform:scale(1.05)}.thumbnailImageDark{filter:brightness(1.15)}.gradientOverlay{pointer-events:none;z-index:10;background:linear-gradient(180deg,rgba(var(--bg-rgb),.15)0%,rgba(var(--bg-rgb),.08)20%,rgba(var(--bg-rgb),.04)50%,transparent 100%);transition:background .15s;position:absolute;inset:0}.content{z-index:10;flex-direction:column;min-width:0;max-width:700px;display:flex;position:relative}.title{color:var(--text);letter-spacing:-.025em;padding-bottom:1rem;font-size:clamp(2.25rem,6vw,4.5rem);font-weight:700;line-height:.95}@media (min-width:768px){.title{font-size:clamp(2.5rem,6vw,5rem)}}@media (min-width:1024px){.title{font-size:clamp(3rem,6vw,6rem)}}.subtitle{color:var(--text);margin-bottom:1.5rem;font-size:clamp(1.25rem,4vw,1.6rem);font-weight:400;line-height:1.2}@media (min-width:768px){.subtitle{font-size:clamp(1.5rem,4vw,2rem)}}.description{color:var(--text);margin-bottom:2rem;font-size:clamp(.9rem,2vw,1rem);font-style:italic;font-weight:400;line-height:1.55}.descriptionParagraph{margin-bottom:1rem}.descriptionParagraph:last-child{margin-bottom:0}.keyPoints{margin-top:1.5rem;margin-bottom:1.5rem;padding-left:1.5rem;list-style-type:disc}.keyPoints li{color:var(--text);margin-bottom:.5rem;font-size:clamp(.9rem,2vw,1rem);font-weight:400;line-height:1.4}.keyPoints li:last-child{margin-bottom:0}.keyPoints li strong{font-weight:600}.caseStudyAndTechWrapper{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.5rem;margin-bottom:2rem;display:flex}.caseStudyToggle{color:var(--text);border:1px solid var(--text);cursor:pointer;background:0 0;border-radius:.375rem;flex-shrink:0;padding:.75rem 1.5rem;font-size:clamp(.9rem,2vw,1rem);font-weight:500;transition:all .2s;display:inline-block}.caseStudyToggle:hover{background:var(--text);color:var(--bg);opacity:1}.caseStudyToggle:active{transform:scale(.98)}.techIcons{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.techIcon{position:relative}.techIconWrapper{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--text)}.techIconSvg{width:100%;height:100%;color:inherit}@media (min-width:768px){.techIconWrapper{width:1.75rem;height:1.75rem}}.techIconTooltip{opacity:0;pointer-events:none;white-space:nowrap;z-index:10;color:var(--text);border-radius:.25rem;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.techIcon:hover .techIconTooltip{opacity:1}.techIconText{color:var(--text-muted);font-size:clamp(.875rem,2vw,1rem);font-weight:500}.links{gap:2rem;font-size:1.25rem;font-weight:500;display:flex}.link{color:var(--text);text-underline-offset:4px;align-items:center;gap:.5rem;transition:opacity .15s;display:flex}.link:hover{opacity:.7;text-decoration:underline}.linkIcon{width:1.25rem;height:1.25rem;transition:transform .15s;display:block}.link:hover .linkIcon{transform:scale(1.1)}.modal{z-index:50;cursor:pointer;background-color:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:hidden}.modalContent{width:100%;max-width:80rem;height:100%;max-height:90vh;position:relative}.modalImage{object-fit:contain;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:high-quality}.modalClose{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2.25rem;font-weight:700;transition:opacity .15s;position:absolute;top:1rem;right:1rem}.modalClose:hover{opacity:.7}.caseStudyModal{align-items:flex-start;padding-top:2rem;padding-bottom:2rem}.caseStudyModalContent{background:var(--bg);cursor:default;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border-radius:.5rem;max-width:70rem;height:auto;max-height:90vh;padding:3rem;position:relative;overflow-y:auto}.caseStudyModalContent .modalClose{float:right;z-index:10;background:var(--bg);color:var(--text);opacity:.8;border-radius:.25rem;margin-bottom:1rem;padding:.5rem;position:sticky;top:0;right:0}.caseStudyModalContent .modalClose:hover{opacity:1}.caseStudy{color:var(--text);width:100%}.caseStudyTitle{color:var(--text);margin-top:0;margin-bottom:2rem;padding-right:2rem;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2}.caseStudySection{margin-bottom:2.5rem}.caseStudySection:last-child{margin-bottom:0}.caseStudyHeading{color:var(--text);margin-top:0;margin-bottom:1rem;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.3}.caseStudyContent{color:var(--text);margin-bottom:1rem;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:400;line-height:1.7}.caseStudyBullets{margin-top:1rem;margin-bottom:1rem;padding-left:2rem;list-style-type:disc}.caseStudyBullets li{color:var(--text);margin-bottom:.5rem;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:400;line-height:1.5}.caseStudyBullets li:last-child{margin-bottom:0}.caseStudyContent strong,.caseStudyBullets li strong{font-weight:600}
