*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#F9F7F3;font-family:'Inter',system-ui,-apple-system,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:root{--bg: #F9F7F3;--white: #FFFFFF;--text: #0F0F0F;--secondary: #4A4A4A;--muted: #9A9A9A;--border: #E5E0D8}.app{background:var(--bg);min-height:100vh;color:var(--text)}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.site-nav{position:sticky;top:0;z-index:100;height:60px;background:rgba(249,247,243,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.nav-logo{font-family:inherit;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em;padding:0}.nav-right{display:flex;align-items:center;gap:2rem}.nav-links{display:flex;gap:1.5rem}.nav-link{font-family:inherit;font-size:.875rem;color:var(--secondary);padding:0}.nav-link:hover{color:var(--text)}.lang-toggle{background:none;border:1px solid var(--border);cursor:pointer;font-family:inherit;font-size:.75rem;color:var(--secondary);padding:.25rem .625rem;border-radius:4px;letter-spacing:.05em}.lang-toggle:hover{border-color:var(--text);color:var(--text)}.btn{display:inline-block;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.8}.btn-dark{background:var(--text);color:#fff;border:1px solid var(--text)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--text);opacity:1}.hero-section{max-width:1100px;margin:0 auto;padding:6rem 2rem 5rem;display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:center}.hero-text{display:flex;flex-direction:column;gap:0}.hero-role{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}.hero-name{font-size:clamp(2.75rem,5vw,4.25rem);font-weight:800;line-height:1.02;letter-spacing:-.04em;color:var(--text);margin-bottom:1.5rem}.hero-tagline{font-size:1.125rem;line-height:1.7;color:var(--secondary);max-width:460px;margin-bottom:2.5rem}.hero-links{display:flex;gap:.75rem;flex-wrap:wrap}.hero-portrait{display:flex;justify-content:center}.hero-portrait img{width:280px;height:350px;-o-object-fit:cover;object-fit:cover;border-radius:12px;background:var(--border)}.section{border-top:1px solid var(--border)}.section>.container{padding-top:5rem;padding-bottom:5rem}.section-alt{background:var(--white)}.section-header{margin-bottom:2.5rem}.section-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;color:var(--text)}.section-subtitle{font-size:1rem;color:var(--muted);margin-top:.375rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.prose{display:flex;flex-direction:column;gap:1.25rem}.prose p{font-size:1.0625rem;line-height:1.78;color:var(--secondary)}.entity-note{font-size:.9375rem!important;color:var(--muted)!important;font-style:italic}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.125rem}.project-card{border:1px solid var(--border);border-radius:10px;padding:1.5rem;background:var(--bg);display:flex;flex-direction:column;gap:.75rem;transition:border-color .15s}.project-card:hover{border-color:#c0bab0}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-name{font-size:.9375rem;font-weight:700;color:var(--text)}.project-lang{font-size:.7rem;color:var(--muted);font-family:SF Mono,Fira Code,monospace;white-space:nowrap;padding-top:2px}.project-desc{font-size:.875rem;line-height:1.65;color:var(--secondary);flex:1}.project-tags{display:flex;gap:.375rem;flex-wrap:wrap}.tag{font-size:.6875rem;padding:.2rem .5rem;background:var(--border);border-radius:4px;color:var(--secondary);letter-spacing:.02em}.project-link{font-size:.8125rem;color:var(--text);font-weight:600;margin-top:.25rem}.project-link.muted{color:var(--muted);font-weight:400;font-style:italic}.cars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.125rem}.car-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg);transition:border-color .15s}.car-card:hover{border-color:#c0bab0}.car-img-wrap{height:195px;background:var(--border);overflow:hidden}.car-img-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.car-card:hover .car-img-wrap img{transform:scale(1.04)}.car-info{padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.car-info-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.car-name{font-size:.9375rem;font-weight:700;color:var(--text)}.car-status{font-size:.6875rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;color:var(--muted);white-space:nowrap}.car-desc{font-size:.875rem;line-height:1.6;color:var(--secondary)}.meteo-grid{display:grid;grid-template-columns:1fr 280px;gap:4rem;align-items:start}.meteo-projects{display:flex;flex-direction:column;gap:.5rem}.related-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.625rem}.meteo-project-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);transition:border-color .15s}.meteo-project-row:hover{border-color:#c0bab0}.meteo-project-name{font-size:.875rem;font-weight:500;color:var(--text)}.meteo-project-lang{font-size:.7rem;font-family:SF Mono,Fira Code,monospace;color:var(--muted)}.contact-container{text-align:center;padding-top:5rem;padding-bottom:3.5rem}.contact-sub{font-size:1.0625rem;color:var(--secondary);margin-top:.75rem;margin-bottom:2.5rem}.contact-links{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.footer{border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center}.footer p{font-size:.8125rem;color:var(--muted)}@media (max-width: 900px){.hero-section{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3rem;gap:2.5rem}.hero-portrait{order:-1}.hero-portrait img{width:160px;height:200px}.two-col,.meteo-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width: 640px){.nav-links{display:none}.hero-name{font-size:2.75rem}.section>.container{padding-top:3.5rem;padding-bottom:3.5rem}.projects-grid,.cars-grid{grid-template-columns:1fr}}

.prose a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{opacity:.7}
