:root{--font-family:"Inter", system-ui, -apple-system, sans-serif;--transition:.3s ease;--border-radius:12px}:root[data-theme=light]{--bg-main:#f8fafc;--bg-card:#fff;--bg-header:#fffc;--text-main:#0f172a;--text-muted:#64748b;--primary:#3b82f6;--primary-hover:#2563eb;--border:#e2e8f0;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a}:root[data-theme=dark]{--bg-main:#0f172a;--bg-card:#1e293b;--bg-header:#0f172acc;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#60a5fa;--primary-hover:#93c5fd;--border:#334155;--shadow:0 4px 6px -1px #00000080}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);transition:background-color var(--transition), color var(--transition);line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.section-title{text-align:center;margin-bottom:2rem;font-size:2rem;font-weight:700}.section-kicker{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.header{z-index:100;background-color:var(--bg-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:0}.nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;display:flex}.nav-link{transition:color var(--transition);font-weight:500}.nav-link:hover{color:var(--primary)}.theme-toggle{background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-main);transition:var(--transition);border-radius:50%;padding:5px 10px;font-size:1.2rem}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.hero{text-align:center;padding:6rem 0 4rem}.hero-title{background:linear-gradient(135deg, var(--primary), #a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:3.5rem;font-weight:800}.hero-role{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.5rem}.hero-description{max-width:600px;color:var(--text-muted);margin:0 auto 2rem;font-size:1.1rem}.hero-buttons{justify-content:center;gap:1rem;display:flex}.btn{border-radius:var(--border-radius);transition:all var(--transition);padding:.75rem 1.5rem;font-weight:600}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.btn-secondary{border:2px solid var(--border);color:var(--text-main);background-color:#0000}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.services{background-color:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 0}.services-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.services-heading .section-title{text-align:left;margin-bottom:0}.services-intro{max-width:420px;color:var(--text-muted)}.services-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.service-card{border:1px solid var(--border);border-radius:var(--border-radius);background-color:var(--bg-main);min-height:300px;transition:transform var(--transition), border-color var(--transition);flex-direction:column;padding:1.5rem;display:flex}.service-card:hover{border-color:var(--primary);transform:translateY(-5px)}.service-icon{margin-bottom:1rem;font-size:2rem;display:block}.service-card h3{margin-bottom:.75rem;font-size:1.25rem}.service-card>p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem;line-height:1.6}.service-price{color:var(--primary);margin-top:auto;font-weight:700}.tech-stack{padding:4rem 0}.tech-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;display:grid}.tech-item{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);transition:transform var(--transition);padding:1.5rem}.tech-item:hover{transform:translateY(-5px)}.tech-icon{margin-bottom:.5rem;font-size:2.5rem}.projects,.markup{padding:4rem 0}.projects-grid,.markup-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.project-card,.markup-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);transition:transform var(--transition);flex-direction:column;padding:1.5rem;display:flex}.project-card:hover,.markup-card:hover{transform:translateY(-5px)}.project-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.project-status{font-size:1.5rem}.project-description,.markup-description{color:var(--text-muted);flex-grow:1;margin-bottom:1.5rem}.project-tech,.markup-tech{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tech-badge{background-color:var(--border);color:var(--text-main);border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.project-link,.markup-link{color:var(--primary);transition:text-decoration-color var(--transition);align-self:flex-start;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.project-link:hover,.markup-link:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.markup-preview{border-radius:8px;width:100%;margin-bottom:1rem;overflow:hidden}.markup-preview img{object-fit:cover;width:100%;height:180px;transition:transform var(--transition)}.markup-preview:hover img{transform:scale(1.05)}.image-modal{z-index:1000;cursor:pointer;background-color:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.image-modal img{cursor:default;border-radius:8px;max-width:100%;max-height:90vh}.image-modal-close{color:#fff;cursor:pointer;font-size:3rem;position:absolute;top:20px;right:30px}.project-detail{padding:3rem 0 6rem}.back-link{color:var(--text-muted);transition:color var(--transition);margin-bottom:2rem;font-weight:600;display:inline-block}.back-link:hover{color:var(--primary)}.project-detail-kicker{letter-spacing:2px;color:var(--primary);font-size:.8rem;font-weight:700}.project-detail-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.project-detail-heading h1{margin-top:.5rem;font-size:2.5rem;line-height:1.1}.project-detail-description{color:var(--text-muted);max-width:800px;margin-bottom:3rem;font-size:1.1rem}.project-detail-grid{grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem;display:grid}.project-detail-grid h2{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.project-detail-grid ul{color:var(--text-muted);list-style:inside}.project-detail-grid ul li{margin-bottom:.5rem}.project-demo{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:3rem;overflow:hidden}.project-demo-heading{background-color:var(--bg-main);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.project-demo-heading h2{margin:0;font-size:1.1rem}.project-demo-heading span{color:var(--primary);letter-spacing:1px;font-size:.75rem;font-weight:700}.demo-window{padding:2rem}.demo-window-header{color:var(--text-muted);justify-content:space-between;margin-bottom:1.5rem;font-size:.85rem;display:flex}.demo-form{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.demo-form input,.demo-form select{border:1px solid var(--border);background-color:var(--bg-main);min-width:150px;color:var(--text-main);border-radius:8px;flex:1;padding:.75rem 1rem;font-family:inherit}.demo-form input:focus,.demo-form select:focus{border-color:var(--primary);outline:none}.demo-button{background-color:var(--primary);color:#fff;transition:background-color var(--transition);border-radius:8px;padding:.75rem 1.5rem;font-weight:600}.demo-button:hover{background-color:var(--primary-hover)}.demo-message,.demo-error{margin-top:1rem;font-weight:500}.demo-error{color:#ef4444}.weather-main{background:var(--bg-main);border-radius:var(--border-radius);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.weather-city{font-size:1.25rem;font-weight:700}.weather-temperature{color:var(--primary);margin:.5rem 0;font-size:3rem;font-weight:800;line-height:1}.weather-condition{color:var(--text-muted);font-size:.9rem}.weather-icon{font-size:4rem}.garage-list,.notes-list{flex-direction:column;gap:.75rem;display:flex}.garage-item,.note-item{background-color:var(--bg-main);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.garage-item span,.note-item span{flex-grow:1}.garage-item strong,.note-item small{background-color:var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.garage-item strong.is-done{color:#166534;background-color:#dcfce7}[data-theme=dark] .garage-item strong.is-done{color:#4ade80;background-color:#16653480}.garage-item button:not([aria-label]),.note-item button:not([aria-label]){color:var(--primary);font-size:.85rem}.garage-item button[aria-label],.note-item button[aria-label]{color:#ef4444;font-size:1.25rem;font-weight:700}.garage-total{text-align:right;margin-top:1.5rem;font-size:1.1rem;font-weight:700}.contact{text-align:center;background-color:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 0}.contact-subtitle{color:var(--text-muted);margin-bottom:2rem}.contact-links{justify-content:center;gap:2rem;display:flex}.contact-link{transition:color var(--transition);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:600;display:flex}.contact-link:hover{color:var(--primary)}.footer{text-align:center;color:var(--text-muted);padding:2rem 0}.footer-note{margin-top:.5rem;font-size:.9rem}@media (width<=768px){.nav{gap:1rem;font-size:.9rem}.hero-title{font-size:2.5rem}.services-heading{flex-direction:column;align-items:flex-start;gap:1rem}.services-grid{grid-template-columns:1fr}.service-card{min-height:250px}.project-detail-heading{flex-direction:column;align-items:flex-start;gap:1rem}.project-detail-grid{grid-template-columns:1fr;gap:2rem}.demo-form{flex-direction:column}.demo-button{width:100%}.garage-item,.note-item{flex-wrap:wrap}.garage-item span,.note-item span{width:100%;margin-bottom:.5rem}}
