*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--purple-deep: #3d3691;--purple-mid: #534AB7;--purple-soft: #7F77DD;--purple-pale: #EEEDFE;--purple-faint: #f5f4ff;--ink: #141414;--ink-mid: #444;--ink-light: #777;--border: #e6e4df;--surface: #fafaf9;--white: #ffffff;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:64px;background:#fafaf9eb;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.logo{font-family:"DM Serif Display",serif;font-size:22px;color:var(--purple-mid);letter-spacing:-.01em;text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:14px;color:var(--ink-mid);text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--purple-mid)}.nav-cta{font-size:14px;font-weight:500;color:var(--white);background:var(--purple-mid);padding:9px 20px;border-radius:var(--radius-sm);text-decoration:none;transition:background .15s}.nav-cta:hover{background:var(--purple-deep)}.hero{padding:6rem 2.5rem 5rem;position:relative;overflow:hidden}.hero-inner{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-graphic{display:flex;align-items:center;justify-content:center}.hero-graphic svg{width:100%;max-width:420px;height:auto}@keyframes pulse{0%,to{opacity:1;r:22}50%{opacity:.7;r:26}}@keyframes dash{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.node-main{animation:pulse 3s ease-in-out infinite}.flow-line{stroke-dasharray:200;animation:dash 2s ease-in-out infinite}.hero-text{text-align:left}.hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--purple-mid);background:var(--purple-pale);padding:5px 14px;border-radius:20px;margin-bottom:2rem;letter-spacing:.02em}.hero-badge:before{content:"";display:inline-block;width:6px;height:6px;background:var(--purple-soft);border-radius:50%}.hero h1{font-family:"DM Serif Display",serif;font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:1.5rem}.hero h1 em{font-style:italic;color:var(--purple-mid)}.hero p{font-size:17px;color:var(--ink-mid);line-height:1.65;margin-bottom:2.5rem;font-weight:300}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem}.btn-primary{display:inline-block;background:var(--purple-mid);color:var(--white);padding:15px 32px;border-radius:var(--radius-md);font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--purple-deep);transform:translateY(-1px)}.hero-note{font-size:13px;color:var(--ink-light)}.tech-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white);padding:1.5rem 2.5rem;text-align:center}.tech-strip p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);margin-bottom:1rem}.tech-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.tech-pill{font-size:13px;font-weight:500;color:var(--ink-mid);background:var(--surface);border:1px solid var(--border);padding:5px 14px;border-radius:20px}section{padding:6rem 2.5rem}.section-inner{max-width:960px;margin:0 auto}.section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--purple-soft);margin-bottom:.75rem}.section-h{font-family:"DM Serif Display",serif;font-size:clamp(26px,3vw,36px);font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.15;margin-bottom:1rem}.section-sub{font-size:17px;color:var(--ink-mid);font-weight:300;line-height:1.65;max-width:560px;margin-bottom:3.5rem}.services{background:var(--white)}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.service-card{background:var(--white);padding:2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s}.service-card:hover{background:var(--purple-faint)}.service-icon{width:40px;height:40px;background:var(--purple-pale);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.service-icon svg{width:20px;height:20px}.service-card h3{font-size:15px;font-weight:500;margin-bottom:.6rem;color:var(--ink)}.service-card p{font-size:14px;color:var(--ink-light);line-height:1.6}.how{background:var(--purple-faint)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;counter-reset:steps}.step{counter-increment:steps;position:relative}.step-num{font-family:"DM Serif Display",serif;font-size:13px;color:var(--white);background:var(--purple-mid);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.step h4{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:.5rem}.step p{font-size:14px;color:var(--ink-mid);line-height:1.6}.contact{background:var(--white)}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.contact-left{padding-top:.5rem}.contact-left p{font-size:15px;color:var(--ink-mid);line-height:1.7;font-weight:300;margin-bottom:2rem}.contact-detail{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.contact-detail span{font-size:13px;color:var(--ink-light)}.contact-detail strong{font-size:14px;font-weight:500;color:var(--ink)}.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem}.form-row{margin-bottom:1.25rem}.form-row label{display:block;font-size:13px;font-weight:500;color:var(--ink-mid);margin-bottom:6px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:DM Sans,sans-serif;background:var(--white);color:var(--ink);color-scheme:light;appearance:none;-webkit-appearance:none;outline:none;transition:border-color .15s}.form-row input::placeholder,.form-row textarea::placeholder{color:#bbb}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--purple-soft)}.form-row textarea{height:100px;resize:none}.form-submit{width:100%;background:var(--purple-mid);color:var(--white);padding:13px;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;transition:background .15s;margin-top:.25rem}.form-submit:hover{background:var(--purple-deep)}.form-note{text-align:center;font-size:12px;color:var(--ink-light);margin-top:.75rem}footer{border-top:1px solid var(--border);padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;background:var(--surface)}footer p{font-size:13px;color:var(--ink-light)}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:13px;color:var(--ink-light);text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--purple-mid)}@media(max-width:768px){nav{padding:0 1.25rem}.nav-links{display:none}.hero{padding:4rem 1.25rem 3rem}.hero-inner{grid-template-columns:1fr;gap:2.5rem}.hero-text{text-align:center}.hero-graphic{display:none}section{padding:4rem 1.25rem}.contact-layout{grid-template-columns:1fr;gap:2.5rem}footer{flex-direction:column;gap:1rem;text-align:center}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-badge{animation:fadeUp .5s ease both}.hero h1{animation:fadeUp .5s .1s ease both}.hero p{animation:fadeUp .5s .2s ease both}.hero-actions{animation:fadeUp .5s .3s ease both}
