/* Native Elementor composition, shared header/footer and custom form selector. */
.bws-site .e-con{--container-widget-width:100%;--container-widget-flex-grow:0;--container-widget-align-self:stretch;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--gap:0px;gap:0;min-width:0}
.bws-site .elementor-widget{margin-bottom:0}.bws-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.bws-site .bws-home.e-con{display:block!important}.bws-home .bws-shell.e-con{display:flex;flex-direction:column;gap:0}.bws-site .bws-hero-grid.e-con,.bws-site .bws-services-grid.e-con,.bws-site .bws-cards.e-con,.bws-site .bws-about-grid.e-con,.bws-site .bws-process-grid.e-con,.bws-site .bws-service-catalog.e-con,.bws-site .bws-service-explainer.e-con,.bws-site .bws-service-process.e-con,.bws-site .bws-faq-layout.e-con,.bws-site .bws-contact-grid.e-con,.bws-site .bws-portfolio-grid.e-con{display:grid!important}
.bws-home .bws-actions.e-con,.bws-site .bws-service-top.e-con,.bws-home .bws-google-reviews.e-con{flex-direction:row;align-items:center;gap:16px}.bws-home .bws-timeline.e-con{flex-direction:row;gap:60px}.bws-home .bws-technologies.e-con{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:20px!important}
.bws-site .bws-home .bws-tech-logo img{width:180px;height:150px!important;max-height:none;object-fit:contain;background:none;border:0;border-radius:0;padding:0}.bws-home .bws-tech h3,.bws-home .bws-tech strong{font-size:19px}
.bws-home .bws-banner-space.e-con,.bws-site .bws-footer-background.e-con{position:absolute!important;inset:0!important;width:100%;height:100%!important;pointer-events:none}.bws-banner-space .elementor-widget-image,.bws-footer-background .elementor-widget-image,.bws-space-background .elementor-widget-image,.bws-closing-background .elementor-widget-image{width:100%!important;height:100%!important}.bws-banner-space .elementor-widget-container,.bws-footer-background .elementor-widget-container,.bws-space-background .elementor-widget-container,.bws-closing-background .elementor-widget-container{height:100%}
.bws-site .bws-banner-helmet-enter.e-con{position:absolute!important;inset:0!important}.bws-site .bws-service-banner-inner.e-con{display:block!important}.bws-site .bws-service-banner-copy.e-con{width:56%;max-width:720px}.bws-service-banner-helmet .elementor-widget-image{position:static}.bws-service-banner-helmet .elementor-widget-image img{max-width:none!important}
.bws-site .bws-header-host{position:sticky;top:0;z-index:50}.admin-bar .bws-header-host{top:32px}.bws-header-host .bws-header{position:relative;top:0;width:100%;padding:0!important}.bws-site .bws-header-inner.e-con{width:min(1280px,calc(100% - 96px));max-width:1280px;margin:auto;display:grid!important;grid-template-columns:140px 1fr 140px;gap:20px!important;align-items:center;min-height:88px;position:static}
.bws-header .bws-brand.elementor-widget-image{width:44px;max-width:44px}.bws-header .bws-brand img{width:44px;height:44px}.bws-header .bws-nav-widget{position:static;min-width:0}.bws-header .bws-nav-widget>.elementor-widget-container{display:flex;justify-content:center;align-items:center}.bws-header .bws-header-quote-widget{justify-self:end;width:auto}.bws-header .bws-header-quote-widget .elementor-button{background:transparent;border:1px solid #ffffff60;border-radius:999px;color:#fff;padding:9px 18px;white-space:nowrap;font-size:13px;font-weight:600}
.bws-site .bws-footer.e-con{display:block!important;width:100%;max-width:none;padding:90px 0 24px!important;color:#fff}.bws-footer>.bws-shell.e-con{width:min(1280px,calc(100% - 96px));margin-inline:auto;max-width:1280px}.bws-site .bws-footer-grid.e-con{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px!important;align-items:start}.bws-site .bws-footer-top.e-con{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:flex-end;gap:24px!important}.bws-footer .elementor-heading-title{font-family:BecerraDisplay,BecerraInter,sans-serif;color:inherit}.bws-footer-top .elementor-heading-title{font-size:clamp(42px,6vw,84px);line-height:1.02;letter-spacing:-.04em}.bws-footer-grid h3{font-size:15px!important}.bws-footer-launch-widget{width:auto!important;flex:none}.bws-footer-launch-widget .elementor-button{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid #ffffff60;color:#fff;font-size:38px;padding:0}.bws-footer .bws-brand.elementor-widget-image{width:64px}.bws-footer .bws-brand img{width:64px;height:64px}.bws-footer .bws-footer-wordmark .elementor-heading-title{font-size:inherit;line-height:1;font-weight:500;color:inherit;letter-spacing:-.07em}.bws-footer .bws-footer-wordmark{display:block!important;max-width:none;line-height:1}.bws-footer-wordmark span{color:#ff9800}.bws-footer .bws-footer-bottom.e-con{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.bws-footer-bottom>.elementor-widget{width:auto}.bws-home .bws-reviews-shortcode{min-height:120px;width:100%;margin-top:32px}.elementor-editor-active .bws-reviews-shortcode{border:1px dashed #ff980060}.bws-home .bws-icon-badge.elementor-widget-image img{width:30px;height:30px;max-height:30px}
.bws-home .bws-project-image .elementor-widget-container,.bws-home .bws-project-image a{height:100%;display:block}.bws-home .bws-project-image img{object-fit:contain!important}.bws-home .bws-portfolio-grid.e-con{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px!important}.bws-home .bws-coverflow.e-con>.bws-project{width:300px!important;max-width:300px!important}.bws-home .bws-section-link.elementor-widget-button{display:flex!important;justify-content:center}.bws-home .bws-filter-widget .elementor-button{border:1px solid #ffffff25;border-radius:999px;padding:10px 18px;background:transparent;color:#c3c7cf;font-size:13px}.bws-home .bws-filter-widget[aria-pressed=true] .elementor-button{border-color:#ff9800;color:#ff9800}.bws-site [hidden]{display:none!important}
.bws-select{position:relative;width:100%;margin-top:8px}.bws-contact-form .bws-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:12px 15px;text-align:left;background:#080a0f;border:1px solid #ffffff35;border-radius:10px;font:inherit;color:#aeb4c0}.bws-select-trigger::after{content:'';width:7px;height:7px;border-bottom:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);flex:0 0 7px;margin:0 3px 5px}.bws-select-trigger[aria-expanded=true]{border-color:#ff9800}.bws-select-trigger[aria-expanded=true]::after{transform:rotate(225deg);margin-bottom:0}.bws-contact-form .bws-select-chosen{color:#fff}.bws-select-panel{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 8px);padding:10px;background:#111318;border:1px solid #ffffff28;border-radius:12px;box-shadow:0 18px 50px #0009}.bws-contact-form .bws-select-search{margin:0 0 8px;border-radius:7px;min-height:42px;font-size:13px;padding:10px 12px;appearance:none;-webkit-appearance:none}.bws-select-options{max-height:230px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ff980070 #111318}.bws-contact-form .bws-select-option{display:block;width:100%;padding:10px 12px;min-height:42px;border:0;border-radius:6px;background:transparent;color:#e1e4e9;font:inherit;font-size:13px;line-height:1.5;text-align:left}.bws-select-option:hover,.bws-select-option:focus-visible,.bws-select-option[aria-selected=true]{background:#ff980015!important;color:#ffb640!important}.bws-select-trigger:focus-visible{outline:2px solid #ff9800;outline-offset:2px}.bws-select-error{display:block;color:#ffb2a2;font-size:12px;margin-top:8px}.bws-select-trigger[aria-invalid=true]{border-color:#ffb2a2}.bws-service-field{min-width:0}
/* Every card remains visible and selectable while editing. */
.elementor-editor-active .bws-projects.e-con{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important;overflow:visible!important;transform:none!important;perspective:none!important}.elementor-editor-active .bws-projects.e-con>.bws-project{position:relative!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;transform:none!important;opacity:1!important;filter:none!important}.elementor-editor-active .bws-projects .elementor-widget-heading,.elementor-editor-active .bws-projects .elementor-widget-text-editor{display:block!important}.elementor-editor-active .bws-reveal{opacity:1!important;transform:none!important}.elementor-editor-active .bws-faq-item .elementor-widget-text-editor{display:block!important}.elementor-editor-active .bws-footer-wordmark{transform:none!important;opacity:1!important}.elementor-editor-active .bws-banner-helmet-enter{animation:none}.elementor-editor-active .bws-closing-helmet{opacity:1;transform:none}
@media(max-width:1239px){.bws-site .bws-header-inner.e-con{grid-template-columns:44px 1fr auto}.bws-header .bws-nav-widget>.elementor-widget-container{justify-content:flex-end}.bws-header .bws-menu-toggle{margin-left:auto}.bws-header .bws-nav{width:100%;left:0;right:0}}
@media(max-width:1000px){.bws-site .bws-header-inner.e-con,.bws-footer>.bws-shell.e-con{width:calc(100% - 56px)}.bws-site .bws-footer-grid.e-con{grid-template-columns:1.4fr 1fr;gap:36px!important}.bws-site .bws-service-banner-copy.e-con{width:60%}}
@media(max-width:782px){.admin-bar .bws-header-host{top:46px}}
@media(max-width:760px){.bws-site .bws-header-inner.e-con,.bws-footer>.bws-shell.e-con{width:calc(100% - 40px)}.bws-site .bws-hero-grid.e-con,.bws-site .bws-about-grid.e-con,.bws-site .bws-process-grid.e-con,.bws-site .bws-contact-grid.e-con{grid-template-columns:1fr!important}.bws-site .bws-portfolio-grid.e-con{grid-template-columns:1fr!important}.bws-home .bws-actions.e-con{flex-wrap:wrap;align-items:stretch}.bws-home .bws-google-reviews.e-con,.bws-home .bws-timeline.e-con{flex-direction:column;align-items:stretch}.bws-site .bws-service-banner-copy.e-con{width:100%;max-width:none}.bws-site .bws-footer-grid.e-con{grid-template-columns:1fr 1fr;gap:32px 24px!important}.bws-site .bws-footer.e-con{padding-top:65px!important}.bws-footer-top .elementor-heading-title{font-size:40px}.bws-footer-launch-widget .elementor-button{width:54px;height:54px;font-size:28px}.bws-footer .bws-footer-bottom.e-con{flex-direction:column;align-items:flex-start}.bws-home .bws-coverflow.e-con>.bws-project{width:220px!important;max-width:220px!important}.bws-site .bws-home .bws-tech-logo img{width:145px;height:130px!important}}
@media(max-width:600px){.admin-bar .bws-header-host{top:0}}

.bws-site .bws-project-filters.e-con{flex-direction:row!important;flex-wrap:wrap;gap:12px!important}.bws-project-filters .bws-filter-widget{width:auto}.bws-service-top>.elementor-widget-text-editor{width:auto}

.bws-home .bws-reviews-slot{min-height:120px;width:100%;margin-top:32px}.elementor-editor-active .bws-reviews-slot{border:1px dashed #ff980060;padding:24px!important}
/* Explicit display keeps semantic containers consistent with Elementor 4. */
.bws-site .e-con{display:flex}
.bws-site{overflow-x:clip}.bws-site .bws-home{overflow-x:clip}
.bws-site .bws-home>.bws-hero.e-con,.bws-site .bws-home>.bws-section.e-con,.bws-site .bws-home>.bws-closing.e-con{display:block!important;width:100%;max-width:none}
.bws-site .bws-home .bws-shell.e-con{margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.bws-site .bws-actions.e-con{display:flex!important;flex-direction:row!important;gap:16px!important;flex-wrap:wrap}.bws-actions>.elementor-widget-button{width:auto!important;max-width:100%}
.bws-site .elementor-widget-heading{font-family:BecerraDisplay,BecerraInter,Arial,sans-serif}
.bws-site .bws-home h1.elementor-heading-title,.bws-site .bws-home h2.elementor-heading-title{font-weight:500}
.bws-site .bws-section.e-con{padding:96px 0!important}.bws-site .bws-hero.e-con{padding:70px 0 54px!important}.bws-site .bws-closing.e-con{padding:95px 0!important}
.bws-site .bws-section.bws-service-banner.e-con{padding:82px 0 88px!important}.bws-site .bws-service-banner-helmet.e-con{display:block!important}.bws-site .bws-footer-top.e-con{margin-bottom:60px!important}
.bws-site .bws-service:first-child .bws-icon-badge img{filter:brightness(.12)}
@media(max-width:760px){.bws-site .bws-section.e-con{padding:70px 0!important}.bws-site .bws-hero.e-con{padding:48px 0 30px!important}.bws-site .bws-closing.e-con{padding:64px 0 200px!important}.bws-site .bws-section.bws-service-banner.e-con{padding:60px 0 0!important}}

/* Becerra 2.0.1: the existing Elementor kit keeps its own globals outside this composition. */
.bws-home,.bws-header,.bws-footer{
 --e-global-color-primary:#f7f8fa;
 --e-global-color-secondary:#bdc0c8;
 --e-global-color-text:#c9ced7;
 --e-global-color-accent:var(--bws-accent,#ff9800);
 --e-global-typography-primary-font-family:BecerraDisplay;
 --e-global-typography-primary-font-weight:500;
 --e-global-typography-secondary-font-family:BecerraInter;
 --e-global-typography-secondary-font-weight:500;
 --e-global-typography-text-font-family:BecerraInter;
 --e-global-typography-text-font-weight:400;
 --e-global-typography-accent-font-family:BecerraInter;
 --e-global-typography-accent-font-weight:600;
}

/* Readable premium plan CTA and checks. */
.bws-home .bws-featured .elementor-button{background:#f7f8fa!important;color:#08090b!important;border-color:#f7f8fa!important}
.bws-home .bws-featured .elementor-button .elementor-button-text{color:inherit!important}
.bws-home .bws-featured .bws-features li::before{color:#08090b}
.bws-home .bws-payment-slot{min-height:0}.elementor-editor-active .bws-payment-slot{min-height:70px;border:1px dashed #ff980060;padding:16px}
.bws-home .bws-service-pricing .bws-price{margin:20px 0 26px}
