*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:oklch(95% .01 250);-webkit-font-smoothing:antialiased;background:oklch(16% .015 250);min-height:100vh;font-family:Inter,sans-serif}#root{min-height:100vh}a{color:oklch(75% .15 150);text-decoration:none}a:hover{color:oklch(85% .15 150)}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{color:oklch(95% .01 250);background:oklch(16% .015 250);min-height:100vh}.hero{text-align:center;flex-direction:column;align-items:center;gap:28px;max-width:1100px;margin:0 auto;padding:140px 24px 120px;display:flex}.logo-wrap{justify-content:center;align-items:center;width:76px;height:76px;display:flex;position:relative}.logo-ring{border:1.5px dashed oklch(40% .03 250);border-radius:50%;animation:12s linear infinite spin-slow;position:absolute;inset:0}.logo-dot-wrap{width:76px;height:76px;animation:3.5s linear infinite spin-slow;position:absolute}.logo-dot{background:oklch(75% .15 150);border-radius:50%;width:9px;height:9px;margin-left:-4.5px;position:absolute;top:2px;left:50%;box-shadow:0 0 12px oklch(75% .15 150/.8)}.hero-title{letter-spacing:-.03em;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(48px,9vw,96px);font-weight:800;line-height:1}.hero-sub{color:oklch(85% .02 250);max-width:640px;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(18px,2.4vw,24px)}.approach-section{background:oklch(17.5% .015 250);border-top:1px solid oklch(30% .02 250/.35);padding:82px 24px 72px}.approach-inner{flex-direction:column;align-items:center;gap:64px;max-width:1100px;margin:0 auto;display:flex}.tagline-text{letter-spacing:.12em;text-transform:uppercase;color:oklch(90% .01 250);text-align:center;margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(22px,3.2vw,30px);font-weight:700}.tagline-text .green{color:oklch(75% .15 150)}.approach-content{width:100%}.section-label{letter-spacing:.08em;color:oklch(65% .02 250);text-transform:uppercase;text-align:center;margin-bottom:32px;font-family:JetBrains Mono,monospace;font-size:13px;display:block}.approach-grid-wrap{position:relative}.approach-divider{z-index:0;background:oklch(40% .03 250/.4);height:1px;position:absolute;top:19px;left:60px;right:60px}.approach-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;display:grid;position:relative}.approach-item{flex-direction:column;gap:6px;display:flex}.approach-icon{background:oklch(17.5% .015 250);border:1px solid oklch(75% .15 150/.4);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:4px;display:flex}.approach-num{color:oklch(75% .15 150);font-family:JetBrains Mono,monospace;font-size:13px}.approach-title{margin:0;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700}.approach-desc{color:oklch(65% .02 250);margin:0;font-size:14px;line-height:1.5}.approach-arrow-wrap{justify-content:center;margin-top:4px;display:flex}.approach-arrow{opacity:.4}.projects-section{border-top:1px solid oklch(30% .02 250/.35)}.projects{max-width:1100px;margin:0 auto;padding:96px 24px 80px}.projects-header{flex-direction:column;gap:6px;margin-bottom:84px;display:flex}.projects-label{letter-spacing:.08em;color:oklch(65% .02 250);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:13px}.projects-heading{margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(28px,4vw,36px);font-weight:700}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.project-card{background:oklch(20% .015 250);border:1px solid oklch(30% .02 250/.4);border-radius:14px;flex-direction:column;gap:12px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.project-card:hover{border-color:oklch(40% .03 250);transform:translateY(-4px);box-shadow:0 12px 32px oklch(0% 0 0/.35)}.project-card-title{color:oklch(95% .01 250);margin:0;font-family:JetBrains Mono,monospace;font-size:21px;font-weight:700}.project-why{color:oklch(65% .02 250);margin:0;font-size:14px;font-style:italic;line-height:1.5}.project-desc{color:oklch(80% .02 250);margin:0;font-size:14.5px;line-height:1.6}.project-read-more{color:oklch(55% .02 250);font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:600;transition:color .2s}.project-read-more:hover{color:oklch(80% .02 250)}.project-visit-btn{text-align:center;color:oklch(80% .15 150);cursor:pointer;background:oklch(75% .15 150/.12);border:1px solid oklch(75% .15 150/.4);border-radius:8px;margin-top:2px;padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:13.5px;font-weight:600;transition:background .2s}.project-visit-btn:hover{background:oklch(75% .15 150/.22)}.footer{background:oklch(14% .015 250);border-top:1px solid oklch(30% .02 250/.35)}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:0 auto;padding:40px 24px;display:flex}.footer-brand{color:oklch(95% .01 250);font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700}.footer-links{gap:24px;font-family:JetBrains Mono,monospace;font-size:14px;display:flex}.footer-links a{color:oklch(65% .02 250);align-items:center;gap:6px;transition:color .2s;display:flex}.footer-links a:hover{color:oklch(85% .02 250)}.footer-tagline-row{max-width:1100px;margin:0 auto;padding:0 24px 32px}.footer-tagline{color:oklch(45% .02 250);font-family:JetBrains Mono,monospace;font-size:12.5px}@media (width<=768px){.approach-divider{display:none}.approach-grid{grid-template-columns:1fr}}.contact-page{color:oklch(95% .01 250);background:oklch(16% .015 250);flex-direction:column;min-height:100vh;display:flex}.contact-nav{width:100%;max-width:1100px;margin:0 auto;padding:32px 24px}.contact-back{color:oklch(65% .02 250);cursor:pointer;background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:13px;transition:color .2s}.contact-back:hover{color:oklch(75% .15 150)}.contact-wrap{width:100%;max-width:560px;margin:0 auto;padding:40px 24px 100px}.contact-label{letter-spacing:.08em;color:oklch(65% .02 250);text-transform:uppercase;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:13px;display:block}.contact-heading{margin:0 0 48px;font-family:JetBrains Mono,monospace;font-size:clamp(28px,4vw,36px);font-weight:700}.contact-form{flex-direction:column;gap:24px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{letter-spacing:.06em;color:oklch(65% .02 250);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:12px}.form-field input,.form-field textarea{color:oklch(95% .01 250);resize:none;background:oklch(20% .015 250);border:1px solid oklch(30% .02 250/.4);border-radius:8px;outline:none;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:14px;transition:border-color .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:oklch(45% .02 250)}.form-field input:focus,.form-field textarea:focus{border-color:oklch(75% .15 150/.5)}.form-field textarea{min-height:140px}.contact-submit{color:oklch(80% .15 150);cursor:pointer;background:oklch(75% .15 150/.12);border:1px solid oklch(75% .15 150/.4);border-radius:8px;align-self:flex-start;padding:12px 24px;font-family:JetBrains Mono,monospace;font-size:13.5px;font-weight:600;transition:background .2s}.contact-submit:hover{background:oklch(75% .15 150/.22)}.contact-submit:disabled{opacity:.5;cursor:not-allowed}.contact-error{color:oklch(70% .15 25);background:oklch(70% .15 25/.08);border:1px solid oklch(70% .15 25/.3);border-radius:8px;padding:16px;font-family:JetBrains Mono,monospace;font-size:14px}.contact-success{color:oklch(75% .15 150);background:oklch(75% .15 150/.08);border:1px solid oklch(75% .15 150/.3);border-radius:8px;padding:16px;font-family:JetBrains Mono,monospace;font-size:14px}
