.mobile-header{display:none}@media (max-width: 639px){.mobile-header{display:block;position:absolute;top:0;left:0;right:0;z-index:10;padding:var(--space-6) 72px var(--space-4) var(--space-6)}.mobile-header__link{display:flex;flex-direction:column;gap:var(--space-1);text-decoration:none}.mobile-header__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1.2}.mobile-header__tagline{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--color-text-muted);letter-spacing:-.02em;line-height:1.2}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-4) 0;background:transparent}.navbar__container{display:flex;align-items:center;justify-content:center}.navbar__header-desktop{display:none}@media (min-width: 640px){.navbar__container.container{max-width:calc(var(--max-width) * 2)}.navbar__container{justify-content:space-between;align-items:center}.navbar__header-desktop{display:block;flex-shrink:0;overflow:hidden}.navbar__header-desktop .mobile-header__link{display:inline-flex;flex-direction:row;align-items:baseline;gap:var(--space-2);text-decoration:none;white-space:nowrap}.navbar__header-desktop .mobile-header__name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1.1}.navbar__header-desktop .mobile-header__tagline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;color:var(--color-text-muted);letter-spacing:-.02em;line-height:1.1}}.navbar__glass-container{display:block}@media (min-width: 640px){.navbar__glass-container{padding:var(--space-2);border-radius:var(--radius-full);background:#23232399;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0003}:root[data-theme=light] .navbar__glass-container{background:#fafafab3}}.navbar__links{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.navbar__link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);height:40px;padding:0 var(--space-4);display:flex;align-items:center;border-radius:var(--radius-full);background:#232323;border:1px solid rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent}.navbar__link:active{color:var(--color-text-secondary)}@media (hover: hover){.navbar__link:hover{color:var(--color-text-primary);background:#2d2d2d}}.navbar__link--active{background:var(--color-text-primary);border-color:transparent;color:var(--color-bg)}.navbar__link--active:active{color:var(--color-bg)}:root[data-theme=light] .navbar__link{background:#f0f0f0;border-color:#0000000f}@media (hover: hover){:root[data-theme=light] .navbar__link:hover{background:#e6e6e6}}:root[data-theme=light] .navbar__link--active{background:var(--color-text-primary);border-color:transparent;color:var(--color-bg)}.navbar__theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-secondary);border-radius:var(--radius-full);flex-shrink:0;background:#232323;border:1px solid rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent}.navbar__theme-toggle:active{color:var(--color-text-secondary)}@media (hover: hover){.navbar__theme-toggle:hover{color:var(--color-text-primary);background:#2d2d2d}}:root[data-theme=light] .navbar__theme-toggle{background:#f0f0f0;border-color:#0000000f}@media (hover: hover){:root[data-theme=light] .navbar__theme-toggle:hover{background:#e6e6e6}}.mobile-nav{display:none}@media (max-width: 639px){.navbar{display:none}.mobile-nav{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.mobile-nav__bar{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;align-items:center;pointer-events:auto}.mobile-nav__button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);-webkit-tap-highlight-color:transparent}.mobile-nav__button svg{width:20px;height:20px}.mobile-nav__button:active{color:var(--color-text-primary)}.mobile-nav__popover{position:absolute;top:calc(100% + var(--space-2));right:0;width:max-content;max-width:calc(100vw - var(--space-8));padding:var(--space-2);padding-right:var(--space-5);background:rgb(var(--color-bg-rgb));border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000047;opacity:0;visibility:hidden;transform:scale(.96) translateY(-4px);transform-origin:top right;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s linear .15s;pointer-events:none}:root[data-theme=light] .mobile-nav__popover{box-shadow:0 12px 32px #0000001f}.mobile-nav__popover--open{opacity:1;visibility:visible;transform:none;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s;pointer-events:auto}.mobile-nav__links{display:flex;flex-direction:column}.mobile-nav__link{display:flex;align-items:center;min-height:44px;padding:0 var(--space-3);padding-right:var(--space-4);font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent}.mobile-nav__link--active{color:var(--color-text-primary);background:var(--color-bg-elevated)}.mobile-nav__footer{display:flex;justify-content:flex-start;margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--color-border)}.mobile-nav__theme{display:flex;align-items:center;justify-content:center;width:44px;height:36px;flex-shrink:0;color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent}.mobile-nav__theme:active{color:var(--color-text-primary);background:var(--color-bg-elevated)}.mobile-nav__theme svg{width:18px;height:18px}}.hero{min-height:auto;padding-top:120px;padding-bottom:120px;border-bottom:1px solid var(--color-border)}@media (max-width: 639px){.hero{padding-top:calc(120px + var(--space-3));padding-bottom:var(--space-20)}}@media (min-width: 768px){.hero{padding-block:clamp(96px,12dvh,180px);margin:0;padding-left:var(--space-8);padding-right:var(--space-8)}}.hero__container{position:relative;display:flex;justify-content:flex-start;align-items:flex-start}@media (min-width: 768px){.hero__container.container{max-width:calc(var(--max-width) * 2)}}.hero__content-wrapper{width:100%}.hero__content{max-width:560px}@media (min-width: 768px){.hero__content{max-width:100%}}.hero__lockup{display:flex;flex-direction:column;gap:var(--space-6);--hero-lockup-prose: #b8bcc4}:root[data-theme=light] .hero__lockup{--hero-lockup-prose: #3a3e46}@media (max-width: 639px){.hero__lockup{gap:calc(var(--space-12) + var(--space-2))}}.hero__lockup-text{display:flex;flex-direction:column}.hero__lockup .hero__headline{color:var(--color-text-primary)}.hero__lockup .hero__intro{color:var(--hero-lockup-prose);margin-bottom:var(--space-4)}@media (min-width: 768px){.hero__lockup .hero__intro{margin-bottom:var(--space-5)}}.hero__photo{order:-1;margin-bottom:0;width:100%;overflow:hidden;border-radius:var(--radius-lg)}.hero__photo-img{width:100%;height:auto;display:block;object-fit:cover}@media (min-width: 768px){.hero__lockup{flex-direction:row;align-items:stretch;justify-content:space-between;width:100%;gap:var(--space-12)}.hero__lockup-text{flex:0 1 auto;min-width:0;max-width:28rem;justify-content:center}.hero__photo{order:0;flex-shrink:0;width:auto;max-width:400px;margin-left:auto}}.hero__headline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;font-style:normal;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:-.01em}@media (min-width: 768px){.hero__headline{font-size:var(--text-3xl);line-height:1.2;margin-bottom:var(--space-5)}}.hero__intro{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:var(--space-6)}@media (min-width: 768px){.hero__intro{font-size:var(--text-3xl);line-height:1.2;margin-bottom:var(--space-8)}}@media (max-width: 639px){.hero__headline,.hero__intro{font-size:var(--text-lg)}.hero__intro{line-height:1.4}}.hero__about-link{display:inline-block;font-family:var(--font-display);font-size:var(--text-sm);font-weight:400;line-height:1.5;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-border);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.hero__lockup .hero__about-link{color:#8a8e96;text-decoration-color:#8a8e9659}:root[data-theme=light] .hero__lockup .hero__about-link{color:#7a7e86;text-decoration-color:#7a7e8666}.hero__about-link:hover{color:var(--color-text-secondary);text-decoration-color:var(--color-text-secondary)}.hero__lockup .hero__about-link:hover{color:var(--hero-lockup-prose);text-decoration-color:var(--hero-lockup-prose)}.hero__about-link:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px;border-radius:2px}.hero__links{font-size:var(--text-base);line-height:1.75;color:var(--color-text-secondary);margin-bottom:0}@media (min-width: 768px){.hero__links{font-size:var(--text-lg);line-height:1.8}}.hero__link{font-size:inherit;color:var(--color-text-secondary);background:none;border:none;padding:0;cursor:pointer;transition:color var(--transition-fast);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-border)}.hero__link:hover{color:var(--color-text-primary);text-decoration-color:var(--color-text-primary)}.work{padding-top:120px;padding-bottom:var(--space-4);--work-lede-color: #b8bcc4}@media (max-width: 639px){.work{padding-top:var(--space-20)}}@media (min-width: 768px){.work{padding-top:clamp(96px,12dvh,180px)}}:root[data-theme=light] .work{--work-lede-color: #3a3e46}@media (min-width: 768px){.work__container.container{max-width:calc(var(--max-width) * 2)}}.work__lede{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;font-style:normal;line-height:1.2;letter-spacing:-.01em;text-transform:none;color:var(--work-lede-color);max-width:28ch;margin:0 0 var(--space-12)}@media (max-width: 639px){.work__lede{font-size:var(--text-lg)}}@media (min-width: 768px){.work__lede{font-size:var(--text-3xl);line-height:1.2;max-width:32ch;margin-bottom:var(--space-16)}}.work__project{margin-bottom:var(--space-32);padding-bottom:var(--space-16);position:relative}.work__project:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--color-border)}.work__project:last-child:after{display:none}.work__project:last-child{margin-bottom:0;border-bottom:none}.work__images{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-16);margin-bottom:var(--space-8)}@media (min-width: 768px){.work__images{gap:calc(var(--space-12) * 6)}}.work__thumbnail{width:100%;border-radius:var(--radius-lg);overflow:hidden}@media (max-width: 767px){.work__thumbnail{cursor:pointer;-webkit-tap-highlight-color:rgba(255,255,255,.1)}}.work__thumbnail-placeholder{width:80px;height:80px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600}.work__thumbnail-image{width:100%;height:auto;object-fit:contain;border-radius:var(--radius-lg)}:root[data-theme=dark] .work__thumbnail-image{border:1px solid rgba(255,255,255,.15)}:root[data-theme=light] .work__thumbnail-image{border:1px solid var(--color-border)}.work__images--tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8);width:100%;max-width:none}.work__images--tile-pair{display:flex;flex-direction:column;gap:var(--space-6);width:100%}.work__images--tile-pair .work__thumbnail{width:100%}@media (min-width: 768px){.work__images--tile-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.work__images--tile-pair .work__thumbnail{width:100%;min-width:0}}.work__images .work__tile-pair{display:flex;flex-direction:column;gap:var(--space-6);width:100%}@media (min-width: 768px){.work__images .work__tile-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.work__images .work__tile-pair .work__thumbnail{width:100%;min-width:0}}.work__thumbnail--tile{aspect-ratio:unset;width:100%;height:auto;display:flex;flex-direction:column;align-items:center}.work__thumbnail--tile .work__thumbnail-image{width:100%;height:auto;object-fit:contain}.work__thumbnail--tile .work__media-wrapper{width:100%}.work__thumbnail--full{grid-column:1 / -1;width:100%;max-width:none}.work__thumbnail--full .work__media-wrapper{background-color:var(--color-bg-card);padding:var(--space-8);display:flex;justify-content:center;align-items:center;box-shadow:none}:root[data-theme=light] .work__thumbnail--full .work__media-wrapper{background-color:var(--color-bg-elevated)}.work__thumbnail--full .work__thumbnail-image{max-height:700px;width:auto;height:auto;object-fit:contain}video.work__thumbnail-image{display:block}.work__media-wrapper{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #00000014,0 4px 16px #0000000f}:root[data-theme=dark] .work__media-wrapper{box-shadow:0 2px 8px #0000004d,0 4px 16px #0003;border:1px solid rgba(255,255,255,.15)}:root[data-theme=light] .work__media-wrapper{border:1px solid var(--color-border)}.work__media-caption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;line-height:1.4}@media (min-width: 768px){.work__images--tiles{gap:calc(var(--space-20) * 6)}}.work__project-content{display:flex;flex-direction:column;gap:var(--space-4)}.work__project-lockup{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-4)}@media (min-width: 768px){.work__project-lockup{margin-bottom:calc(var(--space-4) * 4)}}.work__lockup-left{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-6);flex-shrink:0}.work__company-logo{width:57.6px;height:57.6px;object-fit:contain;border-radius:var(--radius-md);flex-shrink:0}.work__company-logo--bordered{border:1px solid var(--color-border)}.work__lockup-text{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted)}.work__company-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary);line-height:1.2;margin:0}.work__lockup-role{font-size:var(--text-xl);color:var(--color-text-muted);line-height:1.2}.work__lockup-right{flex:1}.work__lockup-right:has(.work__password-form){display:flex;flex-direction:column;align-items:flex-end}@media (min-width: 768px){.work__lockup-right{width:50%;flex:none;margin-left:auto}}.work__project-description{font-size:var(--text-base);line-height:1.7;color:var(--color-text-secondary);margin:0}.work__collaborators{font-size:calc(2 * var(--text-xs) * 2 / 3);color:var(--color-text-muted);line-height:1.4;margin-top:calc(var(--space-1) / 2);opacity:.7}@media (min-width: 768px){.work__lockup-right .work__collaborators{margin-top:var(--space-4)}}@media (max-width: 767px){.work__lockup-right .work__collaborators{margin-top:var(--space-6)}}.work__collaborator-link{color:var(--color-text-muted);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.work__collaborator-link:hover{color:var(--color-text-secondary)}.work__collaborator-name{color:var(--color-text-muted)}.work__project-meta{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.work__role,.work__services{display:flex;flex-direction:column;gap:var(--space-1)}.work__role-label,.work__services-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.work__role-text,.work__services-list{font-size:var(--text-base);color:var(--color-text-secondary)}.work__lockup-right .work__project-link{display:inline-block;margin-top:var(--space-4)}.work__project-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px;transition:opacity var(--transition-fast);align-self:flex-start}.work__project-link:hover{opacity:.7;color:var(--color-text-primary)}@media (max-width: 767px){.work__project{margin-bottom:var(--space-24)}.work__project-lockup{flex-direction:column;gap:var(--space-6)}.work__lockup-left{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.work__company-logo{width:48px;height:48px}.work__company-name,.work__lockup-role{font-size:var(--text-lg)}.work__lockup-right{width:100%}.work__lockup-right:has(.work__password-form){align-items:stretch}.work__thumbnail-placeholder{width:60px;height:60px;font-size:var(--text-2xl)}.work__password-form{max-width:none;width:100%}}.work__protected-note{margin-bottom:var(--space-3)}.work__password-form{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:320px}.work__password-label{font-size:var(--text-sm);color:var(--color-text-muted)}.work__password-row{display:flex;gap:var(--space-2);align-items:stretch}.work__password-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit}.work__password-input:focus{outline:2px solid var(--color-text-muted);outline-offset:1px}.work__password-submit{padding:.5rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-text-primary);color:var(--color-bg);font-size:var(--text-sm);font-family:inherit;cursor:pointer;white-space:nowrap}.work__password-submit:disabled,.work__password-submit:disabled:hover{opacity:1;background:var(--color-text-primary);color:var(--color-bg);cursor:not-allowed}.work__password-error{margin:0;font-size:var(--text-sm);color:#c23b22}.image-zoom-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000}.image-zoom-modal{position:relative;max-width:100%;max-height:100vh;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.image-zoom-modal__close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);color:#ffffffe6;background:#00000080;border:1px solid rgba(255,255,255,.1);transition:all var(--transition-fast);cursor:pointer}.image-zoom-modal__close:hover{background:#000000b3;color:#fff}.image-zoom-modal__content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8)}.image-zoom-modal__media{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md)}.image-zoom-modal__caption{margin-top:var(--space-4);color:#fffc;font-size:var(--text-sm);text-align:center;max-width:600px}.wipe{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:ew-resize;background:var(--color-bg-secondary, transparent)}.wipe__image{display:block;width:100%;height:auto;pointer-events:none}.wipe__image--after{position:relative}.wipe__before-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.wipe__image--before{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:left center}.wipe__label{position:absolute;top:var(--space-3);z-index:2;padding:.25rem .5rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:#fff;background:#00000073;border-radius:var(--radius-sm, 4px);pointer-events:none}.wipe__label--before{left:var(--space-3)}.wipe__label--after{right:var(--space-3)}.wipe__divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;z-index:3;pointer-events:none}.wipe__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.12);display:grid;place-items:center;box-shadow:0 1px 4px #0000002e}.wipe__handle-arrows{font-size:14px;line-height:1;color:#222}.wipe__range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width: 767px){.wipe__handle{width:36px;height:36px}}.testimonials{padding:var(--space-24) 0;font-family:var(--font-body);border-top:1px solid var(--color-border);--testimonials-lede-color: #b8bcc4}:root[data-theme=light] .testimonials{--testimonials-lede-color: #3a3e46}.testimonials__lede{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;font-style:normal;line-height:1.2;letter-spacing:-.01em;text-transform:none;color:var(--testimonials-lede-color);max-width:28ch;margin:0 0 var(--space-12)}@media (max-width: 639px){.testimonials__lede{font-size:var(--text-lg)}}@media (min-width: 768px){.testimonials__lede{font-size:var(--text-3xl);line-height:1.2;max-width:32ch;margin-bottom:var(--space-16)}}.testimonial{margin-bottom:var(--space-16);padding:0;position:relative;overflow:visible;background:none;border:none;border-radius:0;box-shadow:none}.testimonial:last-child{margin-bottom:0}.testimonial__quote{font-size:var(--text-2xl);font-style:normal;font-family:var(--font-body);font-weight:400;line-height:1.5;color:var(--color-text-primary);margin-bottom:var(--space-8);padding:0;position:relative;z-index:1;text-wrap:pretty}.testimonial__quote:before{content:"“"}.testimonial__quote:after{content:"”"}.testimonial__author{display:flex;align-items:center;gap:var(--space-4);padding-left:0}.testimonial__avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.testimonial__author-info{display:flex;flex-direction:column;gap:var(--space-1)}.testimonial__name{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.testimonial__role{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted)}.testimonials__desktop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}.testimonials__carousel{display:none}@media (min-width: 768px){.testimonials__container.container{max-width:calc(var(--max-width) * 2)}.testimonials__desktop .testimonial{margin-bottom:0;padding:0}.testimonials__desktop .testimonial__quote{font-size:var(--text-xl);line-height:1.45;margin-bottom:var(--space-6);padding:0}.testimonials__desktop .testimonial__author{padding-left:0}}@media (max-width: 767px){.testimonials__desktop{display:none}.testimonials__carousel{display:block;position:relative}.testimonial{margin-bottom:var(--space-8)}.testimonial__quote{font-size:var(--text-xl);padding:0}.testimonial__author{padding-left:0}.testimonials__indicators{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.testimonials__indicator{width:8px;height:8px;border-radius:var(--radius-full);border:none;background-color:#ffffff4d;cursor:pointer;padding:0;transition:background-color var(--transition-fast)}.testimonials__indicator--active{background-color:#fffc}:root[data-theme=light] .testimonials__indicator{background-color:#0003}:root[data-theme=light] .testimonials__indicator--active{background-color:#0009}}.contact{padding:var(--space-24) 0}@media (min-width: 768px){.contact__container.container{max-width:calc(var(--max-width) * 2)}}.contact__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.contact__description{font-size:var(--text-lg);line-height:1.7;color:var(--color-text-secondary);margin-bottom:var(--space-10)}.contact__links{display:flex;align-items:center;gap:var(--space-3)}.contact__link{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-text-primary);color:var(--color-bg);transition:all var(--transition-base)}.contact__link:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003;color:var(--color-bg)}.contact__link svg{width:24px;height:24px}:root[data-theme=light] .contact__link{background:var(--color-text-primary);color:var(--color-bg)}:root[data-theme=light] .contact__link:hover{box-shadow:0 8px 24px #00000026}@media (max-width: 767px){.contact__title{font-size:var(--text-2xl)}.contact__description{font-size:var(--text-base)}}.footer{padding:var(--space-16) 0;border-top:1px solid var(--color-border)}.footer__copyright{font-size:var(--text-sm);color:var(--color-text-muted)}.footer__copyright a{color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer__copyright a:hover{color:var(--color-text-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000}:root[data-theme=light] .modal-backdrop{background:#ffffffb3}.modal{background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);max-width:640px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}:root[data-theme=light] .modal{box-shadow:0 25px 50px -12px #00000026}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal__title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0}.modal__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--color-text-secondary);transition:all var(--transition-fast);background:transparent}.modal__close:hover{background:var(--color-surface);color:var(--color-text-primary)}.modal__content{padding:var(--space-6);overflow-y:auto;flex:1}.modal-faq-item{border-bottom:1px solid var(--color-border)}.modal-faq-item:last-child{border-bottom:none}.modal-faq-item__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;text-align:left;font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);background:transparent;cursor:pointer;transition:color var(--transition-fast)}.modal-faq-item__trigger:hover{color:var(--color-text-secondary)}.modal-faq-item__icon{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0;margin-left:var(--space-4)}.modal-faq-item--open .modal-faq-item__icon{transform:rotate(45deg)}.modal-faq-item__content{overflow:hidden}.modal-faq-item__answer{padding-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.modal-recognition__section{margin-bottom:var(--space-8)}.modal-recognition__section:last-child{margin-bottom:0}.modal-recognition__section-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.modal-recognition__grid{display:grid;gap:var(--space-4)}.modal-recognition__card{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.modal-recognition__card-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.modal-recognition__card-subtitle{font-size:var(--text-xs);color:var(--color-accent);display:block;margin-bottom:var(--space-2)}.modal-recognition__card-description{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.modal-patents__intro{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.modal-patents__group{margin-bottom:var(--space-6)}.modal-patents__group:last-child{margin-bottom:0}.modal-patents__group-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.modal-patent-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);gap:var(--space-4)}.modal-patent-item:last-child{border-bottom:none}.modal-patent-item__info{flex:1}.modal-patent-item__number{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-tertiary);display:block;margin-bottom:var(--space-1)}.modal-patent-item__title{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.4}.modal-patent-item__date{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.modal-patent-item--compact{padding:var(--space-2) 0}.modal-patent-item--compact .modal-patent-item__number{margin-bottom:0}@media (max-width: 639px){.modal-backdrop{padding:var(--space-4);align-items:flex-end}.modal{max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal__header,.modal__content{padding:var(--space-4)}}.about{padding:var(--space-24) 0}.about__approaches{display:flex;flex-direction:column;gap:var(--space-12)}.approach-item{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-6);row-gap:var(--space-2);align-items:start}.approach-number{grid-column:1;grid-row:1;font-size:var(--text-xl);font-weight:400;color:var(--color-text-muted);min-width:48px;line-height:1.7}.approach-title{grid-column:2;grid-row:1;font-size:var(--text-base);font-weight:600;line-height:1.7;color:var(--color-text-primary)}.approach-content{grid-column:2;grid-row:2;margin:0;font-size:var(--text-base);line-height:1.7;color:var(--color-text-secondary)}@media (max-width: 767px){.approach-number{font-size:var(--text-lg);min-width:36px}.approach-item{column-gap:var(--space-4)}}.about-page{padding-top:120px;padding-bottom:var(--space-24)}@media (min-width: 768px){.about-page{padding-block:clamp(96px,10dvh,160px) var(--space-32)}}@media (min-width: 768px){.about-page__container.container{max-width:calc(var(--max-width) * 2)}}.about-page__header{margin-bottom:var(--space-10)}.about-page__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:#9a9ea6;text-wrap:balance;margin-bottom:0}:root[data-theme=light] .about-page__title{color:#6a6e76}@media (min-width: 768px){.about-page__title{font-size:var(--text-3xl)}}.about-page__sections{display:flex;flex-direction:column;gap:var(--space-16)}.about-page__section{width:100%;max-width:none}.about-page__section+.about-page__section{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.about-page__section-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:1.3;letter-spacing:-.01em;color:var(--color-text-primary);text-wrap:balance;margin-bottom:var(--space-4)}.about-page__lead{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;line-height:1.4;letter-spacing:-.01em;color:#b8bcc4;text-wrap:pretty;margin-bottom:0}:root[data-theme=light] .about-page__lead{color:#3a3e46}@media (min-width: 960px){.about-page__lead{font-size:var(--text-xl);line-height:1.35}}.about-page__body{font-size:var(--text-base);line-height:1.7;color:var(--color-text-secondary);text-wrap:pretty;margin-bottom:var(--space-4)}.about-page__body:last-child{margin-bottom:0}.about-page__body--intro{margin-bottom:var(--space-6);max-width:62ch}.about-page__cols{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 768px){.about-page__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-8)}}@media (min-width: 960px){.about-page__cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6) var(--space-8)}}.about-page__timeline{list-style:none;margin:0;padding:0}.about-page__timeline-label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;line-height:1.4;color:var(--color-text-primary);margin-bottom:var(--space-2)}.about-page__timeline-item .about-page__body{font-size:var(--text-sm);line-height:1.65;margin-bottom:0}.about-page__section--approach .about__approaches{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 768px){.about-page__section--approach .about__approaches{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-8)}}@media (min-width: 960px){.about-page__section--approach .about__approaches{grid-template-columns:repeat(3,minmax(0,1fr))}}.about-page__section--approach .approach-item{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);row-gap:var(--space-1);align-items:start}.about-page__section--approach .approach-number{min-width:1.75em;font-size:var(--text-sm);line-height:1.65}.about-page__section--approach .approach-title,.about-page__section--approach .approach-content{font-size:var(--text-sm);line-height:1.65}.about-page__section--awards .modal-recognition__section,.about-page__section--patents .modal-recognition__section{margin-bottom:0}.about-page__section--awards .modal-recognition__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 768px){.about-page__section--awards .modal-recognition__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-8)}}.about-page__section--awards .modal-recognition__card{padding:0;background:transparent;border:none;border-radius:0}.about-page__section--awards .modal-recognition__card-title{font-size:var(--text-base);margin-bottom:var(--space-1)}.about-page__section--awards .modal-recognition__card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.about-page__section--awards .modal-recognition__card-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.about-page__section--patents .modal-patents__group{display:block;margin-bottom:0;max-width:none}.about-page__section--patents .modal-patent-item{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-block:var(--space-4);width:100%}.about-page__section--patents .modal-patent-item__info{flex:1;min-width:0}.about-page__section--patents .modal-patent-item__date{flex-shrink:0;white-space:nowrap}.about-page__back{margin:0 0 var(--space-6)}.about-page__back-link{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-border);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.about-page__back-link:hover{color:var(--color-text-secondary);text-decoration-color:var(--color-text-secondary)}.about-page__back-link:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px;border-radius:2px}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding-top:0}@media (min-width: 640px){main{padding-top:88px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #0e0e0e;--color-bg-rgb: 14, 14, 14;--color-bg-elevated: #141414;--color-bg-card: #181818;--color-text-primary: #f5f5f5;--color-text-secondary: #a0a0a0;--color-text-muted: #666666;--color-accent: #1a1a1a;--color-accent-dark: #000000;--color-accent-hover: #333333;--color-border: #222222;--color-border-hover: #333333;--font-display: "Geist Sans", sans-serif;--font-body: "Geist Sans", sans-serif;--font-mono: "Geist Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--text-6xl: 4.5rem;--text-7xl: 6rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width: 560px;--content-padding: var(--space-6);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}:root[data-theme=light]{--color-bg: #fafafa;--color-bg-rgb: 250, 250, 250;--color-bg-elevated: #ffffff;--color-bg-card: #ffffff;--color-text-primary: #111111;--color-text-secondary: #555555;--color-text-muted: #888888;--color-accent: #111111;--color-accent-dark: #000000;--color-accent-hover: #333333;--color-border: #e5e5e5;--color-border-hover: #d0d0d0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px}:root[data-theme=light] body:before{content:none;display:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--text-xl);font-weight:500}h2{font-size:var(--text-lg);font-weight:500}h3{font-size:var(--text-base);font-weight:500}p{color:var(--color-text-secondary)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}::selection{background:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding)}.section-header{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-12)}section{padding:var(--space-16) 0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
