.elementor-kit-5{--e-global-color-primary:#FE2813;--e-global-color-secondary:#0C0C1D;--e-global-color-text:#2D2D2D;--e-global-color-accent:#C41F0F;--e-global-color-dcred01:#FE2813;--e-global-color-dcred02:#C41F0F;--e-global-color-dcred03:#FF6B5A;--e-global-color-dcnav01:#0C0C1D;--e-global-color-dcnav02:#1A1A2E;--e-global-color-dcchar1:#111827;--e-global-color-dccon10:#F5F5F0;--e-global-color-dccon20:#E8E6DF;--e-global-color-dccon30:#D4D0C8;--e-global-color-dccon40:#9C9890;--e-global-color-dctxt01:#0A0A0A;--e-global-color-dctxt02:#2D2D2D;--e-global-color-dctxt03:#6B7280;--e-global-color-dctxt04:#E8E6DF;--e-global-color-dcwhite:#FFFFFF;--e-global-color-dcwapp1:#25D366;--e-global-typography-primary-font-family:"Bebas Neue";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-weight:400;--e-global-typography-dcmono1-font-family:"JetBrains Mono";--e-global-typography-dcmono1-font-size:12px;--e-global-typography-dcmono1-font-weight:400;--e-global-typography-dcmono1-text-transform:uppercase;--e-global-typography-dcmono1-line-height:1.7em;--e-global-typography-dcmono1-letter-spacing:2.4px;--e-global-typography-dcsect1-font-family:"Bebas Neue";--e-global-typography-dcsect1-font-size:48px;--e-global-typography-dcsect1-font-weight:400;--e-global-typography-dcsect1-line-height:1.1em;--e-global-typography-dcsect1-letter-spacing:0.02em;--e-global-typography-dcpage1-font-family:"Bebas Neue";--e-global-typography-dcpage1-font-size:72px;--e-global-typography-dcpage1-font-weight:400;--e-global-typography-dcpage1-line-height:1.1em;--e-global-typography-dcpage1-letter-spacing:0.02em;--e-global-typography-dchero1-font-family:"Bebas Neue";--e-global-typography-dchero1-font-size:112px;--e-global-typography-dchero1-font-weight:400;--e-global-typography-dchero1-line-height:0.95em;--e-global-typography-dchero1-letter-spacing:0.02em;background-color:#FFFFFF;color:#2D2D2D;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#FE2813;font-family:"Bebas Neue", Sans-serif;font-size:17.6px;font-weight:400;text-transform:uppercase;line-height:1.7em;letter-spacing:1.41px;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FE2813;border-radius:0px 0px 0px 0px;padding:14.4px 40px 14.4px 40px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#C41F0F;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:0px;}.elementor-kit-5 h1{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 h2{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 h3{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 h4{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 h5{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 h6{color:#0A0A0A;font-family:"Bebas Neue", Sans-serif;font-weight:400;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1152px;}.e-con{--container-max-width:1152px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-dcsect1-font-size:36px;--e-global-typography-dcpage1-font-size:51px;--e-global-typography-dchero1-font-size:82px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-dcsect1-font-size:32px;--e-global-typography-dcpage1-font-size:40px;--e-global-typography-dchero1-font-size:56px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Descon: only what native Elementor settings cannot express ===== */
html{scroll-behavior:smooth}
body{overflow-x:hidden}

/* grain overlay (navy sections, footer) */
.dc-grain{position:relative}
.dc-grain::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.4'/%3E%3C/svg%3E")}
.dc-grain > .e-con-inner,.dc-grain > .e-con{position:relative;z-index:2}

/* text editor paragraphs */
.dc-text p{margin:0}
.dc-text-br p + p{margin-top:1.7em}
.dc-prose{line-height:1.8}
.dc-prose p{margin:0 0 1rem}
.dc-prose h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1em;line-height:1.1;letter-spacing:.02em;color:#0a0a0a;text-transform:none;margin:1.5rem 0 .5rem}
.dc-prose > *:first-child,.dc-prose .elementor-widget-container > *:first-child{margin-top:0}
.dc-breadcrumb a{color:inherit}
.dc-breadcrumb a:hover{color:#fe2813}
.dc-breadcrumb span{color:#fe2813;margin:0 .5rem}

/* hero */
.dc-hero-title .elementor-heading-title span{color:#fe2813}
@media (min-width:768px){.dc-hero-title .elementor-heading-title{white-space:nowrap}}
.dc-hero-scroll{position:absolute!important;left:50%;bottom:2rem;transform:translateX(-50%);width:auto!important;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.dc-hero-scroll .elementor-heading-title{writing-mode:vertical-rl}
.dc-hero-scroll::after{content:'';display:block;width:2px;height:40px;background:#fe2813;margin:.75rem auto 0;animation:dcScrollBounce 2s infinite}
@keyframes dcScrollBounce{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(10px);opacity:.5}}

/* buttons + cards: hover motion */
.dc-btn .elementor-button{transition:all .35s cubic-bezier(.4,0,.2,1)}
.dc-btn-lift .elementor-button:hover{transform:translateY(-2px)}
.dc-lift-4,.dc-lift-8,.dc-slide-x{transition:all .35s cubic-bezier(.4,0,.2,1)}
.dc-lift-4:hover{transform:translateY(-4px)}
.dc-lift-8:hover{transform:translateY(-8px)}
.dc-slide-x:hover{transform:translateX(4px)}

/* image ratios + zoom */
.dc-ratio-4-3 img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dc-ratio-16-10 img{width:100%;aspect-ratio:16/10;object-fit:cover}
.dc-ratio-16-9 img{width:100%;aspect-ratio:16/9;object-fit:cover}
.dc-zoom{overflow:hidden}
.dc-zoom img{transition:transform .6s ease}
.dc-card:hover .dc-zoom img{transform:scale(1.08)}
.dc-card:hover .dc-zoom-sm img{transform:scale(1.05)}

/* service card link arrow */
.dc-arrow-link a::after{content:' \2192';display:inline-block;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.dc-arrow-link a:hover::after{transform:translateX(4px)}

/* about image offset frame */
.dc-about-img{position:relative}
.dc-about-img::before{content:'';position:absolute;top:-16px;left:-16px;width:100%;height:100%;border:4px solid #fe2813;z-index:0;pointer-events:none}
.dc-about-img img{position:relative;z-index:1;width:100%}

/* stats: red "+" */
.dc-stat .elementor-counter-number-suffix,.dc-stat .elementor-counter-number-prefix{color:#fe2813}

/* works carousel: photo 4:3 with the work's name over a navy gradient */
.dc-works .swiper-slide-inner{position:relative;margin:0;overflow:hidden}
.dc-works .swiper-slide-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.dc-works .swiper-slide:hover .swiper-slide-image{transform:scale(1.05)}
.dc-works .elementor-image-carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:3.5rem 1.25rem 1.1rem;background:linear-gradient(180deg,rgba(12,12,29,0) 0%,rgba(12,12,29,.92) 100%);color:#fff;text-align:left!important;font-style:normal!important;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:1rem;line-height:1.3}
.dc-works .elementor-image-carousel-caption::before{content:'';display:block;width:24px;height:2px;background:#fe2813;margin-bottom:.6rem}
.dc-works .elementor-swiper-button{background:#fff;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,.08);transition:all .35s}
.dc-works .elementor-swiper-button:hover{background:#fe2813;color:#fff}
.dc-works .elementor-swiper-button:hover svg{fill:#fff}
.dc-works .swiper-pagination-bullet-active{background:#fe2813!important}

/* logo carousels: grayscale until hover, continuous strip */
.dc-logos .swiper-wrapper{transition-timing-function:linear!important}
.dc-logos .swiper-slide,.dc-clients .swiper-slide{display:flex;align-items:center;justify-content:center;height:auto}
.dc-clients .swiper-slide{padding:1rem}
.dc-logos img,.dc-clients img{width:auto!important;filter:grayscale(100%);opacity:.5;transition:all .35s}
.dc-logos img{max-height:40px}
.dc-clients img{max-height:60px}
.dc-logos img:hover,.dc-clients img:hover{filter:none;opacity:1}
.dc-client-card img{max-height:55px;max-width:140px;width:auto;filter:grayscale(100%);opacity:.6;transition:all .35s}
.dc-client-card:hover img{filter:none;opacity:1}

/* timeline dots */
.dc-tl-item{position:relative}
.dc-tl-item::before{content:'';position:absolute;left:-8.5px;top:.25rem;width:14px;height:14px;background:#fe2813;border:3px solid #fff;border-radius:50%;box-sizing:border-box}
@media (min-width:1025px){.dc-tl-item{padding-left:96px!important}}

/* video: red square play button over the YouTube thumbnail */
.dc-video .elementor-custom-embed-image-overlay{overflow:hidden}
.dc-video .elementor-custom-embed-play{width:72px;height:72px;background:#fe2813;display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.4,0,.2,1)}
.dc-video .elementor-custom-embed-play i,.dc-video .elementor-custom-embed-play svg{opacity:1;text-shadow:none;filter:none;margin-left:3px}
.dc-video:hover .elementor-custom-embed-play{background:#c41f0f;transform:translate(-50%,-50%) scale(1.1)}

/* contact form: underline-only fields, red focus line */
.dc-form .elementor-field-textual{padding-left:0;padding-right:0;box-shadow:none}
.dc-form .elementor-field-textual:focus{border-bottom-color:#fe2813!important;outline:none;box-shadow:none}
.dc-form textarea.elementor-field-textual{min-height:120px;resize:vertical}
.dc-form .elementor-message-success{background:#ecfdf5;color:#065f46;border-left:3px solid #10b981;padding:1rem}
.dc-form .elementor-message-danger{background:#fef2f2;color:#991b1b;border-left:3px solid #fe2813;padding:1rem}

/* map: grayscale transition */
.dc-map iframe{transition:filter .6s ease}

/* footer link nudge */
.dc-footer-links .elementor-icon-list-item a{transition:all .35s}
.dc-footer-links .elementor-icon-list-item a:hover{padding-left:4px}
.dc-footer-links .elementor-icon-list-icon{display:none}

/* ===== header: transparent over the hero, white glass after 10px scroll (Pro sticky effects) ===== */
.dc-topbar{max-height:40px;overflow:hidden;opacity:1;transition:max-height .4s ease,padding .4s ease,opacity .3s ease}
.dc-header.elementor-sticky--effects .dc-topbar{max-height:0;padding-top:0!important;padding-bottom:0!important;opacity:0}
.dc-navbar{transition:background .35s,box-shadow .35s,padding .35s}
.dc-header.elementor-sticky--effects .dc-navbar{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 30px rgba(0,0,0,.08);padding-top:.6rem!important;padding-bottom:.6rem!important}
.dc-logo img{transition:width .35s}
.dc-header.elementor-sticky--effects .dc-logo img{width:114px!important}
.dc-header.elementor-sticky--effects .dc-nav .elementor-nav-menu--main .elementor-item{color:#0a0a0a!important}
.dc-header.elementor-sticky--effects .dc-nav .elementor-menu-toggle{color:#0a0a0a!important}
.dc-header.elementor-sticky--effects .dc-nav .elementor-menu-toggle svg{fill:#0a0a0a!important}
.dc-nav .elementor-nav-menu--main .sub-menu{min-width:320px!important}
.dc-nav .elementor-nav-menu--main .sub-menu a{border-left:3px solid transparent!important}
.dc-nav .elementor-nav-menu--main .sub-menu a:hover{border-left-color:#fe2813!important}
.dc-nav-cta{margin-left:.5rem}
/* mobile menu: navy panel with big display links, as on the site */
@media (max-width:1024px){
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{background:#0c0c1d!important;padding:1.5rem 0}
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > li > a{font-family:'Bebas Neue',sans-serif!important;font-size:2.5rem!important;font-weight:400!important;color:#fff!important;background:transparent!important;justify-content:center;border:0!important}
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > li > a:hover{color:#fe2813!important}
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu{background:transparent!important}
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a{font-size:1rem!important;color:#9c9890!important;background:transparent!important;justify-content:center;border:0!important;text-transform:none}
 .dc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a:hover{color:#fe2813!important}
 .dc-nav-cta .elementor-button{padding:.5rem 1rem!important}
}

/* floating WhatsApp: pulse ring + glow */
.dc-wa-float .elementor-icon{position:relative;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:all .35s}
.dc-wa-float .elementor-icon:hover{box-shadow:0 6px 30px rgba(37,211,102,.5)}
.dc-wa-float .elementor-icon::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid #25D366;animation:dcPulse 3s infinite;pointer-events:none}
@keyframes dcPulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.25);opacity:0}100%{transform:scale(1);opacity:0}}

/* back to top: appears after ~400px of scroll (scroll-driven; older browsers show it always) */
@supports (animation-timeline: scroll()){
 .dc-totop{animation:dcShowTop linear both;animation-timeline:scroll(root);animation-range:350px 450px}
}
@keyframes dcShowTop{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}

/* CTA band: text grows, button keeps its size on the right */
.dc-cta-band > .e-con-inner > .e-con{width:auto;flex:1 1 400px}

/* header on tablet/mobile: logo, CTA and hamburger on one line */
@media (max-width:1024px){
 .dc-navbar > .e-con-inner{flex-wrap:nowrap!important;align-items:center}
 .dc-navbar > .e-con-inner > .e-con{width:auto!important;flex:0 0 auto}
 .dc-topbar > .e-con-inner{flex-wrap:nowrap!important;align-items:center}
 .dc-topbar > .e-con-inner > .e-con{width:auto!important;flex:0 1 auto;flex-wrap:nowrap}
}
@media (max-width:767px){
 .dc-logo img{width:110px!important}
 .dc-header.elementor-sticky--effects .dc-logo img{width:96px!important}
 .dc-navbar{padding-top:10px!important;padding-bottom:10px!important}
 .dc-topbar .elementor-icon-list-items{flex-wrap:nowrap}
}/* End custom CSS */