:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-serif: "Fraunces", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;font-family:var(--font-sans);line-height:1.6;font-weight:400;--color-bg: #fff5ef;--color-surface: #ffffff;--color-surface-2: #fff0e6;--color-text: rgba(0, 0, 0, .92);--color-muted: rgba(0, 0, 0, .64);--color-border: rgba(0, 0, 0, .15);--color-accent: #ffb38a;--color-accent-strong: #ff8f4e;--color-shadow: #000000;color:var(--color-text);background-color:var(--color-bg);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--color-accent);color:#0a0a0a}html,body{height:100%}body{margin:0;min-width:320px}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem}h1{font-family:var(--font-sans);font-weight:900;font-size:3rem;line-height:1.1}h2,h3{font-family:var(--font-sans);font-weight:800}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-text)}button,.button{border:2px dashed #000;color:var(--color-text);background:var(--color-surface);padding:.75rem 1.125rem;border-radius:12px;font-weight:800;font-family:var(--font-sans);cursor:pointer;box-shadow:6px 6px 0 0 var(--color-shadow),6px 6px 0 2px #000;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;display:inline-block;text-align:center;text-decoration:none;min-height:44px;min-width:44px;box-sizing:border-box}button:hover,.button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000}button:focus-visible,.button:focus-visible{outline:3px solid var(--color-accent-strong);outline-offset:3px}.button--primary{background:var(--color-accent);color:#0a0a0a;border:2px dashed #000;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000}.button--ghost{background:transparent;border:2px dashed #000}.container{max-width:1200px;margin:0 auto;padding:2rem}.hero{text-align:center;margin:6rem 0 1rem}.hero h1{font-size:3.5rem;margin:.25rem 0 0;letter-spacing:-.02em;position:relative}.hero p{font-size:1.125rem;color:var(--color-muted);margin-top:.75rem}.subtitle{color:var(--color-muted)}.badge{display:inline-block;padding:.5rem .9rem;border-radius:10px;border:2px dashed #000;background:var(--color-accent);color:#0a0a0a;font-weight:800;font-size:.9rem;font-family:var(--font-sans);box-shadow:6px 6px 0 0 var(--color-shadow),6px 6px 0 2px #000;position:relative}.cta{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.navigation{display:flex;justify-content:center;gap:1.5rem;margin:.5rem 0 1rem;padding:.75rem 1rem;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.navigation a{text-decoration:none;color:#0a0a0a;background:var(--color-accent);border:2px dashed #000;padding:1rem 1.75rem;border-radius:12px;font-weight:800;font-family:var(--font-sans);font-size:1.1rem;transition:transform .12s ease,box-shadow .12s ease;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000;position:relative;min-height:48px;display:flex;align-items:center;justify-content:center}.navigation a:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 0 var(--color-shadow),11px 11px 0 2px #000}.navigation a.button--ghost{background:transparent;color:var(--color-text)}.section{margin:3rem 0;padding:2rem 0}.section h2{color:var(--color-text);margin-bottom:1rem;display:inline-block;position:relative}.section h2:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:10px;background:var(--color-accent);border:2px dashed #000;box-shadow:4px 4px 0 0 var(--color-shadow),4px 4px 0 2px #000}.section h3{color:var(--color-text);margin-bottom:1rem}.section p{line-height:1.6;color:var(--color-muted)}.legacy-note{background:var(--color-accent);color:#0a0a0a;border:2px dashed #000;padding:2rem;border-radius:14px;margin-top:4rem;box-shadow:10px 10px 0 0 var(--color-shadow),10px 10px 0 2px #000;position:relative}.legacy-note a{color:var(--color-text);text-decoration:none}.legacy-note a:hover{text-decoration:underline}.grid{display:flex;gap:1.25rem;align-items:flex-start;align-content:flex-start}.grid-column{flex:1;display:flex;flex-direction:column;gap:1.25rem;align-items:stretch;position:relative}.project-card{background:var(--color-surface-2);border:2px dashed #000;border-radius:14px;padding:0;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000;transition:transform .12s ease,box-shadow .12s ease;position:relative;cursor:pointer;overflow:hidden;min-height:200px;will-change:transform}.card-header{padding:1.25rem;position:relative}.card-details{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out,padding .3s ease-in-out;opacity:0;transition:max-height .3s ease-in-out,padding .3s ease-in-out,opacity .2s ease-in-out}.project-card.expanded .card-details{max-height:500px;padding:0 1.25rem 1.25rem;opacity:1}.details-content h4{font-size:1rem;margin-bottom:.75rem;color:var(--color-text);font-weight:700}.details-content ul{margin:1rem 0;padding-left:1.25rem}.details-content li{margin-bottom:.25rem;color:var(--color-muted);font-size:.9rem}.expand-button{position:absolute;top:1.25rem;right:1.25rem;background:var(--color-accent);border:2px dashed #000;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:2px 2px 0 0 var(--color-shadow),2px 2px 0 1px #000;font-family:var(--font-sans);font-weight:800;font-size:12px;color:#0a0a0a}.expand-button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 0 var(--color-shadow),3px 3px 0 1px #000}.expand-icon{line-height:1;transition:transform .2s ease}.project-card.expanded .expand-icon{transform:rotate(180deg)}.project-card:hover{box-shadow:10px 10px 0 0 var(--color-shadow),10px 10px 0 2px #000}.chip{display:inline-block;font-size:.8rem;padding:.25rem .5rem;border-radius:8px;border:2px dashed #000;color:#0a0a0a;background:var(--color-accent);margin-bottom:.5rem;font-weight:800;font-family:var(--font-sans);position:relative}#contact ul{padding:0;margin:1rem 0}#contact li{margin-bottom:.5rem}#contact a{color:#000;text-decoration:underline;font-weight:500;transition:color .12s ease}#contact a:hover{color:#ffbf85}@media (max-width: 768px){.container{padding:1.5rem;max-width:100%}.hero{margin:3rem 0 2rem}.hero h1{font-size:2.5rem;line-height:1.1;margin-bottom:1rem}.hero p{font-size:1.1rem;margin-top:.5rem;margin-bottom:1.5rem}.badge{font-size:.85rem;padding:.6rem 1rem;margin-bottom:1.5rem}.cta{flex-direction:column;gap:1.25rem;margin-top:2rem}.navigation{flex-direction:column;gap:1.25rem;margin:2rem 0;padding:1.5rem 1rem}.navigation a{padding:.875rem 1.25rem;text-align:center;font-size:1rem}.section{margin:2rem 0;padding:1.5rem 0}.section h2{font-size:1.75rem;margin-bottom:1.5rem}.section h3{font-size:1.5rem;margin-bottom:1rem}.section p{font-size:1rem;line-height:1.7;margin-bottom:1.25rem}.grid{flex-direction:column;gap:1.5rem}.grid-column{gap:1.5rem}.card-header{padding:1.5rem}.project-card.expanded .card-details{padding:0 1.5rem 1.5rem}.expand-button{top:1.5rem;right:1.5rem;width:28px;height:28px;font-size:14px}.project-card h3{font-size:1.25rem;margin-bottom:.75rem}.legacy-note{padding:2rem 1.5rem;margin-top:3rem}.legacy-note h3{font-size:1.25rem;margin-bottom:.75rem}.button{padding:.8rem 1.2rem;font-size:.95rem;min-height:46px}.cta .button{width:100%;max-width:320px;margin:0 auto}}@media (max-width: 480px){.container{padding:1rem}.hero{margin:2rem 0 1.5rem}.hero h1{font-size:2rem;line-height:1.2}.hero p{font-size:1rem}.badge{font-size:.8rem;padding:.5rem .8rem}.navigation{padding:1rem .5rem;margin:1.5rem 0}.navigation a{padding:.8rem 1rem;font-size:.95rem}.section{margin:1.5rem 0;padding:1rem 0}.section h2{font-size:1.5rem}.section h3{font-size:1.25rem}.card-header{padding:1.25rem}.project-card.expanded .card-details{padding:0 1.25rem 1.25rem}.expand-button{top:1.25rem;right:1.25rem;width:26px;height:26px;font-size:13px}.legacy-note{padding:1.5rem 1rem}.button{padding:.85rem 1.25rem;font-size:.95rem;min-height:48px}.cta{gap:1rem}.cta .button{width:100%;max-width:280px;margin:0 auto}}.blog-container{max-width:900px;margin:0 auto}.blog-header{text-align:center;margin-bottom:1rem;padding-bottom:.5rem}.blog-posts-section{margin-top:0;padding-top:.5rem}.blog-description{font-size:1.125rem;color:var(--color-muted);margin-top:1rem;font-style:italic}.blog-grid{display:flex;flex-direction:column;gap:2rem}.blog-post{background:var(--color-surface-2);border:2px dashed #000;border-radius:14px;padding:0;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000;transition:transform .12s ease,box-shadow .12s ease;position:relative;cursor:pointer;overflow:hidden;will-change:transform}.blog-post:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}.blog-post:hover{box-shadow:10px 10px 0 0 var(--color-shadow),10px 10px 0 2px #000}.post-header{padding:2rem;position:relative}.post-meta{display:flex;justify-content:flex-start;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.post-date{font-size:.9rem;color:var(--color-muted);font-weight:500}.post-title{font-size:1.5rem;margin-bottom:.75rem;color:var(--color-text);line-height:1.3}.post-excerpt{color:var(--color-muted);line-height:1.6;margin-bottom:1.25rem}.post-link-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.post-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:2px dashed #000;border-radius:10px;padding:.5rem .9rem;font-family:var(--font-sans);font-weight:800;font-size:.9rem;color:#0a0a0a;background:var(--color-accent);box-shadow:4px 4px 0 0 var(--color-shadow),4px 4px 0 1px #000;transition:transform .12s ease,box-shadow .12s ease}.post-link:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 0 var(--color-shadow),5px 5px 0 1px #000}.post-link-hint{font-size:.85rem;color:var(--color-muted);font-style:italic}.blog-article{background:var(--color-surface-2);border:2px dashed #000;border-radius:14px;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000;padding:2rem}.blog-article h2{margin-top:1rem}.blog-post-actions{display:flex;gap:.75rem;flex-wrap:wrap}.post-link-button{cursor:pointer}.article-content{margin-top:1.5rem}.article-content p{line-height:1.7;color:var(--color-muted);margin-bottom:1rem}.article-content ul{margin:1rem 0;padding-left:1rem;color:var(--color-muted)}.article-content li{margin-bottom:.4rem}.article-content h3{margin-top:1.5rem;margin-bottom:.75rem}.article-content p:last-child{margin-bottom:0}.article-content a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}.article-content a:hover{color:#000}.navigation button{background:var(--color-accent);border:2px dashed #000;padding:1rem 1.75rem;border-radius:12px;font-weight:800;font-family:var(--font-sans);font-size:1.1rem;transition:transform .12s ease,box-shadow .12s ease;box-shadow:8px 8px 0 0 var(--color-shadow),8px 8px 0 2px #000;position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;color:#0a0a0a}.navigation button:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 0 var(--color-shadow),11px 11px 0 2px #000}.navigation button.button--ghost{background:transparent;color:var(--color-text)}@media (max-width: 768px){.blog-container{max-width:100%}.post-header{padding:1.5rem}.post-meta{flex-direction:column;align-items:flex-start;gap:.75rem}.post-title{font-size:1.25rem}.blog-article{padding:1.5rem}.navigation button{padding:.875rem 1.25rem;text-align:center;font-size:1rem}}@media (max-width: 480px){.post-header{padding:1.25rem}.post-title{font-size:1.1rem}.blog-article{padding:1.25rem}.navigation button{padding:.8rem 1rem;font-size:.95rem}}
