@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;600;700;800&display=swap");:root{--svc-bg:#0d0f12;--surface:#111418;--surface-hover:#13181f;--border:#1a2030;--border-soft:#1e2a38;--accent:#4a7fa5;--accent-bright:#5d9ec9;--accent-dim:#2a4d66;--accent-glow:rgba(74,127,165,.1);--text-primary:#e8edf2;--text-secondary:#7a8a99;--text-muted:#3d4e5e;--font-display:"Syne",sans-serif;--font-mono:"Space Mono",monospace}.services{background:var(--svc-bg);min-height:100vh;padding:60px 48px 80px;position:relative;overflow:hidden}.services:before{inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.22}.services:after,.services:before{content:"";position:absolute;pointer-events:none}.services:after{top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(74,127,165,.09) 0,transparent 70%)}.services-container{max-width:1100px;margin:0 auto;position:relative;z-index:1}.services-header{margin-bottom:52px}.services-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:10px}.services-title{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4rem);font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1;display:flex;gap:2px}.services-title span{display:inline-block;transition:filter .4s ease,opacity .4s ease,transform .4s ease}.services-title:hover span{filter:blur(6px);opacity:.3;transform:scale(1.15)}.services-title span:first-child{transition-delay:0s}.services-title span:nth-child(2){transition-delay:.05s}.services-title span:nth-child(3){transition-delay:.1s}.services-title span:nth-child(4){transition-delay:.15s}.services-title span:nth-child(5){transition-delay:.2s}.services-title span:nth-child(6){transition-delay:.25s}.services-title span:nth-child(7){transition-delay:.3s}.services-title span:nth-child(8){transition-delay:.35s}.services-title-line{margin-top:14px;width:52px;height:3px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:2px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-bottom:72px}.service-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px 24px 24px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0;animation:fadeSlideUp .5s cubic-bezier(.22,1,.36,1) both;transition:border-color .25s ease,background .25s ease,transform .2s ease;cursor:default}.service-card:hover{border-color:var(--accent-dim);background:var(--surface-hover);transform:translateY(-3px)}.card-accent-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-dim),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.service-card:hover .card-accent-line{transform:scaleX(1)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.card-id{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--accent);background:rgba(74,127,165,.08);border:1px solid var(--accent-dim);padding:3px 8px;border-radius:3px;line-height:1}.card-icon{width:36px;height:36px;color:var(--accent);transition:color .2s ease,transform .2s ease}.card-icon svg{width:100%;height:100%}.service-card:hover .card-icon{color:var(--accent-bright);transform:scale(1.1)}.card-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:10px}.card-desc{font-size:.825rem;line-height:1.75;color:var(--text-secondary);flex:1 1;margin-bottom:20px}.card-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.chip{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--accent);background:rgba(74,127,165,.07);border:1px solid var(--accent-dim);padding:3px 9px;border-radius:2px;transition:background .2s ease,color .2s ease}.service-card:hover .chip{background:rgba(74,127,165,.13);color:var(--accent-bright)}.service-card:last-child:nth-child(3n - 1){grid-column:span 1}@media (min-width:861px){.cards-grid{grid-template-columns:repeat(3,1fr)}.service-card:nth-child(4){grid-column:1}.service-card:nth-child(5){grid-column:2}}.stack-section{border-top:1px solid var(--border);padding-top:52px;animation:fadeSlideUp .6s cubic-bezier(.22,1,.36,1) .3s both}.stack-header{margin-bottom:36px}.stack-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:8px;max-width:480px}.stack-groups{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:32px 48px;gap:32px 48px}.stack-group{display:flex;flex-direction:column;gap:14px}.stack-group-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:10px}.stack-group-label:after{content:"";flex:1 1;height:1px;background:var(--border)}.stack-pills{display:flex;flex-wrap:wrap;gap:8px}.stack-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:4px;animation:fadeSlideUp .4s cubic-bezier(.22,1,.36,1) both;transition:border-color .2s ease,color .2s ease,background .2s ease}.stack-pill:hover{border-color:var(--accent-dim);color:var(--text-primary);background:var(--surface-hover)}.pill-icon{width:15px;height:15px;flex-shrink:0;color:var(--icon-color,var(--accent));opacity:.9;transition:opacity .2s ease,transform .2s ease}.stack-pill:hover .pill-icon{opacity:1;transform:scale(1.15)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.cards-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card:last-child:nth-child(odd){grid-column:span 2;max-width:50%;margin:0 auto;width:100%}}@media (max-width:860px){.services{padding:48px 24px 60px}.stack-groups{grid-template-columns:1fr;gap:24px}}@media (max-width:600px){.cards-grid{grid-template-columns:1fr}.service-card:last-child:nth-child(odd){grid-column:span 1;max-width:100%}}@media (max-width:480px){.services{padding:40px 16px 60px}}