:root{--color-bg:#0a0e1a;--color-surface:#131829;--color-surface-hover:#1a2035;--color-border:#1e2640;--color-text:#e2e8f0;--color-text-muted:#8892a8;--color-text-heading:#f1f5f9;--color-primary:#6366f1;--color-primary-hover:#818cf8;--color-accent:#22d3ee;--color-accent-muted:rgba(34,211,238,.12);--font-sans:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--max-width:1120px;--header-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition-fast:150ms ease;--transition-base:250ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg,video{display:block;max-width:100%}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);line-height:1.25;font-weight:600}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}ol,ul{list-style:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.section-title{font-size:var(--text-3xl);margin-bottom:var(--space-md)}.section-subtitle{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:var(--space-2xl);max-width:640px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);transition:border-color var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:none;transition:background var(--transition-fast),transform var(--transition-fast);text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);color:#fff}.btn-outline{background:transparent;color:var(--color-accent);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;grid-gap:var(--space-lg);gap:var(--space-lg)}@media (min-width:640px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}}.tag{display:inline-block;padding:.2rem .6rem;font-size:var(--text-xs);font-weight:500;border-radius:999px;background:var(--color-accent-muted);color:var(--color-accent)}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}.page-content{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl);min-height:calc(100vh - var(--header-height) - 200px)}.hero{padding:var(--space-3xl) 0;text-align:center}.hero-tag{display:inline-block;padding:.3rem 1rem;background:var(--color-accent-muted);color:var(--color-accent);font-size:var(--text-sm);font-weight:500;border-radius:999px;margin-bottom:var(--space-xl)}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;margin-bottom:var(--space-lg)}.hero-accent{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc{color:var(--color-text-muted);font-size:var(--text-lg);max-width:600px;margin:0 auto var(--space-xl);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.cap-icon{font-size:1.8rem;display:block;margin-bottom:var(--space-md)}.cap-title{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.cap-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.service-card{text-decoration:none;display:block}.svc-title{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.svc-desc{color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-md)}.svc-desc,.svc-link{font-size:var(--text-sm)}.svc-link{color:var(--color-accent);font-weight:500}.section-header-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl)}.section-header-row .section-title{margin-bottom:var(--space-xs)}.section-header-row .section-subtitle{margin-bottom:0}.case-card,.insight-card{text-decoration:none;display:block}.case-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.case-title,.ins-title{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.case-desc,.ins-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.ins-date{display:block;color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:var(--space-sm)}.cta-section,.site-footer{border-top:1px solid var(--color-border)}.site-footer{background:var(--color-surface);padding:var(--space-3xl) 0 var(--space-xl);margin-top:var(--space-3xl)}.footer-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-2xl);gap:var(--space-2xl)}.footer-brand{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:var(--text-lg);color:var(--color-text-heading);text-decoration:none;margin-bottom:var(--space-md)}.brand-icon{font-size:1.3rem}.footer-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.7;max-width:300px}.footer-heading{font-size:var(--text-sm);font-weight:600;color:var(--color-text-heading);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em}.footer-nav{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-nav a{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--color-accent)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md)}.footer-copy,.footer-note{color:var(--color-text-muted);font-size:var(--text-xs)}.footer-note{opacity:.6}@media (min-width:640px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(10,14,26,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-inner{height:var(--header-height);gap:var(--space-lg)}.header-brand,.header-inner{display:flex;align-items:center}.header-brand{gap:var(--space-sm);font-weight:700;font-size:var(--text-lg);color:var(--color-text-heading);text-decoration:none;flex-shrink:0}.header-brand:hover{color:var(--color-accent)}.brand-icon{font-size:1.4rem;color:var(--color-primary)}.header-nav-desktop{display:none;align-items:center;gap:var(--space-lg);margin-left:auto}.nav-link{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;transition:color var(--transition-fast);text-decoration:none}.nav-link:hover{color:var(--color-text-heading)}.header-cta{display:none;flex-shrink:0}.mobile-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;width:40px;height:40px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.hamburger{display:flex;flex-direction:column;gap:4px;width:18px}.hamburger span{display:block;height:2px;background:var(--color-text);border-radius:2px;transition:transform var(--transition-fast),opacity var(--transition-fast)}.hamburger.open span:first-child{transform:rotate(45deg) translate(4px,4px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-menu{display:flex;flex-direction:column;padding:var(--space-lg);gap:var(--space-sm);border-top:1px solid var(--color-border);background:var(--color-surface)}.mobile-link{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-text);font-size:var(--text-base);font-weight:500;border-radius:var(--radius-sm);text-decoration:none;transition:background var(--transition-fast)}.mobile-link:hover{background:var(--color-surface-hover);color:var(--color-text-heading)}.mobile-cta{margin-top:var(--space-sm);text-align:center;justify-content:center}@media (min-width:768px){.header-nav-desktop{display:flex}.header-cta{display:inline-flex}.mobile-menu,.mobile-toggle{display:none}}.estimator-progress{display:flex;align-items:flex-start;margin-bottom:var(--space-2xl);padding:0 var(--space-md)}.progress-step-item{flex-direction:column;flex:1 1}.progress-dot,.progress-step-item{display:flex;align-items:center;position:relative}.progress-dot{width:36px;height:36px;border-radius:50%;justify-content:center;font-size:var(--text-sm);font-weight:600;background:var(--color-surface);color:var(--color-text-muted);border:2px solid var(--color-border);transition:all var(--transition-base);z-index:2}.progress-dot.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 0 16px rgba(99,102,241,.35)}.progress-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs);text-align:center;transition:color var(--transition-base);white-space:nowrap}.progress-label.active{color:var(--color-text)}.progress-line{position:absolute;top:18px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--color-border);z-index:1;transition:background var(--transition-base)}.progress-line.active{background:var(--color-primary)}.estimator-option-card{transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.estimator-option-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(99,102,241,.1)}.option-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;transition:all var(--transition-fast);position:relative}.option-radio.selected{border-color:var(--color-primary)}.option-radio.selected:after{content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.option-check{width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:all var(--transition-fast)}.option-check.selected{background:var(--color-primary)}.estimator-result-card,.option-check.selected{border-color:var(--color-primary)}.result-glow{position:absolute;top:-40%;left:-20%;width:140%;height:100%;background:radial-gradient(ellipse at center,rgba(99,102,241,.08) 0,transparent 70%);pointer-events:none}.result-price{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.estimator-step-enter{animation:estimatorFadeIn .35s ease-out}@keyframes estimatorFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.estimator-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) 0}.loader-spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.progress-label{font-size:.625rem}.progress-dot{width:28px;height:28px;font-size:.7rem}.progress-line{top:14px;left:calc(50% + 16px);right:calc(-50% + 16px)}}.tree-container{flex-direction:column}.tree-container,.tree-group{display:flex;gap:var(--space-sm)}.tree-group{align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-group:hover{background:var(--color-surface-hover)}.tree-package{border-left:3px solid var(--color-primary);background:rgba(99,102,241,.04)}.tree-package:hover{background:rgba(99,102,241,.08)}.tree-toggle{color:var(--color-text-muted);font-size:var(--text-sm);width:16px;flex-shrink:0}.tree-group-title{font-weight:600;font-size:var(--text-base);color:var(--color-text-heading)}.tree-tag-package{font-size:.65rem;padding:.15rem .5rem;background:rgba(99,102,241,.15);color:var(--color-primary-hover)}.tree-group-desc{color:var(--color-text-muted);font-size:var(--text-xs);margin-left:auto;max-width:200px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children{padding-left:var(--space-xs);margin-top:var(--space-xs)}.tree-service{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-xs);transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer}.tree-service:hover{border-color:var(--color-primary);background:rgba(99,102,241,.03)}.tree-service-selected{border-color:var(--color-primary);background:rgba(99,102,241,.06)}.tree-service-row{display:flex;align-items:center;gap:var(--space-md)}.tree-service-title{font-weight:600;font-size:var(--text-sm);margin-bottom:2px}.tree-service-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}.tree-tag-unit{font-size:.65rem;background:rgba(34,211,238,.12);color:var(--color-accent)}.tree-qty-row{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);padding-left:38px}.tree-qty-label{font-size:var(--text-sm);color:var(--color-text-muted);flex-shrink:0}.tree-qty-input{width:80px;padding:.35rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);font-family:inherit;text-align:center;outline:none;transition:border-color var(--transition-fast)}.tree-qty-input:focus{border-color:var(--color-primary)}.tree-qty-unit{font-size:var(--text-sm);color:var(--color-text-muted)}