.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-bc38d58{font-family:"Roboto", Sans-serif;font-weight:400;color:#F58220;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-1af5ec8{width:var( --container-widget-width, 101.812% );max-width:101.812%;--container-widget-width:101.812%;--container-widget-flex-grow:0;text-align:center;}.elementor-31 .elementor-element.elementor-element-1af5ec8.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-31 .elementor-element.elementor-element-1af5ec8 .elementor-heading-title{font-size:50px;font-weight:700;color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-fa4c645{width:var( --container-widget-width, 45.323% );max-width:45.323%;--container-widget-width:45.323%;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-weight:400;color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-fa4c645.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-31 .elementor-element.elementor-element-bcc49f8{--grid-columns:3;--load-more-button-align:center;}.elementor-31 .elementor-element.elementor-element-bcc49f8 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-31 .elementor-element.elementor-element-bcc49f8 .e-loop-item > .elementor-section, .elementor-31 .elementor-element.elementor-element-bcc49f8 .e-loop-item > .elementor-section > .elementor-container, .elementor-31 .elementor-element.elementor-element-bcc49f8 .e-loop-item > .e-con, .elementor-31 .elementor-element.elementor-element-bcc49f8 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-31 .elementor-element.elementor-element-ed3dab1{width:var( --container-widget-width, 101.812% );max-width:101.812%;--container-widget-width:101.812%;--container-widget-flex-grow:0;text-align:center;}.elementor-31 .elementor-element.elementor-element-ed3dab1.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-31 .elementor-element.elementor-element-ed3dab1 .elementor-heading-title{font-size:50px;font-weight:700;color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-b47adc5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-31 .elementor-element.elementor-element-dcdd72e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--margin-top:25px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-31 .elementor-element.elementor-element-1d026ff{width:var( --container-widget-width, 33.333% );max-width:33.333%;background-color:#FFFFFF;padding:036px 24px 36px 24px;--container-widget-width:33.333%;--container-widget-flex-grow:0;border-radius:016px 016px 016px 016px;box-shadow:0px 0px 10px 0px rgba(12.999999999999991, 63.99999999999996, 89, 0.12);}.elementor-31 .elementor-element.elementor-element-1d026ff:hover{background-color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-1d026ff .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-31 .elementor-element.elementor-element-1d026ff.elementor-view-stacked .elementor-icon{background-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-1d026ff.elementor-view-framed .elementor-icon, .elementor-31 .elementor-element.elementor-element-1d026ff.elementor-view-default .elementor-icon{fill:#32A9DD;color:#32A9DD;border-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-1d026ff .elementor-icon{font-size:42px;}.elementor-31 .elementor-element.elementor-element-1d026ff .elementor-icon-box-title{color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-1d026ff .elementor-icon-box-description{color:#61727C;}.elementor-31 .elementor-element.elementor-element-91c655f{width:var( --container-widget-width, 33.333% );max-width:33.333%;background-color:#FFFFFF;padding:036px 24px 36px 24px;--container-widget-width:33.333%;--container-widget-flex-grow:0;border-radius:016px 016px 016px 016px;box-shadow:0px 0px 10px 0px rgba(12.999999999999991, 63.99999999999996, 89, 0.12);}.elementor-31 .elementor-element.elementor-element-91c655f:hover{background-color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-91c655f .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-31 .elementor-element.elementor-element-91c655f.elementor-view-stacked .elementor-icon{background-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-91c655f.elementor-view-framed .elementor-icon, .elementor-31 .elementor-element.elementor-element-91c655f.elementor-view-default .elementor-icon{fill:#32A9DD;color:#32A9DD;border-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-91c655f .elementor-icon{font-size:42px;}.elementor-31 .elementor-element.elementor-element-91c655f .elementor-icon-box-title{color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-91c655f .elementor-icon-box-description{color:#61727C;}.elementor-31 .elementor-element.elementor-element-5ca318a{width:var( --container-widget-width, 33.333% );max-width:33.333%;background-color:#FFFFFF;padding:036px 24px 36px 24px;--container-widget-width:33.333%;--container-widget-flex-grow:0;border-radius:016px 016px 016px 016px;box-shadow:0px 0px 10px 0px rgba(12.999999999999991, 63.99999999999996, 89, 0.12);}.elementor-31 .elementor-element.elementor-element-5ca318a:hover{background-color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-5ca318a .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-31 .elementor-element.elementor-element-5ca318a.elementor-view-stacked .elementor-icon{background-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-5ca318a.elementor-view-framed .elementor-icon, .elementor-31 .elementor-element.elementor-element-5ca318a.elementor-view-default .elementor-icon{fill:#32A9DD;color:#32A9DD;border-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-5ca318a .elementor-icon{font-size:42px;}.elementor-31 .elementor-element.elementor-element-5ca318a .elementor-icon-box-title{color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-5ca318a .elementor-icon-box-description{color:#61727C;}.elementor-31 .elementor-element.elementor-element-72506d5{width:var( --container-widget-width, 33.333% );max-width:33.333%;background-color:#FFFFFF;padding:036px 24px 36px 24px;--container-widget-width:33.333%;--container-widget-flex-grow:0;border-radius:016px 016px 016px 016px;box-shadow:0px 0px 10px 0px rgba(12.999999999999991, 63.99999999999996, 89, 0.12);}.elementor-31 .elementor-element.elementor-element-72506d5:hover{background-color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-72506d5 .elementor-icon-box-wrapper{text-align:center;gap:15px;}.elementor-31 .elementor-element.elementor-element-72506d5.elementor-view-stacked .elementor-icon{background-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-72506d5.elementor-view-framed .elementor-icon, .elementor-31 .elementor-element.elementor-element-72506d5.elementor-view-default .elementor-icon{fill:#32A9DD;color:#32A9DD;border-color:#32A9DD;}.elementor-31 .elementor-element.elementor-element-72506d5 .elementor-icon{font-size:42px;}.elementor-31 .elementor-element.elementor-element-72506d5 .elementor-icon-box-title{color:#0A4A67;}.elementor-31 .elementor-element.elementor-element-72506d5 .elementor-icon-box-description{color:#61727C;}.elementor-31 .elementor-element.elementor-element-75777b1{font-family:"Roboto", Sans-serif;font-weight:400;color:#FFAC65;}.elementor-31 .elementor-element.elementor-element-d77d792{font-family:"Roboto", Sans-serif;font-size:38px;font-weight:400;color:#FFAC65;}.elementor-31 .elementor-element.elementor-element-8f78d24{font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}@media(min-width:768px){.elementor-31 .elementor-element.elementor-element-dcdd72e{--width:100%;}}@media(max-width:1024px){.elementor-31 .elementor-element.elementor-element-fa4c645{width:var( --container-widget-width, 469.83px );max-width:469.83px;--container-widget-width:469.83px;--container-widget-flex-grow:0;}.elementor-31 .elementor-element.elementor-element-bcc49f8{--grid-columns:2;}}@media(max-width:767px){.elementor-31 .elementor-element.elementor-element-1af5ec8 .elementor-heading-title{font-size:30px;}.elementor-31 .elementor-element.elementor-element-bcc49f8{--grid-columns:1;}.elementor-31 .elementor-element.elementor-element-ed3dab1 .elementor-heading-title{font-size:30px;}.elementor-31 .elementor-element.elementor-element-dcdd72e{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-31 .elementor-element.elementor-element-1d026ff{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-31 .elementor-element.elementor-element-91c655f{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-31 .elementor-element.elementor-element-5ca318a{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-31 .elementor-element.elementor-element-72506d5{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}/* Start custom CSS for text-editor, class: .elementor-element-bc38d58 */.elementor-31 .elementor-element.elementor-element-bc38d58 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-bc38d58:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-bc38d58::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1af5ec8 */.elementor-31 .elementor-element.elementor-element-1af5ec8 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-1af5ec8:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-1af5ec8::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa4c645 */.elementor-31 .elementor-element.elementor-element-fa4c645 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-fa4c645:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-fa4c645::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ed3dab1 */.elementor-31 .elementor-element.elementor-element-ed3dab1 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-ed3dab1:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-ed3dab1::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-1d026ff */.elementor-31 .elementor-element.elementor-element-1d026ff {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.elementor-31 .elementor-element.elementor-element-1d026ff:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(12,112,157,0.18);
}
.elementor-31 .elementor-element.elementor-element-1d026ff:hover .elementor-icon {
  transform: scale(1.15) rotate(-6deg);
  transition: transform 0.35s ease;
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-91c655f */.elementor-31 .elementor-element.elementor-element-91c655f {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.elementor-31 .elementor-element.elementor-element-91c655f:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(12,112,157,0.18);
}
.elementor-31 .elementor-element.elementor-element-91c655f:hover .elementor-icon {
  transform: scale(1.15) rotate(-6deg);
  transition: transform 0.35s ease;
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-5ca318a */.elementor-31 .elementor-element.elementor-element-5ca318a {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.elementor-31 .elementor-element.elementor-element-5ca318a:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(12,112,157,0.18);
}
.elementor-31 .elementor-element.elementor-element-5ca318a:hover .elementor-icon {
  transform: scale(1.15) rotate(-6deg);
  transition: transform 0.35s ease;
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-72506d5 */.elementor-31 .elementor-element.elementor-element-72506d5 {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.elementor-31 .elementor-element.elementor-element-72506d5:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(12,112,157,0.18);
}
.elementor-31 .elementor-element.elementor-element-72506d5:hover .elementor-icon {
  transform: scale(1.15) rotate(-6deg);
  transition: transform 0.35s ease;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-75777b1 */.elementor-31 .elementor-element.elementor-element-75777b1 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-75777b1:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-75777b1::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-d77d792 */.elementor-31 .elementor-element.elementor-element-d77d792 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-d77d792:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-d77d792::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8f78d24 */.elementor-31 .elementor-element.elementor-element-8f78d24 {
	position: relative;
	display: inline-block;
	letter-spacing: 0.3px;
	transition: transform 0.35s ease;
}

.elementor-31 .elementor-element.elementor-element-8f78d24:hover {
	transform: scale(1.01);
}

.elementor-31 .elementor-element.elementor-element-8f78d24::before {
	content: "";
	position: absolute;
	inset: -14px -22px;
	border-radius: 8px;
	z-index: -1;
}/* End custom CSS */
/* Start custom CSS *//* Project buttons: readable hover and touch spacing */
body .elementor-31 .elementor-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 28px!important;border-radius:228px!important;background:linear-gradient(166deg,#1073A3 56%,#9FC4D6 100%)!important;color:#fff!important;border:1px solid #1073A3!important;font-size:15px;font-weight:500;line-height:1.4;text-decoration:none!important;opacity:1!important;box-shadow:0 8px 20px #1073a34d;transition:background .25s,color .25s,box-shadow .25s,transform .25s;}
body .elementor-31 .elementor-button:hover,body .elementor-31 .elementor-button:focus-visible {background:#BFE8F5!important;color:#063F58!important;border-color:#1073A3!important;opacity:1!important;box-shadow:0 12px 26px #1073a340;transform:translateY(-2px);}
body .elementor-31 .elementor-button:focus-visible {outline:3px solid #F97316;outline-offset:4px;}
body .elementor-31 .elementor-button span {color:inherit!important;}
body .elementor-31 .elementor-element-667c984 .elementor-button {background:#BFE8F5!important;color:#063F58!important;}
body .elementor-31 .elementor-element-667c984 .elementor-button:hover {background:#8FD2EB!important;color:#063F58!important;}
body .elementor-31 .elementor-element-7ee994c {gap:16px!important;flex-wrap:wrap!important;align-items:center;}
body .elementor-31 .elementor-element-7ee994c > .elementor-widget-button {width:auto!important;margin:0!important;}
@media(max-width:767px){body .elementor-31 .elementor-element-7ee994c {gap:12px!important;}body .elementor-31 .elementor-element-7ee994c > .elementor-widget-button {width:100%!important;}body .elementor-31 .elementor-element-7ee994c .elementor-button {width:100%;}}
@media(prefers-reduced-motion:reduce){body .elementor-31 .elementor-button {transition:none!important;transform:none!important;}}
/* Project grid: stationary wrapper, individual card lift */
body .elementor-31 .elementor-element-734e087,body .elementor-31 .elementor-element-734e087:hover {transform:none!important;translate:none!important;scale:none!important;}
body .elementor-31 .elementor-element-bcc49f8 .e-loop-item {border-radius:12px;transition:transform .25s ease,box-shadow .25s ease;}
@media(hover:hover) and (pointer:fine){body .elementor-31 .elementor-element-bcc49f8 .e-loop-item:hover {transform:translateY(-5px);box-shadow:0 12px 28px rgba(16,115,163,.14);}}
body .elementor-31 .elementor-element-bcc49f8 .e-loop-item:focus-within {box-shadow:0 0 0 2px #1073A3;}
@media(prefers-reduced-motion:reduce){body .elementor-31 .elementor-element-bcc49f8 .e-loop-item {transition:none!important;transform:none!important;}}
/* Project list breathing room */
body .elementor-31 .elementor-element-734e087 {padding:32px!important;box-sizing:border-box;}
body .elementor-31 .elementor-element-bcc49f8 {width:100%;min-width:0;}
body .elementor-31 .elementor-element-bcc49f8 .elementor-loop-container {column-gap:28px!important;row-gap:32px!important;}
body .elementor-31 .elementor-element-bcc49f8 .e-loop-item {min-width:0;}
body .elementor-31 .elementor-element-bcc49f8 .elementor-element-feac378 {padding:20px!important;box-sizing:border-box;}
body .elementor-31 .elementor-element-bcc49f8 .e-loop__load-more {margin-top:32px;}
@media(max-width:1024px){body .elementor-31 .elementor-element-734e087 {padding:24px!important;}}
@media(max-width:767px){body .elementor-31 .elementor-element-734e087 {padding:20px 16px!important;}body .elementor-31 .elementor-element-bcc49f8 .elementor-loop-container {gap:24px!important;}body .elementor-31 .elementor-element-bcc49f8 .elementor-element-feac378 {padding:18px!important;}}
/* Load more: supplied Elementor button style */
body .elementor-31 .elementor-element-bcc49f8 .e-loop__load-more .elementor-button {font-size:15px!important;font-weight:500!important;border-radius:228px!important;border:0!important;color:#fff!important;background:linear-gradient(166deg,#1073A3 56%,#9FC4D6 100%)!important;box-shadow:0 8px 20px #1073a34d;transition:all 300ms;transform:none;}
body .elementor-31 .elementor-element-bcc49f8 .e-loop__load-more .elementor-button:hover,body .elementor-31 .elementor-element-bcc49f8 .e-loop__load-more .elementor-button:focus-visible {color:#fff!important;background:linear-gradient(166deg,#1073A3 56%,#9FC4D6 100%)!important;box-shadow:0 14px 30px #1073a373;transform:translateY(-4px);}
@media(prefers-reduced-motion:reduce){body .elementor-31 .elementor-element-bcc49f8 .e-loop__load-more .elementor-button {transition:none!important;transform:none!important;}}

/* ================================================================
   Hiệu ứng & background sinh động hơn cho trang Dự án (page 31)
   Tham khảo ngôn ngữ hover đã dùng ở trang Giới thiệu (lift + shadow + border accent)
   ================================================================ */

@keyframes tbk-du-an-float {
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-4%,4%) scale(1.08);}
}

/* Hero: them 1 quang sang mem chuyen dong nhe phia tren ben phai */
body .elementor-31 .elementor-element-52db213{position:relative;isolation:isolate;}
body .elementor-31 .elementor-element-52db213::after{
  content:"";position:absolute;top:-25%;right:-8%;width:34%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(159,196,214,.30) 0%,rgba(159,196,214,0) 70%);
  pointer-events:none;z-index:0;animation:tbk-du-an-float 16s ease-in-out infinite;
}

/* Khu vuc "Du an moi nhat": 2 khoi blob mo cho do phang, noi dung van o tren */
body .elementor-31 .elementor-element-85bcb43{position:relative;overflow:hidden;isolation:isolate;}
body .elementor-31 .elementor-element-85bcb43::before{
  content:"";position:absolute;top:-12%;right:-8%;width:28%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(25,168,200,.14) 0%,rgba(25,168,200,0) 70%);
  pointer-events:none;z-index:0;animation:tbk-du-an-float 18s ease-in-out infinite;
}
body .elementor-31 .elementor-element-85bcb43::after{
  content:"";position:absolute;bottom:-16%;left:-10%;width:24%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(245,130,32,.10) 0%,rgba(245,130,32,0) 70%);
  pointer-events:none;z-index:0;animation:tbk-du-an-float 22s ease-in-out infinite reverse;
}
body .elementor-31 .elementor-element-85bcb43>.elementor-element{position:relative;z-index:1;}

/* CTA teal "Ban dang chuan bi du an?": them quang sang mo chuyen dong */
body .elementor-31 .elementor-element-75c1087{position:relative;overflow:hidden;isolation:isolate;}
body .elementor-31 .elementor-element-75c1087::before{
  content:"";position:absolute;top:-35%;right:-10%;width:44%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%);
  pointer-events:none;z-index:0;animation:tbk-du-an-float 20s ease-in-out infinite;
}
body .elementor-31 .elementor-element-75c1087>.elementor-element{position:relative;z-index:1;}

/* Khoi "Du an tieu bieu" cuoi trang: them gradient nhe + quang sang thay vi nen trang phang */
body .elementor-31 .elementor-element-container_4m60b04yv{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#f5fbfe 0%,#ffffff 100%)!important;
}
body .elementor-31 .elementor-element-container_4m60b04yv::after{
  content:"";position:absolute;top:-45%;left:50%;transform:translateX(-50%);width:56%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(25,168,200,.10) 0%,rgba(25,168,200,0) 70%);
  pointer-events:none;z-index:0;
}
body .elementor-31 .elementor-element-container_4m60b04yv>*{position:relative;z-index:1;}

@media(prefers-reduced-motion:reduce){
  body .elementor-31 .elementor-element-52db213::after,
  body .elementor-31 .elementor-element-85bcb43::before,
  body .elementor-31 .elementor-element-85bcb43::after,
  body .elementor-31 .elementor-element-75c1087::before{animation:none!important;}
}

/* The du an: cho the co khoi ro rang + hover phong phu hon (vien + anh zoom + tieu de doi mau) */
body .elementor-31 .elementor-element-bcc49f8 .e-loop-item{
  background:#fff;border:1px solid rgba(16,115,163,.08);box-sizing:border-box;
  box-shadow:0 6px 18px rgba(16,115,163,.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body .elementor-31 .elementor-element-84c231e{overflow:hidden;border-radius:12px 12px 0 0;}
body .elementor-31 .elementor-element-c9b3a12 img{transition:transform .5s ease;display:block;}
body .elementor-31 .elementor-element-c380736 .elementor-heading-title a{transition:color .25s ease;}

@media(hover:hover) and (pointer:fine){
  body .elementor-31 .elementor-element-bcc49f8 .e-loop-item:hover{border-color:rgba(16,115,163,.4);}
  body .elementor-31 .elementor-element-bcc49f8 .e-loop-item:hover .elementor-element-c9b3a12 img{transform:scale(1.08);}
  body .elementor-31 .elementor-element-bcc49f8 .e-loop-item:hover .elementor-element-c380736 .elementor-heading-title a{color:#1073A3;}
}

@media(prefers-reduced-motion:reduce){
  body .elementor-31 .elementor-element-c9b3a12 img{transition:none!important;}
}


/* ================================================================
   Hover chu (khong nam trong o/box) - ap dung mau tham khao tu trang Gioi thieu
   ================================================================ */
body .elementor-31 [data-id="02c2ef1"],\nbody .elementor-31 [data-id="0d86698"],\nbody .elementor-31 [data-id="7c9afa8"],\nbody .elementor-31 [data-id="bb0f89d"],\nbody .elementor-31 [data-id="1b691ae"],\nbody .elementor-31 [data-id="36c363b"],\nbody .elementor-31 [data-id="b44e091"],\nbody .elementor-31 [data-id="9b588c8"],\nbody .elementor-31 [data-id="b173e59"],\nbody .elementor-31 [data-id="4f9d9d5"],\nbody .elementor-31 [data-id="widget_8d3ray1pb"],\nbody .elementor-31 [data-id="widget_kxp5zne7t"]{
  position:relative;
  display:inline-block;
  letter-spacing:0.3px;
  transition:transform .35s ease;
}

body .elementor-31 [data-id="02c2ef1"]:hover,\nbody .elementor-31 [data-id="0d86698"]:hover,\nbody .elementor-31 [data-id="7c9afa8"]:hover,\nbody .elementor-31 [data-id="bb0f89d"]:hover,\nbody .elementor-31 [data-id="1b691ae"]:hover,\nbody .elementor-31 [data-id="36c363b"]:hover,\nbody .elementor-31 [data-id="b44e091"]:hover,\nbody .elementor-31 [data-id="9b588c8"]:hover,\nbody .elementor-31 [data-id="b173e59"]:hover,\nbody .elementor-31 [data-id="4f9d9d5"]:hover,\nbody .elementor-31 [data-id="widget_8d3ray1pb"]:hover,\nbody .elementor-31 [data-id="widget_kxp5zne7t"]:hover{
  transform:scale(1.03);
}

body .elementor-31 [data-id="02c2ef1"]::before,\nbody .elementor-31 [data-id="0d86698"]::before,\nbody .elementor-31 [data-id="7c9afa8"]::before,\nbody .elementor-31 [data-id="bb0f89d"]::before,\nbody .elementor-31 [data-id="1b691ae"]::before,\nbody .elementor-31 [data-id="36c363b"]::before,\nbody .elementor-31 [data-id="b44e091"]::before,\nbody .elementor-31 [data-id="9b588c8"]::before,\nbody .elementor-31 [data-id="b173e59"]::before,\nbody .elementor-31 [data-id="4f9d9d5"]::before,\nbody .elementor-31 [data-id="widget_8d3ray1pb"]::before,\nbody .elementor-31 [data-id="widget_kxp5zne7t"]::before{
  content:"";
  position:absolute;
  inset:-14px -22px;
  border-radius:8px;
  z-index:-1;
}

@media(prefers-reduced-motion:reduce){
body .elementor-31 [data-id="02c2ef1"],\nbody .elementor-31 [data-id="0d86698"],\nbody .elementor-31 [data-id="7c9afa8"],\nbody .elementor-31 [data-id="bb0f89d"],\nbody .elementor-31 [data-id="1b691ae"],\nbody .elementor-31 [data-id="36c363b"],\nbody .elementor-31 [data-id="b44e091"],\nbody .elementor-31 [data-id="9b588c8"],\nbody .elementor-31 [data-id="b173e59"],\nbody .elementor-31 [data-id="4f9d9d5"],\nbody .elementor-31 [data-id="widget_8d3ray1pb"],\nbody .elementor-31 [data-id="widget_kxp5zne7t"]{transition:none!important;}
}


/* Fix: chan blob trang tri hero tran ra ngoai gay scroll ngang */
body .elementor-31 .elementor-element-52db213{overflow:hidden;}/* End custom CSS */