:root {
    --engpoint-bg: #05060a;
    --engpoint-panel: #0e1018;
    --engpoint-text: #f5f6fb;
    --engpoint-muted: #a8adbb;
    --engpoint-line: rgba(255,255,255,.12);
    --engpoint-yellow: #ffe000;
    --engpoint-container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.engpoint-elementor-theme {
    margin: 0;
    background: var(--engpoint-bg);
    color: var(--engpoint-text);
    font-family: var(--e-global-typography-text-font-family, Roboto, Arial, sans-serif);
    overflow-x: hidden;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.engpoint-site-main { min-height: 50vh; }
.engpoint-default-header { border-bottom: 1px solid var(--engpoint-line); background: #07080d; }
.engpoint-default-header__inner,
.engpoint-default-footer__inner { width: min(calc(100% - 40px), var(--engpoint-container)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; }
.engpoint-default-brand img, .engpoint-default-footer img { width: 150px; }
.engpoint-default-footer { padding: 35px 0; border-top: 1px solid var(--engpoint-line); background: #05060a; color: var(--engpoint-muted); }
.engpoint-fallback-nav__toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--engpoint-line); border-radius: 10px; background: transparent; }
.engpoint-fallback-nav__toggle span:not(.screen-reader-text) { display:block; width:21px; height:2px; margin:4px auto; background:#fff; }
.engpoint-fallback-nav__list { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.engpoint-fallback-nav__list a { text-decoration:none; font-weight:700; font-size:14px; }
.engpoint-content-shell { width: min(calc(100% - 40px), 940px); margin: 0 auto; padding: 110px 0; }
.engpoint-entry-header h1 { margin: 0 0 24px; font-size: clamp(2.4rem, 7vw, 5.3rem); line-height: .98; letter-spacing: -.05em; }
.engpoint-entry-kicker { color: var(--engpoint-yellow); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.engpoint-entry-content { color: #d3d6df; font-size: 1.08rem; line-height: 1.8; }
.engpoint-entry-content h2, .engpoint-entry-content h3 { color: #fff; margin-top: 2em; }
.engpoint-single__image { margin: 38px 0; border-radius: 20px; overflow: hidden; }
.engpoint-single__image img { width: 100%; display:block; }
.engpoint-post-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:24px; }
.engpoint-post-card { overflow:hidden; border:1px solid var(--engpoint-line); border-radius:18px; background:var(--engpoint-panel); }
.engpoint-post-card__image { display:block; aspect-ratio: 16/10; overflow:hidden; background:#121520; }
.engpoint-post-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.engpoint-post-card:hover .engpoint-post-card__image img { transform:scale(1.04); }
.engpoint-post-card__body { padding:22px; }
.engpoint-post-card__body h2, .engpoint-post-card__body h3 { margin:0 0 12px; font-size:1.25rem; }
.engpoint-post-card__body a { text-decoration:none; }
.engpoint-post-card__body p { color:var(--engpoint-muted); }
.engpoint-post-card__meta { color:var(--engpoint-yellow)!important; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.engpoint-post-card__link { color:var(--engpoint-yellow); font-weight:800; }
.engpoint-contact-form { display:grid; gap:16px; }
.engpoint-contact-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.engpoint-contact-form label { display:grid; gap:8px; color:#d8dbe4; font-size:13px; font-weight:700; }
.engpoint-contact-form input, .engpoint-contact-form select, .engpoint-contact-form textarea { width:100%; border:1px solid var(--engpoint-line); border-radius:9px; background:#0b0d14; color:#fff; padding:14px; }
.engpoint-contact-form button, .engpoint-button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; border:0; border-radius:9px; padding:0 22px; background:var(--engpoint-yellow); color:#07080d; font-weight:800; text-decoration:none; }
.engpoint-form-message { margin-bottom:16px; padding:14px 16px; border-radius:10px; }
.engpoint-form-message--success { background:#173c2c; color:#d5ffe8; }
.engpoint-form-message--error { background:#4b2024; color:#ffe0e3; }
.engpoint-comments { margin-top:70px; padding-top:45px; border-top:1px solid var(--engpoint-line); }
.comment-list { list-style:none; padding:0; }
.comment-body { margin:20px 0; padding:22px; border:1px solid var(--engpoint-line); border-radius:14px; background:var(--engpoint-panel); }
.comment-meta a { color:var(--engpoint-muted); text-decoration:none; }
.comment-form input, .comment-form textarea { width:100%; border:1px solid var(--engpoint-line); background:#0b0d14; color:#fff; border-radius:9px; padding:13px; }
.form-submit input { border:0; border-radius:9px; background:var(--engpoint-yellow); color:#08090d; padding:14px 20px; font-weight:800; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 900px) {
    .engpoint-post-grid { grid-template-columns:1fr 1fr; }
    .engpoint-fallback-nav__toggle { display:block; }
    .engpoint-fallback-nav__menu { display:none; position:absolute; top:78px; left:20px; right:20px; z-index:999; padding:18px; border:1px solid var(--engpoint-line); border-radius:14px; background:#0b0d14; }
    .engpoint-fallback-nav.is-open .engpoint-fallback-nav__menu { display:block; }
    .engpoint-fallback-nav__list { align-items:stretch; flex-direction:column; gap:0; }
    .engpoint-fallback-nav__list a { display:block; padding:12px; }
}
@media (max-width: 640px) {
    .engpoint-default-header__inner { width:min(calc(100% - 28px), var(--engpoint-container)); }
    .engpoint-post-grid, .engpoint-contact-form__grid { grid-template-columns:1fr; }
    .engpoint-content-shell { width:min(calc(100% - 28px), 940px); padding:75px 0; }
}
.engpoint-accent { color: var(--e-global-color-secondary, var(--engpoint-yellow)) !important; }

/* EngPoint 3.0 — safeguards for imported Elementor 4.x Flexbox Containers.
   These selectors only preserve the demo grid when CSS regeneration or an
   Elementor version transition temporarily omits a container width variable.
   Every container and widget remains editable in Elementor. */
.engpoint-stats-grid > .e-con-inner,
.engpoint-services-grid,
.engpoint-cases-grid,
.engpoint-process-grid,
.engpoint-testimonials-grid,
.engpoint-client-grid,
.engpoint-team-split > .e-con-inner,
.engpoint-trust-split > .e-con-inner,
.engpoint-contact-split > .e-con-inner {
    align-items: stretch;
}
@media (min-width: 1025px) {
    .engpoint-stats-grid > .e-con-inner,
    .engpoint-services-grid,
    .engpoint-cases-grid,
    .engpoint-process-grid,
    .engpoint-testimonials-grid,
    .engpoint-client-grid,
    .engpoint-team-split > .e-con-inner,
    .engpoint-trust-split > .e-con-inner,
    .engpoint-contact-split > .e-con-inner {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .engpoint-stats-grid > .e-con-inner > .e-con { flex: 0 0 25%; max-width: 25%; }
    .engpoint-services-grid > .e-con { flex: 0 0 calc(33.333% - 12px); max-width: calc(33.333% - 12px); }
    .engpoint-cases-grid > .e-con { flex: 0 0 calc(25% - 12px); max-width: calc(25% - 12px); }
    .engpoint-process-grid > .e-con { flex: 0 0 calc(25% - 14px); max-width: calc(25% - 14px); }
    .engpoint-testimonials-grid > .e-con { flex: 0 0 calc(33.333% - 10px); max-width: calc(33.333% - 10px); }
    .engpoint-client-grid > .e-con { flex: 0 0 calc(50% - 4px); max-width: calc(50% - 4px); }
    .engpoint-team-split > .e-con-inner > .e-con { flex:0 0 50%; max-width:50%; }
    .engpoint-trust-split > .e-con-inner > .e-con:first-child { flex:0 0 39%; max-width:39%; }
    .engpoint-trust-split > .e-con-inner > .e-con:last-child { flex:0 0 58%; max-width:58%; }
    .engpoint-contact-split > .e-con-inner > .e-con:first-child { flex:0 0 42%; max-width:42%; }
    .engpoint-contact-split > .e-con-inner > .e-con:last-child { flex:0 0 58%; max-width:58%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .engpoint-stats-grid > .e-con-inner,
    .engpoint-services-grid,
    .engpoint-cases-grid,
    .engpoint-process-grid,
    .engpoint-testimonials-grid,
    .engpoint-client-grid { display:flex; flex-wrap:wrap; }
    .engpoint-stats-grid > .e-con-inner > .e-con,
    .engpoint-services-grid > .e-con,
    .engpoint-cases-grid > .e-con,
    .engpoint-process-grid > .e-con { flex:0 0 calc(50% - 10px); max-width:calc(50% - 10px); }
    .engpoint-testimonials-grid > .e-con { flex:0 0 100%; max-width:100%; }
    .engpoint-client-grid > .e-con { flex:0 0 calc(50% - 4px); max-width:calc(50% - 4px); }
}
@media (max-width: 767px) {
    .engpoint-stats-grid > .e-con-inner,
    .engpoint-services-grid,
    .engpoint-cases-grid,
    .engpoint-process-grid,
    .engpoint-testimonials-grid { display:flex; flex-direction:column; }
    .engpoint-stats-grid > .e-con-inner > .e-con,
    .engpoint-services-grid > .e-con,
    .engpoint-cases-grid > .e-con,
    .engpoint-process-grid > .e-con,
    .engpoint-testimonials-grid > .e-con { flex:0 0 100%; max-width:100%; }
    .engpoint-client-grid { display:flex; flex-wrap:wrap; }
    .engpoint-client-grid > .e-con { flex:0 0 calc(50% - 4px); max-width:calc(50% - 4px); }
}
