@charset "UTF-8";:root{--grey-100: #ffffff;--grey-200: #f7f9f9;--grey-300: #eff3f4;--grey-400: #cfd9de;--grey-500: #8b98a5;--grey-600: #536471;--grey-700: #2d3748;--grey-800: #1a202c;--grey-900: #0d1117;--twitter-blue: #1d9bf0;--twitter-blue-hover: #1a8cd8;--accent-purple: #7000ff;--accent-cyan: #00d2ff;--surface-dark: #121820;--surface-card-dark: #18222d;--border-subtle-dark: rgba(255, 255, 255, .08);--border-subtle-light: rgba(0, 0, 0, .08)}:root{--max-width-container: 960px;--width-container: 72vw;--border-radius: 1em;--radius-card: 16px;--radius-sm: 8px;--radius-pill: 999px;--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.5em;--h2-size: 1.9em;--h3-size: 1.5em;--h4-size: 1.25em;--h5-size: 1.1em;--h6-size: .95em;--p-size: 1.15em;--text-size: 1.05em;--block-quote-size: 1.15em;--h1-size-mobile: 2.2em;--h2-size-mobile: 1.85em;--h3-size-mobile: 1.4em;--h4-size-mobile: 1.2em;--h5-size-mobile: 1.05em;--h6-size-mobile: .9em;--p-size-mobile: 1.05em;--text-size-mobile: .95em;--block-quote-size-mobile: 1.1em;--heading-line-height: 1.2;--heading-letter-spacing: -.025em;--heading-margin: .4em;--text-letter-spacing: -.01em;--paragraph-line-height: 1.6;--list-line-height: 1.55}:root{--bg-color: #ffffff;--bg-color-high: #f6f8fa;--card-bg: #ffffff;--card-bg-hover: #f3f5f8;--border-color: #e1e4e8;--project-card-border: #e1e4e8;--primary-text: #0d1117;--secondary-text: #57606a;--tertiary-text: #6e7781;--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);--tag-bg: rgba(0, 0, 0, .04);--tag-border: rgba(0, 0, 0, .08);--logo-filter: invert(.6)}[data-theme=dark]{--bg-color: #111112;--bg-color-high: #19191b;--card-bg: #111722;--card-bg-hover: #17202e;--border-color: rgba(255, 255, 255, .1);--project-card-border: rgba(255, 255, 255, .1);--primary-text: #f0f6fc;--secondary-text: #8b949e;--tertiary-text: #6e7681;--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);--tag-bg: rgba(255, 255, 255, .06);--tag-border: rgba(255, 255, 255, .12);--logo-filter: invert(1)}.app-shell{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:4.5em}@media(max-width:800px){.app-shell{display:block;padding-top:3.75em}}.app-center{min-width:0;margin:0 auto;border-width:0 1px 0 1px;width:100%}@media screen and (max-width:768px){.app-center{border-width:0px;padding-bottom:2em}}.home-main-content{position:relative;z-index:2;background-color:var(--bg-color)}.sidebar-nav{grid-column:1}.sidebar-right{grid-column:3}.common-gallery-card{display:flex;flex-direction:column;gap:var(--figure-gap, .5em);box-sizing:border-box;text-decoration:none;color:inherit;height:100%;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .25s ease}.common-gallery-card .card-media{width:100%;aspect-ratio:5/4;border-radius:var(--border-radius, 12px);overflow:hidden;background-color:var(--bg-color);border:1px solid var(--border-color)}.common-gallery-card .card-media img,.common-gallery-card .card-media video,.common-gallery-card .card-media .image-skeleton-wrapper{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;transition:transform .3s ease}.common-gallery-card.masonry-item .card-media{aspect-ratio:auto}.common-gallery-card.masonry-item .card-media img,.common-gallery-card.masonry-item .card-media video,.common-gallery-card.masonry-item .card-media .image-skeleton-wrapper{height:auto}.common-gallery-card .card-body{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:.6em}.common-gallery-card .card-body .card-title{margin:0;font-size:var(--h4-size, 1.1em);font-weight:600;color:var(--primary-text);line-height:var(--heading-line-height, 1.35);letter-spacing:var(--heading-letter-spacing, -.015em)}.common-gallery-card .card-body .card-meta{display:flex;align-items:center;justify-content:space-between;gap:.4em;color:var(--secondary-text);font-size:var(--h5-size, .95em);font-weight:450;margin:0}*{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}html{overflow-x:hidden;font-feature-settings:"cv02","cv03","cv04","cv11"}body{margin:0;position:relative;font-size:var(--base-font-size);background-color:var(--bg-color);color:var(--primary-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip;transition:background-color .6s ease,color .6s ease}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);font-weight:700}h1,h3{color:var(--primary-text)}h1{font-size:var(--h1-size);font-weight:600;letter-spacing:-.01em}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(--primary-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)}}.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}.custom-button{width:auto;height:fit-content;display:flex;align-items:center;justify-content:center;border:none;flex-direction:row;font-weight:600;letter-spacing:-.01em;cursor:pointer;gap:.5em;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1)}.custom-button svg{display:inline-block;vertical-align:middle}.custom-button:hover{transform:translateY(-1px)}.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:var(--radius-pill)}.custom-button.custom-button-m{padding:.65em 1.25em;border-radius:var(--radius-pill)}.custom-button.custom-button-l{padding:.8em 1.5em;border-radius:var(--radius-pill)}.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:var(--bg-color-high);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:var(--radius-pill)}.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:var(--radius-pill)}.custom-button.custom-button-link:hover{background-color:var(--button-color-hover);opacity:1}.custom-button.custom-button-ai{border-radius:var(--radius-pill)!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}.desktop-top-nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;background-color:color-mix(in srgb,var(--bg-color) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-sizing:border-box}.desktop-top-nav .navbar{width:100%;max-width:var(--max-width-container);margin:0 auto;padding:1.25em 2em;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}@media(max-width:768px){.desktop-top-nav .navbar{padding:1em 1.25em}}.desktop-top-nav .navbar-left{display:flex;align-items:center}.desktop-top-nav .navbar-name-link{text-decoration:none;color:inherit}.desktop-top-nav .navbar-name{font-size:1.15em;font-weight:700;letter-spacing:-.02em;color:var(--primary-text);transition:opacity .2s ease}.desktop-top-nav .navbar-name:hover{opacity:.75}.desktop-top-nav .navbar-right-links{display:flex;align-items:center;gap:2em}@media(max-width:768px){.desktop-top-nav .navbar-right-links{gap:1.1em}}.desktop-top-nav .navbar-right-links .a-header{font-size:.9em;font-weight:500;letter-spacing:-.01em;color:var(--secondary-text);text-decoration:none;transition:color .2s ease}@media(max-width:768px){.desktop-top-nav .navbar-right-links .a-header{font-size:.85em}}.desktop-top-nav .navbar-right-links .a-header:hover{color:var(--primary-text)}.desktop-top-nav .navbar-right-links .a-header.active{color:var(--highlight-color);font-weight:600}.header-container{width:100%;max-width:var(--max-width-container);margin:0 auto;background-color:var(--bg-color);position:sticky;top:4.5em;z-index:-2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh}@media(max-width:767px){.header-container{height:auto}}.header-container:has(.has-hover-card:hover){z-index:1000}.header-container .header-column-one{display:flex;flex-direction:column;width:100%;padding:4em 0;gap:1.25em}@media screen and (max-width:800px){.header-container .header-column-one{padding:5em 1em;gap:1em}}.header-container .header-text-content{display:flex;flex-direction:column;align-items:center;gap:.35em;width:100%}.header-container .serif-line{margin:0;color:var(--primary-text);letter-spacing:-.01em;line-height:1.35;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3em}.header-container .serif-line.muted-line{color:var(--secondary-text)}.header-container .scramble-text{display:inline-block;white-space:pre}.header-container .scramble-char{display:inline-block;white-space:pre;opacity:.5;filter:blur(1.75px);transform:translateY(.03em);transition:opacity .3s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.header-container .scramble-char.is-settled{opacity:1;filter:blur(0);transform:translateY(0)}@media(prefers-reduced-motion:reduce){.header-container .scramble-char{opacity:1;filter:none;transform:none;transition:none}}.header-container .inline-icon-chip{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;border-radius:.3em;overflow:hidden;flex-shrink:0;vertical-align:middle}.header-container .inline-icon-chip img{width:100%;height:100%;object-fit:cover;display:block}.header-container .inline-icon-chip.avatar-chip{border-radius:50%;background:linear-gradient(135deg,var(--highlight-color) 0%,#e0e7ff 100%);padding:2px;box-sizing:border-box}.header-container .inline-icon-chip.avatar-chip img{border-radius:50%}.header-container .inline-icon-chip.light-chip{background-color:transparent;padding:0}.header-container .inline-icon-chip.light-chip img{object-fit:contain}.header-container .inline-badge{position:relative;display:inline-flex;align-items:center;gap:.4em;padding:.15em .55em .15em .15em;border-radius:.45em;background-color:var(--bg-color-high);color:var(--primary-text);font-size:.9em;font-weight:550;line-height:1.3;vertical-align:middle;margin:0 .1em;white-space:nowrap;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,transform .15s ease}.header-container .inline-badge .badge-icon{width:1.15em;height:1.15em;object-fit:contain;border-radius:.25em;display:block;flex-shrink:0}.header-container .inline-badge.has-hover-card{cursor:default}.header-container .inline-badge.has-hover-card:hover{border-color:#ffffff40;background-color:#ffffff14}.header-container .inline-badge.has-hover-card:hover .badge-hover-card{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.header-container .inline-badge.has-hover-card .badge-hover-card{display:block;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(6px);width:250px;background:var(--bg-color-high, #1c1c1f);border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:var(--radius-card);padding:8px;box-shadow:0 16px 40px #0009,0 4px 12px #0000004d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1),visibility .22s ease;z-index:1000;text-align:left;white-space:normal;color:inherit;text-decoration:none;cursor:pointer}.header-container .inline-badge.has-hover-card .badge-hover-card:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:var(--bg-color-high, #1c1c1f) transparent transparent transparent}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-media{display:block;width:100%;height:125px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px;background-color:#0003}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-media img{width:100%;height:100%;object-fit:cover;display:block}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-body{display:block;padding:4px 6px 6px}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-header .hover-card-icon{width:20px;height:20px;border-radius:4px;object-fit:contain;flex-shrink:0}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-header .hover-card-titles{display:flex;flex-direction:column}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-header .hover-card-titles .hover-card-title{font-size:.88em;font-weight:650;color:var(--primary-text);line-height:1.25}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-header .hover-card-titles .hover-card-subtitle{font-size:.72em;color:#4a9eff;font-weight:500}.header-container .inline-badge.has-hover-card .badge-hover-card .hover-card-desc{display:block;font-size:.78em;line-height:1.35;color:var(--secondary-text);margin:4px 0 0;font-weight:400}.header-container .underline-link{color:inherit;text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:.12em;text-decoration-thickness:1.5px;transition:text-decoration-color .2s ease,opacity .2s ease}.header-container .underline-link:hover{text-decoration-color:currentColor;opacity:.85}.header-container .intro-paragraph{margin:.4em 0 0;font-weight:450;font-size:1.25em;max-width:65ch;line-height:1.85;color:var(--secondary-text);letter-spacing:-.01em;text-align:center}@media(max-width:767px){.header-container .intro-paragraph{font-size:1.1em}}.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--image-reveal{opacity:0;transform:translateY(48px);clip-path:inset(30% 0 0 0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),clip-path .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform,clip-path}.scroll-reveal.is-visible{opacity:1;transform:none}.scroll-reveal--image-reveal.is-visible{clip-path:inset(0 0 0 0)}.testimonials-grid>.scroll-reveal{min-width:0}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}.company-project-section{width:100%;display:flex;flex-direction:column}.company-section-title{display:flex;align-items:center;justify-content:space-between;gap:1em;margin:0;padding:1em 0}@media(max-width:767px){.company-section-title{padding:1em}}.company-section-title .company-info-group{display:flex;align-items:center;gap:.75em}.company-section-title .company-info-group .company-logo{width:32px;height:32px;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0}.company-section-title .company-info-group .company-name,.company-section-title .company-tenure{margin:0}.company-project-cards{display:flex;flex-direction:column}.project-card-row{position:relative}.project-story-note-wrap{display:none}@media(min-width:1320px){.project-story-note-wrap{display:block;position:absolute;top:2.5em;width:190px;z-index:1;pointer-events:none}.project-story-note-wrap.is-right{left:calc(100% + 2.5em)}.project-story-note-wrap.is-left{right:calc(100% + 2.5em)}}.project-story-note{background:#fdf3c7;color:#4a3f1f;font-family:var(--font-serif, Georgia, serif);font-style:italic;font-weight:500;font-size:1.25em;line-height:1.4;padding:.9em 1em;border-radius:.2em;box-shadow:0 10px 24px #00000047;transform:rotate(-3deg)}.project-story-note-wrap.is-left .project-story-note{transform:rotate(3deg)}.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:2px solid transparent;background-image:linear-gradient(var(--bg-color-high),var(--bg-color-high)),linear-gradient(90deg,#ff007f,#7000ff,#00d2ff,#0f6,#fd0,#ff007f);background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,300% 100%;animation:indiefinds-rainbow 15s linear infinite;cursor:pointer;transition:transform .2s ease;width:100%;max-width:var(--max-width-container);margin:0 auto;z-index:1}@media(max-width:900px){.indiefinds-banner{width:100%}}.indiefinds-banner>*{position:relative;z-index:2}.indiefinds-banner:hover{transform:scale(.99)}.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:var(--radius-card);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:not(.project-container-small){display:flex;flex-direction:column;width:100%;padding:0;border-bottom:none}.project-container:not(.project-container-small) .project-image-single-wrapper,.project-container:not(.project-container-small) .project-card-image-carousel{position:relative;width:100%;border-radius:1.25em;overflow:hidden}@media screen and (max-width:767px){.project-container:not(.project-container-small) .project-image-single-wrapper,.project-container:not(.project-container-small) .project-card-image-carousel{border-radius:0}}.project-container:not(.project-container-small) .project-image-single-wrapper .image-overlay-cta,.project-container:not(.project-container-small) .project-card-image-carousel .image-overlay-cta{position:absolute;top:1em;right:1em;z-index:10;pointer-events:auto}.project-container:not(.project-container-small) .project-image-single-wrapper .image-overlay-cta .read-more-button,.project-container:not(.project-container-small) .project-image-single-wrapper .image-overlay-cta button.custom-button,.project-container:not(.project-container-small) .project-card-image-carousel .image-overlay-cta .read-more-button,.project-container:not(.project-container-small) .project-card-image-carousel .image-overlay-cta button.custom-button{background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);color:var(--grey-100);box-shadow:0 4px 16px #0000004d;transition:all .25s cubic-bezier(.16,1,.3,1)}.project-container:not(.project-container-small) .project-image-single-wrapper .image-overlay-cta .read-more-button:hover,.project-container:not(.project-container-small) .project-image-single-wrapper .image-overlay-cta button.custom-button:hover,.project-container:not(.project-container-small) .project-card-image-carousel .image-overlay-cta .read-more-button:hover,.project-container:not(.project-container-small) .project-card-image-carousel .image-overlay-cta button.custom-button:hover{background:var(--button-color);border-color:var(--button-color);transform:translateY(-2px) scale(1.04);box-shadow:0 8px 24px #0006}.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track{display:flex;gap:.5em;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;width:100%;border-radius:1.25em;-ms-overflow-style:none;scrollbar-width:none}@media screen and (max-width:767px){.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track{border-radius:0;margin:0 1em}}.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track::-webkit-scrollbar,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track::-webkit-scrollbar{display:none}.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper{flex:0 0 90%;width:90%;scroll-snap-align:start;scroll-snap-stop:always;border-radius:1.25em;border:1px solid var(--border-color);box-sizing:border-box;overflow:hidden}@media screen and (max-width:767px){.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper{border-radius:1em}}.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper img.project-image,.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper video.project-image,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper img.project-image,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper video.project-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:1.25em}@media screen and (max-width:767px){.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper img.project-image,.project-container:not(.project-container-small) .project-image-single-wrapper .carousel-track .project-image-wrapper video.project-image,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper img.project-image,.project-container:not(.project-container-small) .project-card-image-carousel .carousel-track .project-image-wrapper video.project-image{border-radius:1em}}.project-container:not(.project-container-small) .project-card{display:grid;grid-template-columns:1fr 1fr;gap:1em;align-items:start;width:100%;padding:2em 1em 4em}.project-container:not(.project-container-small) .project-card .card-meta-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1em;width:100%;flex-wrap:wrap}.project-container:not(.project-container-small) .project-card .tag-pills{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.project-container:not(.project-container-small) .project-card .tool-logos{display:flex;align-items:center;gap:.5em}.project-container:not(.project-container-small) .project-card .tool-logos .tool-logo{position:relative;display:flex;align-items:center;justify-content:center;width:2em;height:2em;border-radius:.5em;transition:transform .2s ease,z-index 0s}.project-container:not(.project-container-small) .project-card .tool-logos .tool-logo img{width:100%;height:100%;object-fit:contain;border-radius:.4em;border:none}.project-container:not(.project-container-small) .project-card .tool-logos .tool-logo:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + .5em);left:50%;transform:translate(-50%) translateY(4px);padding:.35em .8em;border-radius:var(--radius-sm);background:var(--grey-900, #0d1117);color:var(--grey-100, #fff);font-size:.78em;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.project-container:not(.project-container-small) .project-card .tool-logos .tool-logo:hover{z-index:5;transform:translateY(-2px)}.project-container:not(.project-container-small) .project-card .tool-logos .tool-logo:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.project-container:not(.project-container-small) .project-card .title-details-group{display:flex;flex-direction:column-reverse;gap:.35em;width:100%}.project-container:not(.project-container-small) .project-card .desc-btn-group{display:flex;flex-direction:column;gap:1.25em;align-items:flex-start;width:100%}.project-container:not(.project-container-small) .project-card .desc-btn-group .description{text-align:right;line-height:1.6;color:var(--secondary-text);margin:0;max-width:none}.project-container:not(.project-container-small) .project-card .desc-btn-group .description strong,.project-container:not(.project-container-small) .project-card .desc-btn-group .description b{color:var(--primary-text);font-weight:600}.project-container:not(.project-container-small) .project-card .desc-btn-group .button-container{margin-left:0;display:none}@media screen and (max-width:767px){.project-container:not(.project-container-small) .project-card{grid-template-columns:1fr;gap:1.25em;padding:1.5em 1.5em 2em}.project-container:not(.project-container-small) .project-card .card-meta-row{flex-direction:column-reverse;align-items:flex-start;gap:1em}.project-container:not(.project-container-small) .project-card .tag-pills,.project-container:not(.project-container-small) .project-card .tool-logos{width:100%}.project-container:not(.project-container-small) .project-card .title-details-group{gap:.3em}.project-container:not(.project-container-small) .project-card .title-details-group h6{font-size:.9em}.project-container:not(.project-container-small) .project-card .title-details-group h3{font-size:1.6em;font-weight:700;line-height:1.25}.project-container:not(.project-container-small) .project-card .desc-btn-group{flex-direction:column;align-items:flex-start;gap:1em;width:100%}.project-container:not(.project-container-small) .project-card .desc-btn-group .description{text-align:left;flex:1 1 auto;line-height:1.55;margin:0}.project-container:not(.project-container-small) .project-card .desc-btn-group .button-container{display:none}}.project-container{display:flex;flex-direction:column;align-items:center;height:auto;transition:all linear .2s;position:relative;z-index:1;border:1px solid var(--border-color);border-width:0 0 1px 0;overflow:hidden}@media screen and (min-width:769px){.project-container:not(.unclickable){cursor:none!important}.project-container:not(.unclickable) *,.project-container:not(.unclickable) a,.project-container:not(.unclickable) button,.project-container:not(.unclickable) img,.project-container:not(.unclickable) div,.project-container:not(.unclickable) p,.project-container:not(.unclickable) h3,.project-container:not(.unclickable) h6,.project-container:not(.unclickable) span{cursor:none!important}.project-container:not(.unclickable) .carousel-dots,.project-container:not(.unclickable) .carousel-dot{cursor:pointer!important}}.project-container .custom-cursor-read-pill{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:100;display:inline-flex;align-items:center;gap:.45em;padding:.55em 1.15em;border-radius:var(--radius-pill);background:var(--button-color);color:var(--grey-100);font-size:.85em;font-weight:600;letter-spacing:.01em;box-shadow:0 8px 24px #0006;animation:readCursorPop .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}.project-container .custom-cursor-read-pill svg{flex-shrink:0}.project-container>*{position:relative;z-index:1}.project-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:36px;pointer-events:none;z-index:0;opacity:.75;transition:opacity .3s ease}.project-container:hover{cursor:pointer}.project-container:hover:after{opacity:1}.project-container:hover img{transition:all .2s ease;border-radius:1.2em}.project-container.unclickable:hover{cursor:default}.project-container.unclickable:hover img{transform:none;border-radius:var(--border-radius)}.project-container .project-image-single-wrapper{width:100%;border:1px solid var(--border-color);box-sizing:border-box}@media screen and (max-width:767px){.project-container .project-image-single-wrapper{aspect-ratio:6/4;border:1px solid transparent;border-radius:0!important}}.project-container .project-image-single-wrapper .project-image-single-inner{width:100%;height:100%;border-radius:inherit}@media screen and (max-width:767px){.project-container .project-image-single-wrapper .project-image-single-inner{border-radius:0!important}}.project-container .project-image-single-wrapper img.project-image,.project-container .project-image-single-wrapper video.project-image{width:100%;height:auto;display:block;object-fit:cover;transform-origin:center;border-radius:inherit;border:none;transition:all .3s linear}@media screen and (max-width:767px){.project-container .project-image-single-wrapper img.project-image,.project-container .project-image-single-wrapper video.project-image{border-radius:0!important}}.project-container img.project-image,.project-container video.project-image{width:100%;height:auto;display:block;object-fit:cover;transform-origin:center;border-radius:.75em;border:1px solid var(--border-color);transition:all .3s linear}@media screen and (max-width:767px){.project-container img.project-image,.project-container video.project-image{aspect-ratio:6/4;border:1px solid transparent;border-radius:0!important}}.project-container .project-card-image-carousel{position:relative;width:100%;overflow:hidden}.project-container .project-card-image-carousel .carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;width:100%;-ms-overflow-style:none;scrollbar-width:none}.project-container .project-card-image-carousel .carousel-track::-webkit-scrollbar{display:none}.project-container .project-card-image-carousel .carousel-track .project-image-wrapper{flex:0 0 92%;width:92%;scroll-snap-align:start;scroll-snap-stop:always;border:1px solid var(--border-color);box-sizing:border-box}@media screen and (max-width:767px){.project-container .project-card-image-carousel .carousel-track .project-image-wrapper{flex:0 0 95%;width:95%;aspect-ratio:7/5;border:1px solid transparent;border-radius:1em}}.project-container .project-card-image-carousel .carousel-track .project-image-wrapper img.project-image,.project-container .project-card-image-carousel .carousel-track .project-image-wrapper video.project-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;border:none}.project-container .project-card-image-carousel .carousel-track img.project-image,.project-container .project-card-image-carousel .carousel-track video.project-image{flex:0 0 92%;width:92%;height:auto;display:block;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;transform-origin:center;border-radius:var(--border-radius);border:1px solid var(--border-color);box-sizing:border-box}@media screen and (max-width:767px){.project-container .project-card-image-carousel .carousel-track img.project-image,.project-container .project-card-image-carousel .carousel-track video.project-image{flex:0 0 95%;width:95%;aspect-ratio:7/5;border:1px solid transparent;border-radius:var(--border-radius)}}.project-container .project-card-image-carousel .carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);background:#00000080;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);z-index:5;pointer-events:auto}.project-container .project-card-image-carousel .carousel-dots .carousel-dot{width:6px;height:6px;border-radius:50%;background:#fff6;border:none;padding:0;cursor:pointer;transition:all .2s ease}.project-container .project-card-image-carousel .carousel-dots .carousel-dot.active{background:var(--grey-100);width:16px;border-radius:4px}.project-container .project-card-image-carousel .carousel-dots .carousel-dot:hover{background:#ffffffd9}.project-container .project-card{width:-webkit-fill-available;display:flex;gap:.5em;padding:2em;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 .project-card .meta-row{display:flex;align-self:flex-start;gap:1.4em;width:100%}.project-container .project-card .meta-row .meta-item{display:flex;flex-direction:column;gap:.2em;min-width:0}.project-container .project-card .meta-row h4{font-size:.72em;letter-spacing:.04em;text-transform:uppercase;color:var(--tertiary-text);font-weight:500}.project-container .project-card .meta-row p{font-size:1em;color:var(--primary-text);max-width:40ch}.project-container h2,.project-container h3,.project-container h5,.project-container h6,.project-container p{margin:0}.project-container h3{max-width:35ch;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;margin-left:auto}@media screen and (max-width:767px){.button-container button.custom-button{padding:.45em .85em;font-size:.82em}}@keyframes readCursorPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.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,.project-container-small .meta-row{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}}.image-skeleton-wrapper{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%}.image-skeleton-wrapper.is-skeleton-active{border-color:transparent}.image-skeleton-wrapper .image-skeleton-pulse{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffffff08,#ffffff1f,#ffffff08);background-size:200% 100%;animation:skeletonPulse 1.4s ease-in-out infinite,skeletonShimmer 1.8s linear infinite;z-index:1;pointer-events:none}.image-skeleton-wrapper img,.image-skeleton-wrapper video{position:relative;z-index:2;width:100%;height:100%;object-fit:cover}@keyframes skeletonPulse{0%{opacity:.4}50%{opacity:.95}to{opacity:.4}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--skeleton-base-bg: rgba(0, 0, 0, .06);--skeleton-highlight-bg: rgba(0, 0, 0, .14)}[data-theme=dark]{--skeleton-base-bg: rgba(255, 255, 255, .04);--skeleton-highlight-bg: rgba(255, 255, 255, .14)}.image-skeleton-wrapper .image-skeleton-pulse{background:linear-gradient(90deg,var(--skeleton-base-bg) 0%,var(--skeleton-highlight-bg) 50%,var(--skeleton-base-bg) 100%);background-size:200% 100%}@keyframes pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}to{transform:scale(1);opacity:1}}.tag-parent{display:inline-flex;height:fit-content;flex-direction:row;align-items:center;gap:.5em;padding:.35em .85em;border-radius:var(--radius-pill, 999px);border:1px solid var(--tag-border, var(--border-color));transition:all .2s cubic-bezier(.16,1,.3,1)}.tag-parent:hover{transform:translateY(-1px)}.tag-parent.nobg{background-color:transparent!important;border-color:var(--border-color)}.tag-parent.nobg .tag{font-weight:600}.tag-parent.small{gap:.35em;padding:.25em .65em}.tag-parent.small .dot{width:.35em;height:.35em}.tag-parent.small .tag{font-size:.85em}.tag-parent .dot{width:.5em;height:.5em;border-radius:50%;background-color:var(--highlight-color)}.tag-parent .dot.pulsating{animation:pulsate 1.8s ease-in-out infinite}.tag-parent .tag-icon{height:1.1em;width:auto;max-height:18px;object-fit:contain;filter:var(--logo-filter);display:inline-block;vertical-align:middle}.tag-parent .tag{font-size:.9em;font-weight:500;letter-spacing:-.01em;color:var(--primary-text);margin:0}.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(--bg-color-high);border-radius:var(--radius-sm);margin-bottom:24px}.skeleton-card{display:flex;flex-direction:column;gap:16px}.skeleton-line{height:20px;background-color:var(--bg-color-high);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(--bg-color-high);border-radius:24px;margin-top:16px}.testimonials-section{width:100%;max-width:var(--max-width-container);margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5em;padding:4em 2em;box-sizing:border-box;background-color:var(--bg-color);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}@media(max-width:767px){.testimonials-section{padding:3em 1.25em}}.testimonial-spotlight{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.75em;width:100%;max-width:56ch;text-align:center;min-height:350px;cursor:pointer;animation:testimonialFadeIn .35s ease-out forwards}@media(max-width:767px){.testimonial-spotlight{min-height:410px}}@keyframes testimonialFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.testimonial-icon-wrap{position:relative;display:inline-flex}.testimonial-icon{width:80px;height:80px;border-radius:50%;object-fit:contain;background-color:var(--bg-color-high);padding:1em;box-sizing:border-box}.testimonial-icon.placeholder{background-color:var(--highlight-color)}.testimonial-copy{display:flex;flex-direction:column;gap:.75em}.testimonial-title{margin:0;font-weight:650;line-height:1.3;letter-spacing:-.015em;color:var(--primary-text)}@media(max-width:767px){.testimonial-title{font-size:1.3em}}.testimonial-quote{margin:0;font-size:1.15em;font-weight:450;line-height:1.6;letter-spacing:-.01em;color:var(--secondary-text)}@media(max-width:767px){.testimonial-quote{font-size:1.05em}}.testimonial-attribution{display:flex;align-items:center;gap:.75em}.testimonial-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}.testimonial-avatar.placeholder{background-color:var(--highlight-color)}.testimonial-attribution-text{display:flex;flex-direction:column;gap:.15em;text-align:left}.testimonial-attribution-text .testimonial-name{font-size:1em;font-weight:600;color:var(--primary-text)}.testimonial-attribution-text .testimonial-role{font-size:.9em;color:var(--tertiary-text)}.testimonial-dots{display:flex;align-items:center;gap:.5em}.testimonial-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background-color:var(--border-color);cursor:pointer;transition:background-color .2s ease,transform .2s ease}.testimonial-dot:hover{background-color:var(--tertiary-text)}.testimonial-dot.active{background-color:var(--primary-text);transform:scale(1.2)}.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:3em 0;box-sizing:border-box}@media(max-width:767px){.faq-container{padding:2em 1em}}.faq-container>.scroll-reveal:first-child h2,.faq-container>.scroll-reveal:first-child h3{text-align:left!important;font-size:2.2em;font-weight:650;line-height:1.25;color:var(--primary-text);letter-spacing:-.02em;margin:0 0 1em;padding:0}@media(max-width:767px){.faq-container>.scroll-reveal:first-child h2,.faq-container>.scroll-reveal:first-child h3{font-size:1.8em;margin-bottom:.85em}}.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}.github-commit-board{display:flex;flex-direction:column;gap:1.25em;padding:1.25em;border:1px solid var(--border-color);border-radius:var(--border-radius);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 .monthly-stat-banner{display:flex;align-items:center;padding:.65em .85em;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75em;transition:border-color .2s ease,background-color .2s ease}.github-commit-board .monthly-stat-banner:hover{background:var(--bg-color-high);border-color:var(--border-color)}.github-commit-board .monthly-stat-banner .stat-content{display:flex;align-items:center;gap:.5em}.github-commit-board .monthly-stat-banner .stat-content .stat-icon{color:#39d353;flex-shrink:0}.github-commit-board .monthly-stat-banner .stat-content .stat-number{font-weight:700;font-size:1.05em;color:var(--primary-text);letter-spacing:-.01em}.github-commit-board .monthly-stat-banner .stat-content .stat-text{font-size:.78em;color:var(--secondary-text);font-weight:500}.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-wrap{position:relative}.github-commit-board .contribution-grid .grid-square-wrap:hover .grid-tooltip{opacity:1;transform:translate(-50%,-2px)}.github-commit-board .contribution-grid .grid-square{aspect-ratio:1;border-radius:3px;cursor:default}.github-commit-board .contribution-grid .grid-square.level-0{background-color:var(--bg-color-high);border:1px solid var(--border-color)}.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}.github-commit-board .contribution-grid .grid-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%,2px);display:flex;flex-direction:column;align-items:center;gap:.1em;margin-bottom:6px;padding:.4em .6em;border-radius:.4em;background:var(--primary-text);color:var(--bg-color);font-size:.7em;font-weight:600;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:2}.github-commit-board .contribution-grid .grid-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--primary-text)}.github-commit-board .contribution-grid .grid-tooltip .grid-tooltip-date{font-weight:450;opacity:.75}.github-commit-board.github-commit-board--compact{padding:0;border:none;background:none;gap:0}.github-commit-board.github-commit-board--compact .contribution-grid{grid-template-columns:repeat(8,1fr);max-width:220px}.footer-container{width:100%;padding-top:2em;box-sizing:border-box;display:flex;flex-direction:column;gap:0}.footer-marquee{width:100%;overflow:hidden;display:flex;align-items:flex-end;padding-bottom:0;mask-image:linear-gradient(90deg,transparent 0,black 3%,black 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,black 3%,black 97%,transparent 100%)}.footer-marquee-track{display:flex;align-items:flex-end;gap:1em;animation:footer-marquee-scroll 45s linear infinite;will-change:transform}.footer-marquee-item{position:relative;flex-shrink:0;width:auto}.footer-marquee-item img{height:100%;width:auto;display:block;object-fit:cover;border-radius:1em}.footer-marquee-caption{position:absolute;top:.6em;right:.6em;color:#fff;font-size:.75em;font-weight:600;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.5);pointer-events:none}@keyframes footer-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.footer-marquee-track{animation:none}}.footer-bottom{width:100%;max-width:var(--max-width-container);margin:0 auto;display:flex;padding:2.5em 2em 3em;box-sizing:border-box;gap:3em}@media(max-width:700px){.footer-bottom{flex-direction:column;gap:2em}}.footer-profile{flex:0 0 auto;padding-right:3em;border-right:1px solid var(--border-color);max-width:280px;display:flex;flex-direction:column;gap:1.25em}@media(max-width:700px){.footer-profile{border-right:none;padding-right:0;max-width:none}}.footer-profile-header{display:flex;align-items:center;gap:.85em}.footer-profile-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.footer-profile-text{display:flex;flex-direction:column;gap:.1em}.footer-profile-name{font-size:1.15em;font-weight:700;color:var(--primary-text);letter-spacing:-.01em}.footer-profile-handle{font-size:.85em;color:var(--tertiary-text)}.footer-link-groups{display:flex;gap:4em;justify-content:flex-end;flex:1}@media(max-width:700px){.footer-link-groups{justify-content:flex-start;gap:3em}}.footer-link-column{display:flex;flex-direction:column;gap:.85em;min-width:120px}.footer-link-column h6{margin:0 0 .2em;color:var(--primary-text);font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.footer-link-column a{color:var(--secondary-text);text-decoration:none;font-size:.95em;font-weight:450;transition:color .15s ease}.footer-link-column a:hover{color:var(--primary-text)}.footer-attribution{margin:0;text-align:center;color:var(--tertiary-text);font-weight:400;font-size:.85em;padding-bottom:2em}.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:var(--border-radius);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}.about-redirect{max-width:var(--max-width-container);display:flex;background-color:var(--bg-color);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 .community-deck-container,.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{width:100%}.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:2.2em;font-weight:650;line-height:1.25;color:var(--primary-text);margin:0 0 1em;letter-spacing:-.02em}@media(max-width:767px){.horizontal-carousel-section .carousel-section-header .header-text h2{font-size:1.8em;margin-bottom:.85em}}.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}.horizontal-carousel-section .carousel-track .carousel-item .experiment-image-container,.horizontal-carousel-section .carousel-track .carousel-item .card-media{overflow:hidden}.horizontal-carousel-section .carousel-track .carousel-item .experiment-image-container img,.horizontal-carousel-section .carousel-track .carousel-item .experiment-image-container video,.horizontal-carousel-section .carousel-track .carousel-item .experiment-image-container .image-skeleton-wrapper,.horizontal-carousel-section .carousel-track .carousel-item .card-media img,.horizontal-carousel-section .carousel-track .carousel-item .card-media video,.horizontal-carousel-section .carousel-track .carousel-item .card-media .image-skeleton-wrapper{transition:transform .05s ease-out}@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 70vw}}.experiments-corkboard{position:relative;width:100%;height:640px;overflow:hidden;background:var(--bg-color-high);border:1px solid var(--border-color);border-radius:1.25em;background-image:radial-gradient(var(--border-color) 1px,transparent 1.4px);background-size:18px 18px}.experiments-corkboard .cork-item{position:absolute;width:clamp(150px,17vw,200px);margin:0;transform:rotate(var(--rotate));transition:transform .25s ease,z-index 0s;z-index:1}.experiments-corkboard .cork-item:hover{transform:rotate(0) scale(1.04);z-index:5}.experiments-corkboard .cork-pin{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,var(--highlight-color));box-shadow:0 2px 4px #0006;z-index:6}@media(max-width:700px){.experiments-corkboard{position:static;height:auto;background-image:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1.25em}.experiments-corkboard .cork-item{position:static;width:100%;transform:none}.experiments-corkboard .cork-item:hover{transform:none}.experiments-corkboard .cork-pin{display:none}}@media(max-width:700px)and (max-width:480px){.experiments-corkboard{grid-template-columns:1fr}}.experiment-item,.experiment-figure{margin:0;display:flex;flex-direction:column;gap:.5em}.experiment-card-gallery-style{position:relative;overflow:hidden;border-radius:1.5em;padding:.5em;background-color:var(--bg-color-high);border:1px solid var(--border-color);box-shadow:0 8px 24px #0000001f;transition:border-color .3s ease,transform .3s ease}.experiment-card-gallery-style:hover{border-color:color-mix(in srgb,var(--highlight-color) 40%,var(--border-color))}.experiment-card-gallery-style .experiment-media-wrapper{position:relative;overflow:hidden;aspect-ratio:1/1;border-radius:var(--border-radius);width:100%}.experiment-card-gallery-style .experiment-media-wrapper img,.experiment-card-gallery-style .experiment-media-wrapper video,.experiment-card-gallery-style .experiment-media-wrapper .image-skeleton-container{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius);display:block}.experiment-card-gallery-style .experiment-caption-handwritten{font-family:Architects Daughter,Courier,monospace;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1.1em;color:var(--secondary-text);padding:.5em .35em .25em;line-height:1.25}.community-deck-section .community-deck{position:relative;width:min(100%,420px);height:490px;margin:0 auto}.community-deck-section .deck-card{position:absolute;inset:0;display:flex;flex-direction:column;text-decoration:none;background-color:var(--card-bg, var(--bg-color-high));border:1px solid var(--border-color);border-radius:var(--radius-card, 1.25em);overflow:hidden;box-shadow:0 10px 28px #00000038;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s ease}.community-deck-section .deck-card.stack-0{transform:none;opacity:1;z-index:3}.community-deck-section .deck-card.stack-1{transform:translateY(16px) scale(.94) rotate(-3deg);opacity:.6;z-index:2;pointer-events:none}.community-deck-section .deck-card.stack-2{transform:translateY(30px) scale(.88) rotate(3deg);opacity:.35;z-index:1;pointer-events:none}.community-deck-section .deck-card.leaving-left{transform:translate(-130%) rotate(-12deg)!important;opacity:0!important}.community-deck-section .deck-card.leaving-right{transform:translate(130%) rotate(12deg)!important;opacity:0!important}.community-deck-section .deck-card-media{width:100%;aspect-ratio:16/10;background-color:var(--bg-color)}.community-deck-section .deck-card-media img{width:100%;height:100%;object-fit:cover;display:block}.community-deck-section .deck-card-media .image-skeleton-wrapper{width:100%;height:100%}.community-deck-section .deck-card-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5em;padding:1.25em 1.5em}.community-deck-section .deck-card-content h6{margin:0;color:var(--primary-text);font-size:var(--h5-size, 1.05em);font-weight:600}.community-deck-section .deck-card-content h5{display:flex;align-items:center;gap:.3em;margin:0;color:var(--secondary-text);font-size:.9em;font-weight:450}.community-deck-section .deck-card-content .submit-button{margin-top:.4em;align-self:flex-start}.community-deck-section .deck-dots{display:flex;justify-content:center;gap:.5em;margin-top:1.5em}.community-deck-section .deck-dots span{width:7px;height:7px;border-radius:50%;background-color:var(--border-color);transition:background-color .3s ease}.community-deck-section .deck-dots span.active{background-color:var(--highlight-color)}
