@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.h-max{height:max-content}.w-full{width:100%}.max-w-1200{max-width:calc(var(--spacing) * 1200)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.justify-center{justify-content:center}.border{border-style:var(--tw-border-style);border-width:1px}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.delay-4{transition-delay:4ms}.delay-5{transition-delay:5ms}}:root{--bg-deep:#0a0a12;--bg-card:#12121e;--bg-card-hover:#1a1a2e;--accent-magenta:#ff2d7b;--accent-cyan:#00e5ff;--accent-amber:#ffab00;--accent-lime:#76ff03;--accent-violet:#b388ff;--text-primary:#eaeaf0;--text-secondary:#9898b0;--text-muted:#8a8aa3;--font-display:"Chakra Petch", sans-serif;--font-body:"Outfit", sans-serif;--glow-magenta:0 0 30px #ff2d7b4d;--glow-cyan:0 0 30px #00e5ff4d;--glow-amber:0 0 30px #ffab004d;--border-subtle:#ffffff0f}html,body,div,section,nav,footer,h1,h2,h3,h4,p,ul,ol,li,a,span,img,iframe,table,thead,tbody,tr,th,td{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}.cs,.case-section,[id]{scroll-margin-top:6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);font-weight:400;line-height:1.6;overflow-x:hidden}nav{z-index:100;border-bottom:1px solid var(--border-subtle);background:#0a0a12f7;justify-content:space-between;align-items:center;padding:1.2rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.05em;font-size:1.1rem;font-weight:700;text-decoration:none}.nav-logo span{color:var(--accent-magenta)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--accent-cyan)}.nav-contact{border:1px solid var(--accent-magenta);border-radius:2px;padding:.5rem 1.4rem;transition:color .3s,background .3s,box-shadow .3s;color:var(--accent-magenta)!important}.nav-contact:hover{background:var(--accent-magenta);box-shadow:var(--glow-magenta);color:var(--bg-deep)!important}.nav-toggle{cursor:pointer;z-index:110;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;display:none}.nav-toggle span{background:var(--text-primary);width:24px;height:2px;margin:0 auto;transition:transform .3s,opacity .3s;display:block}nav.nav-open .nav-toggle span:first-child{transform:translateY(7px)rotate(45deg)}nav.nav-open .nav-toggle span:nth-child(2){opacity:0}nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.ux .nav-toggle span{background:var(--ux-fg)}footer{text-align:center;border-top:1px solid var(--border-subtle);color:var(--text-muted);padding:2rem 3rem;font-size:.8rem}footer a{color:var(--text-secondary);text-decoration:none;transition:color .3s}footer a:hover{color:var(--accent-cyan)}.games-main{max-width:1000px;margin:0 auto;padding:8rem 2rem 4rem}.games-heading{font-family:var(--font-display);letter-spacing:.12em;text-align:center;color:var(--text-primary);margin-bottom:3rem;font-size:1.6rem;font-weight:700}.games-grid{grid-template-columns:repeat(2,1fr);justify-items:center;gap:3rem 2.5rem;display:grid}.game-tile{width:100%;max-width:467px;color:var(--text-primary);contain:layout paint;text-decoration:none;display:block}.game-tile__thumb{aspect-ratio:467/263;object-fit:cover;border:1px solid var(--border-subtle);will-change:transform;width:100%;height:auto;transition:transform .3s,filter .3s,box-shadow .3s;display:block}.game-tile:hover .game-tile__thumb,.game-tile:focus-visible .game-tile__thumb{filter:brightness(1.08);transform:scale(1.03);box-shadow:0 10px 28px #00000073}.game-tile:hover .game-tile__caption,.game-tile:focus-visible .game-tile__caption{color:var(--text-primary)}.game-tile__title{font-family:var(--font-display);letter-spacing:.04em;text-align:center;color:var(--text-primary);margin-top:.9rem;font-size:1.05rem;font-weight:700}.game-tile__caption{font-family:var(--font-display);letter-spacing:.1em;text-align:center;color:var(--text-secondary);margin-top:.35rem;font-size:.8rem;font-weight:600;transition:color .3s}@media (max-width:720px){.games-grid{grid-template-columns:1fr;gap:2.5rem}.games-main{padding-top:6rem}}.proj-main{max-width:820px;margin:0 auto;padding:7rem 1.5rem 4rem}.proj-header__image{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-subtle);width:100%;height:auto;margin:0 auto 2rem;display:block}.proj-back{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.85rem;text-decoration:none;transition:color .3s;display:inline-block}.proj-back:hover{color:var(--accent-cyan)}.proj-description{color:var(--text-primary);margin-bottom:1.75rem;font-size:1.25rem;font-weight:400;line-height:1.55}.proj-meta{font-family:var(--font-display);letter-spacing:.05em;color:var(--text-secondary);margin-bottom:3rem;font-size:.95rem;line-height:1.7}.proj-meta b{color:var(--text-primary);font-weight:700}.proj-meta a{color:var(--accent-cyan);text-decoration:none}.proj-meta a:hover{text-decoration:underline}.proj-video{aspect-ratio:16/9;border:0;width:100%;margin-bottom:3rem;display:block}.proj-section{margin-bottom:3rem}.proj-section h2{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.25rem;font-size:1.4rem;font-weight:700}.proj-section h3{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);margin:2rem 0 .9rem;font-size:1.05rem;font-weight:600}.proj-section h4{font-family:var(--font-body);color:var(--text-primary);margin:1.5rem 0 .6rem;font-size:1rem;font-weight:600}.proj-section p{color:var(--text-primary);margin-bottom:1rem;line-height:1.7}.proj-section ul,.proj-section ol{margin-bottom:1.2rem;padding-left:1.4rem;line-height:1.7}.proj-section li{margin-bottom:.4rem}.proj-section strong{color:var(--text-primary)}.proj-image{border:1px solid var(--border-subtle);width:100%;height:auto;margin:1.5rem 0 .5rem;display:block}.proj-image__caption{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;font-size:.8rem}.proj-table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.95rem}.proj-table th,.proj-table td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:.6rem .8rem}.proj-table th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.8rem;font-weight:700}.proj-foot-nav{border-top:1px solid var(--border-subtle);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin-top:3rem;padding-top:2rem;font-size:.9rem;display:flex}.proj-foot-nav a{color:var(--text-secondary);text-decoration:none;transition:color .3s}.proj-foot-nav a:hover{color:var(--accent-cyan)}@media (max-width:720px){.proj-main{padding:5.5rem 1rem 3rem}.proj-description{font-size:1.1rem}.proj-meta{font-size:.88rem}.proj-section h2{font-size:1.2rem}}.about-main{max-width:1000px;margin:0 auto;padding:7rem 1.5rem 4rem}.about-grid{grid-template-columns:372px 1fr;align-items:start;gap:3rem;display:grid}.about-photo{aspect-ratio:372/485;object-fit:cover;border:1px solid var(--border-subtle);width:100%;height:auto;display:block}.about-text h2{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.about-text ul{margin-bottom:1.2rem;padding-left:1.4rem;font-size:1.05rem;line-height:1.7}.about-text li{margin-bottom:.4rem}.about-text a{color:var(--accent-cyan);text-decoration:none}.about-text a:hover{text-decoration:underline}.about-tool{font-family:var(--font-display);letter-spacing:.06em;border:1px solid var(--border-subtle);color:var(--text-secondary);text-transform:uppercase;padding:.3rem .7rem;font-size:.78rem}@media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:2rem}.about-photo{max-width:372px;margin:0 auto}.about-main{padding:5.5rem 1rem 3rem}.about-text h2{font-size:1.2rem}}.max-w-1200{max-width:1200px;margin:0 auto}.mt-2-5{margin-top:2.5rem}.mt-4{margin-top:4rem}.mb-0{margin-bottom:0}.d-block{display:block}.w-full{width:100%}.justify-center{justify-content:center}.rounded-overflow{border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.color-magenta{color:var(--accent-magenta)}.color-cyan{color:var(--accent-cyan)}.color-amber{color:var(--accent-amber)}.color-lime{color:var(--accent-lime)}.color-violet{color:var(--accent-violet)}.color-red{color:red}.color-primary{color:var(--text-primary)}.pb-0{padding-bottom:0}.iframe-embed{min-height:380px;display:block}.iframe-embed-short{display:block}.yt-facade{cursor:pointer;background:#000;width:100%;height:100%;min-height:380px;position:relative}.yt-facade__thumb{object-fit:cover;width:100%;height:100%;display:block}.yt-facade__btn{cursor:pointer;opacity:.85;background:0 0;border:none;padding:0;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yt-facade__btn svg{width:68px;height:48px}.yt-facade:hover .yt-facade__btn{opacity:1}.list-no-margin{margin:0}.hero{min-height:100vh;padding:8rem 3rem 4rem;position:relative;overflow:hidden}.hero-bg-grid{background-image:radial-gradient(at 60%,#ffffff05 20%,#0000 70%),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:100% 100%,60px 60px,60px 60px;position:absolute;inset:0}.hero-content{max-width:800px}.hero-photo-area{justify-self:center;position:relative}.hero-photo{border:2px solid #ffffff14;border-radius:4px;width:100%;max-width:380px;display:block}.hero-photo-decor{border:2px solid var(--accent-magenta);z-index:-1;opacity:.4;border-radius:4px;max-width:380px;position:absolute;inset:0;transform:translate(12px,12px)}.hero-glow{opacity:.15;pointer-events:none;border-radius:50%;width:600px;height:600px;position:absolute;transform:translateZ(0)}.hero-glow--magenta{background:radial-gradient(circle, var(--accent-magenta) 0%, transparent 70%);top:10%;right:10%}.hero-glow--cyan{background:radial-gradient(circle, var(--accent-cyan) 0%, transparent 70%);bottom:10%;left:5%}.hero-content{z-index:2;max-width:800px;position:relative}.hero-tag{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-cyan);align-items:center;gap:.8rem;margin-bottom:1.5rem;font-size:.8rem;font-weight:600;display:flex}.hero-tag:before{content:"";background:var(--accent-cyan);width:40px;height:2px}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:700;line-height:1.05}.hero h1 .highlight-magenta{color:var(--accent-magenta)}.hero h1 .highlight-cyan{color:var(--accent-cyan)}.centered{text-align:center}.hero-description{color:var(--text-secondary);max-width:580px;margin-bottom:2.5rem;font-size:1.15rem;line-height:1.7}.hero-stats{gap:3rem;margin-top:2rem;display:flex}.stat{flex-direction:column;display:flex}.stat-number{font-family:var(--font-display);color:var(--accent-amber);font-size:2rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.scroll-hint{color:var(--text-muted);flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;transition:color .3s;display:flex;position:absolute;bottom:5%;left:50%}.scroll-hint:hover{color:var(--accent-cyan)}.scroll-hint__arrows{letter-spacing:.3em;font-size:1.4rem;line-height:1;animation:2s ease-in-out infinite scrollBounce}.scroll-hint__text{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:.65rem;font-weight:600}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.roles-strip{border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;flex-wrap:wrap;justify-content:center;gap:2rem;padding:2rem 3rem;display:flex}.role-chip{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:.6rem 1.6rem;font-size:.8rem;font-weight:600}.role-chip--magenta{border-color:var(--accent-magenta);color:var(--accent-magenta)}.role-chip--cyan{border-color:var(--accent-cyan);color:var(--accent-cyan)}.role-chip--amber{border-color:var(--accent-amber);color:var(--accent-amber)}.section-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-cyan);align-items:center;gap:1rem;margin-bottom:1rem;font-size:.8rem;font-weight:600;display:flex}.section-title:before{content:"";background:var(--accent-cyan);width:30px;height:2px}.section-heading{font-family:var(--font-display);margin-bottom:3rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}.projects{padding:6rem 3rem}.projects-grid{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;display:flex}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;grid-template-columns:1fr 1fr;min-height:380px;transition:border-color .4s,transform .4s,box-shadow .4s;display:grid;position:relative;overflow:hidden}.project-card[data-href]{cursor:pointer}.project-card[data-href]:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.project-card:hover{border-color:#ffffff1f;transform:translateY(-4px);box-shadow:0 20px 60px #0006}.project-card__image{background:var(--bg-deep);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.project-card:hover .project-card__image img{transform:scale(1.05)}.project-card__placeholder{font-family:var(--font-display);opacity:.1;text-align:center;font-size:3rem;font-weight:700;line-height:1.2}.project-card__content{flex-direction:column;justify-content:center;padding:2.5rem;display:flex}.project-card__genre{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem;font-size:.7rem;font-weight:600}.project-card__genre--magenta{color:var(--accent-magenta)}.project-card__genre--cyan{color:var(--accent-cyan)}.project-card__genre--amber{color:var(--accent-amber)}.project-card__genre--lime{color:var(--accent-lime)}.project-card__genre--violet{color:var(--accent-violet)}.project-card__title{font-family:var(--font-display);margin-bottom:1rem;font-size:1.8rem;font-weight:700;line-height:1.2}.project-card__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;display:flex}.meta-tag{color:var(--text-secondary);background:#ffffff0d;border-radius:2px;padding:.25rem .7rem;font-size:.75rem;font-weight:500}.project-card__description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem;line-height:1.7}.project-card__role{color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem}.project-card__role strong{color:var(--text-secondary)}.project-card__link{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-cyan);align-items:center;gap:.5rem;font-size:2rem;font-weight:900;text-decoration:none;transition:gap .3s;display:inline-flex}.project-card__link:hover{gap:1rem}.project-card__link--magenta{color:var(--accent-magenta)}.project-card__link--amber{color:var(--accent-amber)}.project-card--wip{cursor:default;border-style:dashed;border-color:#b388ff40}.project-card--wip:hover{box-shadow:none;border-color:#b388ff73;transform:none}.project-card--wip .project-card__placeholder{color:var(--accent-violet);opacity:.18;letter-spacing:.1em}.meta-tag--wip{color:var(--accent-violet);background:#b388ff1f;border:1px solid #b388ff4d}.minor-projects{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;display:grid}.minor-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;padding:2rem;transition:border-color .4s,transform .4s;position:relative;overflow:hidden}.minor-card:hover{border-color:#ffffff1f;transform:translateY(-3px)}.minor-card[data-href]{cursor:pointer}.minor-card[data-href]:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.minor-card__wip{background:var(--accent-amber);color:var(--bg-deep);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:.3rem 2.5rem;font-size:.6rem;font-weight:700;position:absolute;top:1rem;right:-2rem;transform:rotate(35deg)}.minor-card__genre{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem;font-size:.65rem;font-weight:600}.minor-card__title{font-family:var(--font-display);margin-bottom:.8rem;font-size:1.2rem;font-weight:700}.minor-card__meta{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.minor-card__description{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem;line-height:1.6}.minor-card__role{color:var(--text-muted);font-size:.8rem}.minor-card__role strong{color:var(--text-secondary)}.minor-card__coming{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-amber);border-top:1px solid #ffffff0d;margin-top:1rem;padding-top:1rem;font-size:.7rem;font-weight:600}.about{border-top:1px solid #ffffff0d;padding:6rem 3rem}.about-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.about-photo-area{position:relative}.about-photo{border:2px solid #ffffff14;border-radius:4px;width:100%;max-width:320px}.about-photo-decor{border:2px solid var(--accent-magenta);z-index:-1;opacity:.4;border-radius:4px;width:100%;max-width:320px;height:100%;position:absolute;top:12px;left:12px}.about-text h3{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.6rem;font-weight:700}.about-text p{color:var(--text-secondary);margin-bottom:1.2rem;font-size:1rem;line-height:1.8}.about-text p strong{color:var(--text-primary)}.about-tools{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.tool-tag{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-secondary);border:1px solid #ffffff1a;border-radius:2px;padding:.4rem 1rem;font-size:.7rem;font-weight:600}.contact{text-align:center;border-top:1px solid #ffffff0d;padding:6rem 3rem;position:relative}.contact-glow{background:radial-gradient(circle, var(--accent-magenta) 0%, transparent 70%);opacity:.08;pointer-events:none;border-radius:50%;width:400px;height:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact h2{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;position:relative}.contact p{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.1rem;position:relative}.contact-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex;position:relative}.contact-btn{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:.8rem 2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .3s,background .3s,box-shadow .3s}.contact-btn--primary{border-color:var(--accent-magenta);color:var(--accent-magenta)}.contact-btn--primary:hover{background:var(--accent-magenta);color:var(--bg-deep);box-shadow:var(--glow-magenta)}.contact-btn--secondary{border-color:var(--accent-cyan);color:var(--accent-cyan)}.contact-btn--secondary:hover{background:var(--accent-cyan);color:var(--bg-deep);box-shadow:var(--glow-cyan)}.contact-btn--linkedin{border-color:var(--accent-amber);color:var(--accent-amber)}.contact-btn--linkedin:hover{background:var(--accent-amber);color:var(--bg-deep);box-shadow:var(--glow-amber)}.contact-btn--itch{border-color:var(--accent-lime);color:var(--accent-lime)}.contact-btn--itch:hover{background:var(--accent-lime);color:var(--bg-deep);box-shadow:0 0 30px #76ff034d}.contact-btn svg{vertical-align:middle;fill:currentColor;width:18px;height:18px;margin-right:.5rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{opacity:0;animation:.7s forwards fadeUp}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.case-hero{border-bottom:1px solid var(--border-subtle);padding:10rem 3rem 4rem;position:relative}.case-hero__glow{opacity:.08;pointer-events:none;border-radius:50%;width:500px;height:500px;position:absolute;top:20%;right:10%;transform:translateZ(0)}.case-hero__glow--cyan{background:radial-gradient(circle, var(--accent-cyan) 0%, transparent 70%)}.case-hero__glow--magenta{background:radial-gradient(circle, var(--accent-magenta) 0%, transparent 70%);opacity:.1}.case-hero__glow--amber{background:radial-gradient(circle, var(--accent-amber) 0%, transparent 70%)}.case-hero__back{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .3s;display:inline-flex}.case-hero__back:hover{color:var(--accent-cyan)}.case-hero__genre{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:600}.case-hero h1{font-family:var(--font-display);margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1}.case-hero__meta{flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem;display:flex}.mi,.meta-item{flex-direction:column;display:flex}.mi__l,.meta-item__label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.7rem;font-family:var(--font-display);font-weight:600}.mi__v,.meta-item__value{color:var(--text-primary);font-size:1rem}.case-hero__summary{max-width:700px;color:var(--text-secondary);font-size:1.1rem;line-height:1.7}.toc{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;max-width:900px;margin:2rem auto 3rem;padding:1.5rem 2rem}.toc__title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem;font-size:.7rem;font-weight:700}.toc__list{flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;display:flex}.toc__list a{font-family:var(--font-display);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.3rem 0;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.tn,.toc-num{color:var(--text-muted);min-width:1.4rem;font-size:.65rem}.cc,.case-content{max-width:900px;margin:0 auto;padding:2rem 3rem 4rem}.cs,.case-section{margin-bottom:5rem;scroll-margin-top:100px}.sl,.section-label{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-cyan);align-items:center;gap:.8rem;margin-bottom:.8rem;font-size:.75rem;font-weight:600;display:flex}.sl:before,.section-label:before{content:"";background:var(--accent-cyan);width:25px;height:2px}.sl--m,.section-label--m{color:var(--accent-magenta)}.sl--m:before,.section-label--m:before{background:var(--accent-magenta)}.sl--a,.section-label--a{color:var(--accent-amber)}.sl--a:before,.section-label--a:before{background:var(--accent-amber)}.sl--l,.section-label--l{color:var(--accent-lime)}.sl--l:before,.section-label--l:before{background:var(--accent-lime)}.sl--v,.section-label--v{color:var(--accent-violet)}.sl--v:before,.section-label--v:before{background:var(--accent-violet)}.sl--c{color:var(--accent-cyan)}.sl--c:before{background:var(--accent-cyan)}.cs h2,.case-section h2{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.8rem;font-weight:700;line-height:1.2}.cs h3,.case-section h3{font-family:var(--font-display);color:var(--accent-amber);margin-top:2.5rem;margin-bottom:.8rem;font-size:1.15rem;font-weight:700}.cs h4,.case-section h4{font-family:var(--font-display);color:var(--text-primary);margin-top:1.5rem;margin-bottom:.6rem;font-size:.95rem;font-weight:700}.cs p,.case-section p{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.8}.cs p strong,.case-section p strong{color:var(--text-primary)}.cs ul,.cs ol,.case-section ul,.case-section ol{color:var(--text-secondary);margin-bottom:1rem;margin-left:1.5rem;font-size:.95rem;line-height:1.8}.cs li,.case-section li{margin-bottom:.4rem}.tldr{border:1px solid #00e5ff26;border-radius:4px;margin-bottom:2rem;padding:1.8rem 2rem}.tldr--cyan{background:linear-gradient(135deg,#00e5ff14,#ff2d7b0f);border-color:#00e5ff26}.tldr--magenta{background:linear-gradient(135deg,#ff2d7b14,#00e5ff0f);border-color:#ff2d7b26}.tldr--amber{background:linear-gradient(135deg,#ffab0014,#ff2d7b0f);border-color:#ffab0026}.tldr__t,.tldr__title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem;font-size:.7rem;font-weight:700}.tldr p{color:var(--text-primary);margin-bottom:0;font-size:.95rem}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;margin:1.5rem 0;padding:2rem 2.2rem}.card__h,.card__header{flex-wrap:wrap;align-items:baseline;gap:.8rem;margin-bottom:.8rem;display:flex}.tag{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:.25rem .7rem;font-size:.6rem;font-weight:700}.tag--p,.tag--t,.tag--problem,.tag--tech{color:var(--accent-amber);background:#ffab001a}.tag--g,.tag--goal{color:var(--accent-cyan);background:#00e5ff1a}.tag--r,.tag--result{color:var(--accent-magenta);background:#ff2d7b1a}.tag--i,.tag--l{color:var(--accent-lime);background:#76ff031a}.tag--v{color:var(--accent-violet);background:#b388ff1a}.two-col{grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0;display:grid}.img{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;width:100%;margin:1.5rem 0;overflow:hidden}.img__ph{text-align:center;font-family:var(--font-display);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;padding:3.5rem 2rem;font-size:.75rem}.img__ph img{padding:0}.img__cap{color:var(--text-muted);border-top:1px solid var(--border-subtle);text-align:center;padding:.6rem 1rem;font-size:.75rem}.divider{background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;margin:3rem 0}.callout{border-left:3px solid var(--accent-cyan);background:#00e5ff0a;border-radius:0 4px 4px 0;margin:1.5rem 0;padding:1rem 1.5rem}.callout p{margin-bottom:0;font-size:.9rem}.callout--a{border-left-color:var(--accent-amber);background:#ffab000a}.callout--m{border-left-color:var(--accent-magenta);background:#ff2d7b0a}.callout--v{border-left-color:var(--accent-violet);background:#b388ff0a}.rtable{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.85rem}.rtable th{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid #ffffff14;padding:.8rem 1rem;font-size:.7rem;font-weight:600}.rtable td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:.7rem 1rem}.rtable tr:hover td{background:#ffffff05}.foot-nav{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:3rem 0;display:flex}.foot-nav a{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-cyan);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .3s}.foot-nav a:hover{color:var(--text-primary)}.iter-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0;display:grid}.iter-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.iter-card__img{background:#ffffff05;justify-content:center;align-items:center;height:160px;display:flex}.iter-card__img-ph{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:1rem;font-size:.7rem}.iter-card__body{padding:1.2rem}.iter-card__label{font-family:var(--font-display);color:var(--accent-amber);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem;font-size:.7rem;font-weight:600}.iter-card__title{font-family:var(--font-display);margin-bottom:.3rem;font-size:1rem;font-weight:700}.iter-card__desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.phase-tl{border-left:2px solid #ffffff14;margin:2rem 0;padding-left:2rem;position:relative}.phase{margin-bottom:2.5rem;padding-left:1.5rem;position:relative}.phase:before{content:"";border:2px solid var(--accent-cyan);background:var(--bg-deep);border-radius:50%;width:12px;height:12px;position:absolute;top:.3rem;left:-2.55rem}.phase--magenta:before{border-color:var(--accent-magenta)}.phase__sub{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:.3rem;font-size:.7rem;font-weight:600}.phase--magenta .phase__sub{color:var(--accent-magenta)}.phase__title{font-family:var(--font-display);margin-bottom:.6rem;font-size:1.1rem;font-weight:700}.phase p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;line-height:1.7}.phase ul{color:var(--text-secondary);margin-left:1.2rem;font-size:.9rem;line-height:1.7}.el-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0;display:grid}.el-chip{background:var(--bg-card);border:1px solid var(--border-subtle);text-align:center;border-radius:4px;padding:1.2rem}.el-chip__name{font-family:var(--font-display);margin-bottom:.3rem;font-size:1rem;font-weight:700}.el-chip__owner{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.7rem}.el-chip__desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.combo-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;display:grid}.combo{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;padding:1.2rem}.combo__name{font-family:var(--font-display);color:var(--accent-amber);margin-bottom:.2rem;font-size:.95rem;font-weight:700}.combo__formula{color:var(--text-muted);letter-spacing:.05em;margin-bottom:.5rem;font-size:.7rem}.combo__desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5}@media (max-width:900px){nav{padding:1rem 1.5rem}.nav-links{gap:1rem}.hero{padding:7rem 1.5rem 3rem}.hero-stats{gap:2rem}.scroll-hint{display:none}.project-card{grid-template-columns:1fr}.project-card__image{min-height:220px}.minor-projects,.about-grid{grid-template-columns:1fr}.projects,.about,.contact{padding:4rem 1.5rem}.case-hero{padding:8rem 1.5rem 3rem}.cc,.case-content{padding:2rem 1.5rem}.two-col,.iter-grid{grid-template-columns:1fr}.el-grid{grid-template-columns:repeat(2,1fr)}.combo-grid{grid-template-columns:1fr}}@media (max-width:768px){.nav-toggle{display:flex}.nav-links{border-bottom:1px solid var(--border-subtle);background:#0a0a12fa;flex-direction:column;align-items:flex-start;gap:0;max-height:0;padding:0 1.5rem;transition:max-height .35s,padding .35s;position:absolute;top:100%;left:0;right:0;overflow:hidden}nav.nav-open .nav-links{max-height:360px;padding:.5rem 1.5rem 1.5rem}.nav-links a{width:100%;padding:.85rem 0;font-size:.95rem}.nav-contact{text-align:center;margin-top:.6rem}.ux .nav-links{background:var(--ux-bg);border-bottom:1px solid var(--ux-line)}}@media (max-width:600px){.hero h1{font-size:2.5rem}.hero-stats{flex-direction:column;gap:1rem}.el-grid{grid-template-columns:1fr}}.landing{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.landing__bg-grid{background-image:linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:60px 60px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.landing__bg-glow{filter:blur(120px);opacity:.35;pointer-events:none;z-index:0;border-radius:50%;width:600px;height:600px;position:fixed}.landing__bg-glow--m{background:var(--accent-magenta);top:-150px;left:-100px}.landing__bg-glow--c{background:var(--accent-cyan);bottom:-200px;right:-100px}.landing main{z-index:1;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex;position:relative}.landing__intro{max-width:720px;margin-bottom:3.5rem}.landing__name{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.25rem;font-size:.8rem;font-weight:600}.landing__heading{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.landing__heading span{color:var(--accent-magenta)}.landing__sub{color:var(--text-muted);font-size:1.05rem;line-height:1.6}.landing__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;width:100%;max-width:880px;display:grid}.landing__card{text-align:left;border:1px solid var(--border-subtle);color:var(--text-primary);background:#ffffff05;flex-direction:column;align-items:flex-start;padding:2.25rem 2rem;text-decoration:none;transition:transform .25s,background .25s;display:flex;position:relative;overflow:hidden}.landing__card:hover,.landing__card:focus-visible{outline:none;transform:translateY(-4px)}.landing__card--gd{border-top:2px solid var(--accent-magenta)}.landing__card--gd:hover,.landing__card--gd:focus-visible{background:#ff2d7b0d}.landing__card--ux{background:linear-gradient(#faf9f60a 0%,#ffffff05 100%);border-top:2px solid #faf9f6}.landing__card--ux:hover,.landing__card--ux:focus-visible{background:linear-gradient(#faf9f61a 0%,#ffffff0a 100%)}.landing__card--ux .landing__card-tag,.landing__card--ux .landing__card-cta{color:#faf9f6}.landing__card--gd .landing__card-tag,.landing__card--gd .landing__card-cta{color:var(--accent-magenta)}.landing__card-tag{font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.7rem;font-weight:600}.landing__card-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.75rem;font-size:1.6rem;font-weight:700;line-height:1.2}.landing__card--ux .landing__card-title{font-family:var(--ux-serif,"Fraunces", Georgia, serif);letter-spacing:-.01em;font-weight:400}.landing__card-desc{color:var(--text-muted);margin-bottom:1.75rem;font-size:.95rem;line-height:1.55}.landing__card-cta{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.5rem;margin-top:auto;font-size:.85rem;font-weight:600;display:inline-flex}.landing__card-cta:after{content:"→";transition:transform .25s}.landing__card:hover .landing__card-cta:after,.landing__card:focus-visible .landing__card-cta:after{transform:translate(4px)}.landing footer{z-index:1;text-align:center;color:var(--text-muted);letter-spacing:.05em;background:0 0;border-top:none;padding:1.5rem;font-size:.8rem;position:relative}.landing footer a{color:var(--text-primary);text-decoration:none}.landing footer a:hover{color:var(--accent-magenta)}@media (max-width:640px){.landing__choices{grid-template-columns:1fr}}.ux{--ux-bg:#faf9f6;--ux-fg:#181818;--ux-muted:#5e5e5e;--ux-faint:#767676;--ux-line:#0000001a;--ux-line-strong:#0000002e;--ux-card:#fff;--ux-soft:#00000008;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;background:var(--ux-bg);color:var(--ux-fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.65}.ux ::selection{background:var(--ux-fg);color:var(--ux-bg)}.ux .project-card{contain:layout paint}.ux .cs,.ux .case-section{content-visibility:auto;contain-intrinsic-size:auto 700px}.ux nav{background:var(--ux-bg);border-bottom:1px solid var(--ux-line);padding:1.4rem 3rem}.ux .nav-logo{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--ux-fg);font-size:1.25rem;font-style:italic;font-weight:400}.ux .nav-logo span{color:var(--ux-fg)}.ux .nav-links a{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-muted);font-size:.9rem;font-weight:400;transition:color .2s}.ux .nav-links a:hover{color:var(--ux-fg)}.ux .nav-contact{border:1px solid var(--ux-fg);border-radius:999px;padding:.45rem 1.1rem;font-weight:500;color:var(--ux-fg)!important}.ux .nav-contact:hover{background:var(--ux-fg);box-shadow:none;color:var(--ux-bg)!important}.ux .hero{background:var(--ux-bg);text-align:left;align-items:flex-start;min-height:auto;padding:11rem 3rem 6rem}.ux .hero-content{width:100%;max-width:920px;margin:0 auto}.ux .hero-tag{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:2rem;padding-left:0;font-size:.78rem;font-weight:500}.ux .hero-tag:before{display:none}.ux .hero h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ux-fg);max-width:18ch;margin-bottom:2rem;font-size:clamp(2.6rem,6vw,5rem);font-weight:300;line-height:1.05}.ux .hero h1 .highlight-magenta,.ux .hero h1 .highlight-cyan{color:var(--ux-fg);font-style:italic;font-weight:300}.ux .hero-description{font-family:var(--sans);color:var(--ux-muted);max-width:56ch;margin-bottom:3rem;font-size:1.05rem;line-height:1.7}.ux .hero-description strong{color:var(--ux-fg);font-weight:500}.ux .hero-stats{border-top:1px solid var(--ux-line);gap:3rem;max-width:720px;padding-top:2rem}.ux .stat-number{font-family:var(--serif);color:var(--ux-fg);letter-spacing:-.01em;font-size:1.4rem;font-weight:400}.ux .stat-label{font-family:var(--sans);color:var(--ux-muted);text-transform:none;letter-spacing:0;margin-top:.3rem;font-size:.78rem}.ux .scroll-hint-wrapper{display:none}.ux .projects{background:var(--ux-bg);padding:5rem 3rem 6rem}.ux .section-title{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:1.2rem;font-size:.78rem;font-weight:500}.ux .section-title:before{display:none}.ux .section-heading{font-family:var(--serif);letter-spacing:-.015em;color:var(--ux-fg);margin-bottom:3.5rem;font-size:clamp(2rem,4vw,3rem);font-weight:300}.ux .projects-grid{gap:3rem}.ux .project-card{border:none;border-top:1px solid var(--ux-line);background:0 0;border-radius:0;gap:1.5rem 3rem;padding-top:3rem;transition:opacity .3s}.ux .project-card:hover{box-shadow:none;border-color:var(--ux-line);transform:none}.ux .project-card__image{background:var(--ux-card);border:1px solid var(--ux-line);aspect-ratio:16/10;border-radius:2px;min-height:auto;overflow:hidden}.ux .project-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.ux .project-card:hover .project-card__image img{transform:scale(1.02)}.ux .project-card__content{padding:2rem 0 0}.ux .project-card__genre,.ux .project-card__genre--cyan,.ux .project-card__genre--magenta,.ux .project-card__genre--amber{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:1rem;font-size:.75rem;font-weight:500}.ux .project-card__title{font-family:var(--serif);letter-spacing:-.015em;color:var(--ux-fg);margin-bottom:1rem;font-size:2rem;font-weight:400;line-height:1.15}.ux .project-card__meta{gap:.5rem;margin-bottom:1.5rem}.ux .meta-tag{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-muted);border:1px solid var(--ux-line);background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.75rem;font-weight:400}.ux .project-card__description{font-family:var(--sans);color:var(--ux-muted);max-width:62ch;margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.ux .project-card__role{font-family:var(--sans);color:var(--ux-muted);margin-bottom:1.5rem;font-size:.9rem}.ux .project-card__role strong{color:var(--ux-fg);font-weight:500}.ux .project-card__link,.ux .project-card__link--magenta,.ux .project-card__link--amber{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-fg);border-bottom:1px solid var(--ux-line-strong);gap:0;padding-bottom:.2rem;font-size:.95rem;font-weight:500;transition:border-color .2s;display:inline-block}.ux .project-card__link:hover{border-bottom-color:var(--ux-fg);gap:0}.ux .about{background:var(--ux-bg);border-top:1px solid var(--ux-line);padding:6rem 3rem}.ux .about-photo{border:1px solid var(--ux-line);filter:grayscale(.15);border-radius:2px}.ux .about-text h3{font-family:var(--serif);color:var(--ux-fg);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:1.8rem;font-weight:400}.ux .about-text p{font-family:var(--sans);color:var(--ux-muted);max-width:60ch;margin-bottom:1.2rem;font-size:1rem;line-height:1.75}.ux .about-text p strong{color:var(--ux-fg);font-weight:500}.ux .about-text a{color:var(--ux-fg);text-underline-offset:3px;text-decoration:underline}.ux .tool-tag{font-family:var(--sans);color:var(--ux-muted);border:1px solid var(--ux-line);text-transform:none;letter-spacing:0;background:0 0;border-radius:999px;padding:.35rem .85rem;font-size:.78rem;font-weight:400}.ux .contact{background:var(--ux-bg);border-top:1px solid var(--ux-line);text-align:left;padding:6rem 3rem}.ux .contact .section-title.justify-center{justify-content:flex-start}.ux .contact h2{font-family:var(--serif);color:var(--ux-fg);letter-spacing:-.015em;margin-bottom:1.2rem;font-size:clamp(2rem,4vw,3rem);font-weight:300}.ux .contact p{font-family:var(--sans);color:var(--ux-muted);max-width:56ch;margin-bottom:2.5rem;font-size:1.05rem}.ux .contact-links{flex-wrap:wrap;justify-content:flex-start;gap:.8rem}.ux .contact-btn,.ux .contact-btn--primary,.ux .contact-btn--secondary,.ux .contact-btn--linkedin,.ux .contact-btn--itch{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-fg);border:1px solid var(--ux-line-strong);box-shadow:none;background:0 0;border-radius:999px;padding:.65rem 1.3rem;font-size:.9rem;font-weight:500}.ux .contact-btn:hover,.ux .contact-btn--primary:hover,.ux .contact-btn--secondary:hover,.ux .contact-btn--linkedin:hover,.ux .contact-btn--itch:hover{background:var(--ux-fg);color:var(--ux-bg);border-color:var(--ux-fg);box-shadow:none}.ux .contact-btn svg{fill:currentColor;width:18px;height:18px}.ux footer{background:var(--ux-bg);border-top:1px solid var(--ux-line);color:var(--ux-faint);font-family:var(--sans);padding:2rem 3rem;font-size:.85rem}.ux footer a{color:var(--ux-fg);text-underline-offset:3px;text-decoration:underline}.ux .case-hero{background:var(--ux-bg);max-width:1100px;margin:0 auto;padding:8rem 3rem 3rem}.ux .case-hero__back{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-muted);font-size:.88rem;font-weight:400}.ux .case-hero__back:hover{color:var(--ux-fg)}.ux .case-hero__genre{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ux-muted);font-size:.78rem;font-weight:500}.ux .case-hero h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ux-fg);margin-bottom:2.5rem;font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1.05}.ux .case-hero__meta{border-top:1px solid var(--ux-line);border-bottom:1px solid var(--ux-line);gap:2rem 3rem;margin-bottom:2rem;padding:1.5rem 0}.ux .mi__l,.ux .meta-item__label{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ux-faint);font-size:.7rem;font-weight:500}.ux .mi__v,.ux .meta-item__value{font-family:var(--serif);color:var(--ux-fg);margin-top:.3rem;font-size:1rem;font-weight:400}.ux .case-hero__summary{font-family:var(--serif);color:var(--ux-fg);border-left:none;max-width:60ch;padding-left:0;font-size:1.25rem;font-style:italic;font-weight:300;line-height:1.55}.ux .rounded-overflow{border:1px solid var(--ux-line);border-radius:2px}.ux .cc,.ux .case-content{max-width:760px;margin:0 auto;padding:3rem 3rem 5rem}.ux .toc{background:var(--ux-soft);border:1px solid var(--ux-line);border-radius:2px;margin-bottom:0;padding:1.8rem 2rem}.ux .toc__title{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:1rem;font-size:.7rem;font-weight:500}.ux .toc__list a{font-family:var(--sans);color:var(--ux-fg);font-size:.95rem;transition:color .2s}.ux .toc__list a:hover{color:var(--ux-muted)}.ux .tn,.ux .toc-num{font-family:var(--serif);color:var(--ux-faint);font-style:italic;font-weight:400}.ux .cs,.ux .case-section{margin-bottom:3.5rem}.ux .sl,.ux .section-label,.ux .sl--c,.ux .sl--m,.ux .sl--a,.ux .sl--l,.ux .sl--v{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:1.2rem;padding-left:0;font-size:.72rem;font-weight:500}.ux .sl:before,.ux .section-label:before,.ux .sl--c:before,.ux .sl--m:before,.ux .sl--a:before,.ux .sl--l:before,.ux .sl--v:before{display:none}.ux .cs h2,.ux .case-section h2{font-family:var(--serif);letter-spacing:-.015em;color:var(--ux-fg);margin-bottom:2rem;font-size:2.1rem;font-weight:300;line-height:1.15}.ux .cs h3,.ux .case-section h3{font-family:var(--serif);color:var(--ux-fg);letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:1rem;font-size:1.3rem;font-weight:400}.ux .cs h4,.ux .case-section h4{font-family:var(--sans);color:var(--ux-fg);text-transform:uppercase;letter-spacing:.12em;margin-top:2rem;margin-bottom:1rem;font-size:.85rem;font-weight:500}.ux .cs p,.ux .case-section p{font-family:var(--sans);color:var(--ux-fg);margin-bottom:1.2rem;font-size:1rem;line-height:1.75}.ux .cs p strong,.ux .case-section p strong{color:var(--ux-fg);font-weight:600}.ux .cs ul,.ux .cs ol,.ux .case-section ul,.ux .case-section ol{color:var(--ux-fg);margin-bottom:1.5rem;margin-left:1.2rem;font-size:1rem;line-height:1.75}.ux .cs li,.ux .case-section li{margin-bottom:.6rem}.ux .cs b,.ux .cs u,.ux .case-section b,.ux .case-section u{color:var(--ux-fg);font-weight:500;text-decoration:none}.ux .tldr,.ux .tldr--cyan,.ux .tldr--magenta,.ux .tldr--amber{border:none;border-left:2px solid var(--ux-fg);background:0 0;border-radius:0;margin:1.5rem 0 2rem;padding:.5rem 1.5rem}.ux .tldr__t,.ux .tldr__title{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ux-muted);margin-bottom:.6rem;font-size:.7rem;font-weight:500}.ux .tldr p{font-family:var(--serif);color:var(--ux-fg);font-size:1.1rem;font-style:italic;font-weight:300;line-height:1.55}.ux .card{background:var(--ux-card);border:1px solid var(--ux-line);border-radius:2px;margin:1.5rem 0;padding:1.5rem}.ux .card__h,.ux .card__header{border-bottom:1px solid var(--ux-line);margin-bottom:.8rem;padding-bottom:.7rem}.ux .tag,.ux .tag--p,.ux .tag--t,.ux .tag--problem,.ux .tag--tech,.ux .tag--g,.ux .tag--goal,.ux .tag--r,.ux .tag--result,.ux .tag--i,.ux .tag--l,.ux .tag--v{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ux-muted);background:0 0;border:none;border-radius:0;padding:0;font-size:.7rem;font-weight:500}.ux .two-col{gap:2rem}.ux .img{background:0 0;border:none;margin:2rem 0}.ux .img__ph{background:var(--ux-card);border:1px solid var(--ux-line);border-radius:2px;overflow:hidden}.ux .img__cap{font-family:var(--serif);color:var(--ux-muted);text-align:left;border-top:none;padding:.8rem 0 0;font-size:.88rem;font-style:italic}.ux .cs>img.w-full{border:1px solid var(--ux-line);border-radius:2px;margin:1.5rem 0}.ux .divider{background:var(--ux-line);height:1px;margin:4rem 0}.ux .callout,.ux .callout--a,.ux .callout--m,.ux .callout--v{border-left:2px solid var(--ux-fg);background:0 0;border-radius:0;margin:2rem 0;padding:.3rem 1.5rem}.ux .callout p{font-family:var(--serif);color:var(--ux-fg);font-size:1.05rem;font-style:italic;font-weight:300;line-height:1.6}.ux .callout p strong{font-style:normal;font-weight:500}.ux .rtable{font-family:var(--sans);margin:2rem 0;font-size:.92rem}.ux .rtable th{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ux-muted);border-bottom:1px solid var(--ux-line-strong);padding:.9rem 1rem .9rem 0;font-size:.7rem;font-weight:500}.ux .rtable td{color:var(--ux-fg);border-bottom:1px solid var(--ux-line);padding:.9rem 1rem .9rem 0}.ux .rtable tr:hover td{background:0 0}.ux .rtable td.color-cyan,.ux .rtable td.color-amber,.ux .rtable td.color-lime,.ux .rtable td.color-magenta,.ux .rtable td.color-violet,.ux .rtable td.color-primary{color:var(--ux-fg);font-weight:500}.ux .foot-nav{border-top:1px solid var(--ux-line);font-family:var(--sans);padding:3rem 0 1rem}.ux .foot-nav a{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ux-fg);border-bottom:1px solid var(--ux-line-strong);padding-bottom:.2rem;font-size:.95rem;font-weight:500;transition:border-color .2s}.ux .foot-nav a:hover{color:var(--ux-fg);border-bottom-color:var(--ux-fg)}.ux .iframe-embed-short,.ux .iframe-embed{background:var(--ux-card)}.ux .color-cyan,.ux .color-magenta,.ux .color-amber,.ux .color-lime,.ux .color-violet,.ux .color-red{color:var(--ux-fg)}@media (max-width:900px){.ux nav{padding:1rem 1.5rem}.ux .hero{padding:7rem 1.5rem 4rem}.ux .case-hero{padding:7rem 1.5rem 2rem}.ux .cc,.ux .case-content{padding:2rem 1.5rem 4rem}.ux .projects,.ux .about,.ux .contact{padding:4rem 1.5rem}.ux .hero-stats{gap:2rem}.ux footer{padding:2rem 1.5rem}}@media (max-width:600px){.ux .hero h1{font-size:2.4rem}.ux .case-hero h1{font-size:2.2rem}.ux .cs h2,.ux .case-section h2{font-size:1.7rem}.ux .project-card__title{font-size:1.6rem}.ux .case-hero__meta{gap:1rem 2rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
