body{color:#1f2937}
.hero-slide{min-height:68vh;background-size:cover;background-position:center}
.service-card .icon-wrap{width:56px;height:56px;border-radius:14px;background:rgba(13,110,253,.1);display:flex;align-items:center;justify-content:center;color:var(--brand-primary)}
.service-card:hover{transform:translateY(-4px);transition:.2s}
.stat-card{background:linear-gradient(135deg,rgba(13,110,253,.08),rgba(32,201,151,.1));border:1px solid rgba(13,110,253,.1)}
.portfolio-item.hidden{display:none!important}
.section-tag{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brand-primary);display:block}
.section-title{font-size:clamp(1.6rem,3vw,2.4rem)}
.section-divider{width:48px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary))}
.blog-card{transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 1rem 2.5rem rgba(15,23,42,.1)!important}
.blog-card-img-wrap{overflow:hidden;height:220px}
.blog-card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card:hover .blog-card-img{transform:scale(1.07)}
.icon-wrap{width:52px;height:52px;border-radius:14px;background:rgba(13,110,253,.1);display:flex;align-items:center;justify-content:center;color:var(--brand-primary);font-size:1.3rem}
.testimonial-card{border-left:4px solid var(--brand-primary)!important;transition:transform .2s}
.testimonial-card:hover{transform:translateY(-4px)}
.content-body h1,.content-body h2,.content-body h3{font-weight:700;margin-top:2rem;margin-bottom:1rem}
.content-body p{line-height:1.9;margin-bottom:1.2rem}
.content-body ul,.content-body ol{padding-left:1.5rem;margin-bottom:1.2rem}
.content-body li{margin-bottom:.4rem;line-height:1.7}
.content-body blockquote{border-left:4px solid var(--brand-primary);padding:.75rem 1.25rem;background:rgba(13,110,253,.05);border-radius:0 8px 8px 0;margin:1.5rem 0;font-style:italic}
.content-body a{color:var(--brand-primary);text-decoration:underline}
.content-body a:hover{opacity:.8}
.content-body img{max-width:100%;height:auto;border-radius:.75rem;margin:1.5rem 0;display:block;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.content-body code{background:#f1f5f9;padding:.2em .4em;border-radius:4px;font-size:.875em}
.content-body pre{background:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:12px;overflow-x:auto;margin:1.5rem 0}
.content-body pre code{background:none;color:inherit;padding:0}
.content-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}
.content-body table th,.content-body table td{border:1px solid #e2e8f0;padding:.6rem 1rem}
.content-body table th{background:#f8fafc;font-weight:600}
.service-featured-image-wrap{background:transparent}
.service-featured-image-frame{max-width:980px;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1)}
.service-featured-image{display:block;width:100%;height:clamp(220px,42vw,460px);object-fit:cover;object-position:center center}
.service-hero-matrix{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--surface-2,#161b27) 0%,var(--surface-1,#1e2433) 100%)}
.service-hero-matrix-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:.95}
.service-hero-matrix-shadow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,110,253,.78),rgba(32,201,151,.58));mix-blend-mode:screen;pointer-events:none}
.service-hero-content{position:relative;z-index:2}
.star-rating{display:inline-flex;gap:2px}
.star-rating .star{width:18px;height:18px;opacity:0;transform:translateX(-4px);transition:transform .25s ease,opacity .25s ease;animation:starIn .35s forwards}
.star-rating .star.filled{fill:#f59e0b}
.star-rating .star.empty{fill:#64748b}
.star-rating .star:nth-child(1){animation-delay:.03s}
.star-rating .star:nth-child(2){animation-delay:.08s}
.star-rating .star:nth-child(3){animation-delay:.13s}
.star-rating .star:nth-child(4){animation-delay:.18s}
.star-rating .star:nth-child(5){animation-delay:.23s}
@keyframes starIn{to{opacity:1;transform:translateX(0)}}
