:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #666666;--color-text-light: #999999;--color-border: #e5e5e5;--color-accent: #1a1a1a;--color-link: #1a1a1a;--color-link-hover: #555555;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-heading: var(--font-body);--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 5rem;--max-width: 1200px;--max-width-prose: 680px;--grid-gap: 1.25rem;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--color-link);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-link-hover)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.prose{max-width:var(--max-width-prose)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.25;letter-spacing:-.02em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.15rem}p+p{margin-top:var(--space-md)}.site-header{padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.site-header .container{display:flex;justify-content:space-between;align-items:center}.site-name{font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.site-name a{color:var(--color-text)}.site-nav{display:flex;gap:var(--space-lg);list-style:none}.site-nav a{font-size:.9rem;color:var(--color-text-muted);transition:color var(--transition)}.site-nav a:hover,.site-nav a.active{color:var(--color-text)}.site-footer{margin-top:var(--space-2xl);padding:var(--space-xl) 0;border-top:1px solid var(--color-border);color:var(--color-text-light);font-size:.85rem}.site-footer .container{display:flex;justify-content:space-between;align-items:center}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--grid-gap);margin-top:var(--space-xl)}.project-card{display:block;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--transition),transform var(--transition)}.project-card:hover{border-color:var(--color-text-muted);transform:translateY(-2px)}.project-card__image{aspect-ratio:4 / 3;overflow:hidden;background:var(--color-border)}.project-card__image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s ease}.project-card:hover .project-card__image img{transform:scale(1.03)}.project-card__info{padding:var(--space-md) var(--space-md) var(--space-lg)}.project-card__title{font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}.project-card__description{font-size:.85rem;color:var(--color-text-muted);line-height:1.5}.project-card__category{display:inline-block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.project-card__client{font-size:.8rem;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.project-detail{margin-top:var(--space-xl)}.project-detail__header{margin-bottom:var(--space-lg)}.project-detail__category{display:inline-block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.project-detail__title{margin-bottom:var(--space-sm)}.project-detail__lede{font-size:1.1rem;color:var(--color-text-muted);max-width:var(--max-width-prose)}.project-detail__meta-grid{display:flex;flex-wrap:wrap;gap:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xl)}.meta-item{display:flex;flex-direction:column;gap:var(--space-xs)}.meta-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light)}.meta-value{font-size:.9rem;color:var(--color-text)}.project-detail__hero{margin-bottom:var(--space-xl)}.project-detail__hero img{width:100%}.project-detail__body{max-width:var(--max-width-prose)}.project-detail__body p{margin-bottom:var(--space-md)}.project-detail__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--grid-gap);margin-top:var(--space-xl)}.project-detail__gallery img{width:100%;border:1px solid var(--color-border)}.work-section{margin-top:var(--space-2xl)}.work-section:first-of-type{margin-top:var(--space-lg)}.work-section__title{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.blog-list{margin-top:var(--space-xl);max-width:var(--max-width-prose)}.blog-item{padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.blog-item:first-child{padding-top:0}.blog-item__date{font-size:.8rem;color:var(--color-text-light);font-variant-numeric:tabular-nums}.blog-item__title{font-size:1.15rem;font-weight:600;margin:var(--space-xs) 0}.blog-item__title a{color:var(--color-text)}.blog-item__title a:hover{color:var(--color-text-muted)}.blog-item__excerpt{font-size:.9rem;color:var(--color-text-muted);line-height:1.55}.post-body{max-width:var(--max-width-prose);margin-top:var(--space-xl)}.post-body h2{margin-top:var(--space-xl);margin-bottom:var(--space-md)}.post-body h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.post-body p{margin-bottom:var(--space-md)}.post-body ul,.post-body ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.post-body li{margin-bottom:var(--space-sm)}.post-body blockquote{border-left:2px solid var(--color-border);padding-left:var(--space-md);color:var(--color-text-muted);font-style:italic;margin:var(--space-lg) 0}.post-body code{font-family:var(--font-mono);font-size:.85em;background:var(--color-border);padding:.15em .35em;border-radius:3px}.post-body pre{background:var(--color-text);color:var(--color-bg);padding:var(--space-md) var(--space-lg);border-radius:4px;overflow-x:auto;margin:var(--space-lg) 0}.post-body pre code{background:none;padding:0;color:inherit}.post-body img{margin:var(--space-lg) 0;border:1px solid var(--color-border)}.page-header{margin-top:var(--space-xl);margin-bottom:var(--space-lg)}.page-header__title{margin-bottom:var(--space-sm)}.page-header__subtitle{color:var(--color-text-muted);font-size:1rem;font-weight:400}.about-content{max-width:var(--max-width-prose);margin-top:var(--space-xl)}.about-content p{margin-bottom:var(--space-md);font-size:1.05rem}.contact-content{max-width:var(--max-width-prose);margin-top:var(--space-xl)}.contact-content p{margin-bottom:var(--space-md)}.contact-links{list-style:none;margin-top:var(--space-lg)}.contact-links li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.contact-links a{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.contact-links .label{color:var(--color-text-muted);font-size:.85rem}.back-link{display:inline-block;font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.back-link:hover{color:var(--color-text)}@media(max-width:768px){:root{--space-lg: 1.25rem;--space-xl: 2rem;--space-2xl: 3rem}h1{font-size:1.6rem}.site-header .container{flex-direction:column;gap:var(--space-md);align-items:flex-start}.project-grid,.project-detail__gallery{grid-template-columns:1fr}.site-footer .container{flex-direction:column;gap:var(--space-sm);text-align:center}}
