.elementor .e-de46237{width:100%;min-height:420px;flex-direction:row;justify-content:flex-start;align-items:center;/* =========================================
 TCC SERVICES HERO FLEXBOX
 NO-MANUAL-CLASS VERSION
 Paste into: Appearance > Customize > Additional CSS

 Requires NOTHING typed into any Elementor field.
 It auto-targets:
 - the Flexbox container that holds the section
   with class "tcc-services-page-header"
   (already in your Text Editor HTML)
 - the HTML widget that holds ".tcc-services-shape"
   (already in your HTML widget content)

 Uses the :has() selector (all modern browsers).
 ========================================= */

/* =========================================
 THE FLEXBOX CONTAINER
 Auto-detected: any container whose direct
 Text Editor child contains the services header
 ========================================= */

.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) {
position: relative;
isolation: isolate;

display: flex;
flex-direction: row;
align-items: stretch;
justify-content: flex-start;
flex-wrap: nowrap;

width: 100%;
max-width: 100%;
min-height: 420px;

margin: 0;
padding: 0;

color: #ffffff;

background:
  radial-gradient(
    circle at 12% 18%,
    rgba(255, 206, 0, 0.14) 0%,
    rgba(255, 206, 0, 0) 30%
  ),
  radial-gradient(
    circle at 82% 48%,
    rgba(47, 132, 230, 0.12) 0%,
    rgba(47, 132, 230, 0) 38%
  ),
  linear-gradient(
    135deg,
    #0a192f 0%,
    #101f4d 55%,
    #15295e 100%
  ) !important;

overflow: hidden !important;
}

/* Yellow dotted accent */
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::before,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::before {
content: "";

position: absolute;
z-index: 0;

top: 34px;
left: 34px;

width: 145px;
height: 145px;

background-image: radial-gradient(
  rgba(255, 206, 0, 0.32) 1.5px,
  transparent 1.5px
);

background-size: 15px 15px;
opacity: 0.7;

pointer-events: none;
}

/* Soft yellow glow */
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::after,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::after {
content: "";

position: absolute;
z-index: 0;

right: -120px;
bottom: -170px;

width: 420px;
height: 420px;

border-radius: 50%;

background: rgba(255, 206, 0, 0.08);
filter: blur(10px);

pointer-events: none;
}

/* Optional Elementor inner wrapper */
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
position: relative;
z-index: 1;

display: flex;
flex-direction: row;
align-items: stretch;
justify-content: flex-start;
flex-wrap: nowrap;

width: 100%;
max-width: none !important;
min-height: 420px;

margin: 0 !important;
padding: 0 !important;

overflow: hidden !important;
}

/* =========================================
 TEXT EDITOR WIDGET
 Auto-detected: the widget containing the section
 ========================================= */

.elementor-widget-text-editor:has(.tcc-services-page-header) {
position: relative !important;
z-index: 3 !important;

flex: 0 0 100% !important;

width: 100% !important;
max-width: 100% !important;

margin: 0 !important;
padding: 0 !important;

background: transparent !important;
}

.elementor-widget-text-editor:has(.tcc-services-page-header)
> .elementor-widget-container {
width: 100%;
max-width: 100%;

margin: 0 !important;
padding: 0 !important;

background: transparent !important;
}

/* =========================================
 HEADER SECTION
 Targeted directly by its own class
 ========================================= */

.tcc-services-page-header {
position: relative;
z-index: auto;

display: flex;
align-items: center;

width: 100%;
min-height: 420px;

margin: 0;
padding: 50px 24px;

color: #ffffff;

background: transparent !important;
overflow: visible;
}

/* Disable the old section-level decorations */
.tcc-services-page-header::before,
.tcc-services-page-header::after {
content: none !important;
display: none !important;
}

/* =========================================
 HEADER CONTENT
 ========================================= */

.tcc-services-page-header .tcc-page-header-inner {
position: relative;
z-index: 5 !important;

width: 100%;
max-width: 1180px;

margin: 0 auto;
}

.tcc-services-page-header .tcc-page-header-content {
position: relative;
z-index: 5 !important;

width: 100%;
max-width: 850px;
}

/* Eyebrow */
.tcc-services-page-header .tcc-page-header-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;

margin: 0 0 18px;

color: #ffce00;

font-size: 14px;
font-weight: 800;
line-height: 1.3;
letter-spacing: 2.5px;
text-transform: uppercase;
}

.tcc-services-page-header .tcc-page-header-eyebrow::before {
content: "" !important;
display: inline-block !important;

width: 34px;
height: 3px;
flex: 0 0 34px;

border-radius: 999px;
background: #ffce00;
}

