:root{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eef1f4;--text-primary: #1f2328;--text-secondary: #59636e;--text-muted: #8b949e;--accent: #8B7355;--border-color: #d1d9e0;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent: #C9A96E;--border-color: #30363d}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}.container{max-width:960px;margin:0 auto;padding:3rem 2rem}.hero{margin-bottom:3rem;padding-top:1rem}.hero-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.logo{width:56px;height:56px;flex-shrink:0}h1{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.subtitle{color:var(--text-secondary);font-size:1.05rem;padding-left:calc(56px + 1rem);font-family:var(--font-mono)}.subtitle .cursor{display:inline-block;width:2px;height:1.1em;background-color:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}section{margin-bottom:3rem}h2{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1.25rem}.about p{margin-bottom:1rem;color:var(--text-secondary)}.about p:last-child{margin-bottom:0}.services-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{padding:1.25rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.service-card:hover{background-color:var(--bg-tertiary);border-color:var(--accent)}.service-card strong{font-size:.95rem;font-weight:500;color:var(--text-primary)}.service-card span{font-size:.85rem;color:var(--text-muted);line-height:1.4}.contact-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.contact-list li{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary)}.contact-list a{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.contact-list a:hover{color:var(--accent)}.icon{width:20px;height:20px;flex-shrink:0;color:var(--text-muted)}footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color)}.copyright{font-size:.8rem;color:var(--text-muted)}.copyright a{color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease}.copyright a:hover{color:var(--accent);text-decoration-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:100}.modal-overlay.active{opacity:1;visibility:visible}.modal{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;max-width:640px;width:100%;max-height:80vh;overflow-y:auto;padding:2rem;position:relative;transform:scale(.95);transition:transform .2s ease}.modal-overlay.active .modal{transform:scale(1)}.modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .15s ease}.modal-close:hover{color:var(--text-primary)}.modal h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;padding-right:2rem}.modal h4{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:1.25rem;margin-bottom:.5rem}.modal p{color:var(--text-secondary);margin-bottom:.5rem}.modal ul{list-style:none;display:flex;flex-direction:column;gap:.375rem}.modal li{color:var(--text-secondary);font-size:.95rem;padding-left:1rem;position:relative}.modal li:before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;background-color:var(--text-muted);border-radius:50%}.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:560px}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-family:var(--font-sans);font-size:.95rem;color:var(--text-primary);transition:border-color .15s ease,background-color .15s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background-color:var(--bg-primary)}.form-group textarea{resize:vertical;min-height:100px}.submit-btn{align-self:flex-start;padding:.75rem 1.5rem;background-color:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-status{font-size:.9rem;padding:.75rem;border-radius:6px;display:none}.form-status.success{display:block;background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.form-status.error{display:block;background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.contact-alt{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1.5rem}.contact-alt a,.contact-location{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem}.contact-alt a:hover{color:var(--accent)}@media (max-width: 768px){.container{padding:2.5rem 1.5rem}.services-list{grid-template-columns:repeat(2,1fr)}.modal{padding:1.5rem}}@media (max-width: 500px){.container{padding:2rem 1.25rem}.hero-header{flex-direction:column;align-items:flex-start;gap:.75rem}.logo{width:48px;height:48px}h1{font-size:1.5rem}.subtitle{padding-left:0}.services-list{grid-template-columns:1fr;gap:.75rem}.service-card{padding:1rem}.modal{padding:1.25rem}.contact-form{max-width:none}}::selection{background-color:var(--accent);color:var(--bg-primary)}a:focus-visible,.service-card:focus-visible,.modal-close:focus-visible,.submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer-links{display:flex;gap:1.5rem;margin-top:.75rem}.footer-links a,.footer-links button{font-size:.8rem;color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:2px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-sans);transition:color .15s ease,text-decoration-color .15s ease}.footer-links a:hover,.footer-links button:hover{color:var(--accent);text-decoration-color:var(--accent)}.cookie-banner{position:fixed;bottom:1.5rem;left:1.5rem;max-width:380px;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;backdrop-filter:blur(10px);z-index:1000;animation:slideUp .3s ease-out 1s backwards}.cookie-banner.hidden{display:none}.cookie-header{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-transform:lowercase;margin-bottom:.5rem}.cookie-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem}.cookie-link{margin-bottom:1rem}.cookie-link a{font-size:.85rem;color:var(--accent);text-decoration:none}.cookie-link a:hover{text-decoration:underline}.cookie-buttons{display:flex;gap:.5rem}.cookie-buttons button{flex:1;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}#cookie-decline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}#cookie-decline:hover{border-color:var(--text-muted)}#cookie-accept{background:var(--accent);border:1px solid var(--accent);color:var(--bg-primary)}#cookie-accept:hover{opacity:.9}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}}@media (max-width: 500px){.cookie-banner{left:1rem;right:1rem;max-width:none;bottom:1rem}.footer-links{flex-direction:column;gap:.5rem}}body.header-hidden .site-header{opacity:0;transform:translateY(-10px);pointer-events:none}body.header-visible .site-header{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .5s ease,transform .5s ease}body.homepage:not(.animation-complete) .site-logo{opacity:0}body.animation-complete .site-logo{opacity:1;transition:opacity .3s ease}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;margin-bottom:2rem;border-bottom:1px solid var(--border-color);position:relative}.header-subtitle{position:absolute;left:0;top:calc(100% + .5rem);font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);opacity:0;white-space:nowrap;pointer-events:none}.header-subtitle.visible{opacity:1;transition:opacity .3s ease}@media (prefers-reduced-motion: reduce){body.header-hidden .site-header,body.header-visible .site-header{transition:none;opacity:1;transform:none}.header-subtitle.visible{transition:none}}.site-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary)}.site-logo .logo{width:32px;height:32px}.site-name{font-family:JetBrains Mono,monospace;font-weight:500;font-size:1rem}.site-nav{display:flex;gap:1.5rem}.site-nav a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}.site-nav a:hover,.site-nav a.active{color:var(--text-primary)}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem;margin-bottom:.5rem}.content-section{margin-bottom:3rem}.content-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.content-section p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.7}.content-section ul{color:var(--text-secondary);padding-left:1.5rem;margin-bottom:1rem}.content-section li{margin-bottom:.5rem;line-height:1.6}.section-divider{border:none;border-top:1px solid var(--border);margin:2rem 0}@media (max-width: 600px){.site-header{flex-direction:column;gap:1rem;text-align:center}.site-nav{flex-wrap:wrap;justify-content:center;gap:1rem}}
