:root{--color-bg: #f9f9f7;--color-surface: #ffffff;--color-border: #e2e2dc;--color-text: #111110;--color-muted: #6b6b66;--color-accent: #1a1a18;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--size-xs: .75rem;--size-sm: .875rem;--size-base: 1rem;--size-lg: 1.125rem;--size-xl: 1.25rem;--size-2xl: 1.5rem;--size-3xl: 2rem;--size-4xl: 2.75rem;--size-5xl: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--radius: 2px;--max-w: 1100px;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--size-base);line-height:1.65;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img,video,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;font:inherit;border:none;background:none}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--space-6)}.section{padding-block:var(--space-24)}.section--lg{padding-block:var(--space-32)}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;font-weight:600}h1{font-size:clamp(var(--size-3xl),5vw,var(--size-5xl))}h2{font-size:clamp(var(--size-2xl),3vw,var(--size-4xl))}h3{font-size:clamp(var(--size-xl),2vw,var(--size-2xl))}h4{font-size:var(--size-lg)}p{max-width:65ch}.lead{font-size:var(--size-lg);color:var(--color-muted)}.label{font-size:var(--size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);font-weight:500}.site-header{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);backdrop-filter:blur(8px)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--space-8)}.site-logo{font-size:var(--size-base);font-weight:600;letter-spacing:-.03em;white-space:nowrap}.site-logo span{color:var(--color-muted);font-weight:400}.site-nav{display:flex;align-items:center;gap:var(--space-6)}.site-nav a{font-size:var(--size-sm);color:var(--color-muted);transition:color var(--transition)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.nav-cta{font-size:var(--size-sm)!important;font-weight:500!important;color:var(--color-text)!important;border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius);transition:border-color var(--transition),background var(--transition)!important}.nav-cta:hover{background:var(--color-text)!important;color:var(--color-bg)!important;border-color:var(--color-text)!important}.menu-toggle{display:none;flex-direction:column;gap:5px;padding:var(--space-2)}.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--color-text);transition:transform var(--transition),opacity var(--transition)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-12);color:var(--color-muted);font-size:var(--size-sm)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.footer-col h4{font-size:var(--size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-4);font-weight:500}.footer-col ul{display:flex;flex-direction:column;gap:var(--space-2)}.footer-col a{color:var(--color-muted);transition:color var(--transition)}.footer-col a:hover{color:var(--color-text)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-8);border-top:1px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap}.hero{padding-block:var(--space-32);border-bottom:1px solid var(--color-border)}.hero-eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.hero-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.hero h1{margin-bottom:var(--space-6)}.hero .lead{margin-bottom:var(--space-8)}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--size-sm);font-weight:500;padding:var(--space-3) var(--space-6);border-radius:var(--radius);transition:background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap}.btn-primary{background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text)}.btn-primary:hover{opacity:.85}.btn-outline{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-text)}.section-label{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-12)}.section-label:after{content:"";flex:1;height:1px;background:var(--color-border)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-8)}.card-tag{display:inline-block;font-size:var(--size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);border:1px solid var(--color-border);padding:2px var(--space-2);border-radius:var(--radius);margin-bottom:var(--space-4)}.card h3{margin-bottom:var(--space-3)}.card p{color:var(--color-muted);font-size:var(--size-sm)}.skills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill{font-size:var(--size-xs);border:1px solid var(--color-border);padding:var(--space-1) var(--space-3);border-radius:100px;color:var(--color-muted)}.post-list{display:flex;flex-direction:column}.post-item{display:grid;grid-template-columns:100px 1fr auto;gap:var(--space-6);align-items:baseline;padding-block:var(--space-6);border-bottom:1px solid var(--color-border);transition:opacity var(--transition)}.post-item:first-child{border-top:1px solid var(--color-border)}.post-item:hover{opacity:.7}.post-date{color:var(--color-muted);font-size:var(--size-sm)}.post-title{font-weight:500}.post-arrow{color:var(--color-muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.form-group label{font-size:var(--size-sm);font-weight:500}.form-group input,.form-group textarea{font:inherit;font-size:var(--size-sm);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition);width:100%}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-text)}.form-group textarea{resize:vertical;min-height:140px}.work-item{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.work-thumb{aspect-ratio:16/9;background:var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:var(--size-sm)}.work-body{padding:var(--space-6)}.work-body h3{margin-bottom:var(--space-2);font-size:var(--size-lg)}.work-body p{color:var(--color-muted);font-size:var(--size-sm);margin-bottom:var(--space-4)}.work-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--size-sm);font-weight:500;border-bottom:1px solid currentColor;padding-bottom:1px;transition:opacity var(--transition)}.link-arrow:hover{opacity:.6}@media(max-width:768px){.menu-toggle{display:flex}.site-nav{display:none;position:fixed;inset:65px 0 0;background:var(--color-bg);flex-direction:column;align-items:flex-start;padding:var(--space-8) var(--space-6);gap:var(--space-6);border-top:1px solid var(--color-border);z-index:99}.site-nav.is-open{display:flex}.site-nav a{font-size:var(--size-xl);color:var(--color-text)}.nav-cta{border:none;padding:0}.grid-3,.grid-2{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:var(--space-12)}.post-item{grid-template-columns:1fr;gap:var(--space-1)}.post-arrow{display:none}.hero,.section{padding-block:var(--space-16)}.section--lg{padding-block:var(--space-24)}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}
