:root{--es-primary:#2563eb;--es-primary-dark:#1d4ed8;--es-accent:#0ea5e9;--es-dark:#0f172a;--es-text:#334155;--es-muted:#64748b;--es-light:#f8fafc;--es-border:#e2e8f0;--es-success:#10b981;--es-radius:12px;--es-shadow:0 4px 24px rgba(15,23,42,.08)}
.es-hero{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#0f172a 100%);color:#fff;padding:100px 0 70px;position:relative;overflow:hidden}
.es-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(37,99,235,.25) 0%,transparent 50%);pointer-events:none}
.es-hero .container{position:relative;z-index:1}
.es-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1rem;color:#fff}
.es-hero-lead{font-size:1.125rem;line-height:1.7;color:rgba(255,255,255,.85);max-width:640px}
.es-hero--compact{padding:90px 0 60px}
.es-hero--results{text-align:center}
.es-hero--results .es-hero-lead{margin:0 auto}
.es-hero-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.es-hero-visual img{width:100%;height:auto;border-radius:var(--es-radius)}
.es-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.es-breadcrumb{font-size:.875rem;margin-bottom:1.5rem;color:rgba(255,255,255,.6)}
.es-breadcrumb a{color:rgba(255,255,255,.8);text-decoration:none}
.es-breadcrumb a:hover{color:#fff}
.es-breadcrumb span{margin:0 .4rem}
.es-label{display:inline-block;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--es-accent);margin-bottom:.5rem}
.es-section-header{margin-bottom:2.5rem}
.es-section-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:var(--es-dark);margin:0}
.es-why-choose{padding:70px 0;background:var(--es-light)}
.es-why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.es-why-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:var(--es-radius);border:1px solid var(--es-border);font-size:.9375rem;color:var(--es-text);transition:box-shadow .2s,transform .2s}
.es-why-item:hover{box-shadow:var(--es-shadow);transform:translateY(-2px)}
.es-check-icon{flex-shrink:0;color:var(--es-primary);margin-top:2px}
.es-results-strip{padding:50px 0;background:var(--es-dark)}
.es-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;text-align:center}
.es-stat-value{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:#fff;line-height:1}
.es-stat-label{font-size:.8125rem;color:rgba(255,255,255,.7);margin-top:.5rem;text-transform:uppercase;letter-spacing:.04em}
.es-case-studies-list,.es-featured-cases,.es-related-cases{padding:70px 0}
.es-case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}
.es-case-grid--3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.es-case-grid--2{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}
.es-case-card{background:#fff;border-radius:var(--es-radius);overflow:hidden;border:1px solid var(--es-border);transition:box-shadow .25s,transform .25s}
.es-case-card:hover{box-shadow:var(--es-shadow);transform:translateY(-4px)}
.es-case-card-link,.es-case-card>a{display:block;text-decoration:none;color:inherit}
.es-case-card-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#e2e8f0);min-height:200px}
.es-case-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.es-case-card:hover .es-case-card-image img{transform:scale(1.04)}
.es-case-tag{position:absolute;top:12px;left:12px;background:rgba(15,23,42,.85);color:#fff;font-size:.6875rem;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}
.es-case-card-body{padding:1.5rem}
.es-case-card-body h3{font-size:1.125rem;font-weight:700;color:var(--es-dark);margin:0 0 .75rem;line-height:1.35}
.es-case-card-body p{font-size:.9375rem;color:var(--es-muted);line-height:1.6;margin:0 0 1rem}
.es-read-more{font-size:.875rem;font-weight:600;color:var(--es-primary);display:inline-flex;align-items:center;gap:.4rem}
.es-case-detail{padding:60px 0}
.es-case-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.es-case-block{background:var(--es-light);border-radius:var(--es-radius);padding:2rem;border:1px solid var(--es-border)}
.es-case-block h2{font-size:1.25rem;font-weight:700;color:var(--es-dark);margin:0 0 1rem}
.es-list{list-style:none;padding:0;margin:0}
.es-list li{position:relative;padding-left:1.5rem;margin-bottom:.625rem;font-size:.9375rem;color:var(--es-text);line-height:1.5}
.es-list--challenge li::before{content:'—';position:absolute;left:0;color:#ef4444;font-weight:700}
.es-list--solution li::before{content:'✓';position:absolute;left:0;color:var(--es-success);font-weight:700}
.es-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.es-tech-tag{background:#fff;border:1px solid var(--es-border);padding:6px 14px;border-radius:20px;font-size:.8125rem;font-weight:500;color:var(--es-dark)}
.es-results-list{list-style:none;padding:0;margin:0}
.es-results-list li{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:.75rem;font-size:.9375rem;color:var(--es-text)}
.es-results-list svg{flex-shrink:0;color:var(--es-success);margin-top:2px}
.es-outcome-box{margin-top:2.5rem;padding:2rem 2.5rem;background:linear-gradient(135deg,var(--es-primary),var(--es-primary-dark));border-radius:var(--es-radius);color:#fff}
.es-outcome-box h2{font-size:1.25rem;margin:0 0 .75rem;color:#fff}
.es-outcome-box p{margin:0;line-height:1.7;opacity:.95}
.es-results-page{padding:60px 0}
.es-results-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.es-result-card{padding:2rem;background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);text-align:center;transition:box-shadow .2s}
.es-result-card:hover{box-shadow:var(--es-shadow)}
.es-result-value{font-size:2.75rem;font-weight:800;color:var(--es-primary);line-height:1}
.es-result-card h2{font-size:1rem;font-weight:700;color:var(--es-dark);margin:.75rem 0 .5rem}
.es-result-card p{font-size:.875rem;color:var(--es-muted);margin:0;line-height:1.5}
.es-service-intro{padding:50px 0 30px}
.es-lead-text{font-size:1.25rem;line-height:1.75;color:var(--es-text);max-width:800px;margin:0 auto;text-align:center}
.es-service-section{padding:50px 0}
.es-service-section--alt{background:var(--es-light)}
.es-service-section-inner{max-width:760px;margin:0 auto}
.es-service-section h2{font-size:1.5rem;font-weight:700;color:var(--es-dark);margin:0 0 1rem}
.es-service-section p{font-size:1.0625rem;line-height:1.75;color:var(--es-text);margin:0}
.es-features-grid-section{padding:70px 0;background:var(--es-light)}
.es-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
.es-feature-card{background:#fff;padding:2rem;border-radius:var(--es-radius);border:1px solid var(--es-border);text-align:center}
.es-feature-icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:14px;background:linear-gradient(135deg,var(--es-primary),var(--es-accent))}
.es-feature-card h3{font-size:1.0625rem;font-weight:700;color:var(--es-dark);margin:0 0 .5rem}
.es-feature-card p{font-size:.875rem;color:var(--es-muted);margin:0;line-height:1.5}
.es-process-section{padding:70px 0}
.es-process-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}
.es-process-step{padding:1.5rem;border-left:3px solid var(--es-primary);background:var(--es-light);border-radius:0 var(--es-radius) var(--es-radius) 0}
.es-process-num{font-size:.75rem;font-weight:800;color:var(--es-primary);letter-spacing:.1em}
.es-process-step h3{font-size:1.0625rem;font-weight:700;color:var(--es-dark);margin:.5rem 0}
.es-process-step p{font-size:.875rem;color:var(--es-muted);margin:0;line-height:1.5}
.es-cta{padding:70px 0;background:linear-gradient(135deg,#0f172a,#1e3a5f)}
.es-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.es-cta-content h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#fff;margin:0 0 .75rem}
.es-cta-content p{color:rgba(255,255,255,.8);margin:0;max-width:520px;line-height:1.6}
.es-cta-actions{display:flex;gap:1rem;flex-wrap:wrap}
.es-btn-ghost{display:inline-flex;align-items:center;padding:12px 24px;border:2px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem;transition:border-color .2s,background .2s}
.es-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.es-home-trust{padding:60px 0;background:var(--es-dark);color:#fff}
.es-home-trust-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.es-home-trust h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:#fff;margin:0 0 1rem}
.es-home-trust p{color:rgba(255,255,255,.8);line-height:1.7;margin:0 0 1.5rem}
.es-home-trust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.es-home-trust-stat{text-align:center;padding:1.25rem;background:rgba(255,255,255,.06);border-radius:var(--es-radius);border:1px solid rgba(255,255,255,.1)}
.es-home-trust-stat strong{display:block;font-size:1.75rem;font-weight:800;color:var(--es-accent)}
.es-home-trust-stat span{font-size:.75rem;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.04em}
.es-home-cases{padding:70px 0;background:#fff}
.es-home-cases-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.es-link-arrow{font-weight:600;color:var(--es-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.es-link-arrow:hover{color:var(--es-primary-dark);text-decoration:none}
.es-mt-lg{margin-top:2rem}
@media(max-width:991px){.es-hero-split,.es-home-trust-inner,.es-case-detail-grid{grid-template-columns:1fr}.es-hero-visual{order:-1;max-width:480px}.es-cta-inner{flex-direction:column;text-align:center}.es-cta-content p{margin:0 auto}.es-cta-actions{justify-content:center}}
@media(max-width:767px){.es-hero{padding:80px 0 50px}.es-home-trust-stats{grid-template-columns:1fr 1fr}.es-case-grid--2{grid-template-columns:1fr}}
.es-home-hero{position:relative;padding:110px 0 80px;background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 55%,#0f172a 100%);color:#fff;overflow:hidden;min-height:520px;display:flex;align-items:center}
.es-home-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(37,99,235,.3) 0%,transparent 55%);pointer-events:none}
.es-home-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;position:relative;z-index:1}
.es-home-hero-eyebrow{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#38bdf8;margin-bottom:1rem}
.es-home-hero h1{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:800;line-height:1.12;margin:0 0 1.25rem;color:#fff}
.es-home-hero-title{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:800;line-height:1.12;margin:0 0 1.25rem;color:#fff}
.es-home-hero-text{font-size:1.0625rem;line-height:1.75;color:rgba(255,255,255,.85);margin-bottom:1.75rem}
.es-home-hero-text p{margin:0}
.es-home-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.es-btn-ghost--dark{border-color:rgba(255,255,255,.35);color:#fff}
.es-btn-ghost--dark:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.es-btn-outline{display:inline-flex;align-items:center;padding:12px 24px;border:2px solid var(--es-primary);border-radius:4px;color:var(--es-primary);text-decoration:none;font-weight:600;font-size:.9375rem;transition:background .2s,color .2s,border-color .2s}
.es-btn-outline:hover{background:var(--es-primary);color:#fff;text-decoration:none}
.es-home-hero-trust{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem}
.es-home-hero-trust li{font-size:.8125rem;color:rgba(255,255,255,.65);position:relative;padding-left:1rem}
.es-home-hero-trust li::before{content:'';position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:#38bdf8}
.es-home-hero-visual img{width:100%;max-width:520px;height:auto;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.es-home-hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);animation:esBounce 2s infinite}
@keyframes esBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.es-home-hero-slides{padding:2rem 0;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.es-mini-slides{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.es-mini-slide{padding:1.25rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}
.es-mini-slide h3{font-size:1rem;font-weight:700;margin:0 0 .5rem;color:#0f172a}
.es-mini-slide p{font-size:.875rem;color:#64748b;margin:0 0 .75rem;line-height:1.5}
.es-mini-slide a{font-size:.875rem;font-weight:600;color:#2563eb;text-decoration:none}
.es-services-fast{padding:70px 0;background:var(--es-light)}
.es-services-header{max-width:720px;margin-bottom:.5rem}
.es-services-intro{font-size:1.0625rem;line-height:1.7;color:var(--es-muted);margin:1rem 0 0}
.es-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}
.es-service-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s;height:100%}
.es-service-card:hover{box-shadow:0 12px 36px rgba(15,23,42,.1);transform:translateY(-4px)}
.es-service-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.es-service-card-img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#e2e8f0);position:relative}
.es-service-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,23,42,.12) 100%);pointer-events:none}
.es-service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.es-hero-visual--service img{border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.25);width:100%;max-width:560px;height:auto;object-fit:cover}
.es-service-card:hover .es-service-card-img img{transform:scale(1.03)}
.es-service-card-body{padding:1.35rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1}
.es-service-card-body h3{font-size:1.125rem;font-weight:700;margin:0 0 .65rem;color:#0f172a;line-height:1.3}
.es-service-tagline{font-size:.9375rem;color:var(--es-text);margin:0 0 .65rem;line-height:1.55;flex:1}
.es-service-outcome{font-size:.8125rem;font-weight:600;color:var(--es-primary);margin:0 0 1rem;line-height:1.4}
.es-service-cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;color:var(--es-primary);margin-top:auto}
.es-service-card:hover .es-service-cta{color:var(--es-primary-dark)}

/* Homepage + About page */
.es-home-about{padding:80px 0;background:#fff}
.es-home-about-grid{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:3rem;align-items:center}
.es-about-visual-card{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.25rem;box-shadow:var(--es-shadow)}
.es-about-visual-card img{width:100%;height:auto;display:block;max-height:260px;object-fit:contain}
.es-home-about-lead{font-size:1.0625rem;line-height:1.75;color:var(--es-text);margin:1rem 0 1.5rem}
.es-home-about-list{list-style:none;padding:0;margin:0 0 1.75rem;display:grid;gap:.75rem}
.es-home-about-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:var(--es-text);line-height:1.5}
.es-home-about-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.es-about-story{padding:70px 0;background:var(--es-light)}
.es-about-story-grid{display:grid;grid-template-columns:1fr minmax(0,340px);gap:3rem;align-items:center}
.es-about-story-visual .es-about-visual-card{max-width:340px;margin-left:auto}
.es-about-story-content p{font-size:1.0625rem;line-height:1.75;color:var(--es-text);margin:0 0 1rem}
.es-about-story-content p:last-child{margin-bottom:0}
.es-about-values{padding:70px 0;background:var(--es-light)}
.es-about-values-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.es-about-value-card{background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.5rem;transition:box-shadow .2s,transform .2s}
.es-about-value-card:hover{box-shadow:var(--es-shadow);transform:translateY(-2px)}
.es-about-value-card h3{font-size:1.0625rem;font-weight:700;color:var(--es-dark);margin:0 0 .65rem}
.es-about-value-card p{font-size:.9375rem;line-height:1.6;color:var(--es-muted);margin:0}
.es-about-process{padding:70px 0;background:#fff}
.es-process-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}
.es-process-step{padding:1.5rem;border:1px solid var(--es-border);border-radius:var(--es-radius);background:var(--es-light)}
.es-process-num{display:inline-block;font-size:.8125rem;font-weight:800;color:var(--es-primary);letter-spacing:.06em;margin-bottom:.75rem}
.es-process-step h3{font-size:1.0625rem;font-weight:700;color:var(--es-dark);margin:0 0 .5rem}
.es-process-step p{font-size:.9375rem;line-height:1.6;color:var(--es-muted);margin:0}
.es-about-specialties{padding:70px 0;background:var(--es-dark);color:#fff}
.es-about-specialties-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}
.es-about-specialties .es-label{color:var(--es-accent)}
.es-about-specialties .es-section-title{color:#fff}
.es-about-specialty-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem 1.5rem}
.es-about-specialty-list li{position:relative;padding-left:1.25rem;font-size:.9375rem;line-height:1.5;color:rgba(255,255,255,.85)}
.es-about-specialty-list li::before{content:'';position:absolute;left:0;top:.55rem;width:6px;height:6px;border-radius:50%;background:var(--es-accent)}
.es-about-team{padding:70px 0;background:#fff}
.es-section-intro{max-width:640px;margin:.75rem auto 0;color:var(--es-muted);font-size:1rem;line-height:1.6}
.es-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.es-team-card{background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.es-team-card:hover{box-shadow:var(--es-shadow);transform:translateY(-3px)}
.es-team-photo{aspect-ratio:1;overflow:hidden;background:var(--es-light)}
.es-team-photo img{width:100%;height:100%;object-fit:cover}
.es-team-info{padding:1.25rem 1.5rem 1.5rem;text-align:center}
.es-team-info h3{font-size:1.0625rem;font-weight:700;margin:0 0 .25rem;color:var(--es-dark)}
.es-team-info p{font-size:.875rem;color:var(--es-muted);margin:0 0 .75rem}
.es-team-social{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:.75rem}
.es-team-social a{color:var(--es-muted);font-size:1rem;transition:color .15s}
.es-team-social a:hover{color:var(--es-primary)}
.es-about-clients{padding:60px 0;background:var(--es-light)}
.es-clients-strip{padding:70px 0;background:#fff;border-top:1px solid var(--es-border)}
.es-clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem;max-width:980px;margin:0 auto}
.es-clients-grid--logos{align-items:stretch}
.es-client-logo{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;
    padding:1.25rem 1rem;background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);
    min-height:110px;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s
}
.es-client-logo:hover{box-shadow:var(--es-shadow);transform:translateY(-2px);border-color:#cbd5e1}
.es-client-logo img{max-width:120px;max-height:44px;object-fit:contain;filter:grayscale(20%);opacity:.9;transition:filter .2s,opacity .2s}
.es-client-logo:hover img{filter:none;opacity:1}
.es-client-name{font-size:.75rem;font-weight:600;color:var(--es-muted);text-align:center;line-height:1.3}
.es-home-blog{margin-top:0}
.portfolio-section+.blog-section,.portfolio-section+.es-home-blog{padding-top:70px}
.es-about-testimonials{padding:70px 0;background:#fff}
.es-testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.es-testimonial-card{margin:0;padding:1.5rem;background:var(--es-light);border:1px solid var(--es-border);border-radius:var(--es-radius)}
.es-testimonial-card p{font-size:1rem;line-height:1.7;color:var(--es-text);margin:0 0 1rem;font-style:italic}
.es-testimonial-card footer{font-size:.875rem;color:var(--es-muted)}
.es-testimonial-card footer strong{display:block;color:var(--es-dark);font-weight:700;margin-bottom:.15rem}

/* Blog article page */
.es-hero--article .es-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:1rem;font-size:.9375rem;color:rgba(255,255,255,.75)}
.es-hero--article .es-article-meta-sep{opacity:.5}
.es-article{padding:60px 0 70px;background:#fff}
.es-article-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.es-article-featured{margin-bottom:2rem;border-radius:var(--es-radius);overflow:hidden;border:1px solid var(--es-border)}
.es-article-featured img{width:100%;height:auto;display:block;max-height:480px;object-fit:cover}
.es-article-body{font-size:1.0625rem;line-height:1.8;color:var(--es-text)}
.es-article-body .es-lead{font-size:1.2rem;color:var(--es-dark);font-weight:500;line-height:1.7;margin-bottom:1.5rem}
.es-article-body h2{font-size:1.375rem;font-weight:700;color:var(--es-dark);margin:2rem 0 1rem;line-height:1.3}
.es-article-body h3{font-size:1.125rem;font-weight:700;color:var(--es-dark);margin:1.5rem 0 .75rem}
.es-article-body p{margin:0 0 1.1rem}
.es-article-body ul,.es-article-body ol{margin:0 0 1.25rem;padding-left:1.35rem}
.es-article-body li{margin-bottom:.5rem}
.es-article-body a{color:var(--es-primary);font-weight:600;text-decoration:none}
.es-article-body a:hover{text-decoration:underline}
.es-article-body img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}
.es-article-body strong{color:var(--es-dark)}
.es-article-share{display:flex;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--es-border);font-size:.875rem;color:var(--es-muted)}
.es-article-share a{color:var(--es-primary);font-weight:600;text-decoration:none}
.es-article-sidebar{position:sticky;top:100px;display:grid;gap:1.25rem}
.es-article-widget{background:var(--es-light);border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.5rem}
.es-article-widget h3{font-size:1rem;font-weight:700;color:var(--es-dark);margin:0 0 1rem}
.es-article-widget p{font-size:.875rem;line-height:1.6;color:var(--es-muted);margin:0 0 1rem}
.es-article-related{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.es-article-related a{display:block;text-decoration:none;color:inherit;padding-bottom:.85rem;border-bottom:1px solid var(--es-border)}
.es-article-related li:last-child a{padding-bottom:0;border-bottom:0}
.es-article-related-date{display:block;font-size:.75rem;font-weight:600;color:var(--es-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}
.es-article-related-title{display:block;font-size:.9375rem;font-weight:600;color:var(--es-dark);line-height:1.4}
.es-article-related a:hover .es-article-related-title{color:var(--es-primary)}
.es-article-widget--cta{background:linear-gradient(135deg,#0f172a,#1e3a5f);border:0;color:#fff}
.es-article-widget--cta h3,.es-article-widget--cta p{color:rgba(255,255,255,.9)}
.es-article-widget--cta p{color:rgba(255,255,255,.75)}
.es-article-case-link{color:#fff!important;margin-top:.75rem;display:inline-flex}
.es-article-case-link:hover{color:var(--es-accent)!important}

/* Blog listing */
.es-blog-list{padding:60px 0 70px;background:var(--es-light)}
.es-blog-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.es-blog-main{display:grid;gap:2rem}
.es-blog-card{background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.es-blog-card:hover{box-shadow:var(--es-shadow);transform:translateY(-3px)}
.es-blog-card-link{display:grid;grid-template-columns:280px 1fr;text-decoration:none;color:inherit;min-height:100%}
.es-blog-card-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f1f5f9}
.es-blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.es-blog-card:hover .es-blog-card-image img{transform:scale(1.03)}
.es-blog-card-body{padding:1.5rem 1.75rem;display:flex;flex-direction:column;justify-content:center}
.es-blog-card-body h2{font-size:1.25rem;font-weight:700;color:var(--es-dark);margin:0 0 .65rem;line-height:1.35}
.es-blog-card-body p{font-size:.9375rem;color:var(--es-muted);margin:0 0 1rem;line-height:1.6;flex:1}
.es-blog-sidebar{position:sticky;top:100px;display:grid;gap:1.25rem}
@media(max-width:991px){
    .es-blog-layout{grid-template-columns:1fr}
    .es-blog-sidebar{position:static}
    .es-blog-card-link{grid-template-columns:1fr}
    .es-blog-card-image{aspect-ratio:16/9}
}
@media(max-width:991px){
    .es-article-layout{grid-template-columns:1fr}
    .es-article-sidebar{position:static}
}
@media (max-width: 991px) {
    .es-home-about-grid,
    .es-about-story-grid,
    .es-about-specialties-inner {
        grid-template-columns: 1fr;
    }

    .es-home-about-visual {
        order: -1;
        max-width: 320px;
        margin: 0 auto;
    }

    .es-about-story-visual {
        max-width: 320px;
        margin: 0 auto;
    }

    .es-about-story-visual .es-about-visual-card {
        margin: 0 auto;
    }

    .es-home-about {
        overflow: hidden;
    }
}
@media(max-width:991px){.es-home-hero-grid{grid-template-columns:1fr}.es-home-hero-visual{text-align:center}.es-home-hero-visual img{margin:0 auto}}
.es-hero--project{padding:90px 0 70px}
.es-project-detail{padding:60px 0 80px}
.es-project-layout{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start}
.es-project-body{font-size:1.0625rem;line-height:1.75;color:var(--es-text)}
.es-project-body h2{font-size:1.375rem;font-weight:700;color:var(--es-dark);margin:2rem 0 1rem}
.es-project-body h2:first-child{margin-top:0}
.es-project-body p{margin:0 0 1rem}
.es-project-body ul{margin:0 0 1.25rem;padding-left:1.25rem}
.es-project-body li{margin-bottom:.5rem}
.es-project-body .es-lead{font-size:1.2rem;color:var(--es-dark);font-weight:500;line-height:1.7;margin-bottom:1.5rem}
.es-project-gallery{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--es-border)}
.es-project-gallery h2{font-size:1.375rem;font-weight:700;margin:0 0 1.25rem;color:var(--es-dark)}
.es-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.es-gallery-item{display:block;border-radius:var(--es-radius);overflow:hidden;border:1px solid var(--es-border);transition:box-shadow .2s,transform .2s}
.es-gallery-item:hover{box-shadow:var(--es-shadow);transform:translateY(-2px)}
.es-gallery-item img{width:100%;height:180px;object-fit:cover;display:block}
.es-project-sidebar{position:sticky;top:100px}
.es-sidebar-card{background:var(--es-light);border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.5rem;margin-bottom:1.25rem}
.es-sidebar-card h2,.es-sidebar-card h3{font-size:1.0625rem;font-weight:700;margin:0 0 1rem;color:var(--es-dark)}
.es-project-meta{margin:0 0 1.25rem}
.es-project-meta div{margin-bottom:1rem}
.es-project-meta dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--es-muted);margin-bottom:.25rem}
.es-project-meta dd{font-size:.9375rem;font-weight:600;color:var(--es-dark);margin:0}
.es-btn-block{display:block;text-align:center;width:100%}
.es-related-list{list-style:none;padding:0;margin:0}
.es-related-list li{padding:.75rem 0;border-bottom:1px solid var(--es-border)}
.es-related-list li:last-child{border-bottom:0;padding-bottom:0}
.es-related-list a{display:block;font-weight:600;color:var(--es-primary);text-decoration:none;font-size:.9375rem}
.es-related-list a:hover{color:var(--es-primary-dark)}
.es-related-list span{display:block;font-size:.8125rem;color:var(--es-muted);margin-top:.2rem}
@media(max-width:991px){.es-project-layout{grid-template-columns:1fr}.es-project-sidebar{position:static}}
.es-portfolio-page{padding:60px 0 80px}
.es-portfolio-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;justify-content:center}
.es-filter{padding:10px 20px;border:2px solid var(--es-border);background:#fff;border-radius:30px;font-size:.875rem;font-weight:600;color:var(--es-text);cursor:pointer;transition:all .2s}
.es-filter:hover,.es-filter.active{background:var(--es-primary);border-color:var(--es-primary);color:#fff}
.es-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem}
.es-portfolio-item{transition:opacity .2s}
.es-portfolio-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);overflow:hidden;height:100%;transition:box-shadow .25s,transform .25s}
.es-portfolio-card:hover{box-shadow:var(--es-shadow);transform:translateY(-4px);text-decoration:none;color:inherit}
.es-portfolio-card-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--es-light)}
.es-portfolio-card-image img{width:100%;height:100%;object-fit:cover}
.es-portfolio-card-body{padding:1.25rem 1.5rem 1.5rem}
.es-portfolio-card-body h2{font-size:1.125rem;font-weight:700;color:var(--es-dark);margin:0 0 .5rem;line-height:1.3}
.es-portfolio-card-body p{font-size:.875rem;color:var(--es-muted);margin:0 0 .75rem;line-height:1.5}

/* Professional nav dropdowns */
.header__menu__venor,.header__nav,.header__nav-item.es-nav-dropdown{overflow:visible!important}
.header__nav-item.es-nav-dropdown{position:relative}
.es-nav-dropdown-toggle{
    display:inline-flex!important;align-items:center;gap:.35rem;
    color:rgba(255,255,255,.75)!important
}
.es-nav-dropdown-toggle:hover,
.es-nav-dropdown.open .es-nav-dropdown-toggle,
.es-nav-dropdown-toggle[aria-expanded="true"]{
    color:#fff!important
}
.es-nav-chevron{transition:transform .2s ease;opacity:.85;flex-shrink:0}
.es-nav-dropdown:hover .es-nav-chevron,.es-nav-dropdown.open .es-nav-chevron{transform:rotate(180deg)}
.es-nav-dropdown-menu{
    position:absolute;top:calc(100% + 4px);left:0;min-width:240px;margin:0;padding:.5rem 0;
    background:#fff!important;border:1px solid var(--es-border);border-radius:10px;
    box-shadow:0 16px 48px rgba(15,23,42,.18);list-style:none;
    opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;
    z-index:100000000000;pointer-events:none
}
.es-nav-dropdown::before{
    content:'';position:absolute;left:0;right:0;top:100%;height:12px;display:block
}
.es-nav-dropdown:hover .es-nav-dropdown-menu,.es-nav-dropdown.open .es-nav-dropdown-menu,.es-nav-dropdown:focus-within .es-nav-dropdown-menu{
    opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto
}
.es-nav-dropdown-menu li{margin:0;padding:0}
.es-nav-dropdown-menu a{
    display:block;padding:11px 18px;font-size:.875rem;font-weight:600;color:#1e293b!important;
    text-decoration:none;transition:background .15s,color .15s;white-space:nowrap
}
.es-nav-dropdown-menu a:hover{background:#f1f5f9;color:var(--es-primary)!important}
.header__nav-item.dropdown>a::after{display:none!important}

/* Homepage blog + fix legacy blog overlay blocking clicks */
.es-home-blog{padding:70px 0}
.es-home-blog .es-case-card-body h3{font-size:1.0625rem;line-height:1.4}
.es-blog-date{font-size:.75rem;font-weight:600;color:var(--es-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}
.blog-section .after-bg::before{pointer-events:none!important}
.blog-section .featured_image_blog a{position:relative;z-index:5;display:block}

@media(max-width:1200px){
    .es-nav-dropdown-menu{
        position:static;opacity:1;visibility:visible;transform:none;
        box-shadow:none;border:0;background:transparent!important;
        padding:6px 0 6px 14px;margin:0;display:none;pointer-events:auto;min-width:0
    }
    .es-nav-dropdown.open .es-nav-dropdown-menu{display:block}
    .es-nav-dropdown::before{display:none}
    .es-nav-dropdown-menu a{
        color:rgba(255,255,255,.78)!important;padding:8px 0;font-size:.9375rem;font-weight:600;white-space:normal
    }
    .es-nav-dropdown-menu a:hover{color:#fff!important;background:transparent}
    .es-nav-dropdown-toggle{cursor:pointer}
}

.es-team-social a[href="#"] {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.es-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
    color: inherit;
    font-weight: 600;
}

.es-phone-link:hover,
.es-phone-link:focus {
    color: var(--es-primary);
    text-decoration: none;
}

.footer-section .es-phone-link {
    color: rgba(255, 255, 255, 0.85);
}

.footer-section .es-phone-link:hover,
.footer-section .es-phone-link:focus {
    color: #fff;
}

.contact-element .es-phone-link,
.iframe-contact .es-phone-link {
    color: var(--es-dark);
}

.contact-element .es-phone-link:hover,
.contact-element .es-phone-link:focus,
.iframe-contact .es-phone-link:hover,
.iframe-contact .es-phone-link:focus {
    color: var(--es-primary);
}

/* Contact page */
.es-contact-page{padding:60px 0 0;background:var(--es-light)}
.es-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.es-contact-intro{font-size:1.0625rem;line-height:1.75;color:var(--es-text);margin:0 0 2rem;max-width:520px}
.es-contact-cards{display:grid;gap:1.25rem}
.es-contact-card{background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.5rem 1.5rem 1.35rem}
.es-contact-card-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(14,165,233,.12));color:var(--es-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.es-contact-card h2{font-size:1.0625rem;font-weight:700;color:var(--es-dark);margin:0 0 .5rem}
.es-contact-card p{font-size:.9375rem;line-height:1.6;color:var(--es-muted);margin:0 0 1rem}
.es-contact-links{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.es-contact-links .es-phone-link{font-size:.9375rem}
.es-contact-email-link{display:block;text-decoration:none;color:inherit;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--es-border);transition:border-color .15s,background .15s}
.es-contact-email-link:hover{text-decoration:none;background:var(--es-light);border-color:#cbd5e1}
.es-contact-email-link strong{display:block;font-size:.8125rem;font-weight:700;color:var(--es-dark);margin-bottom:.15rem}
.es-contact-email-link span{font-size:.875rem;color:var(--es-primary);word-break:break-all}
.es-contact-address-text{font-size:.9375rem;color:var(--es-dark);font-weight:600;margin:0 0 .85rem}
.es-contact-form-wrap{background:#fff;border:1px solid var(--es-border);border-radius:var(--es-radius);padding:2rem;box-shadow:var(--es-shadow)}
.es-contact-form-wrap h2{font-size:clamp(1.375rem,3vw,1.625rem);font-weight:700;color:var(--es-dark);margin:.35rem 0 .75rem}
.es-contact-form-intro{font-size:.9375rem;line-height:1.65;color:var(--es-muted);margin:0 0 1.5rem}
.es-form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--es-dark);margin-bottom:.35rem}
.es-contact-form .form-control{border:1px solid var(--es-border);border-radius:8px;padding:.75rem 1rem;font-size:.9375rem;min-height:48px}
.es-contact-form textarea.form-control{min-height:140px;resize:vertical}
.es-contact-form .form-group{margin-bottom:1.1rem}
.es-contact-alert{margin-bottom:1.25rem;border-radius:8px}
.es-contact-map{margin-top:3rem;line-height:0;background:#fff;border-top:1px solid var(--es-border)}
.es-contact-map iframe,.es-contact-map embed{width:100%!important;min-height:320px;height:clamp(320px,45vw,420px)!important;border:0;display:block}
@media(max-width:991px){.es-contact-layout{grid-template-columns:1fr}.es-contact-form-wrap{order:-1}}

/* Legal pages */
.es-legal-updated{margin:1rem 0 0;font-size:.875rem;color:rgba(255,255,255,.55)}
.es-legal-page{padding:60px 0 80px;background:#fff}
.es-legal-layout{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start}
.es-legal-sidebar{position:sticky;top:100px}
.es-legal-nav{background:var(--es-light);border:1px solid var(--es-border);border-radius:var(--es-radius);padding:1.25rem 1.5rem}
.es-legal-nav .es-label{display:block;margin-bottom:.75rem}
.es-legal-nav ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.es-legal-nav a{display:block;padding:.55rem .75rem;border-radius:8px;font-size:.9375rem;font-weight:600;color:var(--es-text);text-decoration:none;transition:background .15s,color .15s}
.es-legal-nav a:hover{background:#fff;color:var(--es-primary);text-decoration:none}
.es-legal-nav a.is-active{background:#fff;color:var(--es-primary);box-shadow:0 1px 3px rgba(15,23,42,.06)}
.es-legal-sidebar-cta{margin-top:1.25rem;padding:1.25rem;background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:var(--es-radius);color:#fff}
.es-legal-sidebar-cta p{font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.8);margin:0 0 1rem}
.es-legal-sidebar-cta .btn{width:100%;text-align:center}
.es-legal-body{max-width:none}
.es-legal-body.es-article-body h2{font-size:1.25rem;margin-top:2.25rem;padding-top:.5rem;border-top:1px solid var(--es-border)}
.es-legal-body.es-article-body h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.es-legal-table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9375rem}
.es-legal-table th,.es-legal-table td{border:1px solid var(--es-border);padding:.75rem 1rem;text-align:left;vertical-align:top}
.es-legal-table th{background:var(--es-light);font-weight:700;color:var(--es-dark)}
.page-content .container,.breadcrumb-area{display:none}
@media(max-width:991px){.es-legal-layout{grid-template-columns:1fr}.es-legal-sidebar{position:static}}
@media(max-width:575px){.es-legal-nav ul{grid-template-columns:1fr}}
@media(min-width:576px) and (max-width:991px){.es-legal-nav ul{grid-template-columns:repeat(3,1fr);gap:.5rem}}