/* Title */
.tcc-services-page-header .tcc-page-header-title {
max-width: 850px;

margin: 0 0 22px;

color: #ffffff !important;

font-size: clamp(42px, 6vw, 72px);
font-weight: 800;
line-height: 1.03;
letter-spacing: -2px;
}

.tcc-services-page-header .tcc-page-header-title-highlight {
display: block;
color: #ffce00;
}

/* Description */
.tcc-services-page-header .tcc-page-header-description {
max-width: 760px;

margin: 0;

color: rgba(255, 255, 255, 0.84) !important;

font-size: clamp(18px, 2vw, 22px);
font-weight: 400;
line-height: 1.65;
}

/* =========================================
 SEPARATE HTML SHAPE WIDGET
 Auto-detected: the widget containing the shape
 ========================================= */

.elementor-widget-html:has(.tcc-services-shape) {
position: absolute !important;
z-index: 2 !important;

inset: 0 !important;

width: 100% !important;
max-width: none !important;
height: 100% !important;

margin: 0 !important;
padding: 0 !important;

background: transparent !important;

overflow: hidden !important;
pointer-events: none;
}

.elementor-widget-html:has(.tcc-services-shape)
> .elementor-widget-container {
position: relative;

width: 100%;
height: 100%;

margin: 0 !important;
padding: 0 !important;

background: transparent !important;

overflow: hidden !important;
pointer-events: none;
}

/* =========================================
 TABLET
 ========================================= */

@media (max-width: 1024px) {
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
  min-height: 420px;
}

.tcc-services-page-header {
  min-height: 420px;
  padding: 70px 30px 68px;
}

.tcc-services-page-header .tcc-page-header-content {
  max-width: 650px;
}

.tcc-services-page-header .tcc-page-header-title {
  max-width: 650px;
  font-size: clamp(42px, 5.5vw, 60px);
}

.tcc-services-page-header .tcc-page-header-description {
  max-width: 600px;
}
}

/* =========================================
 MOBILE
 ========================================= */

@media (max-width: 767px) {
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) {
  display: block;

  min-height: auto;

  overflow: hidden !important;
}

.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
  display: block;
  min-height: auto;
}

.tcc-services-page-header {
  min-height: auto;
  padding: 72px 20px 62px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::before,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::before {
  top: 20px;
  left: 18px;

  width: 100px;
  height: 100px;

  background-size: 13px 13px;
  opacity: 0.45;
}

.tcc-services-page-header .tcc-page-header-content {
  max-width: 100%;
}

.tcc-services-page-header .tcc-page-header-title {
  max-width: 100%;

  margin-bottom: 18px;

  font-size: clamp(38px, 12vw, 52px);
  line-height: 1.08;
  letter-spacing: -1.2px;
}

.tcc-services-page-header .tcc-page-header-description {
  max-width: 100%;

  font-size: 18px;
  line-height: 1.6;
}

/* Hide decorative graphic on phones */
.elementor-widget-html:has(.tcc-services-shape) {
  display: none !important;
}
}\n}.elementor .e-870b001{flex-direction:column;}.elementor .e-23bb926-99da0b8{flex-direction:row;gap:32px;align-items:stretch;}.elementor .e-efa89bd{width:50%;flex-direction:column;/* =========================================
 TCC SERVICE CARDS (NATIVE ICON VERSION)
 Paste into: Appearance > Customize > Additional CSS
 REPLACES the previous service-cards CSS block.

 No manual classes needed. Auto-targets:
 - card container: Flexbox whose direct Text Editor
 child contains ".tcc-service-card-body"
 - header row: Flexbox whose direct Text Editor
 child contains ".tcc-service-card-heading"
 - the Icon widget inside the header row
 - the Button widget inside the card

 Structure:
 Flexbox (parent, row) &lt;- layout in Elementor UI
 |- Flexbox (card)
 | |- Flexbox (header row)
 | | |- Icon widget .elementor-widget-text-editor .tcc-service-card-body),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
display: flex;
flex-direction: column;
align-items: stretch;

padding: 38px 40px 40px;

background: #ffffff !important;
border-radius: 18px;
box-shadow: 0 6px 24px rgba(16, 31, 77, 0.07);
}

.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner {
display: flex;
flex-direction: column;
align-items: stretch;

width: 100%;

margin: 0;
padding: 0;
}

/* =========================================
 HEADER ROW (icon + heading)
 ========================================= */

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) {
display: flex;
flex-direction: row;
align-items: flex-start;
flex-wrap: nowrap;
gap: 26px;

width: 100%;

margin: 0 0 26px;
padding: 0;

background: transparent !important;
}

.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner {
display: flex;
flex-direction: row;
align-items: flex-start;
flex-wrap: nowrap;
gap: 26px;

width: 100%;

margin: 0;
padding: 0;
}

