@charset "UTF-8";:root{--grey-100: #ffffff;--grey-200: #f7f9f9;--grey-300: #eff3f4;--grey-400: #cfd9de;--grey-500: #8b98a5;--grey-600: #536471;--grey-700: #38444d;--grey-800: #1e2732;--grey-900: #0f1419;--twitter-blue: #1d9bf0;--twitter-blue-hover: #1a8cd8}:root{--max-width-container: 960px;--width-container: 70vw;--border-radius: 1em;--body-margin-bottom: 5em;--figure-gap: .5em;--figure-margin: 1em;--caption-margin: 1em;--list-margin-bottom: .5em;--base-font-size: 15px;--base-font-size-tablet: 14px;--base-font-size-mobile: 13.5px;--h1-size: 2.4em;--h2-size: 1.95em;--h3-size: 1.55em;--h4-size: 1.3em;--h5-size: 1.1em;--h6-size: 1em;--p-size: 1.25em;--text-size: 1.12em;--block-quote-size: 1.25em;--h1-size-mobile: 2em;--h2-size-mobile: 1.9em;--h3-size-mobile: 1.75em;--h4-size-mobile: 1.2em;--h5-size-mobile: 1.05em;--h6-size-mobile: .95em;--p-size-mobile: 1.1em;--text-size-mobile: 1em;--block-quote-size-mobile: 1.1em;--heading-line-height: 122%;--heading-letter-spacing: -.01em;--heading-margin: .35em;--text-letter-spacing: 0em;--paragraph-line-height: 155%;--list-line-height: 150%}:root{--bg-color: #ffffff;--bg-color-high: var(--grey-200);--border-color: var(--grey-300);--project-card-border: var(--grey-300);--primary-text: var(--grey-900);--secondary-text: var(--grey-600);--tertiary-text: var(--grey-600);--highlight-color: var(--twitter-blue);--highlight-color-light: var(--twitter-blue-hover);--highlight-color-high: var(--twitter-blue-hover);--button-color: var(--twitter-blue);--button-color-hover: var(--twitter-blue-hover);--logo-filter: none}[data-theme=dark]{--bg-color: #15202b;--bg-color-high: #1e2732;--border-color: var(--grey-700);--project-card-border: var(--grey-700);--primary-text: #ffffff;--secondary-text: var(--grey-500);--tertiary-text: var(--grey-500);--highlight-color: var(--twitter-blue);--highlight-color-light: var(--twitter-blue-hover);--highlight-color-high: #ffffff;--button-color: var(--twitter-blue);--button-color-hover: var(--twitter-blue-hover);--logo-filter: brightness(0) invert(1)}.app-shell{display:grid;grid-template-columns:260px minmax(0,960px) 300px;column-gap:2.5em;justify-content:center;align-items:start;max-width:1680px;margin:0 auto}@media(max-width:1280px){.app-shell{grid-template-columns:260px minmax(0,960px)}.app-shell .sidebar-right{display:none}}@media(max-width:800px){.app-shell{display:block}.app-shell .sidebar-right{display:none}}.app-center{grid-column:2;min-width:0;border:1px solid var(--border-color);border-width:0 1px 0 1px;width:100%}@media screen and (max-width:768px){.app-center{border-width:0px}}.sidebar-nav{grid-column:1}.sidebar-right{grid-column:3}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;box-sizing:border-box}html{overflow-x:hidden}body{margin:0;position:relative;font-size:var(--base-font-size);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}main{width:100vw;height:-webkit-fill-available;position:absolute;z-index:-1;top:0}main canvas{width:100%;height:100%}h1,h2,h3,h4,h5,h6{margin:var(--heading-margin) 0;line-height:var(--heading-line-height);letter-spacing:var(--heading-letter-spacing)}h1,h3{color:var(--primary-text)}h1{font-size:var(--h1-size);font-weight:800}h2{font-size:var(--h2-size);color:var(--primary-text);letter-spacing:-.01em;font-weight:800;margin-top:1em}h3{font-size:var(--h3-size);font-weight:700}h4{font-size:var(--h4-size);font-weight:700;letter-spacing:0;color:var(--primary-text)}h5,h6{font-size:var(--h6-size);font-weight:700;text-transform:none;line-height:125%;color:var(--secondary-text)}h5{font-family:inherit;font-size:var(--h5-size)}p,li{font-size:var(--p-size);color:var(--secondary-text);letter-spacing:var(--text-letter-spacing);margin:var(--paragraph-margin) 0}p{font-weight:400;line-height:var(--paragraph-line-height)}li{font-weight:400;margin-bottom:var(--list-margin-bottom);line-height:var(--list-line-height)}li li{font-size:1em}li p{font-size:1em;margin:0}details{display:flex;flex-direction:column;padding:.75em;border-radius:.5em;margin:1em 0;border:1px solid var(--border-color);background:var(--bg-color-high)}details :hover{cursor:pointer}details[open]{background:var(--bg-color);gap:.6em}details summary{color:var(--primary-text);font-size:var(--text-size);font-weight:500}details p,details ul,details ol{margin-left:1em 0 1em 0}strong{font-weight:550;color:var(--secondary-text)}figure{width:--webkit-fill-available;height:auto;display:flex;flex-direction:column;align-items:center;padding:0;margin:var(--figure-margin) 0;gap:var(--figure-gap)}figure img{width:140%;height:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);object-fit:cover}figure figcaption,figure caption{color:var(--tertiary-text);font-weight:450;font-size:var(--base-font-size);text-align:center;margin-bottom:var(--caption-margin)}.length-m{max-width:35ch}.length-s{max-width:30ch}a{text-decoration:none}blockquote{font-size:var(--block-quote-size)}canvas{display:block}@media(max-width:1024px){:root{--width-container: -webkit-fill-available}body{font-size:var(--base-font-size-tablet)}}@media(max-width:768px){:root{--h1-size: var(--h1-size-mobile);--h2-size: var(--h2-size-mobile);--h3-size: var(--h3-size-mobile);--h4-size: var(--h4-size-mobile);--h5-size: var(--h5-size-mobile);--h6-size: var(--h6-size-mobile);--text-size: var(--text-size-mobile);--block-quote-size: var(--block-quote-size-mobile)}figure img{border-radius:0}body{font-size:var(--base-font-size-mobile)}}.container-nav{width:-webkit-fill-available;display:flex;flex-direction:column;position:fixed;top:0;z-index:100;background:var(--bg-color);align-items:center;border-bottom:1px solid var(--border-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:var(--bg-color);background-color:color-mix(in srgb,var(--bg-color) 80%,transparent)}@media screen and (max-width:768px){.container-nav{top:0;bottom:auto}}.container-nav .navbar{width:-webkit-fill-available;position:relative;padding:.5em 1em;display:flex;justify-content:space-between;align-items:center;gap:.5em;transition:all .3s ease;overflow:visible}@media(max-width:800px){.container-nav .navbar{width:-webkit-fill-available}}.container-nav .navbar .hover-indicator{display:none;position:absolute;top:0;bottom:0;background-color:var(--bg-color-hover, var(--bg-color-high));border-radius:1em;transition:all .3s ease;z-index:0}.container-nav .navbar .a-header{font-size:1.2em;display:flex;align-items:center;gap:.5em;padding:.5em .75em;color:var(--tertiary-text);position:relative;z-index:1;transition:color .2s ease;border-radius:1.5em;background:none;border:none;cursor:pointer}@media(max-width:487px){.container-nav .navbar .a-header{justify-content:center;gap:.5em}}.container-nav .navbar .a-header:hover{color:var(--primary-text)}.container-nav .navbar .a-header.active{color:var(--highlight-color)}.container-nav .navbar .navbar-left{display:flex;align-items:center;flex:0 0 auto}.container-nav .navbar .navbar-left .linkedin-btn{display:flex;align-items:center;justify-content:center;color:var(--primary-text);transition:color .2s ease}.container-nav .navbar .navbar-left .linkedin-btn:hover{color:var(--highlight-color)}.container-nav .navbar .navbar-logo{height:2.2em;width:auto;margin-right:2em;flex-shrink:0}.container-nav .navbar .navbar-center{display:flex;align-items:center;justify-content:center;flex:1;gap:.5em;position:relative}@media(max-width:800px){.container-nav .navbar .navbar-center{justify-content:flex-start;gap:.25em}}.container-nav .navbar .navbar-right-group,.container-nav .navbar .navbar-right{display:flex;align-items:center;gap:.5em;flex:0 0 auto}@media(max-width:800px){.container-nav .navbar .navbar-right-group,.container-nav .navbar .navbar-right{margin-left:auto}}.container-nav .navbar .theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.5em;cursor:pointer;color:var(--tertiary-text);border-radius:50%;transition:all .2s ease;margin-right:1em}.container-nav .navbar .theme-toggle:hover{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown{position:relative;display:flex;align-items:center}@media(max-width:800px){.container-nav .navbar .menu-dropdown{position:absolute;right:0;top:0;height:100%;z-index:50}}.container-nav .navbar .menu-dropdown .mobile-actions{display:flex;align-items:center;gap:.5em}.container-nav .navbar .menu-dropdown .mobile-actions .theme-toggle-mobile{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.5em;cursor:pointer;color:var(--tertiary-text);border-radius:50%;transition:all .2s ease}.container-nav .navbar .menu-dropdown .mobile-actions .theme-toggle-mobile:hover{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-toggle{display:flex;align-items:center;justify-content:center;padding:.5em 1em;background:none;border:none;color:var(--secondary-text);cursor:pointer;border-radius:1.5em;transition:all .2s ease;font-size:1.2em;position:relative;z-index:10}.container-nav .navbar .menu-dropdown .menu-toggle:hover{color:var(--highlight-color)}.container-nav .navbar .menu-dropdown .menu-toggle.open{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-content{position:absolute;top:calc(100% + .5em);right:0;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75em;box-shadow:0 8px 32px #0000001a;backdrop-filter:blur(10px);min-width:160px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:110}.container-nav .navbar .menu-dropdown .menu-content.open{opacity:1;visibility:visible;transform:translateY(0)}.container-nav .navbar .menu-dropdown .menu-content .menu-item{display:flex;align-items:center;gap:.5em;padding:.75em 1em;color:var(--secondary-text);text-decoration:none;transition:all .2s ease;font-size:1em}.container-nav .navbar .menu-dropdown .menu-content .menu-item:last-child{border-bottom:none}.container-nav .navbar .menu-dropdown .menu-content .menu-item:hover,.container-nav .navbar .menu-dropdown .menu-content .menu-item.active{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-content .menu-item span{display:inline!important}.container-nav .navbar .menu-dropdown .menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;z-index:100}.sidebar-nav{position:sticky;top:0;align-self:start;height:100vh;width:260px;flex:0 0 260px;display:flex;flex-direction:column;padding:1.5em 1em;gap:.5em;box-sizing:border-box}@media(max-width:800px){.sidebar-nav{display:none}}.sidebar-nav .sidebar-back-btn{display:flex;align-items:center;gap:1em;padding:.75em 1em;border-radius:999px;background:none;border:none;color:var(--primary-text);font-size:1.2em;font-weight:500;cursor:pointer;width:fit-content;transition:background .15s ease}.sidebar-nav .sidebar-back-btn:hover{background:var(--bg-color-high)}.sidebar-nav .sidebar-logo{display:flex;align-items:center;justify-content:center;width:2.75em;height:2.75em;margin:0 0 .5em .5em;border-radius:50%;background:linear-gradient(135deg,#00c6ff,#0072ff);padding:2px;box-sizing:border-box;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.sidebar-nav .sidebar-logo:hover{transform:scale(1.05);box-shadow:0 4px 14px #0072ff66}.sidebar-nav .sidebar-logo .sidebar-logo-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sidebar-nav .sidebar-links{display:flex;flex-direction:column;gap:.25em}.sidebar-nav .sidebar-links .sidebar-link{display:flex;align-items:center;gap:1em;padding:.75em 1em;border-radius:999px;font-size:1.2em;font-weight:500;color:var(--primary-text);transition:background .15s ease}.sidebar-nav .sidebar-links .sidebar-link:hover{background:var(--bg-color-high)}.sidebar-nav .sidebar-links .sidebar-link.active{font-weight:800;color:var(--highlight-color)}.sidebar-nav .sidebar-links .sidebar-cta-wrapper{margin-top:.75em;width:100%}.sidebar-nav .sidebar-links .sidebar-cta-wrapper .custom-button{width:100%;font-size:1em!important;padding:.75em 1.25em;justify-content:center;white-space:nowrap;box-sizing:border-box}.sidebar-nav .sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:.9em}.sidebar-nav .sidebar-bottom .sidebar-icon-row{display:flex;gap:.5em;padding:0 .5em}.sidebar-nav .sidebar-bottom .sidebar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.4em;height:2.4em;border-radius:50%;border:none;background:none;color:var(--tertiary-text);cursor:pointer;transition:all .2s ease}.sidebar-nav .sidebar-bottom .sidebar-icon-btn:hover{color:var(--highlight-color);background-color:var(--bg-color-high)}.sidebar-nav .sidebar-bottom .sidebar-user-badge{display:flex;align-items:center;gap:.75em;padding:.6em .8em;border-radius:9999px;cursor:pointer;user-select:none;text-decoration:none;transition:background-color .15s ease}.sidebar-nav .sidebar-bottom .sidebar-user-badge:hover{background-color:var(--bg-color-high)}.sidebar-nav .sidebar-bottom .sidebar-user-badge .avatar-wrapper{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav .sidebar-bottom .sidebar-user-badge .avatar-wrapper.twitter-icon-bg{background-color:var(--bg-color-high);border:1px solid var(--border-color);color:var(--primary-text)}.sidebar-nav .sidebar-bottom .sidebar-user-badge .avatar-wrapper.linkedin-icon-bg{background-color:#0077b5;color:#fff}.sidebar-nav .sidebar-bottom .sidebar-user-badge .avatar-wrapper .avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.sidebar-nav .sidebar-bottom .sidebar-user-badge .user-details{display:flex;flex-direction:column;flex:1;min-width:0}.sidebar-nav .sidebar-bottom .sidebar-user-badge .user-details .name{font-size:.95em;font-weight:700;color:var(--primary-text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav .sidebar-bottom .sidebar-user-badge .user-details .handle{font-size:.85em;color:var(--secondary-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav .sidebar-bottom .sidebar-user-badge .user-more-dots{color:var(--primary-text);flex-shrink:0}.project-nav{justify-content:center;gap:2rem;margin-left:auto;margin-right:auto}.project-nav .a-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:none;color:var(--text-color);cursor:pointer;transition:all .2s ease;font-size:.9rem}.project-nav .a-header:hover{color:var(--accent-color)}.project-nav .a-header:disabled{opacity:.5;cursor:not-allowed}.project-nav .a-header:disabled:hover{color:var(--text-color)}@media(max-width:800px){.project-nav .a-header{justify-content:center;align-items:center;width:100%;text-align:center}}@media(max-width:800px){.project-nav{width:60%!important;margin:0 auto!important;left:0;right:0;display:flex!important;justify-content:center!important}}.custom-button{width:auto;height:fit-content;display:flex;align-items:center;justify-content:center;border:none;flex-direction:row;font-weight:700;cursor:pointer;gap:.5em;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.custom-button svg{display:inline-block;vertical-align:middle}.custom-button:hover{opacity:.9}.custom-button.custom-button-left{flex-direction:row}.custom-button.custom-button-right{flex-direction:row-reverse}.custom-button.custom-button-s{padding:.5em .9em;gap:.25em;border-radius:999px}.custom-button.custom-button-m{padding:.65em 1.25em;border-radius:999px}.custom-button.custom-button-l{padding:.8em 1.5em;border-radius:999px}.custom-button.custom-button-primary{border:1px solid transparent;background:var(--button-color);color:#fff}.custom-button.custom-button-primary:hover{background:var(--button-color-hover);opacity:1}.custom-button.custom-button-secondary{background:transparent;color:var(--primary-text);border:1px solid var(--border-color)}.custom-button.custom-button-secondary:hover{background:color-mix(in srgb,var(--primary-text) 5%,transparent);border-color:var(--tertiary-text);opacity:1}.custom-button.custom-button-tertiary{background:transparent;color:var(--highlight-color);padding:.5em!important;border-radius:999px}.custom-button.custom-button-tertiary:hover{background:color-mix(in srgb,var(--highlight-color) 10%,transparent);opacity:1}.custom-button.custom-button-link{background-color:var(--highlight-color);color:#fff;border-radius:999px}.custom-button.custom-button-link:hover{background-color:var(--button-color-hover);opacity:1}.custom-button.custom-button-ai{border-radius:999px!important;border:none;color:#fff;background-image:linear-gradient(115deg,#4f46e5,#9333ea 45%,#ec4899);background-size:160% 160%;background-position:0% 50%;box-shadow:0 4px 20px #9333ea59;transition:background-position .4s ease,box-shadow .3s ease,transform .2s ease-in-out}.custom-button.custom-button-ai:hover{background-position:100% 50%;box-shadow:0 6px 26px #9333ea73}.resume-popup-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:flex-end;align-items:stretch;z-index:1000;opacity:0;transition:opacity .3s ease-in-out}.resume-popup-overlay.fade-in{opacity:1}.resume-popup-overlay.fade-out{opacity:0}.resume-popup-content{background-color:var(--bg-color);padding:1em;width:min(90vw,50%);height:100vh;overflow-y:auto;position:relative;transform:translate(100%);transition:transform .3s ease-out}.resume-popup-content.slide-in{transform:translate(0)}.resume-popup-content.slide-out{transform:translate(100%)}.resume-popup-actions{display:flex;flex-direction:row;gap:.75em;align-items:center;justify-content:space-between}.resume-popup-image-viewer{margin-top:1.5rem;margin-left:-1em;margin-right:-1em;margin-bottom:-1em;position:relative}.resume-popup-image-viewer img{width:100%;height:auto;display:block;border:none;outline:none;background:var(--bg-color-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-container{display:flex;flex-direction:column;align-items:center;justify-content:center;column-count:2;background-color:var(--bg-color);position:sticky;top:0;z-index:-2;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.header-container .header-column-one{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:var(--width-container);border:1px solid var(--border-color);border-width:0 0 1px 0;max-width:var(--max-width-container);margin:0 auto;padding:6em 2em;gap:1.5em}@media screen and (max-width:767px){.header-container .header-column-one{padding:10em 2em}}.header-container .header-column-one .profile-pic{width:8.5em;height:8.5em;display:block;border:5px solid var(--bg-color);background:var(--bg-color-high);border-radius:50%;object-fit:cover;box-shadow:1px 1px 13px 1px #00000012}.header-container .header-column-one .header-text-content{display:flex;flex-direction:column;align-items:flex-start;gap:1.2em;width:100%}.header-container .header-column-one .name-tag-group{display:flex;flex-direction:column;align-items:flex-start;gap:.5em}.header-container .header-column-one .tags{display:flex;flex-direction:row;align-items:center;gap:.5em;margin:.2rem 0;flex-wrap:wrap;justify-content:flex-start}.header-container .header-column-one h1{font-size:var(--h1-size, 2.1em);font-weight:800;text-align:left;margin:0}@media screen and (max-width:767px){.header-container .header-column-one h1{font-size:var(--h1-size-mobile, 1.75em)}}.header-container .header-column-one .intro-text{margin-top:0}.header-container .header-column-one .button-group{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:.5em;margin-top:1em}@media screen and (max-width:767px){.header-container .header-column-one .button-group{display:none}}.header-container .header-column-two .profile{width:7.5em;height:7.5em;border:3px solid var(--bg-color);background:var(--bg-color-high);border-radius:5em;object-fit:cover;box-shadow:1px 1px 13px 1px #00000012}.scroll-reveal{--scroll-reveal-delay: 0ms;opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transition-delay:var(--scroll-reveal-delay);will-change:opacity,transform}.scroll-reveal--fade-up{transform:translateY(28px)}.scroll-reveal--fade{transform:none}.scroll-reveal--scale{transform:scale(.96)}.scroll-reveal.is-visible{opacity:1;transform:none}.testimonials-grid>.scroll-reveal{min-width:0}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}.carousel-container-logo{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;max-width:var(--max-width-container);flex-wrap:wrap;gap:1em}@media(max-width:800px){.carousel-container-logo{padding-top:1em;padding-bottom:1em;gap:.5em;justify-content:flex-start}}.carousel-container-logo img{width:auto;display:block;object-fit:cover;opacity:65%;filter:var(--logo-filter);height:30px}@media(max-width:768px){.carousel-container-logo img{height:25px}}@keyframes pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.tag-parent{display:flex;height:fit-content;flex-direction:row;align-items:center;gap:.75em;padding:.25em .75em;border-radius:5em;border:.5px solid var(--border-color);background-color:var(--bg-color);transition:transform .3s ease}.tag-parent:hover{transform:rotate(0)!important}.tag-parent.nobg{background-color:transparent!important}.tag-parent.nobg .tag{font-weight:600}.tag-parent.small{gap:.5em;padding:.25em .75em}.tag-parent.small .dot{width:.4em;height:.4em}.tag-parent.small .tag{font-size:1.15em}.tag-parent .dot{width:.6em;height:.6em;border-radius:2em}.tag-parent .dot.pulsating{animation:pulsate 1.5s ease-in-out infinite}.tag-parent .tag{font-size:1.25em;letter-spacing:-.5px;margin:0}.circle-arrow-icon{--circle-arrow-bg: var(--grey-900);--circle-arrow-fg: #fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--circle-arrow-bg);color:var(--circle-arrow-fg);transition:transform .2s ease}.circle-arrow-icon svg{width:42%;height:42%;display:block}.circle-arrow-icon--primary{background:linear-gradient(180deg,var(--button-color) 0%,color-mix(in srgb,var(--button-color) 70%,#000 30%) 100%);color:#fff}[data-theme=dark] .circle-arrow-icon:not(.circle-arrow-icon--primary){--circle-arrow-bg: #fff;--circle-arrow-fg: var(--grey-900)}.indiefinds-wrapper{width:100%;min-height:50vh;display:flex;align-items:center;justify-content:center}.indiefinds-wrapper>.scroll-reveal{width:80%;display:flex;justify-content:center}@media(max-width:767px){.indiefinds-wrapper{min-height:auto;padding:4em 2em}.indiefinds-wrapper>.scroll-reveal{width:100%}}.indiefinds-banner{position:relative;display:flex;flex-direction:row;align-items:center;gap:1.5em;padding:3em 2em;border-radius:2em;border:none;background:var(--bg-color-high);cursor:pointer;transition:transform .2s ease;width:100%;max-width:var(--max-width-container);margin:0 auto}@media(max-width:900px){.indiefinds-banner{width:100%}}.indiefinds-banner:before,.indiefinds-banner:after{content:"";position:absolute;inset:-2px;border-radius:calc(2em + 2px);padding:2px;background:linear-gradient(45deg,#fb0094,#00f,#0f0,#ff0,red,#fb0094,#00f,#0f0,#ff0,red);background-size:400%;pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:indiefinds-rainbow 20s linear infinite}.indiefinds-banner:before{z-index:1}.indiefinds-banner:after{z-index:0;filter:blur(16px);opacity:.55}.indiefinds-banner>*{position:relative;z-index:2}.indiefinds-banner:hover{transform:translateY(-1px)}.indiefinds-banner:hover:after{opacity:.75}.indiefinds-banner:hover .indiefinds-banner__cta{transform:translate(2px)}.indiefinds-banner:hover .indiefinds-banner__img--left{transform:rotate(-16deg) translateY(-2px)}.indiefinds-banner:hover .indiefinds-banner__img--center{transform:translate(-50%) translateY(-3px)}.indiefinds-banner:hover .indiefinds-banner__img--right{transform:rotate(16deg) translateY(-2px)}.indiefinds-banner__content{flex:1;min-width:0}.indiefinds-banner__text{display:flex;flex-direction:column;min-width:0}.indiefinds-banner__eyebrow{font-size:1em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tertiary-text);margin:0 0 .4em}.indiefinds-banner__title{font-size:var(--h3-size);font-weight:550;color:var(--primary-text);margin:0 0 .35em;letter-spacing:var(--heading-letter-spacing);line-height:var(--heading-line-height)}.indiefinds-banner__desc{font-size:var(--text-size);font-weight:450;color:var(--secondary-text);letter-spacing:var(--text-letter-spacing);line-height:var(--paragraph-line-height);margin:0;max-width:40ch}.indiefinds-banner__cta{margin-top:1.25em;align-self:flex-start}.indiefinds-banner__visual{position:relative;flex-shrink:0;width:clamp(150px,26vw,220px);height:clamp(170px,30vw,250px)}.indiefinds-banner__img{position:absolute;width:auto;height:88%;aspect-ratio:3/4;object-fit:cover;border-radius:1rem;box-shadow:0 6px 24px #0000001f;transform-origin:center bottom;transition:transform .25s ease}.indiefinds-banner__img--center{z-index:3;left:50%;top:0;height:92%;transform:translate(-50%) rotate(0)}.indiefinds-banner__img--left{z-index:1;left:-24%;top:14%;height:82%;transform:rotate(-14deg)}.indiefinds-banner__img--right{z-index:2;right:-24%;top:12%;height:80%;transform:rotate(14deg)}@media(max-width:767px){.indiefinds-banner{gap:1em;padding:1.1em}.indiefinds-banner__desc{display:none}.indiefinds-banner__visual{width:clamp(110px,34vw,150px);height:clamp(125px,38vw,170px)}.indiefinds-banner__img--left{left:-6%;top:16%;height:78%;transform:rotate(-12deg)}.indiefinds-banner__img--center{height:88%}.indiefinds-banner__img--right{right:-6%;top:14%;height:76%;transform:rotate(12deg)}.indiefinds-banner__cta{width:36px!important;height:36px!important;margin-top:.75em}}@media(prefers-reduced-motion:reduce){.indiefinds-banner:before,.indiefinds-banner:after{animation:none;background-position:0 0}}@keyframes indiefinds-rainbow{0%{background-position:0 0}50%{background-position:400% 0}to{background-position:0 0}}.project-parent{width:100%;max-width:var(--max-width-container);display:flex;flex-direction:column;margin:0 auto auto;background-color:var(--bg-color);border-radius:0 0 1.5em 1.5em;z-index:2}.project-parent .project-featured{display:flex;flex-direction:column;width:100%}.project-parent .project-featured>*{width:100%;min-width:0;display:flex;align-self:stretch}.project-parent .project-featured>*>*{flex:1}@media(max-width:900px){.project-parent .project-featured{gap:2em}}.project-parent .project-scroll-section{display:flex;flex-direction:column;gap:1em;width:100%}.project-parent .project-scroll-label{margin:0;color:var(--secondary-text);font-size:var(--h5-size);font-weight:500;letter-spacing:-.4px}.project-parent .project-scroll-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25em;width:100%}@media(max-width:900px){.project-parent .project-scroll-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.project-parent .project-scroll-row{grid-template-columns:1fr}}.project-parent .project-scroll-item{min-width:0}.project-parent .project-scroll-item .project-container-small{flex-direction:column;align-items:stretch;height:100%;padding:0;gap:.75em;border:none;background:transparent}.project-parent .project-scroll-item .project-container-small img{width:100%;aspect-ratio:16/10;height:auto;border-radius:.75em;object-fit:cover}.project-parent .project-scroll-item .project-container-small .project-card{flex-direction:column;align-items:flex-start;padding:0;gap:.4em}.project-parent .project-scroll-item .project-container-small .title-details-group{flex-direction:column;align-items:flex-start;gap:.2em}.project-parent .project-scroll-item .project-container-small .title-details-group h3{font-size:1.35em;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.project-parent .project-scroll-item .project-container-small .title-details-group p{font-size:.9em}.project-parent .project-scroll-item .project-container-small .desc-btn-group{display:flex;flex-direction:column;gap:0}.project-parent .project-scroll-item .project-container-small .desc-btn-group .description{font-size:1em;opacity:.65;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:0}.project-parent .project-scroll-item .project-container-small .desc-btn-group .button-container{display:none!important}.project-parent .project-list{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.project-container{display:flex;flex-direction:column;align-items:center;height:auto;transition:all linear .2s;position:relative;z-index:1;padding:2em;gap:2em;border:1px solid var(--border-color);border-width:0 0 1px 0}.project-container:hover{cursor:pointer}.project-container:hover img{transition:all .2s ease;transform:scale(.98);border-radius:1.2em}.project-container.unclickable:hover{cursor:default}.project-container.unclickable:hover img{transform:none;border-radius:1em}.project-container img.project-image{width:100%;height:auto;display:block;object-fit:cover;transform-origin:center;border-radius:1em;border:1px solid var(--border-color);transition:all .3s linear}@media screen and (max-width:767px){.project-container img.project-image{aspect-ratio:5/4;border:1px solid transparent;border-radius:1em}}.project-container .project-card{width:-webkit-fill-available;display:flex;gap:.5em;position:relative;flex-direction:column;justify-content:space-between;align-items:center}@media screen and (max-width:767px){.project-container .project-card{flex-direction:column;justify-content:flex-start;align-items:flex-start}}.project-container .project-card .title-details-group{width:100%;display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:space-between;gap:.2em}.project-container .project-card .title-details-group h6{color:var(--tertiary-text)}@media screen and (max-width:767px){.project-container .project-card .title-details-group{flex-direction:column-reverse;align-items:flex-start;gap:.5em}}.project-container .project-card h3,.project-container .project-card h5{margin:0}.project-container .project-card h5{font-family:Circular-Book,Arial Narrow,Arial,sans-serif;text-transform:uppercase;font-size:1.2em}@media screen and (max-width:900px){.project-container .project-card{flex-direction:column;align-items:flex-end;gap:.2em}.project-container .project-card .title-tag-group{align-items:flex-start}}.project-container .project-card .tag-container{display:flex;gap:.3em}.project-container h2,.project-container h3,.project-container h5,.project-container h6,.project-container p{margin:0}.project-container h3{margin-bottom:0}.project-container p{max-width:45ch;margin-top:0}.desc-btn-group{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1em;width:100%}.description{flex:1 1 auto;margin-right:.5em}.button-container{flex:0 0 auto}@media screen and (max-width:767px){.button-container button.custom-button{padding:.45em .85em;font-size:.82em}}.project-container-small{max-width:var(--max-width-container);display:flex;height:auto;flex-direction:row;overflow:hidden;align-items:center;justify-content:center;gap:.5em;padding:0;border:none;background:transparent;border-radius:0;transition:transform .2s ease}.project-container-small:hover{cursor:pointer;background-color:transparent;transform:scale(.99)}.project-container-small img{width:30%;height:100%;display:block;object-fit:cover;border-radius:.75em;border:1px solid var(--border-color)}@media screen and (max-width:767px){.project-container-small img{aspect-ratio:16/9}}@media screen and (max-width:608px){.project-container-small img{aspect-ratio:1/1;object-position:left}}.project-container-small .project-card{width:-webkit-fill-available;display:flex;position:relative;flex-direction:row;justify-content:space-between;align-items:center;padding:0;gap:.25em}@media screen and (max-width:767px){.project-container-small .project-card{flex-direction:column;justify-content:start;align-items:start}}@media screen and (max-width:367px){.project-container-small .project-card{flex-direction:column;justify-content:start;align-items:start}}.project-container-small .title-details-group p,.project-container-small .description,.project-container-small .desc-btn-group{display:none}.project-container-small .project-card-data{display:flex;flex-direction:column;align-items:start;justify-content:space-between;text-decoration:none;gap:.2em}.project-container-small .project-card-data h2,.project-container-small .project-card-data h5,.project-container-small .project-card-data h6,.project-container-small .project-card-data h3,.project-container-small .project-card-data p{margin:0}.project-container-small .project-card-data h5{text-transform:capitalize;font-size:1.2em}.project-container-small .project-card-data h3{max-width:30ch}@media screen and (max-width:767px){.project-container-small .project-card-data h3{width:100%}}@media screen and (max-width:767px){.project-container-small .link{display:none}}.skeleton-container{opacity:.7;animation:pulse 1.5s infinite ease-in-out;pointer-events:none}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.skeleton-image{width:100%;aspect-ratio:16/9;background-color:var(--background-color, #e0e0e0);border-radius:var(--border-radius, 8px);margin-bottom:24px}.skeleton-card{display:flex;flex-direction:column;gap:16px}.skeleton-line{height:20px;background-color:var(--background-color, #e0e0e0);border-radius:4px;width:100%}.skeleton-title{height:28px;width:70%;margin-bottom:8px}.skeleton-meta{width:40%;height:16px}.skeleton-desc{width:90%}.skeleton-desc.short{width:60%}.skeleton-button{width:120px;height:48px;background-color:var(--background-color, #e0e0e0);border-radius:24px;margin-top:16px}@media(prefers-color-scheme:dark){.skeleton-image,.skeleton-line,.skeleton-button{background-color:var(--background-color, #2a2a2a)}}body.dark-theme .skeleton-image,body.dark-theme .skeleton-line,body.dark-theme .skeleton-button{background-color:var(--background-color, #2a2a2a)}.horizontal-carousel-section{width:100%;box-sizing:border-box}.horizontal-carousel-section .carousel-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.5em;flex-wrap:wrap;gap:1em}.horizontal-carousel-section .carousel-section-header .header-text{max-width:650px}.horizontal-carousel-section .carousel-section-header .header-text h2{font-size:var(--h2-size, 2em);font-weight:600;color:var(--primary-text, #ffffff);margin:0 0 .4em;letter-spacing:-.02em}.horizontal-carousel-section .carousel-section-header .header-text p{font-size:var(--p-size, 1.05em);color:var(--secondary-text, #aaaaaa);margin:0;line-height:1.6}.horizontal-carousel-section .carousel-section-header .carousel-nav-buttons{display:flex;align-items:center;gap:8px}.horizontal-carousel-section .carousel-section-header .carousel-nav-buttons .nav-btn{background-color:var(--bg-color-high, rgba(255, 255, 255, .08));border:1px solid var(--border-color, rgba(255, 255, 255, .12));color:var(--primary-text, #ffffff);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.horizontal-carousel-section .carousel-section-header .carousel-nav-buttons .nav-btn:hover{background-color:#fff3;transform:scale(1.05)}.horizontal-carousel-section .carousel-section-header .carousel-nav-buttons .nav-btn:active{transform:scale(.95)}.horizontal-carousel-section .carousel-section-header .carousel-nav-buttons .nav-btn:disabled{opacity:.3;cursor:not-allowed}.horizontal-carousel-section .carousel-track{display:flex;gap:1.5em;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.horizontal-carousel-section .carousel-track::-webkit-scrollbar{display:none;width:0;height:0}.horizontal-carousel-section .carousel-track .carousel-item{flex:0 0 460px;scroll-snap-align:start;box-sizing:border-box}@media(max-width:768px){.horizontal-carousel-section .carousel-track .carousel-item{flex:0 0 84vw;max-width:420px}}@media(max-width:480px){.horizontal-carousel-section .carousel-track .carousel-item{flex:0 0 88vw}}.testimonials-section{width:100%;max-width:var(--max-width-container);margin-left:auto;margin-right:auto;display:flex;flex-direction:column;padding:2em;background-color:var(--bg-color);border:solid var(--border-color);border-width:1px 0 1px 0;box-sizing:border-box}.testimonials-section .testimonial-card{min-width:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:1.25em;padding:1.5em;background-color:var(--bg-color-high);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:1em;box-sizing:border-box;transition:transform .3s ease,border-color .3s ease}.testimonials-section .testimonial-card:hover{border-color:#ffffff2e}.testimonials-section .testimonial-header{display:flex;align-items:center;gap:.85em}.testimonials-section .testimonial-header .testimonial-meta{display:flex;flex-direction:column;gap:.15em}.testimonials-section .testimonial-header .testimonial-meta p.name{margin:0;color:var(--primary-text);font-size:var(--p-size);font-weight:600;line-height:1.3}.testimonials-section .testimonial-header .testimonial-meta h5{margin:0;color:var(--secondary-text);font-size:var(--p-size);font-weight:400;opacity:.8}.testimonials-section .testimonial-avatar{width:2.75em;height:2.75em;border-radius:50%;object-fit:cover;flex-shrink:0}.testimonials-section .testimonial-content{display:flex;flex-direction:column;gap:.6em;padding-left:0}.testimonials-section .testimonial-content .testimonial-title{font-size:var(--p-size);font-weight:600;color:var(--primary-text);margin:0;line-height:1.35}.testimonials-section .testimonial-content .testimonial-quote{margin:0;line-height:1.55;font-size:var(--p-size);color:var(--secondary-text)}.testimonials-section .testimonial-content .testimonial-quote .highlighted{color:var(--highlight-color);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .1em;border-radius:.2em;font-weight:600}.faq-container{width:100%;max-width:var(--max-width-container);display:flex;flex-direction:column;align-items:stretch;background-color:var(--bg-color);margin:0 auto;padding:4em 2em}.faq-container>.scroll-reveal:first-child h2,.faq-container>.scroll-reveal:first-child h3{text-align:left!important;margin:0 0 1.25em;padding:0;line-height:1.25}.faq-list{width:100%;display:flex;flex-direction:column}.faq-item{overflow:hidden;border-bottom:1px solid var(--border-color);transition:border-color .2s ease}.faq-question{display:flex;justify-content:space-between;align-items:center;gap:1.5em;padding:1.4em 0;cursor:pointer;user-select:none}.faq-question h4{margin:0;font-size:var(--h3-size);line-height:1.25}.faq-question:hover .faq-icon-circle{background-color:var(--bg-color-high);filter:brightness(1.2)}.faq-icon-circle{width:36px;height:36px;border-radius:50%;background-color:var(--bg-color-high);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-text);transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .2s ease,filter .2s ease}.faq-icon-circle.open{transform:rotate(180deg)}.faq-answer{color:var(--secondary-text);font-size:var(--p-size);line-height:1.6}.faq-answer li{font-size:1em}.faq-answer{max-height:0;padding:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .35s ease}.faq-answer.open{max-height:500px;opacity:1;padding:0 0 1.6em}.faq-answer.closed{padding:0}.contact-form-container{max-width:2000px;margin:auto;padding:5em 2em 7em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;border:1px solid var(--border-color);background:linear-gradient(180deg,var(--bg-color-high) 80%,var(--bg-color) 100%);position:relative;border:none}.contact-form-container:before{content:"";position:absolute;inset:0;padding-top:3px;background:linear-gradient(90deg,var(--bg-color-high) 10%,color-mix(in srgb,var(--highlight-color) 60%,transparent) 50%,var(--bg-color-high) 90%);-webkit-mask:linear-gradient(#ffcfcf 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:0}.contact-form-container>*{position:relative;z-index:1}.contact-form-container #contact{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.contact-form-container #contact>.scroll-reveal{width:100%;display:flex;flex-direction:column;align-items:center}.contact-form-container h1{margin-bottom:0;text-align:center;width:100%}.contact-form-container h4{text-align:center;max-width:40ch;width:100%;color:var(--secondary-text)}.contact-form-container .cta-row{display:flex;flex-direction:row;gap:1em;justify-content:center;margin-top:1em;margin-bottom:.5em;flex-wrap:wrap}.contact-form-container .tags-row{display:flex;max-width:80ch;width:100%;flex-direction:row;gap:.5em;justify-content:center;margin-top:1em;flex-wrap:wrap}.contact-form-container .tags-row>.scroll-reveal{display:flex}@media(max-width:800px){.contact-form-container{padding:5em 1em 8em}.cta-row{gap:1em}}.ai-fab-group{position:fixed;bottom:2rem;right:2rem;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:.6em;transition:opacity .22s ease,visibility .22s ease,transform .25s cubic-bezier(.4,0,.2,1)}.ai-fab-group.hidden{opacity:0;visibility:hidden;transform:scale(.9) translateY(12px);pointer-events:none}.ai-fab-pills{display:flex;flex-direction:column;align-items:flex-end;gap:.45em}.ai-fab-pill{background:var(--bg-color);border:1px solid var(--border-color);color:var(--secondary-text);padding:.48em 1.1em;border-radius:2em;font-size:.8rem;font-family:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 2px 14px #00000017;transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;animation:fabPillIn .32s cubic-bezier(.16,1,.3,1) both}.ai-fab-pill:nth-child(1){animation-delay:0ms}.ai-fab-pill:nth-child(2){animation-delay:70ms}.ai-fab-pill:nth-child(3){animation-delay:.14s}.ai-fab-pill:hover{background:var(--highlight-color);color:#fff;border-color:var(--highlight-color);transform:translateY(-2px);box-shadow:0 6px 20px #00000024}@keyframes fabPillIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-fab-button-custom{background:transparent;border:none;padding:0;cursor:pointer;outline:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}.ai-fab-button-custom:hover{transform:scale(1.04) translateY(-2px)}.ai-fab-button-custom:hover .ai-button-glow-ring{box-shadow:0 0 35px #a855f799,0 8px 32px #7e22ce80;border-color:#d8b4fe99}.ai-fab-button-custom:active{transform:scale(.98)}.ai-fab-button-custom .ai-button-glow-ring{padding:5px;border-radius:9999px;background:#8b5cf640;border:1.5px solid rgba(192,132,252,.4);box-shadow:0 8px 32px #7e22ce66,0 0 20px #a855f74d;backdrop-filter:blur(12px);transition:border-color .3s ease,box-shadow .3s ease}.ai-fab-button-custom .ai-button-inner{display:flex;align-items:center;justify-content:center;gap:.65em;padding:.75em 1.6em;border-radius:9999px;background:radial-gradient(120% 140% at 32% 28%,#c084fc,#9333ea 45%,#6d28d9);color:#fff;font-size:1.1em;font-weight:600;letter-spacing:-.01em;white-space:nowrap;border-top:1px solid rgba(255,255,255,.35);border-bottom:2.5px solid #752eb9;box-shadow:inset 0 1px #ffffff4d}.ai-fab-button-custom .ai-button-inner .sparkle-group{position:relative;display:flex;align-items:center;justify-content:center}.ai-fab-button-custom .ai-button-inner .sparkle-group .main-sparkle{color:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.8))}.ai-fab-button-custom .ai-button-inner span{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.ai-chat-window{position:fixed;bottom:2rem;right:2rem;width:390px;font-size:13px;max-height:600px;background:var(--bg-color);border-radius:20px;border:1px solid var(--border-color);box-shadow:0 28px 72px #0000002e,0 4px 16px #0000000f;z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:chatSlideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes chatSlideUp{0%{transform:translateY(22px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.ai-chat-topbar{padding:.9em 1.2em;display:flex;align-items:center;justify-content:space-between;background:var(--bg-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.ai-chat-topbar .ai-topbar-brand{display:flex;align-items:center;gap:.7em}.ai-chat-topbar .ai-topbar-avatar{width:36px;height:36px;border-radius:10px;background:var(--highlight-color);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ai-chat-topbar .ai-topbar-name{margin:0;font-size:.92em;font-weight:700;color:var(--primary-text);line-height:1.25}.ai-chat-topbar .ai-topbar-sub{margin:0;font-size:.74em;color:var(--tertiary-text);font-weight:500;display:flex;align-items:center;gap:.35em;line-height:1.4}.ai-chat-topbar .ai-topbar-sub:before{content:"";display:inline-block;width:5px;height:5px;background:var(--highlight-color);border-radius:50%;flex-shrink:0}.ai-chat-topbar .ai-close-btn{width:30px;height:30px;border-radius:50%;background:var(--bg-color-high);border:1px solid var(--border-color);color:var(--secondary-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.ai-chat-topbar .ai-close-btn:hover{background:var(--border-color);color:var(--primary-text)}.ai-chat-messages{flex:1;overflow-y:auto;padding:1.25em 1.2em;display:flex;flex-direction:column;gap:1em;background:var(--bg-color-high);min-height:280px}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.ai-msg-row{display:flex;flex-direction:column;gap:.35em;max-width:87%;animation:msgIn .22s ease}.ai-msg-row.bot{align-self:flex-start;align-items:flex-start}.ai-msg-row.user{align-self:flex-end;align-items:flex-end;max-width:80%}@keyframes msgIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.ai-agent-label-row{display:flex;align-items:center;gap:.45em}.ai-avatar{width:22px;height:22px;border-radius:6px;background:var(--highlight-color);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ai-agent-name{font-size:.76em;font-weight:700;color:var(--tertiary-text);letter-spacing:normal}.ai-bubble{padding:.85em 1.1em;border-radius:16px;font-size:1em;line-height:1.55}.ai-bubble.bot{background:var(--bg-color);border:1px solid var(--border-color);border-top-left-radius:4px;color:var(--primary-text)}.ai-bubble.bot p,.ai-bubble.bot li{font-size:1em;font-weight:400;line-height:1.55;letter-spacing:normal;color:inherit;margin:0 0 .55em}.ai-bubble.bot p:last-child,.ai-bubble.bot li:last-child{margin-bottom:0}.ai-bubble.bot ul,.ai-bubble.bot ol{margin:.4em 0;padding-left:1.4em}.ai-bubble.bot li{margin-bottom:.25em}.ai-bubble.bot strong{font-weight:700;color:var(--primary-text)}.ai-bubble.bot a{color:var(--highlight-color);text-decoration:underline;text-underline-offset:2px}.ai-bubble.bot h3,.ai-bubble.bot h4,.ai-bubble.bot h5,.ai-bubble.bot h6{margin:.6em 0 .3em;font-size:1.05em;font-weight:700;letter-spacing:normal;line-height:1.3;text-transform:none;color:var(--primary-text)}.ai-bubble.user{background:var(--highlight-color);color:#fff;border-top-right-radius:4px}.ai-bubble.user p{margin:0;font-size:1em;font-weight:400;line-height:1.55;letter-spacing:normal;color:#fff}.ai-typing-indicator{display:flex;gap:5px;align-items:center;padding:.1em 0}.ai-typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--tertiary-text);animation:typingBounce 1.1s infinite ease-in-out}.ai-typing-indicator span:nth-child(2){animation-delay:.18s}.ai-typing-indicator span:nth-child(3){animation-delay:.36s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.ai-typing-cursor{display:inline-block;width:2px;height:1em;background:var(--primary-text);margin-left:2px;vertical-align:text-bottom;animation:cursorBlink .75s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.ai-chips{display:flex;flex-wrap:wrap;gap:.42em;align-self:flex-start;animation:msgIn .28s ease;padding-top:.1em}.ai-chips .ai-chip{background:var(--bg-color);border:1px solid var(--border-color);color:var(--secondary-text);padding:.42em .9em;border-radius:2em;font-size:.85em;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1.4}.ai-chips .ai-chip:hover{background:var(--highlight-color);color:#fff;border-color:var(--highlight-color);transform:translateY(-1px)}.ai-chat-footer{padding:.9em 1.2em;background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.65em;flex-shrink:0}.ai-chat-footer input{flex:1;background:var(--bg-color-high);border:1.5px solid var(--border-color);border-radius:50px;padding:.68em 1.1em;font-size:1em;color:var(--primary-text);outline:none;font-family:inherit;transition:border-color .2s ease}.ai-chat-footer input:focus{border-color:var(--highlight-color)}.ai-chat-footer input::placeholder{color:var(--tertiary-text);opacity:.85}.ai-chat-footer input:disabled{opacity:.5;cursor:not-allowed}.ai-chat-footer .ai-send-btn{width:38px;height:38px;border-radius:50%;background:var(--highlight-color);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background .15s ease}.ai-chat-footer .ai-send-btn:disabled{background:var(--border-color);color:var(--secondary-text);cursor:not-allowed}.ai-chat-footer .ai-send-btn:not(:disabled):hover{transform:scale(1.08)}@media(max-width:768px){.ai-chat-window{inset:0;width:100%;height:100%;max-height:100dvh;border-radius:0;border:none;z-index:10000}.ai-chat-messages{padding-bottom:env(safe-area-inset-bottom,1rem)}.ai-fab-group{bottom:1.25rem;right:1.25rem}.ai-fab-pills{display:none}}.footer-container{margin:auto;display:flex;flex-direction:column;align-items:center;padding:2em;gap:1em;background:var(--bg-color-high);border-top:1px solid var(--border-color);text-align:center;width:100%}.footer-container h5{margin:0;text-align:center;color:var(--tertiary-text)}.sidebar-right{position:sticky;top:1.5em;align-self:start;width:300px;flex:0 0 300px;display:flex;flex-direction:column;gap:1em;padding:1.5em 0 2em}.sidebar-right .profile-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6em;padding:1.25em;border:1px solid var(--border-color);border-radius:1em;background:var(--bg-color-high)}.sidebar-right .profile-card-avatar{width:4em;height:4em;border-radius:50%;object-fit:cover;margin-bottom:.4em}.sidebar-right .profile-card-name{margin:0;font-size:1.15em}.sidebar-right .profile-card-role{margin:0;color:var(--secondary-text);font-size:.95em;font-weight:500}.sidebar-right .profile-card-desc{margin:0;color:var(--tertiary-text);font-size:.85em;line-height:145%}.sidebar-right .profile-card-actions{display:flex;flex-direction:column;gap:.6em;width:100%;margin-top:.4em}.sidebar-right .profile-card-actions a{width:100%}.sidebar-right .profile-card-actions .custom-button{width:100%;justify-content:center}.sidebar-right .sidebar-right-footnote{color:var(--tertiary-text);font-size:.8em;text-align:center;margin:0}.github-commit-board{display:flex;flex-direction:column;gap:1.25em;padding:1.25em;border:1px solid var(--border-color);border-radius:1em;background:var(--bg-color-high)}.github-commit-board .board-header{display:flex;align-items:center;justify-content:space-between;width:100%}.github-commit-board .board-header .board-title-group{display:flex;align-items:center;gap:.75em;color:var(--primary-text)}.github-commit-board .board-header .board-titles{display:flex;flex-direction:column}.github-commit-board .board-header .board-titles h4{margin:0;font-size:.95em;font-weight:600;color:var(--primary-text)}.github-commit-board .board-header .board-titles .handle{font-size:.75em;color:var(--tertiary-text)}.github-commit-board .board-header .external-link{color:var(--secondary-text);transition:color .2s ease}.github-commit-board .board-header .external-link:hover{color:var(--primary-text)}.github-commit-board .contribution-grid-wrapper{display:flex;flex-direction:column;gap:.5em}.github-commit-board .contribution-grid-wrapper .grid-header-label{font-size:.7em;font-weight:600;color:var(--secondary-text);text-transform:uppercase;letter-spacing:.05em}.github-commit-board .contribution-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.github-commit-board .contribution-grid .grid-square{aspect-ratio:1;border-radius:3px}.github-commit-board .contribution-grid .grid-square.level-0{background-color:#ffffff0f}.github-commit-board .contribution-grid .grid-square.level-1{background-color:#0e4429}.github-commit-board .contribution-grid .grid-square.level-2{background-color:#006d32}.github-commit-board .contribution-grid .grid-square.level-3{background-color:#26a641}.github-commit-board .contribution-grid .grid-square.level-4{background-color:#39d353}.about-redirect{max-width:var(--max-width-container);display:flex;background-color:#fff;flex-direction:column;align-items:start;transition:box-shadow .15s ease-in-out;height:auto;border-radius:.75em;padding:1em;border:2px solid var(--border-color)}.archive-container{width:100%;max-width:var(--max-width-container);box-sizing:border-box;display:flex;flex-direction:column;margin-left:auto;margin-right:auto;gap:-1px;background-color:var(--bg-color);position:relative;z-index:2}.archive-container .figma-community-carousel-section,.archive-container .experiments-section-container{padding:2em;border-top:1px solid var(--border-color)}.archive-container .craft-section{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);column-gap:6em;align-items:start;width:100%}@media(max-width:1100px){.archive-container .craft-section{grid-template-columns:minmax(0,320px) minmax(0,1fr);column-gap:3em}}@media(max-width:900px){.archive-container .craft-section{grid-template-columns:1fr;column-gap:0;gap:2em}}.archive-container .craft-section .craft-sidebar h2{text-align:left;margin:0 0 .4em;font-size:var(--h2-size);font-weight:500;letter-spacing:-.8px}.archive-container .craft-section .craft-sidebar p{text-align:left;margin:0;font-size:var(--p-size);color:var(--secondary-text);line-height:var(--paragraph-line-height)}.archive-container .craft-section .craft-content,.archive-container .community-files-grid{width:100%}.experiments-grid{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}@media(max-width:600px){.experiments-grid{grid-template-columns:repeat(1,1fr);gap:1.5rem}}.experiment-item,.experiment-figure{margin:0;display:flex;flex-direction:column;gap:.5em}.experiment-card{transition:transform .3s ease}.experiment-card:hover{transform:translateY(-3px)}.experiment-card:hover img,.experiment-card:hover video{border-color:#ffffff4d}.experiment-card .experiment-image-container{position:relative;overflow:hidden;aspect-ratio:1/1;border-radius:1em}.experiment-card .experiment-image-container img,.experiment-card .experiment-image-container video{width:100%;height:100%;object-fit:cover;border-radius:1em;border:1px solid var(--border-color, rgba(255, 255, 255, .12));box-sizing:border-box;display:block;transition:border-color .3s ease}.experiment-caption{margin:0;font-size:var(--text-size);font-weight:500;color:var(--secondary-text);line-height:var(--paragraph-line-height);letter-spacing:var(--text-letter-spacing);text-align:center}.community-file-card{display:flex;flex-direction:column;align-items:center;margin-bottom:2em;text-decoration:none}.community-file-card .image-stack-container{width:96%;position:relative;padding-top:.5em;padding-bottom:.5em;margin-bottom:1px;transition:transform .3s ease-out;z-index:-10;transform:rotate(var(--random-rotation))}.community-file-card .image-stack-container:hover,.community-file-card .image-stack-container:hover .stacked-bg-card,.community-file-card .image-stack-container:hover .stacked-bg-card.secondary{transform:rotate(0)!important}.community-file-card .image-stack-container .stacked-bg-card{position:absolute;inset:-.5em 0 0;border-radius:1.5em;background-color:#f2e0cb;transform:rotate(-1deg);transition:transform .3s ease-out;z-index:1}.community-file-card .image-stack-container .stacked-bg-card.secondary{background-color:#f9eed4;top:-.25em;transform:rotate(1deg);z-index:2}[data-theme=dark] .community-file-card .image-stack-container .stacked-bg-card{background-color:#292929}[data-theme=dark] .community-file-card .image-stack-container .stacked-bg-card.secondary{background-color:#3d3d3d}.community-file-card .image-stack-container .main-image-container{position:relative;z-index:3;background-color:var(--bg-color-high);border-radius:1.5em;overflow:hidden}.community-file-card .image-stack-container .main-image-container img{width:100%;height:auto;display:block;border-radius:1em}.community-file-card .community-content{display:flex;flex-direction:row;gap:.5em;align-items:center;justify-content:space-between;width:-webkit-fill-available;background-color:var(--bg-color-high);padding:1.5em;border:1px solid var(--border-color);box-shadow:0 1px 6px 1px #00000014;border-radius:.25em .25em .75em .75em;z-index:100}.community-file-card .community-content h6{color:var(--primary-text);margin:0;text-align:center;display:none}.community-file-card .community-content h5{display:flex;align-items:center;justify-content:center;gap:.2em;margin:0}
