/* Adapt to the room left by the section padding, not just viewport breakpoints. */
.elementor-section.tecl-article-section{padding-inline:clamp(20px,calc((100vw - 1060px)/2),210px)!important}
.tecl-posts{min-width:0;width:100%}
.tecl-posts>.elementor-widget-container{container-type:inline-size;container-name:tecl-articles;min-width:0}
.tecl-posts .elementor-posts-container{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:clamp(18px,2vw,28px)!important;padding-inline:0!important;min-width:0}
.tecl-posts .elementor-post{min-width:0;width:100%;max-width:100%}
.tecl-posts .elementor-post__card{min-width:0;width:100%;max-width:100%;min-height:620px}
.tecl-posts .elementor-post__text{box-sizing:border-box;min-height:var(--tecl-panel-height,0px);display:flex;flex-direction:column;padding-inline:clamp(16px,2cqi,22px)!important}
.tecl-posts .elementor-post__title{font-size:clamp(22px,2.3cqi,27px)!important;word-break:normal;overflow-wrap:anywhere}
.tecl-posts .elementor-post__excerpt{flex:none}
.tecl-posts .elementor-post__read-more{margin-top:auto!important;flex:none}
.tecl-posts .elementor-post__meta-data{left:clamp(31px,3.5cqi,37px);right:clamp(31px,3.5cqi,37px)}
/* Native Swiper does the movement; only the small controls have backdrop blur. */
.tecl-video-carousel{--tecl-video-glow:30,174,255}
.tecl-video-carousel>.elementor-widget-container{position:relative;border-radius:36px;border:1px solid #28b8ff40;background:linear-gradient(130deg,#ffffff0a,#020609c9 65%);box-shadow:inset 0 1px #ffffff24,0 0 28px #149cff0d;overflow:hidden}
.tecl-video-carousel .elementor-swiper{position:relative;padding:26px 64px 0}
.tecl-video-carousel .elementor-main-swiper{overflow:visible;position:relative;padding-bottom:78px!important}
.tecl-video-carousel .swiper-wrapper{transition-timing-function:cubic-bezier(.22,.75,.2,1)!important}
.tecl-video-carousel .swiper-slide{border-radius:28px;border:1px solid #ffffff2b;background:#000;overflow:hidden;box-sizing:border-box;backface-visibility:hidden;transition-timing-function:cubic-bezier(.22,.75,.2,1)!important}
.tecl-video-carousel .swiper-slide-active{border-color:#44c4ff9c;box-shadow:0 0 24px #149dff2a,inset 0 1px #ffffff35}
.tecl-video-carousel .swiper-slide-shadow-left,.tecl-video-carousel .swiper-slide-shadow-right{display:none!important}
.tecl-video-carousel .swiper-slide>a{display:block;position:relative;border-radius:27px;overflow:hidden;color:#fff}
.tecl-video-carousel .elementor-carousel-image{height:auto!important;aspect-ratio:16/9;min-height:190px;background-size:cover;background-position:center;opacity:.62;transition:opacity .6s ease}
.tecl-video-carousel .swiper-slide-active .elementor-carousel-image{opacity:1}
.tecl-video-carousel .elementor-custom-embed-play{display:none!important}
.tecl-video-carousel .swiper-slide>a:before{content:'\25B6\FE0E';position:absolute;z-index:3;left:50%;top:43%;transform:translate(-50%,-50%);display:grid;place-items:center;padding-left:4px;width:64px;height:64px;border:1px solid #ffffff75;border-radius:50%;background:linear-gradient(130deg,#ffffff29,#050e1b80);-webkit-backdrop-filter:blur(10px) saturate(150%);backdrop-filter:blur(10px) saturate(150%);box-shadow:inset 0 1px #ffffff66,0 0 25px #189dff24;color:#fff;font-size:21px;pointer-events:none}

.tecl-video-carousel .elementor-swiper-button{position:absolute;top:auto!important;bottom:14px;transform:none!important;z-index:5;display:grid;place-items:center;width:49px;height:49px;border:1px solid #40bbff99;border-radius:50%;background:linear-gradient(130deg,#ffffff1c,#0a152680);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff40,0 0 16px #239eff20;color:#ddf4ff;transition:background .25s,box-shadow .25s}
.tecl-video-carousel .elementor-swiper-button-prev{left:22px!important;right:auto!important}
.tecl-video-carousel .elementor-swiper-button-next{right:22px!important;left:auto!important}
.tecl-video-carousel .elementor-swiper-button svg{width:20px;height:20px;fill:currentColor}
.tecl-video-carousel .swiper-pagination{position:absolute;bottom:32px!important;left:50%!important;right:auto!important;top:auto!important;width:auto!important;max-width:calc(100% - 170px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;z-index:4}
.tecl-video-carousel .swiper-pagination-bullet{width:7px;height:7px;margin:0!important;background:#c5dacf;opacity:.38;border-radius:20px;transition:width .4s ease,background .4s ease,opacity .4s ease}
.tecl-video-carousel .swiper-pagination-bullet-active{width:26px;opacity:1;background:#48c7ff;box-shadow:0 0 12px #289fff77}
.tecl-video-carousel a:focus-visible,.tecl-video-carousel .elementor-swiper-button:focus-visible{outline:2px solid #52caff;outline-offset:-4px}
@media(hover:hover) and (pointer:fine){.tecl-video-carousel .elementor-swiper-button:hover{background:#123e608c;box-shadow:inset 0 1px #fff4,0 0 22px #31aaff40}.tecl-video-carousel .swiper-slide>a:hover:before{background:#19507c80;border-color:#80d7ff}}
@media(max-width:700px){.tecl-posts .elementor-post__text{padding-inline:20px!important}.tecl-posts .elementor-post__title{font-size:24px!important}.tecl-posts .elementor-post__meta-data{left:35px;right:35px}.tecl-video-carousel>.elementor-widget-container{border-radius:28px}.tecl-video-carousel .elementor-swiper{padding:18px 16px 0}.tecl-video-carousel .swiper-slide{border-radius:24px}.tecl-video-carousel .swiper-slide>a{border-radius:23px}.tecl-video-carousel .swiper-slide>a:before{width:56px;height:56px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.tecl-video-carousel *{transition-duration:0ms!important;animation:none!important}}
@media(prefers-reduced-transparency:reduce){.tecl-video-carousel .swiper-slide>a:before,.tecl-video-carousel .elementor-swiper-button{background:#0b1728;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* A long neighbouring heading otherwise widened the page around 1180px. */
body.home .elementor-element-dad6222 .elementor-heading-title{font-size:clamp(30px,4.2vw,64px)!important;overflow-wrap:anywhere}

/* Elementor's transition:all must not animate responsive padding or panel heights. */
.tecl-article-section,.tecl-posts,.tecl-posts>.elementor-widget-container,.tecl-posts .elementor-posts-container,.tecl-posts .elementor-post,.tecl-posts .elementor-post__text{transition-property:background-color,border-color,box-shadow!important}

/* Give the video feature the same content width as the article grid. */
.elementor-section.tecl-video-section{padding-inline:clamp(20px,calc((100vw - 1060px)/2),210px)!important;transition-property:background-color,border-color,box-shadow!important}
.tecl-video-section>.elementor-container{max-width:none!important;min-width:0}
.tecl-video-section .elementor-column,.tecl-video-section .elementor-widget-wrap{min-width:0}
.tecl-video-carousel .elementor-swiper{padding-inline:28px}
.tecl-video-carousel .elementor-main-swiper{height:auto!important}
.tecl-video-carousel .swiper-slide{height:auto}
.tecl-video-carousel .elementor-carousel-image{min-height:0}
@media(max-width:700px){.tecl-video-carousel .elementor-swiper{padding-inline:14px}.tecl-video-carousel .swiper-slide>a:before{width:52px;height:52px}.tecl-video-carousel .elementor-swiper-button-prev{left:4px!important}.tecl-video-carousel .elementor-swiper-button-next{right:4px!important}}

.tecl-video-carousel .swiper-wrapper{height:auto!important;align-items:flex-start}

/* A lower desktop profile; keep the approved phone/tablet composition. */
@media(min-width:1101px){.tecl-video-carousel .elementor-carousel-image{aspect-ratio:20/9}}

.tecl-posts{--tecl-market-glow:30,174,255}
.tecl-posts .elementor-post__read-more{color:#b5e6ff!important}
.tecl-posts .elementor-post__badge{border-color:#30b6ff70;background:#04101cb8!important;color:#c6edff!important}
.tecl-posts .elementor-post__avatar{border-color:#65caff80;box-shadow:0 0 14px #229dff20}
