@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&display=swap";:root{--charcoal:#36454f;--wine:#7b1c2e;--slate:#708090;--light-gray:#d3d3d3;--white:#fff}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:DM Sans,sans-serif}#root{flex-direction:column;min-height:100svh;display:flex}.hero{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:80px 24px;display:flex;position:relative}.hero-mark{width:clamp(200px,28vw,300px);height:auto;animation:.7s ease-out both markIn;display:block}.hero-name{letter-spacing:-.01em;color:var(--charcoal);margin:40px 0 16px;font-size:clamp(36px,6vw,72px);font-weight:700;animation:.6s ease-out .4s both fadeIn}.hero-tagline{color:var(--slate);letter-spacing:.01em;gap:.35em;margin:0;font-size:clamp(16px,2.2vw,28px);font-weight:400;display:flex}.hero-tagline .word{animation:.5s cubic-bezier(.22,1,.36,1) both wordIn;display:inline-block}.hero-tagline .word:first-child{animation-delay:.7s}.hero-tagline .word:nth-child(2){animation-delay:.9s}.hero-tagline .word:nth-child(3){animation-delay:1.1s}.scroll-hint{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:0;padding:8px;animation:1.2s ease-out 1.6s both fadeIn;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-hint:hover .scroll-line{background:var(--slate)}.scroll-hint:hover .scroll-arrow{border-color:var(--slate)}.scroll-line{background:var(--slate);width:1px;height:60px;transition:background .2s;display:block}.scroll-arrow{border-right:1.5px solid var(--slate);border-bottom:1.5px solid var(--slate);width:9px;height:9px;margin-top:-6px;transition:border-color .2s;animation:1.4s ease-in-out 2.5s infinite arrowBounce;display:block;transform:rotate(45deg)}.services{background:var(--white);width:100%}.services-inner{max-width:600px;margin:0 auto;padding:80px 24px 100px}.services-item{border-top:1px solid var(--light-gray);opacity:0;grid-template-columns:180px 1fr;align-items:center;gap:0 40px;padding:40px 0;transition:opacity .5s ease-out,transform .5s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(16px)}.services-item:last-child{border-bottom:1px solid var(--light-gray)}.services-item.visible{opacity:1;transform:none}.services-item-left{flex-direction:column;gap:12px;display:flex}.services-icon{width:40px;height:40px;color:var(--slate);display:block}.services-icon svg{width:100%;height:100%}.services-item-label{letter-spacing:.15em;text-transform:uppercase;color:var(--slate);margin:0;font-size:11px;font-weight:700}.services-item-desc{color:var(--charcoal);margin:0;font-size:15px;line-height:1.7}.contact{background:#f7f7f7;width:100%}.contact-inner{width:100%;max-width:600px;margin:0 auto;padding:120px 24px 100px}.contact .contact-icon,.contact .contact-label,.contact .contact-intro,.contact .form-row,.contact form>.form-field,.contact .submit-btn{opacity:0;transition:opacity .55s ease-out,transform .55s cubic-bezier(.22,1,.36,1);transform:translate(-28px)}.contact.visible .contact-icon{opacity:1;transition-delay:0s;transform:none}.contact.visible .contact-label{opacity:1;transition-delay:.1s;transform:none}.contact.visible .contact-intro{opacity:1;transition-delay:.2s;transform:none}.contact.visible .form-row{opacity:1;transition-delay:.3s;transform:none}.contact.visible form>.form-field:nth-child(2){opacity:1;transition-delay:.4s;transform:none}.contact.visible form>.form-field:nth-child(3){opacity:1;transition-delay:.5s;transform:none}.contact.visible form>.form-field:nth-child(4){opacity:1;transition-delay:.6s;transform:none}.contact.visible form>.form-field:nth-child(5){opacity:1;transition-delay:.7s;transform:none}.contact.visible .submit-btn{opacity:1;transition-delay:.8s;transform:none}.contact-icon{width:40px;height:40px;color:var(--slate);margin-bottom:20px;display:block}.contact-icon svg{width:100%;height:100%}.contact-label{letter-spacing:.15em;text-transform:uppercase;color:var(--charcoal);margin:0 0 32px;font-size:14px;font-weight:700}.contact-intro{color:var(--charcoal);margin:0 0 52px;font-size:16px;line-height:1.7}.form-row{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.form-field{flex-direction:column;margin-bottom:40px;display:flex;position:relative}.form-field label{letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:10px;font-size:11px;font-weight:700}.label-optional{letter-spacing:.05em;opacity:.6;font-weight:400}.form-field input,.form-field textarea{color:var(--charcoal);border:none;border-bottom:1px solid var(--light-gray);resize:none;appearance:none;background:0 0;border-radius:0;outline:none;width:100%;padding:6px 0 10px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .25s}.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--charcoal)}.form-field textarea{min-height:100px}.form-field.has-error input,.form-field.has-error textarea{border-bottom-color:var(--wine);box-shadow:0 3px 8px -3px #7b1c2e59}.field-error{color:var(--wine);letter-spacing:.01em;margin-top:6px;font-size:12px;display:block}.honeypot{opacity:0;pointer-events:none;tab-index:-1;position:absolute;left:-9999px}.form-error{color:var(--wine);margin-bottom:20px;font-size:12px}.submit-btn{letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:var(--charcoal);cursor:pointer;border:none;border-radius:0;margin-top:8px;padding:16px 40px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.submit-btn:hover:not(:disabled){background:var(--slate)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-success{padding:40px 0}.form-success p{color:var(--charcoal);font-size:16px;line-height:1.6}.form-success .success-sub{color:var(--slate);margin-top:8px;font-size:13px}.footer{background:var(--slate);flex-direction:column;align-items:center;gap:32px;margin-top:auto;padding:56px 24px;display:flex}.footer-address{color:var(--light-gray);text-align:center;margin:0;font-size:13px;font-style:normal;line-height:1.9}.footer-address strong{color:var(--white);letter-spacing:.05em;margin-bottom:2px;font-weight:700;display:block}.footer-legal{gap:24px;display:flex}.footer-legal-link{letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;font-size:11px;font-weight:700;text-decoration:none;transition:color .2s}.footer-legal-link:hover{color:var(--white)}.footer-copy{color:#ffffff59;letter-spacing:.08em;margin:0;font-size:11px}@keyframes markIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes wordIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes arrowBounce{0%,to{transform:rotate(45deg)translate(0)}50%{transform:rotate(45deg)translate(3px,3px)}}@keyframes layerFloat{0%,to{transform:translate(0)}50%{transform:translate(3px,-3px)}}@keyframes nodePulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes barShift{0%,to{transform:translate(0)}50%{transform:translate(2px)}}.icon-design rect:nth-child(2){animation:5s ease-in-out infinite layerFloat}.icon-ki circle:first-child{animation:2.4s ease-in-out infinite nodePulse}.icon-ki circle:nth-child(2){animation:2.4s ease-in-out .8s infinite nodePulse}.icon-ki circle:nth-child(3){animation:2.4s ease-in-out 1.6s infinite nodePulse}.icon-infra rect:first-child{animation:2s ease-in-out infinite barShift}.icon-infra rect:nth-child(2){animation:2s ease-in-out .35s infinite barShift}.icon-infra rect:nth-child(3){animation:2s ease-in-out .7s infinite barShift}.contact-icon circle:nth-child(2){transform-box:fill-box;transform-origin:50%;animation:2.5s ease-in-out infinite innerPulse}@keyframes innerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(1.6)}}@media (width<=560px){.services-inner{padding:60px 24px 80px}.services-item{grid-template-columns:1fr;gap:16px 0;padding:32px 0}.hero{padding:60px 24px}.hero-mark{width:clamp(200px,50vw,260px)}.form-row{grid-template-columns:1fr;gap:0}.contact-inner{padding:80px 24px}.footer{padding:40px 24px}}.legal-page{background:var(--white);flex-direction:column;min-height:100svh;display:flex}.legal-header{border-bottom:1px solid var(--light-gray);padding:40px 24px 32px}.legal-logo-link{display:inline-block}.legal-logo{width:48px;height:auto;display:block}.legal-content{flex:1;width:100%;max-width:640px;margin:0 auto;padding:72px 24px 80px}.legal-title{letter-spacing:-.01em;color:var(--charcoal);margin:0 0 56px;font-size:clamp(28px,5vw,44px);font-weight:700}.legal-section{border-bottom:1px solid var(--light-gray);margin-bottom:40px;padding-bottom:40px}.legal-section:last-child{border-bottom:none}.legal-section h2{letter-spacing:.15em;text-transform:uppercase;color:var(--slate);margin:0 0 16px;font-size:11px;font-weight:700}.legal-section p,.legal-section ul{color:var(--charcoal);margin:0 0 12px;font-size:15px;line-height:1.8}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:4px}.legal-section a{color:var(--charcoal);text-decoration:underline;-webkit-text-decoration-color:var(--light-gray);text-decoration-color:var(--light-gray);text-underline-offset:3px;transition:text-decoration-color .2s}.legal-section a:hover{-webkit-text-decoration-color:var(--charcoal);text-decoration-color:var(--charcoal)}.placeholder{color:var(--slate);font-style:italic}.legal-footer{border-top:1px solid var(--light-gray);padding:40px 24px}.legal-back{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-size:13px;font-weight:700;text-decoration:none;transition:color .2s}.legal-back:hover{color:var(--charcoal)}
