:root{--background:#f5f8ff;--foreground:#0f1b3d}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-geist-sans), "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}
:root{--hp-bg:#f5f8ff;--hp-surface:#fff;--hp-muted:#5d6b8a;--hp-primary:#0d6efd;--hp-accent:#1cb9b2;--hp-border:#dce5ff;--hp-font:"Roboto", sans-serif;--hp-title-font:"Barlow", sans-serif;--hp-title-color:#141d38}body{font-family:var(--hp-font);color:var(--hp-ink);background:radial-gradient(circle at 100% 0%, #d7f3ff 0%, transparent 36%), radial-gradient(circle at 0% 100%, #e6ecff 0%, transparent 28%), var(--hp-bg)}.page{min-height:100vh}.navbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-bottom:1px solid #dce5ffbf}.nav-link{text-transform:uppercase;color:var(--hp-title-color);font-size:14px;font-weight:600}.brand{letter-spacing:.01em;color:var(--hp-ink);font-weight:700}.nav-cta{margin-top:.75rem}.hero{background:linear-gradient(140deg,#08173af5,#102f6eeb),url(/img/illustrations/bg-home.jpg) 50%/cover no-repeat;padding:4.25rem 0 2.75rem}.hero-kicker{color:#8eeeff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.hero h1{font-family:var(--hp-title-font);color:#fff;margin-bottom:1rem;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:600;line-height:1.2}h1{font-family:var(--hp-title-font);color:var(--hp-title-color);margin-bottom:1rem;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:600;line-height:1.2}h2{font-family:var(--hp-title-font);color:var(--hp-ink);margin-bottom:.75rem;font-weight:700}.hero-lead{color:#e5efff;margin-bottom:1.5rem;font-size:1rem}.hero-actions{flex-direction:column;gap:.75rem;display:flex}.hero-media{background:#ffffff1f;border:1px solid #c2dfff47;border-radius:1rem;padding:1rem}.hero-media img{width:100%;height:auto}.section{padding:2.75rem 0}.about-image{border-radius:1rem;width:100%;height:auto;box-shadow:0 18px 32px #08143829}.section-head{max-width:720px;margin-bottom:1.5rem}.section-kicker{color:var(--hp-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.section-head h2,.about h2{margin-bottom:.75rem;font-size:clamp(1.4rem,4.5vw,2.2rem);line-height:1.25}.section-head p,.about p{color:var(--hp-muted);margin-bottom:0}.services{background:linear-gradient(#daf5ff80,#0000)}.projects{background:linear-gradient(#e5edff8a,#0000)}.card{border-radius:1rem;overflow:hidden;box-shadow:0 14px 30px #0c235914}.card-media{background:#edf4ff;overflow:hidden}.card-image{object-fit:cover;width:100%;height:210px;transition:transform .35s}.card:hover .card-image{transform:scale(1.03)}.card .card-title{color:var(--hp-ink);margin-bottom:.75rem}.card .card-text{color:var(--hp-muted);margin-bottom:1rem}.process-section{background:linear-gradient(#f7fbff,#fff 70%)}.process-item{border:1px solid var(--hp-border);background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 18px #0c23590f}.process-item h3{font-family:var(--hp-title-font);color:var(--hp-title-color);margin-bottom:.5rem;font-size:1rem;font-weight:700}.process-item p{color:var(--hp-muted);margin-bottom:0;font-size:.9rem;line-height:1.6}.process-step{width:42px;height:42px;color:var(--hp-primary);background:#0d6efd1a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:.95rem;font-weight:800;display:inline-flex}.cta-banner-section{padding-top:0}.cta-banner-box{background:linear-gradient(90deg,#1d5fe8 0%,#2d8df2 100%);border-radius:1.75rem;box-shadow:0 14px 28px #0e44b23d;padding:1.5rem 1rem!important}.cta-banner-kicker{color:#e9f1ff;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;font-weight:700}.cta-banner-title{font-family:var(--hp-title-font);color:#fff;font-size:clamp(1.2rem,5vw,2.2rem);font-weight:700;line-height:1.14}.cta-banner-btn{color:#1d5fe8;background:#f2f5fb;border:0;border-radius:.6rem;min-height:44px;padding:.72rem 1rem;font-weight:600}.cta-banner-btn:hover,.cta-banner-btn:focus,.cta-banner-btn:active{color:#164dc3;background:#fff}.footer{color:#d6e1ff;background:#0c1a43;margin-top:1.5rem;padding:2rem 0 1.25rem}.footer-title{margin-bottom:.75rem;font-size:1.35rem}.footer-heading{color:#fff;margin-bottom:.75rem;font-size:1rem}.footer-text{color:#d6e1ff;margin-bottom:.5rem}.footer .nav-link{color:#d6e1ff;padding:0}.footer .nav-link:hover{color:#8eeeff}.footer-copy{color:#aebde6;border-top:1px solid #d6e1ff2e;margin-top:1.5rem;padding-top:1rem;font-size:.9rem}@media (min-width:768px){.hero{padding:6rem 0 4.25rem}.hero-actions{flex-direction:row}.nav-cta{margin-top:0;margin-left:.75rem}.section{padding:4rem 0}.cta-banner-box{border-radius:1.9rem;padding:1.55rem 2rem}.cta-banner-section{padding-top:.8rem}}
.projects-view-all .btn{border-radius:.65rem;min-height:44px;font-weight:600}.project-card-link{height:100%;color:inherit;text-decoration:none;flex-direction:column!important;display:flex!important}.project-card-link .card-body{flex:1;display:flex;flex-direction:column!important}.project-card-link:focus-visible{outline:2px solid var(--hp-primary);outline-offset:3px;border-radius:1rem}
.detail-breadcrumb-bar{background:var(--hp-surface);border-bottom:1px solid var(--hp-border);padding:.6rem 0}.detail-breadcrumb-bar .breadcrumb{margin-bottom:0;font-size:.85rem}.detail-breadcrumb-bar .breadcrumb-item a{color:var(--hp-primary);text-decoration:none}.detail-breadcrumb-bar .breadcrumb-item.active{color:var(--hp-muted)}.detail-hero{background:linear-gradient(140deg,#08173af2,#102f6ee6),url(/img/illustrations/bg-home.jpg) 50%/cover no-repeat;padding:3rem 0 2.25rem}.detail-hero-inner{max-width:760px}.detail-hero-kicker{color:#8eeeff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.78rem;font-weight:700}.detail-hero-title{font-family:var(--hp-title-font);color:#fff;margin-bottom:1rem;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;line-height:1.15}.detail-hero-lead{color:#d6e8ff;margin-bottom:1.25rem;font-size:1.05rem;line-height:1.7}.detail-hero-tags{flex-wrap:wrap;gap:.5rem;display:flex}.detail-tech-badge{color:#e0edff;background:#ffffff1f;border:1px solid #c2dfff40;border-radius:2rem;padding:.28rem .7rem;font-size:.75rem;font-weight:500}.detail-body{padding-top:2.5rem}.detail-cover{border-radius:1rem;overflow:hidden;box-shadow:0 14px 32px #0c23591f}.detail-cover-img{object-fit:cover;width:100%;height:auto;display:block}.detail-section-title{font-family:var(--hp-title-font);color:var(--hp-title-color);border-bottom:2px solid var(--hp-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:700}.detail-feature-card{background:var(--hp-surface);border:1px solid var(--hp-border);border-radius:1rem;height:100%;padding:1.25rem;transition:box-shadow .25s,transform .25s;box-shadow:0 4px 16px #0c23590f}.detail-feature-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0c23591f}.detail-feature-icon{margin-bottom:.6rem;font-size:1.6rem;display:block}.detail-feature-title{color:var(--hp-title-color);margin-bottom:.4rem;font-size:.95rem;font-weight:700}.detail-feature-body{color:var(--hp-muted);margin-bottom:0;font-size:.875rem;line-height:1.6}.detail-workflow-list{color:var(--hp-muted);padding-left:1.25rem;line-height:1.8}.detail-workflow-list li{margin-bottom:.6rem;font-size:.95rem}.detail-workflow-list strong{color:var(--hp-title-color)}.detail-stat-card{text-align:center;background:linear-gradient(135deg,#1d5fe8 0%,#2d8df2 100%);border-radius:1rem;height:100%;padding:1.25rem 1rem}.detail-stat-value{font-family:var(--hp-title-font);color:#fff;margin-bottom:.3rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800}.detail-stat-label{color:#c5deff;margin-bottom:0;font-size:.8rem;line-height:1.4}.detail-tech-stack{flex-wrap:wrap;gap:.5rem;display:flex}.detail-tech-chip{color:var(--hp-primary);background:#0d6efd14;border:1px solid #0d6efd33;border-radius:2rem;padding:.3rem .85rem;font-size:.82rem;font-weight:500}.detail-sidebar{flex-direction:column;gap:1.5rem;display:flex;position:sticky;top:80px}.widget{background:var(--hp-surface);border:1px solid var(--hp-border);border-radius:1.25rem;padding:1.5rem;box-shadow:0 4px 18px #0c235912}.widget-title{font-family:var(--hp-title-font);color:var(--hp-title-color);border-bottom:2px solid var(--hp-border);margin-bottom:1rem;padding-bottom:.6rem;font-size:1rem;font-weight:700}.widget-related-list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.widget-related-link{align-items:flex-start;gap:.75rem;text-decoration:none;transition:opacity .2s;display:flex}.widget-related-link:hover{opacity:.8}.widget-related-thumb{background:#edf4ff;border-radius:.6rem;flex-shrink:0;width:72px;height:54px;overflow:hidden}.widget-related-img{object-fit:cover;width:100%;height:100%;display:block}.widget-related-body{flex:1;min-width:0}.widget-related-name{color:var(--hp-title-color);margin-bottom:.2rem;font-size:.875rem;font-weight:600;line-height:1.3}.widget-related-summary{color:var(--hp-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.widget-view-all{color:var(--hp-primary);margin-top:.875rem;font-size:.83rem;font-weight:600;text-decoration:none;display:inline-block}.widget-view-all:hover{text-decoration:underline}.widget-banner{background:linear-gradient(140deg,#1a3fc5 0%,#1cb9b2 100%);border:none}.widget-banner-kicker{letter-spacing:.07em;text-transform:uppercase;color:#a8e6e3;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.widget-banner-title{font-family:var(--hp-title-font);color:#fff;margin-bottom:.6rem;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700;line-height:1.3}.widget-banner-desc{color:#cef0ee;margin-bottom:1rem;font-size:.85rem;line-height:1.6}.widget-banner-btn{text-align:center;color:#1a3fc5;background:#fff;border-radius:.65rem;padding:.65rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:block}.widget-banner-btn:hover{color:#1231a8;background:#e8efff}@media (max-width:991.98px){.detail-sidebar{position:static}}@media (min-width:768px){.hero-actions{flex-direction:row}}
