*,:after,:before{box-sizing:border-box}em,i{font-style:normal!important;color:var(--lime-d)!important}:root{--lime:#22c55e;--lime-d:#15803d;--lime-b:#16a34a;--lime-soft:#4ade80;--ink:#052e16;--soft-green:#bbf7d0;--bg:#fff;--bg2:#f8fffe;--bg3:#f0fdf4;--text-primary:#052e16;--text-muted:#4b7a5e;--border:#d1fae5;--border-mid:#86efac}.page-progress{position:fixed;left:0;top:0;bottom:0;width:2px;z-index:200;background:var(--border)}.pp-fill{position:absolute;top:0;left:0;width:100%;background:linear-gradient(to bottom,var(--lime),var(--lime-d));height:0;transition:height .1s linear;box-shadow:0 0 8px rgba(22,163,74,.2)}.breadcrumb{position:relative;z-index:2;padding:7rem 3.5rem 0;display:flex;align-items:center;gap:10px;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .2s forwards}.breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}.breadcrumb a:hover,.breadcrumb span{color:var(--lime-d)}.bc-sep{color:var(--border-mid)}.service-hero{position:relative;padding:2rem 3.5rem 5rem;overflow:hidden;background:var(--bg)}#hero-canvas{width:100%;height:100%;opacity:.55}#hero-canvas,.hero-vignette{position:absolute;inset:0;pointer-events:none}.hero-vignette{background:radial-gradient(ellipse 70% 90% at 60% 50%,transparent 20%,hsla(0,0%,100%,.88) 75%)}.hero-vignette-bottom{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0,transparent 40%);pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 420px;grid-gap:5rem;gap:5rem;align-items:center;max-width:1200px}.service-badge{display:inline-flex;align-items:center;gap:10px;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--lime-d);margin-bottom:1.4rem;opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .3s forwards}.service-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--lime)}.service-hero h1{font-family:Fraunces,serif;font-weight:100;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.92;letter-spacing:-.025em;color:var(--ink);opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .42s forwards}.hero-tagline{font-size:clamp(.9rem,1.6vw,1.1rem);font-weight:300;color:var(--text-muted);line-height:1.75;max-width:480px;margin-top:1.6rem;opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .55s forwards}.hero-meta{display:flex;gap:2rem;margin-top:2.5rem;opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .68s forwards}.hero-meta-num{font-family:Fraunces,serif;font-weight:100;font-size:1.8rem;color:var(--lime-d);line-height:1}.hero-meta-label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.hero-divider{width:1px;background:var(--border)}.hero-btns{display:flex;gap:.9rem;margin-top:2.8rem;opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .8s forwards}.btn-g{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 2.2rem;background:var(--lime-d);color:#fff;border:none;cursor:none;transition:background .2s,transform .18s;text-decoration:none;display:inline-block}.btn-g:hover{background:var(--lime);transform:translateY(-2px)}.btn-ghost{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 2.2rem;background:transparent;color:var(--lime-d);border:1px solid var(--soft-green);cursor:none;transition:border-color .2s,color .2s,transform .18s;text-decoration:none;display:inline-block}.btn-ghost:hover{border-color:var(--lime-d);transform:translateY(-2px)}.hero-visual-card{border:1px solid var(--border);background:rgba(240,253,244,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem;position:relative;overflow:hidden}.hvc-label{font-family:Space Mono,monospace;font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--lime-b);margin-bottom:1.2rem}.hvc-icon{width:80px;height:80px;margin-bottom:1.5rem}.hvc-icon svg{width:100%;height:100%}.hvc-icon svg *{fill:none;stroke:var(--lime-d);stroke-width:1.2}.hvc-name{font-family:Fraunces,serif;font-weight:100;font-size:1.6rem;color:var(--ink);margin-bottom:.6rem}.hvc-desc{font-size:.78rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.5rem}.hvc-tags{display:flex;flex-wrap:wrap;gap:5px}.hvc-tag{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border);color:var(--text-muted)}.hvc-num{position:absolute;bottom:1.5rem;right:1.5rem;font-family:Fraunces,serif;font-weight:100;font-size:5rem;color:transparent;-webkit-text-stroke:1px rgba(22,163,74,.12)}.overview{padding:6rem 3.5rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:5rem;gap:5rem;align-items:start;max-width:1200px;margin:0 auto;border-top:1px solid var(--border)}.ov-label{display:flex;align-items:center;gap:10px;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--lime-d);margin-bottom:1rem}.ov-label:before{content:"";width:20px;height:1px;background:var(--lime-d)}.overview h2{font-family:Fraunces,serif;font-weight:100;font-size:clamp(1.8rem,3vw,2.8rem);color:var(--ink);line-height:1.1;letter-spacing:-.015em}.overview-body p{font-size:.88rem;color:var(--text-muted);line-height:1.9;margin-bottom:1.2rem;font-weight:300}.overview-quote{margin-top:2rem;padding:1.5rem 1.8rem;border-left:2px solid var(--lime-d);background:rgba(22,163,74,.04);font-family:Cormorant Garamond,serif;font-size:1.1rem;color:var(--ink);line-height:1.6;font-style:italic}.features-section{padding:0 3.5rem 6rem;max-width:1200px;margin:0 auto}.section-label{display:flex;align-items:center;gap:10px;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--lime-d);margin-bottom:.8rem}.section-label:before{content:"";width:20px;height:1px;background:var(--lime-d)}.features-section h2,.related-section h2,.tech-section h2{font-family:Fraunces,serif;font-weight:100;font-size:clamp(1.6rem,2.8vw,2.4rem);color:var(--ink);margin-bottom:2.5rem;letter-spacing:-.01em}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border)}.feat-card{background:var(--bg);padding:2.2rem 1.8rem;position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease,background .3s}.feat-card.visible{opacity:1;transform:none}.feat-card:hover{background:var(--bg3)}.feat-icon{width:40px;height:40px;margin-bottom:1.2rem}.feat-icon svg{width:100%;height:100%}.feat-icon svg *{fill:none;stroke:var(--lime-b);stroke-width:1.5}.feat-card h4{font-family:Fraunces,serif;font-weight:100;font-size:1.1rem;color:var(--ink);margin-bottom:.6rem}.feat-card p{font-size:.78rem;color:var(--text-muted);line-height:1.75;font-weight:300}.process-section{padding:6rem 3.5rem;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.proc-inner{max-width:900px;margin:0 auto}.proc-head .label{display:flex;align-items:center;gap:10px;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--lime-d);margin-bottom:.8rem}.proc-head .label:before{content:"";width:20px;height:1px;background:var(--lime-d)}.proc-head h2{font-family:Fraunces,serif;font-weight:100;font-size:clamp(1.6rem,2.8vw,2.4rem);color:var(--ink)}.proc-steps{position:relative}.proc-steps:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--lime-b) 85%,transparent)}.proc-step-item{display:grid;grid-template-columns:64px 1fr;grid-gap:2rem;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--border);opacity:0;transform:translateX(-16px);transition:opacity .6s ease,transform .6s ease}.proc-step-item.visible{opacity:1;transform:none}.psi-num{position:relative}.psi-dot{position:absolute;left:50%;top:2px;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--bg2);border:2px solid var(--lime-b)}.psi-content h4{font-family:Fraunces,serif;font-weight:100;font-size:1.2rem;color:var(--ink);margin-bottom:.5rem}.psi-content p{font-size:.82rem;color:var(--text-muted);line-height:1.8;font-weight:300}.tech-section{padding:6rem 3.5rem;max-width:1200px;margin:0 auto}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--border)}.tech-item{background:var(--bg);padding:1.8rem 1.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.tech-item.visible{opacity:1;transform:none}.tech-dot{width:10px;height:10px;border-radius:50%;background:var(--lime-b)}.tech-name{font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.1em;color:var(--ink)}.tech-role{font-size:.65rem;color:var(--text-muted)}.testimonial-block{padding:5rem 3.5rem;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.tblock-inner{max-width:780px;margin:0 auto;text-align:center}.tblock-quote{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(1.3rem,2.5vw,2rem);color:var(--ink);line-height:1.55;margin-bottom:2rem}.tblock-author{display:inline-flex;align-items:center;gap:12px}.tblock-av{width:40px;height:40px;border-radius:50%;border:1px solid var(--soft-green);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-family:Space Mono,monospace;font-size:.65rem;color:var(--lime-d)}.tblock-name{font-size:.8rem;color:var(--ink);text-align:left}.tblock-role{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.related-section{padding:6rem 3.5rem;max-width:1200px;margin:0 auto}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border)}.rel-card{background:var(--bg);padding:2rem 1.8rem;text-decoration:none;display:block;position:relative;overflow:hidden;transition:background .3s}.rel-card:hover{background:var(--bg3)}.rel-num{font-family:Space Mono,monospace;font-size:.55rem;letter-spacing:.25em;color:var(--lime-b);margin-bottom:.8rem}.rel-card h4{font-family:Fraunces,serif;font-weight:100;font-size:1.1rem;color:var(--ink);margin-bottom:.5rem}.rel-card p{font-size:.76rem;color:var(--text-muted);line-height:1.65;margin-bottom:1rem}.rel-arrow{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lime-b);display:flex;align-items:center;gap:6px}.rel-arrow svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2}.page-cta{padding:6rem 3.5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;border-top:1px solid var(--border)}.page-cta h2{font-family:Fraunces,serif;font-weight:100;font-size:clamp(1.8rem,3.5vw,3rem);color:var(--ink);line-height:1.05;letter-spacing:-.015em}.cta-btns{flex-shrink:0}#sd-footer,.cta-btns{display:flex;gap:1rem}#sd-footer{background:var(--ink);padding:2.5rem 3.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}#sd-footer .flogo{font-family:Fraunces,serif;font-weight:100;font-size:1.2rem;color:hsla(0,0%,100%,.5)}#sd-footer .flogo b{font-style:italic;font-weight:100;color:var(--lime-soft)}#sd-footer .flinks{display:flex;gap:1.8rem;list-style:none}#sd-footer .flinks a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:hsla(0,0%,100%,.35);text-decoration:none}#sd-footer .fcopy{font-family:Space Mono,monospace;font-size:.62rem;color:hsla(0,0%,100%,.22)}.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.rv.on{opacity:1;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media(max-width:960px){.breadcrumb{padding:6rem 1.5rem 0}.service-hero{padding:2rem 1.5rem 4rem}.hero-inner{grid-template-columns:1fr}.hero-visual{display:none}.overview{grid-template-columns:1fr;padding:4rem 1.5rem}.features-section{padding:0 1.5rem 4rem}.feat-grid{grid-template-columns:1fr 1fr}.process-section,.tech-section{padding:4rem 1.5rem}.tech-grid{grid-template-columns:repeat(2,1fr)}.related-section,.testimonial-block{padding:4rem 1.5rem}.related-grid{grid-template-columns:1fr}.page-cta{padding:4rem 1.5rem;align-items:flex-start}#sd-footer,.page-cta{flex-direction:column}#sd-footer{padding:2rem 1.5rem;text-align:center}.service-hero .hero-inner{grid-template-columns:minmax(0,1fr)}.service-hero h1{font-size:clamp(2.4rem,11vw,3.2rem);overflow-wrap:anywhere}.hero-meta{gap:1.2rem 1.6rem}.hero-btns,.hero-meta{flex-wrap:wrap}}