/* Icon widget: circle frame drawn here,
 so the icon itself stays fully native */
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading) > .elementor-widget-icon,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner > .elementor-widget-icon {
flex: 0 0 96px;

width: 96px !important;
max-width: 96px !important;
height: 96px;

display: flex;
align-items: center;
justify-content: center;

margin: 0 !important;

background: #ffffff;
border: 1px solid #e6eaf2;
border-radius: 50%;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading) > .elementor-widget-icon .elementor-widget-container,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner > .elementor-widget-icon .elementor-widget-container {
margin: 0 !important;
padding: 0 !important;

line-height: 1;
}

/* Heading text editor fills the rest of the row */
.elementor-widget-text-editor:has(.tcc-service-card-heading) {
flex: 1 1 auto;

margin: 0 !important;
}

.elementor-widget-text-editor:has(.tcc-service-card-heading) > .elementor-widget-container,
.elementor-widget-text-editor:has(.tcc-service-card-body) > .elementor-widget-container {
margin: 0 !important;
padding: 0 !important;
}

.elementor-widget-text-editor:has(.tcc-service-card-body) {
width: 100%;

margin: 0 !important;
}

/* Button pinned to the card bottom */
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
margin-top: auto !important;
padding-top: 28px;
}

/* =========================================
 HEADING CONTENT
 ========================================= */

.tcc-service-card-title {
margin: 0 0 10px;

color: #14356b;

font-size: clamp(24px, 2.2vw, 30px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.4px;
}

.tcc-service-card-divider {
width: 34px;
height: 3px;

margin: 0 0 12px;

border-radius: 999px;
background: #ffce00;
}

.tcc-service-card-tagline {
margin: 0;

color: #14356b;

font-size: 16px;
font-weight: 700;
line-height: 1.4;
}

/* =========================================
 BODY CONTENT
 ========================================= */

.tcc-service-card-body {
width: 100%;
}

.tcc-service-card-text {
margin: 0 0 22px;

color: #3d4657;

font-size: 16.5px;
font-weight: 400;
line-height: 1.65;
}

.tcc-service-card-list {
margin: 0;
padding: 0;

list-style: none;
}

.tcc-service-card-list li {
position: relative;

margin: 0 0 13px;
padding-left: 32px;

color: #3d4657;

font-size: 16px;
font-weight: 400;
line-height: 1.45;
}

.tcc-service-card-list li:last-child {
margin-bottom: 0;
}

/* Yellow check bullet */
.tcc-service-card-list li::before {
content: "";

position: absolute;
top: 1px;
left: 0;

width: 19px;
height: 19px;

border-radius: 50%;

background-color: #ffb700;
background-image: url("data:image/svg+xml,svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'path d='M5.5 10.5l3 3 6-7' fill='none' stroke='ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'//svg");
background-size: 14px 14px;
background-position: center;
background-repeat: no-repeat;
}

/* =========================================
 TABLET
 ========================================= */

@media (max-width: 1024px) {
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
 padding: 30px 28px 34px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner {
 gap: 18px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading) > .elementor-widget-icon,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner > .elementor-widget-icon {
 flex: 0 0 76px;

 width: 76px !important;
 max-width: 76px !important;
 height: 76px;
}

.tcc-service-card-title {
 font-size: clamp(21px, 2.6vw, 26px);
}
}

/* =========================================
 MOBILE
 ========================================= */

@media (max-width: 767px) {
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
 padding: 26px 22px 30px;
}

/* Icon stacks above the heading */
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner {
 flex-direction: column;
 align-items: flex-start;
 gap: 16px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading) {
 margin-bottom: 20px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-heading) > .elementor-widget-icon,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-heading) > .e-con-inner > .elementor-widget-icon {
 flex: 0 0 auto;

 width: 68px !important;
 max-width: 68px !important;
 height: 68px;
}

.tcc-service-card-title {
 font-size: 22px;
}

.tcc-service-card-text,
.tcc-service-card-list li {
 font-size: 15.5px;
}

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
 padding-top: 22px;
}
}\n}.elementor .e-b8f7dd9-58f5524{flex-direction:row;gap:32px;align-items:stretch;}.elementor .e-0f8713b{width:50%;flex-direction:column;}.elementor .e-a044012{padding-block-start:24px;padding-block-end:72px;padding-inline-start:10%;padding-inline-end:10%;background-color:#f4f6fa ;flex-direction:row;gap:32px;align-items:stretch;}.elementor .e-fb66ddb-a465d5c{max-width:80%;flex-direction:row;gap:20px;flex-wrap:wrap;justify-content:space-evenly;align-items:stretch;}.elementor .e-1f2bf83{flex-direction:row;}.elementor .e-a5bff77{flex-direction:column;}