.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}:root{--mobile-gutter:clamp(1rem,5vw,1.5rem);--mobile-section-gap:clamp(2.5rem,8vw,4rem);--mobile-display:clamp(2rem,1.25rem + 3.75vw,3rem);--mobile-heading:clamp(1.75rem,1.25rem + 2.5vw,2.5rem);--mobile-lead:clamp(1.125rem,1rem + 0.625vw,1.375rem);--mobile-card-title:clamp(1.125rem,1rem + 0.625vw,1.375rem);--mobile-body:1rem;--mobile-meta:0.875rem;--mobile-label:0.75rem}.project-modal-content-grid>*,.project-modal-header-left,.project-modal-info-card,.project-modal-platform-item>span,.project-modal-title,.project-nav-project-info{min-width:0;overflow-wrap:anywhere}.project-modal-header{gap:1rem;flex-shrink:0}.project-modal-close{flex:0 0 auto;min-width:44px;min-height:44px}.project-modal-body{min-height:0}.project-modal-footer-nav{flex-shrink:0}.project-modal-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content){min-width:0;max-width:100%;overflow-wrap:anywhere}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) :is(p,h1,h2,h3,h4,h5,h6,div,blockquote,ul,ol,figure){max-inline-size:100%;min-inline-size:0;overflow-wrap:anywhere}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) p+p{margin-top:1em}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) :is(img,video,iframe,embed){max-width:100%;height:auto}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) iframe{width:100%;aspect-ratio:16/9;border:0}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) pre{max-width:100%;overflow-x:auto;white-space:pre}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) table{display:block;max-width:100%;overflow-x:auto}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) :is(ul,ol){-webkit-padding-start:1.4em;padding-inline-start:1.4em}:is(.project-modal-overview-text,.project-modal-section-content,.blog-content) blockquote{margin-inline:0;padding-inline:1em}@media (min-width:1024px){.project-modal{width:90vw;max-width:1400px;height:90vh;max-height:90vh;height:90dvh;max-height:90dvh}.project-modal-overview-text,.project-modal-section-content{font-size:clamp(19px,1.3vw,20px)}.project-modal-detail-section,.project-modal-overview-text{max-width:760px}}.recommendations-section,.testimonials-viewport{overflow:visible}.testimonials-viewport{touch-action:pan-y pinch-zoom}.testimonials-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;transform:none;will-change:auto}.testimonial-card{height:auto;min-height:0;max-height:none}.testimonial-name,.testimonial-organization,.testimonial-role{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.testimonial-category{max-width:100%;overflow-wrap:anywhere}.testimonial-reading{min-width:0;margin-block:1.25rem}.testimonial-quote{--quote-lines:5;margin:0;-webkit-line-clamp:var(--quote-lines);overflow-wrap:anywhere}.testimonial-quote.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset;animation:recommendation-expand .18s ease}.testimonial-expand{display:inline-flex;align-items:center;min-height:44px;padding:.25rem 0;border:0;background:none;color:var(--accent-text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.testimonial-footer{margin-top:0;flex-wrap:wrap}.testimonial-social-link{min-height:44px;overflow-wrap:anywhere}.testimonials-controls{display:flex;justify-content:center;margin-top:1rem}.testimonials-indicators{align-items:center;flex-wrap:wrap;gap:0;margin:0;min-width:0}.testimonial-indicator{display:grid;place-items:center;width:28px;height:44px;border-radius:6px;background:transparent}.testimonial-indicator:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--theme-text-muted);opacity:.5}.testimonial-indicator[aria-current=true]:after{background:var(--accent-text);transform:scale(1.3);opacity:1}.testimonial-expand:focus-visible,.testimonial-indicator:focus-visible,.testimonials-nav:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}@keyframes recommendation-expand{0%{opacity:.65}to{opacity:1}}@media (max-width:1023px){.testimonials-track{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonials-track>:nth-child(n+3){display:none}.testimonials-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-gap:.25rem;gap:.25rem;align-items:center}.testimonials-nav,.testimonials-nav:hover:not(:disabled){position:static;transform:none;width:44px;height:44px}}@media (max-width:767px){:root{--navbar-height:3.25rem}.testimonials-nav{padding:0;font-size:2rem;line-height:1}.section{padding-block:var(--mobile-section-gap);padding-left:max(var(--mobile-gutter),env(safe-area-inset-left));padding-right:max(var(--mobile-gutter),env(safe-area-inset-right))}.hero-content,.recommendations-container,.section-container,main{min-width:0;max-width:100%}.recommendations-title,.section-title{font-size:var(--mobile-heading);overflow-wrap:anywhere}.section-subtitle{font-size:var(--mobile-lead)}.work-card-title{font-size:clamp(1.5rem,1.25rem + 1vw,1.75rem);min-width:0;overflow-wrap:anywhere}.testimonial-card,.work-card{padding:var(--mobile-gutter)}.work-card-header-row{align-items:flex-start}.filter-btn,.work-filter,.work-focus-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}.recommendations-header,.section-header{margin-bottom:2rem}.recommendations-section{min-height:0}.testimonials-track{grid-template-columns:minmax(0,1fr);gap:0}.testimonials-track>:nth-child(n+2){display:none}.testimonial-card{min-height:0}.testimonial-person{gap:.875rem;align-items:center}.testimonial-avatar{flex:0 0 52px;width:52px;height:52px}.testimonial-name{font-size:var(--mobile-card-title)}.testimonial-role{font-size:var(--mobile-meta)}.testimonial-organization{font-size:var(--mobile-label)}.testimonial-meta{margin-top:1rem}.testimonial-quote{--quote-lines:4;font-size:var(--mobile-body);line-height:1.65}.testimonial-reading{margin-block:1rem .5rem}.project-modal-overlay[open]{display:block;overflow-y:auto!important;overscroll-behavior:contain;height:100dvh!important;min-height:0!important;max-height:100dvh!important;min-width:0!important;width:100%!important;max-width:100%!important}.project-modal{width:100%;max-width:100%;height:auto;min-height:100%;max-height:none;border:0;border-radius:0;overflow:visible;padding-bottom:env(safe-area-inset-bottom)}.project-modal-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;grid-gap:1rem;gap:1rem;padding:max(1rem,env(safe-area-inset-top)) max(var(--mobile-gutter),env(safe-area-inset-right)) 1.25rem max(var(--mobile-gutter),env(safe-area-inset-left))}.project-modal-header-left{display:grid;grid-gap:.75rem;gap:.75rem}.project-modal-num{font-size:1.25rem;opacity:.65}.project-modal-title{font-size:var(--mobile-display);line-height:1.12}.project-modal-close{width:44px;height:44px;margin:0}.project-modal-body{flex:none;overflow:visible;gap:1.75rem;padding:1.25rem max(var(--mobile-gutter),env(safe-area-inset-right)) 0 max(var(--mobile-gutter),env(safe-area-inset-left))}.project-modal-headline{font-size:clamp(1.5rem,1.3rem + .8vw,1.75rem);line-height:1.35;margin:0}.project-modal-content-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.project-modal-left-col{gap:1.75rem}.project-modal-overview-text,.project-modal-section-content{font-size:var(--mobile-body);line-height:1.7}.project-modal-section-title{font-size:clamp(1.375rem,1.2rem + .6vw,1.6rem)}.project-modal-section-label{font-size:var(--mobile-label)}.project-modal-info-card{padding:1.25rem}.project-modal-footer-nav{display:grid;grid-template-columns:minmax(0,1fr);width:auto;margin:2rem var(--mobile-gutter) 1.5rem;padding-top:1rem;grid-gap:.75rem;gap:.75rem}.project-modal-footer-nav-btn{width:100%;max-width:100%;min-height:44px;padding:.75rem 1rem;gap:.75rem}.project-nav-title{font-size:var(--mobile-meta)}.project-nav-label{font-size:.6875rem}}@media (max-width:359px){.testimonial-quote{--quote-lines:3}.testimonial-indicator{width:24px}}@media (prefers-reduced-motion:reduce){.testimonial-quote.is-expanded{animation:none}}