@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-VariableFont_wght.ttf") format("truetype");font-weight:100 800;font-style:normal;font-display:swap}:root{--color-accent: #19878c;--color-accent-dark: #146b6f;--color-accent-secondary: #77cd96;--color-bg: #ffffff;--color-bg-alt: #f5faf5;--color-bg-accent: #e6f0e6;--color-bg-card: #ffffff;--color-text: #1e231e;--color-text-muted: #57606a;--color-border: #d1d9e0;--color-link: #19878c;--color-link-hover: #146b6f;--font-body: "JetBrains Mono", monospace;--font-heading: "JetBrains Mono", monospace;--font-mono: "JetBrains Mono", monospace;--max-width: 1100px;--spacing: 1.5rem;--radius: 6px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{font-family:var(--font-body);font-weight:500;font-size:1.05rem;line-height:1.7;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-link);text-decoration:none;transition:color .2s}a:hover{color:var(--color-link-hover)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text)}h1{font-size:2.5rem;margin-bottom:1rem}h2{font-size:1.8rem;margin-bottom:.75rem}h3{font-size:1.3rem;margin-bottom:.5rem}p{margin-bottom:1rem}ul,ol{margin-bottom:1rem;padding-left:1.5rem}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-alt);padding:.15em .4em;border-radius:3px}pre{margin-bottom:1.5rem;padding:1.25rem;border-radius:var(--radius);overflow-x:auto;line-height:1.5}pre code{background:none;padding:0;font-size:.88rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing)}.btn{display:inline-block;padding:.75rem 2rem;background:var(--color-accent);color:var(--color-bg);font-family:var(--font-heading);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);transition:background .2s}.btn:hover{background:var(--color-accent-dark);color:var(--color-bg)}.site-header{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:.75rem var(--spacing);display:flex;align-items:center;justify-content:space-between}.nav-logo img{height:36px;width:auto;transition:opacity .3s}.home.js .nav-logo img{opacity:0}.home.js.scrolled .nav-logo img{opacity:1}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center;padding:0;margin:0}.nav-links a{color:var(--color-text-muted);font-weight:600;font-size:.95rem;transition:color .2s}.nav-links a:hover{color:var(--color-accent)}.nav-lang a{padding:.25rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.85rem;letter-spacing:.05em}.nav-lang a:hover{border-color:var(--color-accent)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.25rem}.nav-toggle span{display:block;width:24px;height:2px;background:var(--color-text);margin:5px 0;transition:.3s}.hero{padding:6rem 0 4rem;background:linear-gradient(135deg, var(--color-bg) 0%, var(--color-bg-alt) 100%);border-bottom:1px solid var(--color-border)}.hero .hero-logo{display:block;width:320px;height:auto;margin-bottom:2rem}.hero h1{font-size:3rem;max-width:800px;background:linear-gradient(135deg, var(--color-text) 0%, var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.hero .hero-subtitle{font-family:var(--font-mono);color:var(--color-accent-secondary);font-size:1.1rem;margin-bottom:1.5rem;letter-spacing:.05em}.hero .hero-text{max-width:700px;color:var(--color-text-muted);font-size:1.1rem;margin-bottom:2rem}section{padding:4rem 0}.services,.iot-section,.values-section,.references-section,.about-section,.contact-section{border-bottom:1px solid var(--color-border)}.iot-section,.references-section{background:linear-gradient(135deg, var(--color-bg) 0%, var(--color-bg-alt) 100%)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1.5rem;margin-top:2rem}a.card{text-decoration:none;color:inherit;display:block}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px rgba(0,0,0,.1)}.card img{border-radius:var(--radius);margin-bottom:1rem;aspect-ratio:16/9;object-fit:cover;width:100%}.card h3{color:var(--color-accent)}.card p{color:var(--color-text-muted);font-size:.95rem}.values-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1.5rem;margin:2rem 0}.value{padding:1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);border-left:3px solid var(--color-accent-secondary)}.value h3{color:var(--color-accent);margin-bottom:.25rem}.value p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:0}.reference-logos{display:flex;gap:3rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}.reference-logos img{height:150px;width:auto;filter:grayscale(100%);opacity:.5;transition:opacity .2s,filter .2s}.reference-logos img:hover{filter:none;opacity:1}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:center}.about-text p{color:var(--color-text-muted)}.about-image img{border-radius:50%;background:#e6f0e6;aspect-ratio:1;object-fit:cover;width:100%;max-width:280px}.contact-section{text-align:center}.contact-section .contact-links{margin-top:1.5rem;display:flex;justify-content:center;gap:2.5rem}.contact-section .contact-links a{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:1.05rem}.contact-section .contact-links a:hover{color:var(--color-accent)}.contact-section .contact-links a svg{flex-shrink:0}.page-content{padding:3rem 0}.page-content h1{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.page-content h2{margin-top:2.5rem}.page-content h3{margin-top:1.5rem}.page-content h4{margin-top:1.25rem;font-size:1.1rem}.blog-card{padding:1.5rem 0;border-bottom:1px solid var(--color-border)}.blog-card h2{margin-bottom:.25rem}.blog-card h2 a{color:var(--color-text)}.blog-card h2 a:hover{color:var(--color-accent)}.blog-meta{font-size:.88rem;color:var(--color-text-muted);margin-bottom:.75rem;font-family:var(--font-mono)}.blog-tags a{font-size:.85rem}.read-more{font-weight:600;font-size:.95rem}.blog-empty{padding:3rem 0;color:var(--color-text-muted);font-style:italic}.post-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-footer a{font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0;font-family:var(--font-mono)}.pagination a{font-size:1.25rem}.pagination span{color:var(--color-text-muted)}.site-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:2.5rem 0}.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing);display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:start}.footer-info p{margin-bottom:.15rem;font-size:.9rem;color:var(--color-text-muted)}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--color-text-muted);font-size:.9rem}.footer-links a:hover{color:var(--color-accent)}.footer-copy{text-align:right}.footer-copy p{font-size:.85rem;color:var(--color-text-muted);margin-bottom:0}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.5rem}.hero{padding:3rem 0 2rem}.hero h1{font-size:2.2rem}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;padding:1rem var(--spacing);gap:.75rem}.nav-links.nav-open{display:flex}.about-content{grid-template-columns:1fr}.about-image img{margin:0 auto;display:block}.contact-links{flex-direction:column;align-items:center;gap:1rem}.footer-container{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.footer-copy{text-align:center}}