:root{
  --primary: #062b5f;
  --blue: #062b5f;
  --orange: #f58220;
  --accent: #10b981;
  --text: #0b2649;
  --muted: #667085;
  --bg: #ffffff;
  --card: #ffffff;
  --border: #e5e7eb;
  --radius: 24px;
  --btn-radius: 14px;
  /* M2.21.12 : le Layout Manager devient la source unique des largeurs publiques */
  --container: 1440px;
  --rct-unified-container: min(1440px, calc(100vw - 48px));
  --rct-unified-header: min(1500px, calc(100vw - 48px));
  --rct-unified-hero: min(1440px, calc(100vw - 48px));
  --rct-unified-footer: min(1440px, calc(100vw - 48px));
  --rct-container-pad-x: 24px;
  --section-pt: 86px;
  --section-pb: 86px;
  --font-body: Inter, Arial, sans-serif;
  --font-heading: Inter, Arial, sans-serif;
  --footer-bg: #061b3a;
  --footer-text: #ffffff;
  --footer-link: #d7e6ff;
  --footer-links: #d7e6ff;
  --footer-link-hover: #f58220;
  --footer-hover: #f58220;
}

/* M2.20.5 - Theme CSS global : toutes les valeurs du Theme Builder pilotent le rendu public */
html,body{font-family:var(--font-body)!important;color:var(--text)!important;background:var(--bg)!important;}
body, p, li, td, th, input, textarea, select{font-family:var(--font-body)!important;}
h1,h2,h3,h4,h5,h6,.ux-mini,.section-title,.ap-title{font-family:var(--font-heading)!important;}
h1,h2,h3,h4,h5,h6{color:var(--text);}
a{color:inherit;}
.container{max-width:var(--container)!important;}
.btn,.ux-orange,.ux-hero-actions a,button,.button,.cta-btn{border-radius:var(--btn-radius)!important;}
.btn.primary,.ux-primary,.ux-hero-actions .primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;}
.btn.red,.btn.secondary,.ux-orange,.ux-hero-actions .secondary{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;}
.btn.light{background:var(--card)!important;color:var(--primary)!important;border-color:var(--border)!important;}
.ux-mini,.eyebrow,.redtxt,.menu a.active,.menu a:hover{color:var(--orange)!important;}
.eyebrow:before,.preview-line{background:var(--orange)!important;}
.header,.ux-header{background:var(--card)!important;border-color:var(--border)!important;}
.service-tile,.card,.panel,.stat-card,.admin-card,.ux-service-card,.ux-project-card,.ux-blog-card,.ux-team-card,.ux-testimonial-card,.ux-step-card,.banner-dynamic,.partners{border-color:var(--border)!important;background:var(--card)!important;border-radius:var(--radius)!important;}
.ux-section,.section{background:var(--section-bg,transparent);padding-top:var(--section-pt)!important;padding-bottom:var(--section-pb)!important;color:var(--section-text,var(--text))!important;}
.ux-section h1,.ux-section h2,.ux-section h3,.ux-section h4,.section h1,.section h2,.section h3,.section h4{color:var(--section-title,var(--text))!important;}
.ux-section p,.ux-section li,.section p,.section li{color:var(--section-text,var(--muted));}
.card-style-outline .ux-service-card,.card-style-outline .ux-blog-card,.card-style-outline .ux-team-card,.card-style-outline .ux-testimonial-card,.card-style-outline .ux-step-card{box-shadow:none!important;border:1px solid var(--border)!important;}
.card-style-flat .ux-service-card,.card-style-flat .ux-blog-card,.card-style-flat .ux-team-card,.card-style-flat .ux-testimonial-card,.card-style-flat .ux-step-card{box-shadow:none!important;border-color:transparent!important;}
.card-style-glass .ux-service-card,.card-style-glass .ux-blog-card,.card-style-glass .ux-team-card,.card-style-glass .ux-testimonial-card,.card-style-glass .ux-step-card{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.45)!important;}
.section-design-dark{--section-bg:#061B3A;--section-text:#D7E6FF;--section-title:#fff;}
.section-design-gradient{--section-bg:linear-gradient(135deg,var(--primary),#0b3e7d);--section-text:#EAF2FF;--section-title:#fff;}
.section-design-soft{--section-bg:#F6F9FD;}
.section-design-minimal{--section-bg:#fff;}

/* Footer 100% piloté par les variables du Theme Builder */
.footer, footer.footer{
  background:var(--footer-bg)!important;
  color:var(--footer-text)!important;
}
.footer *, footer.footer *{border-color:rgba(255,255,255,.14);}
.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,
footer.footer h1,footer.footer h2,footer.footer h3,footer.footer h4,footer.footer h5,footer.footer h6{
  color:var(--footer-text)!important;
}
.footer p,.footer span,.footer small,.footer li,.footer div,.footer address,.footer label,
.footer .copy,.footer .copy span,.footer .text-muted,.footer .muted,
footer.footer p,footer.footer span,footer.footer small,footer.footer li,footer.footer div,footer.footer address,footer.footer label,
footer.footer .copy,footer.footer .copy span,footer.footer .text-muted,footer.footer .muted{
  color:var(--footer-text)!important;
}
.footer a, footer.footer a{
  color:var(--footer-link)!important;
  text-decoration:none;
}
.footer a:hover,.footer a:focus,footer.footer a:hover,footer.footer a:focus{
  color:var(--footer-link-hover)!important;
}
.footer .copy,footer.footer .copy{
  border-top-color:rgba(255,255,255,.18)!important;
}
.footer input,.footer textarea,.footer select,footer.footer input,footer.footer textarea,footer.footer select{
  background:rgba(255,255,255,.12)!important;
  color:var(--footer-text)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:var(--btn-radius)!important;
}
.footer input::placeholder,.footer textarea::placeholder,footer.footer input::placeholder,footer.footer textarea::placeholder{
  color:color-mix(in srgb, var(--footer-text) 72%, transparent)!important;
  opacity:1!important;
}
.footer button,.footer .btn,footer.footer button,footer.footer .btn{
  background:var(--footer-link-hover)!important;
  border-color:var(--footer-link-hover)!important;
  color:#fff!important;
}
.footer .social a,.footer-social a,footer.footer .social a,footer.footer .footer-social a{
  color:var(--footer-link)!important;
  border-color:rgba(255,255,255,.2)!important;
}
.footer .social a:hover,.footer-social a:hover,footer.footer .social a:hover,footer.footer .footer-social a:hover{
  color:#fff!important;
  background:var(--footer-link-hover)!important;
  border-color:var(--footer-link-hover)!important;
}

/* Variables globales pour blocs existants qui utilisaient encore les anciennes couleurs */
.stats,.ux-stats-banner,.dynamic-kpi-banner{background:var(--primary)!important;color:#fff!important;}
.stats *,.ux-stats-banner *,.dynamic-kpi-banner *{color:#fff!important;}
.badge,.status-badge{border-radius:999px;}
input,textarea,select{border-color:var(--border);}



/* M2.20.8 - Components Builder : boutons, cartes, badges, formulaires, CTA, navigation */
:root{
  --component-btn-cta-bg: #f58220;
  --component-btn-cta-text: #ffffff;
  --component-btn-hover-bg: #062b5f;
  --component-btn-shadow: 0 12px 30px rgba(6,42,87,.08);
  --component-card-shadow: 0 12px 30px rgba(6,42,87,.08);
  --component-card-border-width: 1px;
  --component-card-bg: #ffffff;
  --component-card-border: #e5e7eb;
  --component-card-text: #122033;
  --component-badge-bg: #fff3e8;
  --component-badge-text: #f58220;
  --component-input-radius: 12px;
  --component-input-border: #e5e7eb;
  --nav-text: #0b1f3a;
  --nav-active: #ff7a1a;
  --nav-hover: #ff7a1a;
  --nav-bg: #ffffff;
  --nav-cta-bg: #ff7a1a;
  --nav-cta-text: #ffffff;
  --nav-submenu-bg: #ffffff;
  --nav-submenu-text: #0b1f3a;
}
.btn,.ux-orange,.ux-primary,.cta-btn,.button,a.btn,button.btn,.ux-hero-actions a,.ux-dynamic-banner-cta,.ux-newsletter-form button,.contact-submit{
  border-radius:var(--btn-radius)!important;
  box-shadow:var(--component-btn-shadow)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease!important;
}
.btn.red,.btn.secondary,.ux-orange,.ux-dynamic-banner-cta,.ux-newsletter-form button,.contact-submit{background:var(--component-btn-cta-bg)!important;border-color:var(--component-btn-cta-bg)!important;color:var(--component-btn-cta-text)!important;}
.btn:hover,.ux-orange:hover,.ux-primary:hover,.cta-btn:hover,.button:hover,a.btn:hover,button.btn:hover,.ux-hero-actions a:hover{transform:translateY(-3px)!important;background:var(--component-btn-hover-bg)!important;color:#fff!important;}
.service-tile,.card,.panel,.stat-card,.ux-service-card,.ux-project-card,.ux-blog-card,.ux-team-card,.ux-testimonial-card,.ux-step-card,.quote-card,.contact-card,.pv-card,.banner-dynamic,.partners{
  background:var(--component-card-bg)!important;
  border:var(--component-card-border-width) solid var(--component-card-border)!important;
  color:var(--component-card-text)!important;
  box-shadow:var(--component-card-shadow)!important;
}
.service-tile h3,.card h3,.panel h3,.ux-service-card h3,.ux-project-card h3,.ux-blog-card h3,.ux-team-card h3,.ux-testimonial-card h3,.ux-step-card h3{color:var(--component-card-text)!important;}
.service-tile:hover,.card:hover,.ux-service-card:hover,.ux-project-card:hover,.ux-blog-card:hover,.ux-team-card:hover,.ux-testimonial-card:hover,.ux-step-card:hover{transform:translateY(-6px)!important;}
.badge,.status-badge,.eyebrow,.ux-mini,.chip,.tag,.label{
  background:var(--component-badge-bg)!important;
  color:var(--component-badge-text)!important;
  border-color:color-mix(in srgb,var(--component-badge-text) 22%,transparent)!important;
  border-radius:999px!important;}
input,textarea,select,.form-control,.ap-input,.ap-select,.contact-input{
  border-color:var(--component-input-border)!important;
  border-radius:var(--component-input-radius)!important;
}



/* M2.21.6 - UI Layout Manager FULL : variables dynamiques admin */
:root{
  --rct-layout-container: 1440px;
  --rct-layout-header: 1500px;
  --rct-layout-hero: 1440px;
  --rct-layout-footer: 1440px;
  --rct-layout-section-y: 88px;
  --rct-layout-pad-x: 24px;
  --rct-layout-menu-gap: 18px;
  --rct-layout-menu-font: 13px;
  --container: 1440px;
  --section-pt: 88px;
  --section-pb: 88px;
}
.container,
.ux-section .container,
.section .container,
.ux-stats .container,
.ux-band-separator.ux-band-contained .container,
.partners,
.page-hero .container,
.detail-hero .container,
.about-premium-page .container,
.ux-feature-strip,
.ux-stats .ux-stats-grid{
  width:min(calc(100% - (var(--rct-layout-pad-x) * 2)), var(--rct-layout-container))!important;
  max-width:var(--rct-layout-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ux-topbar .container,
.ux-topbar-inner,
.ux-header .container,
.ux-header .nav,
.header .container.nav{
  width:min(calc(100% - (var(--rct-layout-pad-x) * 2)), var(--rct-layout-header))!important;
  max-width:var(--rct-layout-header)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ux-hero-inner{
  width:min(calc(100% - (var(--rct-layout-pad-x) * 2)), var(--rct-layout-hero))!important;
  max-width:var(--rct-layout-hero)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.footer .container,footer.footer .container{
  width:min(calc(100% - (var(--rct-layout-pad-x) * 2)), var(--rct-layout-footer))!important;
  max-width:var(--rct-layout-footer)!important;
}
.ux-section,.section,.ux-newsletter-section{padding-top:var(--rct-layout-section-y)!important;padding-bottom:var(--rct-layout-section-y)!important;}
.ux-header .nav,.header .nav{gap:clamp(12px,1.4vw,26px)!important;min-width:0!important;}
.ux-header .menu,.header .menu{gap:var(--rct-layout-menu-gap)!important;min-width:0!important;flex:1 1 auto!important;justify-content:center!important;white-space:nowrap!important;}
.ux-header .menu a,.header .menu a,.ux-header .services-dropdown>a,.header .services-dropdown>a{font-size:var(--rct-layout-menu-font)!important;white-space:nowrap!important;line-height:1.15!important;padding-left:0!important;padding-right:0!important;}
.ux-header .nav>.btn,.header .nav>.btn{flex:0 0 auto!important;white-space:nowrap!important;}
@media(max-width:1180px){.ux-header .menu,.header .menu{gap:10px!important}.ux-header .menu a,.header .menu a,.ux-header .services-dropdown>a,.header .services-dropdown>a{font-size:12px!important}.ux-header .nav>.btn,.header .nav>.btn{font-size:12px!important;padding-left:12px!important;padding-right:12px!important}}
@media(max-width:980px){.ux-header .menu,.header .menu{display:none!important}.ux-header .menu.open,.header .menu.open{display:flex!important;white-space:normal!important}.ux-header .nav>.btn,.header .nav>.btn{display:none!important}.hamb{display:block!important}}
@media(max-width:760px){:root{--rct-layout-pad-x:4vw;--rct-layout-section-y:54px}.container,.ux-section .container,.section .container,.ux-topbar .container,.ux-topbar-inner,.ux-header .container,.ux-header .nav,.header .container.nav,.ux-hero-inner,.footer .container,footer.footer .container{width:92vw!important;max-width:92vw!important}}


/* M2.20.6 - Footer Builder complet */
.footer-builder-public .footer-dynamic-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--footer-cols,5), minmax(0,1fr))!important;
  gap:clamp(18px,2.4vw,34px)!important;
  align-items:start!important;
}
.footer-builder-public .footer-block h3{margin:0 0 14px!important;font-size:17px!important;font-weight:900!important;letter-spacing:-.01em!important;}
.footer-builder-public .footer-block p{margin:0 0 10px!important;line-height:1.7!important;}
.footer-builder-public .footer-logo{height:70px!important;max-width:190px!important;object-fit:contain!important;background:#fff!important;border-radius:12px!important;padding:5px!important;margin-bottom:12px!important;}
.footer-builder-public .footer-social{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.footer-builder-public .footer-social a{width:38px!important;height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px!important;font-weight:1000!important;text-transform:uppercase!important;font-size:12px!important;}
.footer-builder-public .footer-newsletter input{width:100%!important;max-width:260px!important;padding:12px 13px!important;}
.footer-builder-public .footer-dynamic-copy{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;}
@media(max-width:980px){.footer-builder-public .footer-dynamic-grid{grid-template-columns:repeat(var(--footer-cols-tablet,2), minmax(0,1fr))!important;}}
@media(max-width:640px){.footer-builder-public .footer-dynamic-grid{grid-template-columns:repeat(var(--footer-cols-mobile,1), minmax(0,1fr))!important;}.footer-builder-public .footer-dynamic-copy{display:block!important}.footer-builder-public .footer-dynamic-copy span{display:block!important;margin:8px 0!important}}


/* M2.20.7 - Sections Style Engine complet */
.ux-section,.section,.ux-newsletter-section{
  background:var(--section-bg, transparent)!important;
  color:var(--section-text, var(--text))!important;
  padding-top:var(--section-pt)!important;
  padding-bottom:var(--section-pb)!important;
}
.ux-section > .container,.section > .container,.ux-newsletter-section > .container,
.ux-section .container,.section .container,.ux-newsletter-section .container{
  max-width:var(--section-container, var(--container))!important;
}
.ux-section .ux-mini,.section .ux-mini,.ux-newsletter-section .ux-mini{color:var(--section-title, var(--orange))!important;}
.ux-section h1,.ux-section h2,.ux-section h3,.section h1,.section h2,.section h3,.ux-newsletter-section h1,.ux-newsletter-section h2,.ux-newsletter-section h3{color:var(--section-title, var(--text))!important;}
.ux-section p,.ux-section li,.ux-section small,.section p,.section li,.section small,.ux-newsletter-section p,.ux-newsletter-section li,.ux-newsletter-section small{color:var(--section-text, var(--muted))!important;}
.section-hide-title .ux-mini{display:none!important;}
.section-hide-subtitle .ux-section-head h2,.section-hide-subtitle > .container.center h2,.section-hide-subtitle .ux-testimonial-title h2,.section-hide-subtitle .ux-newsletter-box h2{display:none!important;}
.section-hide-button .ux-section-head > a,.section-hide-button .ux-dynamic-banner-cta,.section-hide-button .ux-newsletter-form button{display:none!important;}
.section-no-background{background:transparent!important;}
.section-design-default{background:var(--section-bg, transparent)!important;}
.section-design-soft{background:var(--section-bg, #F6F9FD)!important;}
.section-design-minimal{background:var(--section-bg, #fff)!important;}
.section-design-dark{background:var(--section-bg, #061B3A)!important;--section-title:#fff;--section-text:#D7E6FF;}
.section-design-gradient{background:var(--section-bg, linear-gradient(135deg,var(--primary),#0b3e7d))!important;--section-title:#fff;--section-text:#EAF2FF;}
.section-design-dark .ux-mini,.section-design-gradient .ux-mini{color:var(--orange)!important;}
.section-design-dark a,.section-design-gradient a{color:#fff!important;}
.card-style-shadow .ux-service-card,.card-style-shadow .ux-project-card,.card-style-shadow .ux-blog-card,.card-style-shadow .ux-team-card,.card-style-shadow .ux-testimonial-card,.card-style-shadow .ux-step-card,.card-style-shadow .partners{box-shadow:0 18px 48px rgba(6,42,87,.10)!important;}
.card-style-outline .ux-service-card,.card-style-outline .ux-project-card,.card-style-outline .ux-blog-card,.card-style-outline .ux-team-card,.card-style-outline .ux-testimonial-card,.card-style-outline .ux-step-card,.card-style-outline .partners{box-shadow:none!important;border:2px solid var(--border)!important;}
.card-style-flat .ux-service-card,.card-style-flat .ux-project-card,.card-style-flat .ux-blog-card,.card-style-flat .ux-team-card,.card-style-flat .ux-testimonial-card,.card-style-flat .ux-step-card,.card-style-flat .partners{box-shadow:none!important;border-color:transparent!important;}
.card-style-glass .ux-service-card,.card-style-glass .ux-blog-card,.card-style-glass .ux-team-card,.card-style-glass .ux-testimonial-card,.card-style-glass .ux-step-card,.card-style-glass .partners{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.55)!important;}
.section-animation-none{animation:none!important;}
.section-animation-zoom{animation:rctZoomIn .55s ease both;}
.section-animation-slide-left{animation:rctSlideLeft .55s ease both;}
.section-animation-fade-up{animation:rctFadeUp .55s ease both;}
@keyframes rctFadeUp{from{opacity:.01;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes rctZoomIn{from{opacity:.01;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes rctSlideLeft{from{opacity:.01;transform:translateX(22px)}to{opacity:1;transform:none}}


/* M2.21.2 - Navigation/Header pilotés par le Theme Builder */
.header,.ux-header{
  background:var(--nav-bg)!important;
}
.ux-header .nav, .header .nav{
  background:transparent!important;
}
.ux-header .menu a,
.ux-header .mega-menu>a,
.ux-header .services-dropdown>a,
.header .menu a,
.header .mega-menu>a,
.header .services-dropdown>a{
  color:var(--nav-text)!important;
  border-bottom-color:transparent!important;
}
.ux-header .menu a.active,
.header .menu a.active{
  color:var(--nav-active)!important;
  border-bottom-color:var(--nav-active)!important;
}
.ux-header .menu a:hover,
.ux-header .mega-menu>a:hover,
.ux-header .services-dropdown>a:hover,
.header .menu a:hover,
.header .mega-menu>a:hover,
.header .services-dropdown>a:hover{
  color:var(--nav-hover)!important;
  border-bottom-color:var(--nav-hover)!important;
}
.ux-header .btn.ux-orange,
.header .btn.ux-orange,
.ux-header .btn.primary,
.header .btn.primary{
  background:var(--nav-cta-bg)!important;
  border-color:var(--nav-cta-bg)!important;
  color:var(--nav-cta-text)!important;
}
.services-submenu,.mega-panel{
  background:var(--nav-submenu-bg)!important;
  border-color:var(--border)!important;
}
.services-submenu a,.mega-panel a{
  color:var(--nav-submenu-text)!important;
}
.services-submenu a:hover,.mega-panel a:hover{
  color:var(--nav-hover)!important;
}
.hamb{color:var(--nav-text)!important;border-color:var(--border)!important;}
@media(max-width:760px){
  .ux-header .menu,.header .menu{background:var(--nav-bg)!important;}
}


/* =========================================================
   M2.21.12 — Full Container Unification PRO
   Une seule largeur de référence pour toutes les sections publiques.
   Corrige les sections plus petites que les bannières/statistiques.
   ========================================================= */
body:not(.admin-body) .container,
body:not(.admin-body) .ux-section > .container,
body:not(.admin-body) .ux-section .container,
body:not(.admin-body) .section > .container,
body:not(.admin-body) .section .container,
body:not(.admin-body) .ux-newsletter-section > .container,
body:not(.admin-body) .ux-newsletter-section .container,
body:not(.admin-body) .ux-soft-separator > .container,
body:not(.admin-body) .page-hero > .container,
body:not(.admin-body) .detail-hero > .container,
body:not(.admin-body) .about-premium-page .container,
body:not(.admin-body) .partners{
  width:var(--rct-unified-container)!important;
  max-width:var(--rct-unified-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-body) .ux-topbar > .container,
body:not(.admin-body) .ux-topbar-inner,
body:not(.admin-body) .ux-header > .container,
body:not(.admin-body) .ux-header .nav,
body:not(.admin-body) .header > .container,
body:not(.admin-body) .header .nav{
  width:var(--rct-unified-header)!important;
  max-width:var(--rct-unified-header)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-body) .ux-hero-inner{
  width:var(--rct-unified-hero)!important;
  max-width:var(--rct-unified-hero)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-body) .footer > .container,
body:not(.admin-body) .footer-builder-public > .container{
  width:var(--rct-unified-footer)!important;
  max-width:var(--rct-unified-footer)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-body) .ux-feature-strip,
body:not(.admin-body) .ux-stats .ux-stats-grid,
body:not(.admin-body) .ux-band-separator.ux-band-contained .container,
body:not(.admin-body) .ux-dynamic-banner-wrap > .container{
  width:var(--rct-unified-container)!important;
  max-width:var(--rct-unified-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-body) .ux-service-grid,
body:not(.admin-body) .ux-project-grid,
body:not(.admin-body) .ux-team-grid,
body:not(.admin-body) .ux-testimonial-grid,
body:not(.admin-body) .ux-blog-grid,
body:not(.admin-body) .ux-process-grid,
body:not(.admin-body) .ux-manual-carousel,
body:not(.admin-body) .ux-carousel-viewport{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body:not(.admin-body) .ux-project-carousel,
body:not(.admin-body) .ux-team-carousel,
body:not(.admin-body) .ux-testimonial-carousel{
  grid-template-columns:46px minmax(0,1fr) 46px!important;
}
body:not(.admin-body) .ux-project-carousel .ux-carousel-viewport,
body:not(.admin-body) .ux-team-carousel .ux-carousel-viewport,
body:not(.admin-body) .ux-testimonial-carousel .ux-carousel-viewport{
  overflow:hidden!important;
}
body:not(.admin-body) .ux-project-carousel .ux-carousel-track,
body:not(.admin-body) .ux-team-carousel .ux-carousel-track,
body:not(.admin-body) .ux-testimonial-carousel .ux-carousel-track{
  width:auto!important;
  max-width:none!important;
}
@media(max-width:760px){
  :root{
    --rct-unified-container:92vw;
    --rct-unified-header:92vw;
    --rct-unified-hero:92vw;
    --rct-unified-footer:92vw;
  }
  body:not(.admin-body) .ux-project-carousel,
  body:not(.admin-body) .ux-team-carousel,
  body:not(.admin-body) .ux-testimonial-carousel{
    grid-template-columns:1fr!important;
  }
}

:root{
  --theme-body-size: 15px;
  --theme-h1-size: 56px;
  --theme-h2-size: 38px;
  --theme-heading-weight: 800;
  --theme-menu-bg: #ffffff;
  --theme-menu-text: #ffffff;
  --theme-menu-active: #f58220;
  --theme-topbar-bg: #05070b;
  --theme-topbar-text: #ffffff;
  --theme-transition: 220ms;
  --theme-focus-ring: #f58220;
  --theme-input-radius: 14px;
  --theme-badge-radius: 999px;
  --theme-shadow: 0 14px 38px rgba(6,42,87,.08);
  --theme-btn-shadow: 0 12px 30px rgba(6,42,87,.10);
  --theme-card-shadow: 0 14px 38px rgba(6,42,87,.08);
}
body{font-size:var(--theme-body-size)!important;transition:background var(--theme-transition),color var(--theme-transition);} 
h1{font-size:clamp(34px,4vw,var(--theme-h1-size))!important;font-weight:var(--theme-heading-weight)!important;}
h2{font-size:clamp(24px,2.6vw,var(--theme-h2-size))!important;font-weight:var(--theme-heading-weight)!important;}
.header,.ux-header{background:var(--theme-menu-bg)!important;}
.menu a{color:var(--theme-menu-text)!important;transition:all var(--theme-transition)!important;}
.menu a.active,.menu a:hover{color:var(--theme-menu-active)!important;}
.ux-topbar{background:var(--theme-topbar-bg)!important;color:var(--theme-topbar-text)!important;}
.btn,.button,button,.cta-btn{box-shadow:var(--theme-btn-shadow);transition:all var(--theme-transition)!important;}
.btn:hover,.button:hover,button:hover,.cta-btn:hover{transform:translateY(-2px);}
.card,.service-tile,.ux-service-card,.ux-project-card,.ux-blog-card,.ux-team-card,.ux-testimonial-card,.panel,.banner-dynamic{box-shadow:var(--theme-card-shadow)!important;}
input,textarea,select{border-radius:var(--theme-input-radius)!important;}
.badge,.type-pill,.status-badge{border-radius:var(--theme-badge-radius)!important;}
:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-focus-ring) 45%, transparent)!important;outline-offset:3px;}
