
/* Native Elementor portfolio sections: creatives and brand identity. */
body .elementor.elementor .wi-creatives{overflow:hidden}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-creatives){background:radial-gradient(ellipse at 90% 0,#123d8e80,transparent 52%),#06112c;color:#fff}
body .elementor.elementor .wi-creative-heading {display:grid!important;grid-template-columns:1fr auto;gap:50px;align-items:end}
body .elementor.elementor .wi-creative-copy {gap:20px;max-width:730px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creatives .wi-eyebrow .elementor-heading-title){color:#8db5ff}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creatives h2 span){color:#f2c029}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creatives .elementor-widget-text-editor){color:#bccce6}
body .elementor.elementor .wi-creatives .wi-creative-cta {margin-bottom:4px}
body .elementor.elementor .wi-creative-tags {flex-direction:row;flex-wrap:wrap;gap:10px}

body .elementor.elementor .wi-section .wi-creative-tag{width:auto!important;padding:9px 15px}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-section .wi-creative-tag){border:1px solid #45618b;border-radius:30px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creative-tag .elementor-heading-title){font-size:11px;letter-spacing:.2px;font-weight:600;color:#e0eaff}
body .elementor.elementor .wi-portfolio-carousel {min-width:0;width:100%;--e-image-carousel-slides-to-show:3}
body .elementor.elementor .wi-portfolio-carousel .swiper {padding:0 0 42px;min-width:0;width:100%;overflow:hidden}
body .elementor.elementor .wi-portfolio-carousel .swiper-slide {height:auto}

body .elementor.elementor .wi-portfolio-carousel .swiper-slide-inner{margin:0;overflow:hidden}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-portfolio-carousel .swiper-slide-inner){border-radius:14px}
body .elementor.elementor .wi-social-carousel .swiper {padding-top:22px;padding-bottom:64px}
body .elementor.elementor .wi-social-carousel .swiper-wrapper {transition-timing-function:linear!important}

body .elementor.elementor .wi-social-carousel .swiper-slide-inner{transform:rotate(-3deg) scale(.93);transform-origin:center}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-social-carousel .swiper-slide-inner){border:1px solid #315081;background:radial-gradient(ellipse at 50% 35%,#234b8b,transparent 70%),#0c1c3f}
body .elementor.elementor .wi-social-carousel .swiper-slide-image {width:100%;aspect-ratio:4/4.6;object-fit:contain;padding:22px;transition:transform .25s ease}
body .elementor.elementor .wi-social-carousel a:hover .swiper-slide-image {transform:scale(1.035)}

body .elementor.elementor .wi-carousel-toggle{position:relative;z-index:11;display:block;margin:18px 0 0 auto;padding:10px 15px;min-height:40px;cursor:pointer}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-carousel-toggle){border:1px solid #45618b;border-radius:24px;background:transparent;color:#e0eaff;font:600 11px/1.5 Manrope,Arial,sans-serif}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-carousel-toggle:hover){background:#18345c;border-color:#8db5ff}
body .elementor.elementor .wi-carousel-toggle[hidden] {display:none}

body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button{height:44px;width:44px;justify-content:center;top:calc(50% - 21px)}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button){border-radius:50%;background:#fff;color:#0511f2;border:1px solid #dce3ef;box-shadow:0 3px 20px #06112c20}

body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button svg{width:18px;height:18px}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button svg){fill:#0511f2}
body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button-prev {left:12px}
body .elementor.elementor .wi-portfolio-carousel .elementor-swiper-button-next {right:12px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-portfolio-carousel .swiper-button-disabled){opacity:.3}
body .elementor.elementor .wi-portfolio-carousel .swiper-pagination {bottom:0}
body .elementor.elementor .wi-social-carousel .swiper-pagination {bottom:60px}

body .elementor.elementor .wi-portfolio-carousel .swiper-pagination-bullet{width:8px;height:8px}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-portfolio-carousel .swiper-pagination-bullet){background:#8c9fbe;opacity:.55}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creatives .swiper-pagination-bullet-active){background:#f2c029;opacity:1}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-branding .swiper-pagination-bullet-active){background:#0511f2;opacity:1}
body .elementor.elementor .wi-portfolio-carousel a:focus-visible {outline-offset:-4px}
body .elementor.elementor .wi-portfolio-foot {flex-direction:row;justify-content:space-between;gap:20px;margin-top:-18px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-section .wi-portfolio-caption),
.elementor.elementor.elementor :where(body .elementor.elementor .wi-section .wi-portfolio-hint){font-size:12px;line-height:1.6}
body .elementor.elementor .wi-portfolio-foot>.elementor-widget {width:auto!important}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-branding){background:linear-gradient(180deg,#fff,#f5f7fc);border-bottom:1px solid #e3e8f2}
body .elementor.elementor .wi-branding .wi-wrap {gap:60px}
body .elementor.elementor .wi-brand-grid {display:grid!important;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}

body .elementor.elementor .wi-brand-visual{gap:0;overflow:hidden}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-visual){border:1px solid #dce3ef;border-radius:18px;background:#071333;box-shadow:0 24px 55px #17326915}
body .elementor.elementor .wi-brand-featured img {width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;object-position:40% center;display:block}

body .elementor.elementor .wi-brand-caption{padding:28px!important;gap:12px}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-caption){color:#fff}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-caption .elementor-widget-text-editor){color:#aebfdd;font-size:11px}
body .elementor.elementor .wi-brand-copy {gap:23px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-copy h2.elementor-heading-title){font-size:39px}
body .elementor.elementor .wi-brand-features {display:grid!important;grid-template-columns:1fr 1fr;gap:14px}

body .elementor.elementor .wi-brand-feature{padding:20px!important;gap:13px;transition:border-color .2s,box-shadow .2s}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature){border:1px solid #e0e6f3;border-radius:10px;background:#fff}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature:hover){border-color:#b4bdff;box-shadow:0 10px 24px #1638790a}
body .elementor.elementor .wi-brand-icon {align-self:flex-start}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-icon .elementor-icon){color:#0511f2;font-size:22px}

body .elementor.elementor .wi-brand-icon svg{width:22px;height:22px}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-icon svg){fill:#0511f2}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature h3.elementor-heading-title){font-size:16px;letter-spacing:-.3px;line-height:1.3}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature .elementor-widget-text-editor){font-size:12px;line-height:1.7}

body .elementor.elementor .wi-brand-gallery-heading{flex-direction:row;justify-content:space-between;align-items:end;gap:30px;padding-top:35px!important}
.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-gallery-heading){border-top:1px solid #dde4f0}
body .elementor.elementor .wi-brand-gallery-heading>.elementor-widget {width:auto!important}
body .elementor.elementor .wi-brand-carousel {--e-image-carousel-slides-to-show:4;margin-top:-25px!important}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-carousel .swiper-slide-inner){border:1px solid #ced9ea;background:#06112c}
body .elementor.elementor .wi-brand-carousel .swiper-slide-image {width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;display:block}
@media(max-width:1024px){
 body .elementor.elementor .wi-creative-heading {grid-template-columns:1fr;gap:25px}
 body .elementor.elementor .wi-creative-cta {justify-self:start}
 body .elementor.elementor .wi-brand-grid {gap:30px;grid-template-columns:.9fr 1.1fr;align-items:start}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-copy h2.elementor-heading-title){font-size:30px}
 body .elementor.elementor .wi-brand-features {grid-template-columns:1fr}
 body .elementor.elementor .wi-brand-feature {padding:18px!important}
 body .elementor.elementor .wi-brand-visual {position:sticky;top:30px}
 body .elementor.elementor .wi-portfolio-carousel {--e-image-carousel-slides-to-show:2}
}
@media(max-width:767px){
 body .elementor.elementor .wi-creative-tags {gap:8px}
 body .elementor.elementor .wi-section .wi-creative-tag {padding:8px 12px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-creative-tag .elementor-heading-title){font-size:10px}
 body .elementor.elementor .wi-social-carousel .swiper-slide-image {aspect-ratio:4/4.7;padding:20px}
 body .elementor.elementor .wi-portfolio-carousel {--e-image-carousel-slides-to-show:1}
 body .elementor.elementor .wi-portfolio-foot {flex-direction:column;gap:6px;margin-top:0}
 body .elementor.elementor .wi-brand-grid {grid-template-columns:1fr;gap:30px}
 body .elementor.elementor .wi-brand-copy {order:0}
 body .elementor.elementor .wi-brand-visual {position:static;order:1}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-copy h2.elementor-heading-title){font-size:32px}
 body .elementor.elementor .wi-brand-features {grid-template-columns:1fr 1fr;gap:10px}
 body .elementor.elementor .wi-brand-feature {padding:16px!important;gap:12px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature h3.elementor-heading-title){font-size:15px}

.elementor.elementor.elementor :where(body .elementor.elementor .wi-brand-feature .elementor-widget-text-editor){font-size:12px}
 body .elementor.elementor .wi-brand-caption {padding:25px!important}
 body .elementor.elementor .wi-brand-gallery-heading {flex-direction:column;align-items:start;gap:12px;padding-top:25px!important}
 body .elementor.elementor .wi-brand-carousel {margin-top:0!important;max-width:350px;align-self:center}
 body .elementor.elementor .wi-brand-carousel .swiper-slide-image {max-height:550px}
}
@media(max-width:359px){body .elementor.elementor .wi-brand-features {grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body .elementor.elementor .wi-portfolio-carousel * {transition-duration:0ms!important}}

/* Native, editable vertical video portfolio. */
body .elementor.elementor .wi-motion .wi-wrap{gap:32px}
body .elementor.elementor .wi-motion-heading{max-width:720px;gap:16px}
body .elementor.elementor .wi-motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body .elementor.elementor .wi-motion-card{gap:14px;min-width:0}
.wi-motion-video{overflow:hidden;border-radius:16px}
.wi-motion-video .elementor-wrapper{aspect-ratio:9/16}
.wi-motion-video video{width:100%;height:100%;object-fit:contain}
.wi-motion-placeholder{aspect-ratio:9/16;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(150deg,#e9edff,#f8f9ff 55%,#dfe7ff);border:1px solid #dbe2f3;border-radius:16px;color:#667395}
.wi-motion-placeholder span{display:flex;align-items:center;justify-content:center;width:54px;height:96px;border:2px solid currentColor;border-radius:10px;font:600 13px Manrope,sans-serif;opacity:.65}
.wi-motion-placeholder p{font:600 13px Manrope,sans-serif;letter-spacing:.8px}
@media(max-width:1024px){body .elementor.elementor .wi-motion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body .elementor.elementor .wi-motion-grid{grid-template-columns:minmax(0,1fr);max-width:360px;align-self:center;width:100%;gap:32px}}

/* Events and partnerships: colors and typography live in Elementor controls. */
body .elementor.elementor .wi-events .wi-wrap{gap:32px}
body .elementor.elementor .wi-events-intro{max-width:760px;gap:18px}
body .elementor.elementor .wi-events-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
body .elementor.elementor .wi-event-card{padding:34px;gap:20px;min-width:0}
body .elementor.elementor .wi-event-card .elementor-widget-icon{align-self:flex-start}
body .elementor.elementor .wi-events-gallery{width:100%}
@media(max-width:767px){
 body .elementor.elementor .wi-events-grid{grid-template-columns:1fr}
 body .elementor.elementor .wi-event-card{padding:26px;gap:18px}
}

/* Four motion examples and three VFX examples keep balanced desktop rows. */
@media(min-width:1025px){
 body .elementor.elementor .wi-motion-grid.wi-motion-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Compact video galleries remain a single row as the portfolio grows. */
body .elementor.elementor .wi-section .wi-video-strip{
 display:grid!important;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:220px;
 gap:20px;overflow-x:auto;max-width:100%;width:100%;padding:4px 2px 18px;
 scroll-snap-type:x proximity;overscroll-behavior-x:contain;align-self:stretch;justify-content:start;
}
body .elementor.elementor .wi-video-strip>.e-con{scroll-snap-align:start;min-width:0;width:100%}
body .elementor.elementor .wi-video-strip:focus-visible{outline:2px solid #0511f2;outline-offset:5px}
body .elementor.elementor .wi-sites-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
body .elementor.elementor .wi-sites-copy{gap:22px}
body .elementor.elementor .wi-sites-preview img{width:100%;height:auto;max-height:390px;object-fit:contain}
@media(max-width:767px){
 body .elementor.elementor .wi-section .wi-video-strip{grid-auto-columns:min(200px,75vw);gap:16px}
 body .elementor.elementor .wi-sites-layout{grid-template-columns:1fr;gap:28px}
}

/* Featured brand carousel: one complete identity at a time. */
body .elementor.elementor .wi-brand-grid>.e-con{min-width:0}
body .elementor.elementor .wi-brand-featured-carousel{width:100%;min-width:0;--e-image-carousel-slides-to-show:1}
body .elementor.elementor .wi-brand-featured-carousel .swiper-slide-image{width:100%;height:auto;aspect-ratio:1.2;object-fit:contain;object-position:center;background:#071333}
body .elementor.elementor .wi-brand-featured-carousel .elementor-swiper-button{color:#fff;background:#071333cc;border-radius:50%;padding:10px;font-size:20px}
body .elementor.elementor .wi-brand-featured-carousel .swiper-pagination-bullet{background:#fff;opacity:.5}
body .elementor.elementor .wi-brand-featured-carousel .swiper-pagination-bullet-active{background:#f2c029;opacity:1}
