/* Agadir Concept — Hero maquette v2 */
.elementor-widget-ac-mockup-hero{width:100%}
.acw-hero{position:relative;width:100%;background:#fff}
.acw-hero__inner{display:flex;flex-direction:row;align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:58px 32px;column-gap:50px}
.acw-hero__content{position:relative;z-index:3;flex:0 0 46%;max-width:46%;min-width:0}
.acw-hero__visual{position:relative;z-index:1;flex:0 0 54%;max-width:54%;min-width:0;min-height:440px}
.acw-hero-order--visual-first .acw-hero__content{order:2}.acw-hero-order--visual-first .acw-hero__visual{order:1}
.acw-hero__eyebrow{margin:0 0 16px;color:#f4583f;font-size:12px;font-weight:800;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.acw-hero__title{max-width:100%;margin:0;color:#101b2d;font-size:clamp(42px,4.5vw,72px);font-weight:750;line-height:1.02;letter-spacing:-.035em}
.acw-hero__title-before,.acw-hero__accent,.acw-hero__title-after{white-space:normal}
.acw-hero__accent{color:#f4583f}.acw-hero-accent--block .acw-hero__accent{display:block}.acw-hero-accent--inline .acw-hero__accent{display:inline}
.acw-hero__description{max-width:610px;margin:24px 0 0;color:#566170;font-size:17px;line-height:1.55}
.acw-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:30px 0 0}
.acw-hero__actions .acw-button{width:auto}
.acw-hero__proofs{display:flex;flex-wrap:wrap;gap:26px;margin:30px 0 0}
.acw-hero__proof{display:flex;align-items:flex-start;gap:10px;max-width:230px;text-align:left}.acw-hero__proof-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:#fff0ed;color:#f4583f}.acw-hero__proof-icon i,.acw-hero__proof-icon svg{width:1em;height:1em}.acw-hero__proof strong,.acw-hero__proof span{display:block}.acw-hero__proof strong{color:#101b2d;font-size:13px}.acw-hero__proof span{margin-top:3px;color:#586270;font-size:11px;line-height:1.45}.acw-hero__proof-note{margin-top:26px;color:#101b2d;font-size:13px;font-weight:600}
.acw-hero__decor-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;pointer-events:none}
.acw-hero__main-link{position:absolute;inset:0;display:block;z-index:1}
.acw-hero__main-image{--acw-main-x:0px;--acw-main-y:0px;--acw-main-scale:1;--acw-main-rotate:0deg;position:absolute;top:50%;left:50%;z-index:1;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform:translate(calc(-50% + var(--acw-main-x)),calc(-50% + var(--acw-main-y))) scale(var(--acw-main-scale)) rotate(var(--acw-main-rotate));transform-origin:center center}
.acw-hero__main-link .acw-hero__main-image{inset:auto;top:50%;left:50%}

/* Main image sizing modes. Custom keeps backwards compatibility with existing templates. */
.acw-hero-main-size--natural .acw-hero__main-image{width:auto!important;height:auto!important;max-width:100%;max-height:100%}
.acw-hero-main-size--width .acw-hero__main-image{height:auto!important}
.acw-hero-main-size--fill .acw-hero__main-image{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}

.acw-hero__secondary-image{position:absolute;right:0;bottom:4%;z-index:2;width:34%;max-height:62%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(7,27,47,.12))}.acw-hero__person-image{position:absolute;top:2%;left:18%;z-index:2;width:25%;max-height:50%;object-fit:contain}
.acw-hero__badge{--acw-badge-x:0px;--acw-badge-y:0px;position:absolute;z-index:4;display:flex;align-items:center;gap:8px;min-width:115px;padding:10px 13px;border:1px solid #e9edf1;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(7,27,47,.08);color:#101b2d;font-size:12px;transform:translate(var(--acw-badge-x),var(--acw-badge-y))}.acw-hero__badge strong{margin-left:auto}.acw-hero__badge-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.15em;height:1.15em;color:#f4583f;font-size:1em;line-height:1}.acw-hero__badge-icon i{display:inline-block;width:auto;height:auto;font-size:1em;line-height:1}.acw-hero__badge-icon svg{display:block;width:1em;height:1em;fill:currentColor}.acw-hero__badge--top-left{top:5%;left:0}.acw-hero__badge--top-right{top:5%;right:0}.acw-hero__badge--middle-left{top:43%;left:-4%}.acw-hero__badge--middle-right{top:43%;right:-4%}.acw-hero__badge--bottom-left{bottom:8%;left:3%}.acw-hero__badge--bottom-right{right:3%;bottom:8%}
/* Presets keep sane defaults but every important dimension remains editable in Elementor. */
.acw-hero--home-network .acw-hero__visual{min-height:500px}.acw-hero--about-team .acw-hero__visual{min-height:430px}.acw-hero--about-team .acw-hero__main-image{object-fit:cover}.acw-hero--services-atlas .acw-hero__visual{min-height:470px}.acw-hero--device .acw-hero__visual,.acw-hero--offers-device .acw-hero__visual,.acw-hero--projects-devices .acw-hero__visual{min-height:450px}.acw-hero--sectors-collage .acw-hero__visual{min-height:460px}.acw-hero--resources-feature .acw-hero__visual{min-height:420px}.acw-hero--contact .acw-hero__visual{min-height:520px}.acw-hero--minimal .acw-hero__visual:empty{display:none}.acw-hero--minimal .acw-hero__content{flex-basis:100%;max-width:860px}
@media(max-width:1024px){.acw-hero__inner{column-gap:30px}.acw-hero__content{flex-basis:48%;max-width:48%}.acw-hero__visual{flex-basis:52%;max-width:52%;min-height:380px}.acw-hero__title{font-size:clamp(38px,5.2vw,58px)}.acw-hero--hide-badges-tablet .acw-hero__badge{display:none}}
@media(max-width:767px){.acw-hero__inner{flex-direction:column;align-items:stretch;row-gap:34px}.acw-hero__content,.acw-hero__visual{flex-basis:auto;max-width:100%;width:100%}.acw-hero-mobile-order--visual-first .acw-hero__visual{order:1}.acw-hero-mobile-order--visual-first .acw-hero__content{order:2}.acw-hero-mobile-order--content-first .acw-hero__content{order:1}.acw-hero-mobile-order--content-first .acw-hero__visual{order:2}.acw-hero__visual{min-height:320px}.acw-hero__title{font-size:clamp(36px,11vw,48px)}.acw-hero__actions{align-items:stretch;flex-direction:column}.acw-hero__actions .acw-button{width:100%}.acw-hero__person-image{display:none}.acw-hero--hide-badges-mobile .acw-hero__badge{display:none}.acw-hero__proofs{gap:16px}.acw-hero__proof{max-width:100%}}

/* Floating badge animations — independently configurable per repeater item. */
.acw-hero__badge--animated{
	--acw-badge-duration:5.5s;
	--acw-badge-delay:0s;
	--acw-badge-distance:8px;
	--acw-badge-rotation:2deg;
	animation-duration:var(--acw-badge-duration);
	animation-delay:var(--acw-badge-delay);
	animation-timing-function:ease-in-out;
	animation-iteration-count:infinite;
	animation-fill-mode:both;
	will-change:transform
}
.acw-hero__badge-animation--float-y{animation-name:acw-hero-badge-float-y}
.acw-hero__badge-animation--float-x{animation-name:acw-hero-badge-float-x}
.acw-hero__badge-animation--diagonal{animation-name:acw-hero-badge-diagonal}
.acw-hero__badge-animation--orbit{animation-name:acw-hero-badge-orbit}
.acw-hero__badge-animation--pulse{animation-name:acw-hero-badge-pulse}
.acw-hero__badge-animation--swing{animation-name:acw-hero-badge-swing;transform-origin:center center}
.acw-hero__badge--pause-hover:hover{animation-play-state:paused}
@keyframes acw-hero-badge-float-y{
	0%,100%{transform:translate(var(--acw-badge-x),var(--acw-badge-y))}
	50%{transform:translate(var(--acw-badge-x),calc(var(--acw-badge-y) - var(--acw-badge-distance)))}
}
@keyframes acw-hero-badge-float-x{
	0%,100%{transform:translate(var(--acw-badge-x),var(--acw-badge-y))}
	50%{transform:translate(calc(var(--acw-badge-x) + var(--acw-badge-distance)),var(--acw-badge-y))}
}
@keyframes acw-hero-badge-diagonal{
	0%,100%{transform:translate(var(--acw-badge-x),var(--acw-badge-y))}
	50%{transform:translate(calc(var(--acw-badge-x) + var(--acw-badge-distance)),calc(var(--acw-badge-y) - var(--acw-badge-distance)))}
}
@keyframes acw-hero-badge-orbit{
	0%,100%{transform:translate(var(--acw-badge-x),calc(var(--acw-badge-y) - var(--acw-badge-distance))) rotate(calc(0deg - var(--acw-badge-rotation)))}
	25%{transform:translate(calc(var(--acw-badge-x) + var(--acw-badge-distance)),var(--acw-badge-y)) rotate(0deg)}
	50%{transform:translate(var(--acw-badge-x),calc(var(--acw-badge-y) + var(--acw-badge-distance))) rotate(var(--acw-badge-rotation))}
	75%{transform:translate(calc(var(--acw-badge-x) - var(--acw-badge-distance)),var(--acw-badge-y)) rotate(0deg)}
}
@keyframes acw-hero-badge-pulse{
	0%,100%{transform:translate(var(--acw-badge-x),var(--acw-badge-y)) scale(1)}
	50%{transform:translate(var(--acw-badge-x),var(--acw-badge-y)) scale(1.035)}
}
@keyframes acw-hero-badge-swing{
	0%,100%{transform:translate(var(--acw-badge-x),var(--acw-badge-y)) rotate(calc(0deg - var(--acw-badge-rotation)))}
	50%{transform:translate(var(--acw-badge-x),var(--acw-badge-y)) rotate(var(--acw-badge-rotation))}
}
@media(prefers-reduced-motion:reduce){
	.acw-hero__badge--animated{
		animation:none!important;
		transform:translate(var(--acw-badge-x),var(--acw-badge-y))!important;
		will-change:auto
	}
}

/* v1.3.6 — Mobile structural guard.
 * Elementor's generated per-widget CSS is loaded after the plugin stylesheet and
 * can therefore re-apply the desktop content/visual widths on small screens.
 * The explicit mobile layout class has higher specificity while keeping an
 * opt-out (mobile_layout = custom) for exceptional compositions.
 */
@media (max-width:767px){
	.elementor-widget-ac-mockup-hero.acw-hero-mobile-layout--stacked .acw-hero .acw-hero__inner{
		flex-direction:column;
		align-items:stretch;
	}
	.elementor-widget-ac-mockup-hero.acw-hero-mobile-layout--stacked .acw-hero .acw-hero__content,
	.elementor-widget-ac-mockup-hero.acw-hero-mobile-layout--stacked .acw-hero .acw-hero__visual{
		flex:0 0 auto;
		flex-basis:auto;
		width:100%;
		max-width:100%;
		min-width:0;
	}
	.elementor-widget-ac-mockup-hero.acw-hero-mobile-layout--stacked .acw-hero .acw-hero__actions{
		width:100%;
	}
}
