@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=Inter:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--font-sans:"Inter", sans-serif;--font-handwriting:"Caveat", cursive;--font-mono:"Space Mono", monospace;--color-black:#000;--color-white:#fff;--color-bg:#fafafa;--color-surface:#fff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-black);-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}.doodle-bg{background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23000000' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E")}.font-handwriting{font-family:var(--font-handwriting)}.font-mono{font-family:var(--font-mono)}.doodle-underline{position:relative}.doodle-underline:after{content:"";background:#000;width:100%;height:2px;position:absolute;bottom:-4px;left:0;transform:rotate(-1deg)}.navbar{z-index:1000;align-items:center;height:72px;transition:background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #0000001a}.navbar-inner{justify-content:space-between;align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{font-family:var(--font-handwriting);color:var(--color-black);cursor:pointer;align-items:center;gap:.5rem;font-size:1.75rem;font-weight:700;text-decoration:none;display:flex}.nav-logo-badge{font-family:var(--font-mono);border:1.5px solid var(--color-black);letter-spacing:.5px;text-transform:uppercase;border-radius:9999px;padding:2px 8px;font-size:.6rem;font-weight:700}.nav-links{align-items:center;gap:.25rem;list-style:none;display:flex}.nav-link{font-family:var(--font-sans);color:var(--color-gray-600);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--color-black);border-color:var(--color-black);background:var(--color-white)}.nav-cta{font-family:var(--font-sans);background:var(--color-black);color:var(--color-white);border:1.5px solid var(--color-black);cursor:pointer;border-radius:9999px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s}.nav-cta:hover{color:var(--color-black);background:0 0}.nav-mobile-btn{cursor:pointer;color:var(--color-black);background:0 0;border:none;padding:.5rem;display:none}.mobile-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:2px solid var(--color-black);z-index:999;background:#fffffff7;flex-direction:column;gap:.75rem;padding:1.5rem 2rem 2rem;display:flex;position:fixed;top:72px;left:0;right:0}.mobile-nav-link{color:var(--color-gray-700);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;padding:.75rem 1rem;font-size:1.1rem;font-weight:500;text-decoration:none;transition:background .15s}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--color-gray-100);color:var(--color-black)}.page-wrapper{min-height:100vh;padding-top:72px}.section{padding:5rem 2rem}.container{width:100%;max-width:1280px;margin:0 auto}.project-card-outer{cursor:pointer;will-change:transform;min-height:300px;position:relative}.project-card-inner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-black);cursor:pointer;background:#ffffff4d;border-radius:1rem;width:100%;height:100%;padding:2rem;position:relative}.sketchy-layer{border:2px solid var(--color-black);pointer-events:none;border-radius:1rem;position:absolute;inset:0}.pill{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill-blue{color:#1d4ed8;background:#dbeafe}.pill-green{color:#15803d;background:#dcfce7}.pill-gray{background:var(--color-gray-100);color:var(--color-gray-700)}.pill-yellow{color:#a16207;background:#fef9c3}.pill-purple{color:#7e22ce;background:#f3e8ff}.tech-tag{background:var(--color-black);color:var(--color-white);border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.filter-btn{border:2px solid var(--color-black);cursor:pointer;color:var(--color-black);background:0 0;border-radius:9999px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s}.filter-btn:hover,.filter-btn.active{background:var(--color-black);color:var(--color-white);transform:scale(1.05)}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-container{width:100%;max-width:56rem;max-height:90vh;position:relative;overflow-y:auto}.modal-content{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid var(--color-black);background:#fffffff2;border-radius:1rem;padding:2.5rem;position:relative}.modal-close{cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:transform .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{transform:rotate(90deg)}.modal-corner{width:4rem;height:4rem;position:absolute}.hero-section{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:4rem 2rem;display:flex;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;max-width:1280px;margin:0 auto;display:grid}.hero-title{margin-bottom:1.5rem;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1.05}.hero-subtitle{font-family:var(--font-handwriting);color:var(--color-gray-600);margin-bottom:.5rem;font-size:1.5rem}.hero-desc{color:var(--color-gray-600);max-width:42ch;margin-bottom:2.5rem;font-size:1.125rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn-primary{background:var(--color-black);color:var(--color-white);border:2px solid var(--color-black);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn-primary:hover{color:var(--color-black);background:0 0}.btn-outline{color:var(--color-black);border:2px solid var(--color-black);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn-outline:hover{background:var(--color-black);color:var(--color-white)}.hero-visual{aspect-ratio:1;will-change:transform;max-width:480px;margin:0 auto;position:relative}.hero-orbit-svg{width:100%;height:100%;position:absolute;inset:0}.hero-center-box{border:2px solid var(--color-black);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:15%}.section-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-gray-500);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.section-title{margin-bottom:1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.section-desc{color:var(--color-gray-600);max-width:56ch;font-size:1.0625rem;line-height:1.7}.section-divider{background:var(--color-black);border-radius:9999px;width:6rem;height:3px;margin:1.5rem 0}.about-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:5rem;display:grid}.about-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-black);background:#fff9;border-radius:1rem;padding:2rem;position:relative}.about-card:before{content:attr(data-label);background:var(--color-black);color:var(--color-white);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:2px 10px;font-size:.65rem;font-weight:700;position:absolute;top:-13px;left:1.5rem}.stat-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.stat-item{text-align:center;background:var(--color-white);border:2px solid var(--color-black);border-radius:1rem;padding:1.5rem 1rem}.stat-number{font-family:var(--font-handwriting);color:var(--color-black);font-size:2.5rem;font-weight:700;display:block}.stat-label{color:var(--color-gray-500);margin-top:.25rem;font-size:.8rem;font-weight:500}.projects-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem;display:grid}.tech-item{border:2px solid var(--color-black);text-align:center;will-change:transform;background:#fff9;border-radius:1rem;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;display:flex;position:relative}.tech-emoji{font-size:2.25rem}.tech-name{font-size:.875rem;font-weight:600}.tech-level{color:var(--color-gray-500);font-size:.7rem;font-family:var(--font-mono)}.services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.service-card{border:2px solid var(--color-black);will-change:transform;background:#ffffff80;border-radius:1rem;padding:2rem;position:relative}.service-icon{margin-bottom:1rem;font-size:2.5rem;display:block}.service-title{margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.service-desc{color:var(--color-gray-600);font-size:.9rem;line-height:1.6}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:4rem;display:grid}.contact-info-card{border:2px solid var(--color-black);background:#ffffff80;border-radius:1rem;padding:2rem}.contact-field-row{margin-bottom:1.5rem}.contact-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.contact-input,.contact-textarea{border:2px solid var(--color-black);width:100%;font-family:var(--font-sans);color:var(--color-black);resize:vertical;background:0 0;border-radius:.75rem;outline:none;padding:.875rem 1rem;font-size:.95rem;transition:box-shadow .2s}.contact-input:focus,.contact-textarea:focus{box-shadow:3px 3px 0 var(--color-black)}.contact-textarea{min-height:120px}.footer{border-top:2px solid var(--color-black);background:var(--color-white);padding:3rem 2rem}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;max-width:1280px;margin:0 auto;display:flex}.footer-brand{font-family:var(--font-handwriting);cursor:pointer;font-size:1.5rem;font-weight:700}.footer-meta{color:var(--color-gray-500);text-align:right;font-size:.85rem}.footer-links{gap:1.5rem;list-style:none;display:flex}.footer-link{color:var(--color-gray-600);cursor:pointer;font-size:.875rem;text-decoration:none;transition:color .15s}.footer-link:hover{color:var(--color-black)}.cert-card{background:var(--color-white);border:2px solid var(--color-black);border-radius:1rem;overflow:hidden}.cert-header{background:var(--color-black);color:var(--color-white);text-align:center;padding:2rem}.cert-body{grid-template-columns:repeat(2,1fr);gap:2rem;padding:2.5rem;display:grid}.cert-field{border-bottom:1px dashed var(--color-gray-300);padding-bottom:1rem}.cert-field-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-500);margin-bottom:.35rem;font-size:.7rem}.cert-field-value{font-size:1rem;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot.online{background:#22c55e}.status-dot.warning{background:#f59e0b}.status-dot.offline{background:#ef4444}.uptime-bars{gap:2px;display:flex}.uptime-bar{border-radius:2px;flex:1;height:32px}.fade-in-up{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.fade-in-up.visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-black);border-radius:9999px}@media (width<=1024px){.about-grid{grid-template-columns:1fr;gap:3rem}.contact-grid{grid-template-columns:1fr}}@media (width<=768px){.hero-grid,.projects-grid,.services-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.cert-body{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.footer-meta{text-align:left}.nav-links,.nav-cta{display:none}.nav-mobile-btn{display:block}}
