:root{--color-primary: #c22718;--color-text: #ffffff;--color-background: #303538;--color-text-light: #cccccc;--color-text-muted: #999999;--color-border: #4a5458;--color-border-light: #454a4e;--font-family-base: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--border-radius: .375rem;--border-radius-lg: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family-base);color:var(--color-text);background-color:var(--color-background);line-height:1.6;letter-spacing:-.01em}body{margin:0;padding:73px 0 0;letter-spacing:-.01em}body.no-header-padding{padding-top:0}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);font-family:var(--font-family-heading);color:var(--color-text)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-normal);font-size:var(--font-size-base)}small{font-size:var(--font-size-sm);color:var(--color-text-light)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-light)}.text-light{color:var(--color-text-muted)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:640px){.container{padding:0 var(--spacing-lg)}}@media(min-width:1024px){.container{padding:0 var(--spacing-xl)}}.container--narrow{max-width:650px}.container--medium{max-width:750px}.site-header{margin-bottom:3rem;padding-bottom:1rem}.site-title{font-size:1.5rem;font-weight:400;margin:0;color:#fff}.content{margin-bottom:4rem}.project-item{margin-bottom:2.5rem}.project-link{display:flex;gap:1.25rem;text-decoration:none;color:inherit;align-items:flex-start}.project-link:hover .project-title{text-decoration:underline}.project-thumbnail{flex-shrink:0;width:120px;height:90px;overflow:hidden;border-radius:4px;background-color:#303538}.project-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.project-content{flex:1;min-width:0}.project-title{font-size:1.25rem;font-weight:400;margin:0 0 .5rem;color:#fff}.project-title a{color:#fff;text-decoration:none}.project-title a:hover{text-decoration:underline}.project-excerpt{color:#ccc;line-height:1.6;margin:0;font-size:.95rem}.back-nav{margin-bottom:2rem}.back-link{color:#ccc;text-decoration:none;font-size:.95rem}.back-link:hover{color:#fff;text-decoration:underline}.project-header{margin-bottom:2.5rem}.project-description{font-size:1.1rem;color:#ccc;line-height:1.6;margin:0 0 1rem}.project-meta{display:flex;align-items:center;gap:.75rem;color:#999;font-size:.9rem;margin-bottom:1rem;flex-wrap:wrap}.project-date{color:#999}.meta-separator{color:#666}.project-technologies{color:#ccc}.project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-links a{color:#ccc;text-decoration:none;font-size:.9rem;padding:.4rem .8rem;border:1px solid #4a5458;border-radius:4px;transition:all .2s ease}.project-links a:hover{color:#fff;border-color:#fff}.project-hero-image{margin-bottom:2.5rem;border-radius:4px;overflow:hidden}.project-hero-image img{width:100%;height:auto;display:block}.project-hero-video{margin-bottom:2.5rem;border-radius:4px;overflow:hidden;background:#000}.hero-video{width:100%;height:auto;display:block}.project-body{line-height:1.7;color:#ccc;margin-bottom:3rem}.project-body h1,.project-body h2,.project-body h3{font-weight:400;color:#fff;margin:2rem 0 1rem}.project-body h1{font-size:1.75rem}.project-body h2{font-size:1.5rem}.project-body h3{font-size:1.25rem}.project-body p{margin:0 0 1.25rem}.project-body ul,.project-body ol{margin:0 0 1.25rem;padding-left:1.5rem}.project-body li{margin-bottom:.5rem}.project-body a{color:#fff;text-decoration:underline}.project-body a:hover{color:#ccc}.project-body code{background:#303538;padding:.2rem .4rem;border-radius:3px;font-size:.9em;font-family:var(--font-family-mono)}.project-body pre{background:#303538;padding:1rem;border-radius:4px;overflow-x:auto;margin:0 0 1.25rem}.project-body pre code{background:none;padding:0}.project-gallery{margin-bottom:3rem}.gallery-item{margin-bottom:1.5rem;border-radius:4px;overflow:hidden}.gallery-item img{width:100%;height:auto;display:block}.site-footer{padding-top:2rem;border-top:1px solid #4a5458}.social-links{display:flex;gap:1.5rem}.social-links a{color:#ccc;text-decoration:none;font-size:.9rem}.social-links a:hover{color:#fff;text-decoration:underline}@media(max-width:768px){.site-header,.project-item{margin-bottom:2rem}.project-thumbnail{width:100px;height:75px}.project-link{gap:1rem}.project-meta{font-size:.85rem}.project-title{font-size:1.75rem}.project-description{font-size:1rem}}@media(max-width:480px){.project-thumbnail{width:80px;height:60px}.project-title{font-size:1.1rem}.project-excerpt{font-size:.9rem}.project-body h1{font-size:1.5rem}.project-body h2{font-size:1.25rem}.project-body h3{font-size:1.1rem}}.site-wrapper{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1;padding-top:2rem}.site-main--no-padding{padding-top:0}header.site-header.main-header{background-color:#3a4448;border-bottom:1px solid #4a5458;position:fixed;top:0;left:0;right:0;z-index:100;margin-bottom:0;padding-bottom:0;transition:background-color .3s ease,border-color .3s ease,opacity .5s ease}header.site-header.main-header.header-transparent{background-color:transparent;border-bottom-color:transparent;opacity:0}header.site-header.main-header.header-transparent.header-fade-in{opacity:1}header.site-header.main-header.header-transparent.header-solid{background-color:#3a4448;border-bottom-color:#4a5458}.header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem}.logo-link{text-decoration:none;color:#fff;font-weight:400;font-size:1.5rem;transition:opacity .2s ease;display:block}.logo-link:hover{opacity:.8;text-decoration:none}.logo-image{height:40px;width:auto;display:block}.logo-text{font-family:Lexend,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;letter-spacing:-.02em}.main-nav{display:flex}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:1.5rem}.nav-item{margin:0}.nav-link{color:#ccc;text-decoration:none;font-weight:400;font-size:.95rem;padding:.5rem 0;transition:color .2s ease;position:relative}.nav-link:hover{color:#fff;text-decoration:none}.nav-link[aria-current=page]{color:#fff;font-weight:400}.nav-link[aria-current=page]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:#fff}footer.site-footer.main-footer{background-color:#303538;color:#ccc;margin-top:4rem;border-top:1px solid #4a5458;padding-top:0}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0}.footer-branding .footer-logo{color:#fff;font-size:1.5rem;font-weight:400;font-family:Lexend,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;letter-spacing:-.02em;height:36px;width:auto;display:block;margin-bottom:.5rem}.footer-description{color:#999;margin-top:.5rem;font-size:.9rem}.social-list{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.social-link{display:flex;align-items:center;color:#fff;text-decoration:none;transition:color .2s ease,transform .2s ease}.social-link:hover{color:var(--color-primary);transform:translateY(-2px);text-decoration:none}.social-icon{width:24px;height:24px;flex-shrink:0}.footer-bottom{border-top:1px solid #4a5458;padding:1.5rem 0;text-align:center}.copyright{color:#999;font-size:.85rem;margin:0}@media(min-width:768px){.footer-content{flex-direction:row}}@media(max-width:640px){.header-content{padding:.75rem 1rem}.nav-list{gap:1rem}.nav-link{padding:.5rem 0;font-size:.9rem}.logo-link{font-size:1.25rem}.logo-image{height:32px}.footer-branding .footer-logo{height:30px}.footer-content{flex-direction:column;align-items:flex-start}.social-list{gap:1.25rem}.social-icon{width:22px;height:22px}}.project-title.page-title{font-size:2rem;font-weight:400;margin:0 0 1rem;color:#fff;line-height:1.2}@media(max-width:768px){.project-title.page-title{font-size:1.75rem}}@media(max-width:480px){.project-title.page-title{font-size:1.5rem}}.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}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media(min-width:640px){.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}@media(min-width:640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}}@media(min-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}}@media(min-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}}@media(min-width:640px){.sm\:gap-xs{gap:var(--spacing-xs)}.sm\:gap-sm{gap:var(--spacing-sm)}.sm\:gap-md{gap:var(--spacing-md)}.sm\:gap-lg{gap:var(--spacing-lg)}.sm\:gap-xl{gap:var(--spacing-xl)}}@media(min-width:768px){.md\:gap-xs{gap:var(--spacing-xs)}.md\:gap-sm{gap:var(--spacing-sm)}.md\:gap-md{gap:var(--spacing-md)}.md\:gap-lg{gap:var(--spacing-lg)}.md\:gap-xl{gap:var(--spacing-xl)}}@media(min-width:1024px){.lg\:gap-xs{gap:var(--spacing-xs)}.lg\:gap-sm{gap:var(--spacing-sm)}.lg\:gap-md{gap:var(--spacing-md)}.lg\:gap-lg{gap:var(--spacing-lg)}.lg\:gap-xl{gap:var(--spacing-xl)}}
