/*==================================================================
  Modern UI/UX Enhancement Layer — iTeamUp Solutions
  Loaded after the base template stylesheets so these rules win on
  equal specificity. Brand colors kept from style.css:
    --brand red  #c30010   (.bg_red)
    --brand gold #ffa552   (.text-gold)
==================================================================*/
:root{
  --iu-primary:#c30010;
  --iu-primary-dark:#8a000c;
  --iu-primary-light:#ff3b47;
  --iu-gold:#ffa552;
  --iu-ink:#0b1220;
  --iu-ink-soft:#4a5265;
  --iu-surface:#ffffff;
  --iu-surface-alt:#f5f6fb;
  --iu-border:rgba(11,18,32,.08);
  --iu-shadow-sm:0 4px 14px rgba(11,18,32,.06);
  --iu-shadow-md:0 14px 34px rgba(11,18,32,.10);
  --iu-shadow-lg:0 26px 60px rgba(11,18,32,.16);
  --iu-radius:20px;
  --iu-radius-sm:12px;
  --iu-ease:cubic-bezier(.22,1,.36,1);
  --iu-font-head:'Plus Jakarta Sans', 'Poppins', sans-serif;
  --iu-font-body:'Inter', 'Poppins', sans-serif;
}

/*----- Base / Typography ------------------------------------*/
html{ scroll-behavior:smooth; }
body{
  font-family:var(--iu-font-body);
  color:var(--iu-ink-soft);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,
.section_main_title h1,
.slider_text_inner h1,
.heading_experience_title h2{
  font-family:var(--iu-font-head);
  color:var(--iu-ink);
  letter-spacing:-0.01em;
}
::selection{ background:var(--iu-gold); color:#1a0900; }
a{ transition:color .25s var(--iu-ease), background-color .25s var(--iu-ease), transform .25s var(--iu-ease), box-shadow .25s var(--iu-ease); }
:focus-visible{ outline:2px solid var(--iu-gold); outline-offset:3px; }

/* slim modern scrollbar */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--iu-surface-alt); }
::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,var(--iu-primary),var(--iu-primary-dark)); border-radius:10px; }

/*----- Reveal-on-scroll animation ------------------------------*/
.reveal-up{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--iu-ease), transform .7s var(--iu-ease); }
.reveal-up.in-view{ opacity:1; transform:translateY(0); }
.reveal-up.delay-1{ transition-delay:.08s; }
.reveal-up.delay-2{ transition-delay:.16s; }
.reveal-up.delay-3{ transition-delay:.24s; }
.reveal-up.delay-4{ transition-delay:.32s; }
.reveal-up.delay-5{ transition-delay:.4s; }
.reveal-up.delay-6{ transition-delay:.48s; }
@media (prefers-reduced-motion: reduce){
  .reveal-up{ opacity:1; transform:none; transition:none; }
}

/*----- Top utility bar -----------------------------------------*/
.header_top_menu.bg_red{
  background:linear-gradient(90deg,var(--iu-primary-dark),var(--iu-primary)) !important;
  font-family:var(--iu-font-body);
}
.header_top_menu_address_inner ul li a{
  transition:opacity .2s var(--iu-ease), transform .2s var(--iu-ease);
  opacity:.92;
}
.header_top_menu_address_inner ul li a:hover{ opacity:1; transform:translateY(-1px); }
.header_top_menu_icon_inner ul li a{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,.14);
  transition:background .25s var(--iu-ease), transform .25s var(--iu-ease);
}
.header_top_menu_icon_inner ul li a:hover{ background:var(--iu-gold); color:var(--iu-ink); transform:translateY(-2px); }

/*----- Sticky main nav -------------------------------------------*/
#sticky-header.techno_nav_manu{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:box-shadow .3s var(--iu-ease), background .3s var(--iu-ease), padding .3s var(--iu-ease);
}
#sticky-header.techno_nav_manu.sticky{
  box-shadow:var(--iu-shadow-md);
  background:linear-gradient(90deg,var(--iu-primary-dark),var(--iu-primary)) !important;
}
#sticky-header.techno_nav_manu.sticky .menu > ul > li > a{ color:#fff; }
.menu ul li a{ font-family:var(--iu-font-head); font-weight:600; position:relative; }
.menu > ul > li > a{
  transition:color .25s var(--iu-ease);
}
.menu > ul > li > a::after{
  content:"";
  position:absolute; left:0; bottom:2px;
  width:0; height:2px;
  background:linear-gradient(90deg,var(--iu-primary),var(--iu-gold));
  transition:width .3s var(--iu-ease);
}
.menu > ul > li:hover > a::after{ width:100%; }
.menu > ul > li > a:hover{ color:var(--iu-primary) !important; }
.donate-btn-header .dtbtn,
a.dtbtn{
  background:#fff !important;
  color:var(--iu-primary) !important;
  border:none !important;
  border-radius:50px !important;
  box-shadow:0 10px 24px rgba(195,0,16,.28);
  font-weight:700;
  transition:transform .25s var(--iu-ease), box-shadow .25s var(--iu-ease), background .25s var(--iu-ease) !important;
}
a.dtbtn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(195,0,16,.38);
  background:var(--iu-surface-alt) !important;
  color:var(--iu-primary) !important;
}

/*----- Hero / slider ------------------------------------------*/
.slider7{
  position:relative;
  isolation:isolate;
  height:auto !important;
  min-height:760px;
  padding:115px 0 60px;
}
/* The cd-headline "clip" rotator has its wrapper width measured in px by
   animated-text.js on document-ready. If this element swaps to a webfont
   that loads asynchronously, the measured width goes stale and the text
   gets clipped. Keep it on an already-available system stack so metrics
   never shift after the plugin measures them. */
.cd-headline.clip,
.cd-headline.clip .cd-words-wrapper b{
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
}
.slider7::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(195,0,16,.55), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(255,165,82,.35), transparent 50%),
    linear-gradient(180deg, rgba(6,8,16,.82), rgba(6,8,16,.68));
  z-index:0;
}
.slider7 .container{ position:relative; z-index:1; }
.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 18px;
  border-radius:50px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(6px);
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.hero-badge i{ color:var(--iu-gold); }
.slider_text_inner h1{ color:#fff; }
.slider_text_desc p{ color:rgba(255,255,255,.82) !important; max-width:640px; margin-left:auto; margin-right:auto; }
.hero-chip-row{
  display:flex; flex-wrap:wrap; gap:14px;
  justify-content:center;
  margin-top:34px;
}
.hero-chip{
  display:flex; align-items:center; gap:10px;
  padding:10px 18px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:14px;
  font-weight:600;
}
.hero-chip i{ color:var(--iu-gold); font-size:16px; }
.slider_button .button a{
  border-radius:50px !important;
}
.slider_button .button a.active{
  background:linear-gradient(135deg,var(--iu-primary),var(--iu-primary-light)) !important;
  box-shadow:0 14px 30px rgba(195,0,16,.35);
}

/*----- Feature (top overlap) cards ------------------------------*/
.feature_style_four{
  background:var(--iu-surface);
  border-radius:var(--iu-radius);
  box-shadow:var(--iu-shadow-md);
  border:1px solid var(--iu-border);
  position:relative;
  overflow:hidden;
  transition:transform .35s var(--iu-ease), box-shadow .35s var(--iu-ease);
}
.feature_style_four::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--iu-primary),var(--iu-gold));
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--iu-ease);
}
.feature_style_four:hover,
.feature_style_four.active{
  transform:translateY(-10px);
  box-shadow:var(--iu-shadow-lg);
}
.feature_style_four:hover::before,
.feature_style_four.active::before{ transform:scaleX(1); }
.feature_style_four_icon .icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:64px; height:64px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(195,0,16,.1), rgba(255,165,82,.18));
}
.feature_style_four_icon .icon i{ background:none !important; -webkit-text-fill-color:var(--iu-primary); color:var(--iu-primary); transition:color .35s var(--iu-ease); }
.feature_style_four.active .feature_style_four_icon .icon,
.feature_style_four:hover .feature_style_four_icon .icon{
  background:rgba(255,255,255,.32);
}
.feature_style_four.active .feature_style_four_icon .icon i,
.feature_style_four:hover .feature_style_four_icon .icon i{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18)) brightness(1.3);
}
.feature_style_four_button a{
  font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
}
.feature_style_four_button a i{ transition:transform .25s var(--iu-ease); }
.feature_style_four_button a:hover i{ transform:translateX(5px); }

/*----- About area ------------------------------------------------*/
.about_area .video_thumb img{
  border-radius:var(--iu-radius);
  box-shadow:var(--iu-shadow-lg);
}
.about_area .video_thumb{ position:relative; }
.about_area .video_thumb::after{
  content:"";
  position:absolute; inset:14px -14px -14px 14px;
  z-index:-1;
  border-radius:var(--iu-radius);
  background:linear-gradient(135deg, rgba(195,0,16,.14), rgba(255,165,82,.24));
}
.headingh_experience_number h1{
  font-size:76px;
  background:linear-gradient(135deg,var(--iu-primary),var(--iu-gold));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  line-height:1;
}
.iu-badge-row{
  display:flex; flex-wrap:wrap; gap:12px;
  margin-top:28px;
}
.iu-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 16px;
  border-radius:50px;
  background:var(--iu-surface-alt);
  border:1px solid var(--iu-border);
  font-weight:600; font-size:13.5px;
  color:var(--iu-ink);
}
.iu-badge i{ color:#1ca64c; }

/*----- Section title common -------------------------------------*/
.section_sub_title h6{
  display:inline-block;
  padding:6px 16px;
  border-radius:50px;
  background:rgba(195,0,16,.08);
  color:var(--iu-primary) !important;
  font-weight:700;
  letter-spacing:.08em;
}
.testimonial_area .section_sub_title h6.text-white{
  background:rgba(255,255,255,.12);
  color:#fff !important;
}
.em_bar_bg{ background:linear-gradient(90deg,var(--iu-primary),var(--iu-gold)) !important; }
.section_title.text_center,
.section_title.text_center .section_main_title,
.section_title.text_center .section_main_title h1,
.section_title.text_center .section_main_title h2{
  width:100%;
  text-align:center;
}

/*----- Services ----------------------------------------------------*/
.service_area{ position:relative; }
.service_area .row > [class*="col-"]{ display:flex; }
.service_style_five{
  background:var(--iu-surface);
  border-radius:var(--iu-radius);
  border:1px solid var(--iu-border);
  box-shadow:var(--iu-shadow-sm);
  transition:transform .35s var(--iu-ease), box-shadow .35s var(--iu-ease), border-color .35s var(--iu-ease);
  width:100%;
  display:flex;
  flex-direction:column;
}
.service_style_five_text{ flex:1 1 auto; }
.service_style_five_button{ margin-top:auto; padding-top:14px; }
.service_style_five:hover{
  transform:translateY(-8px);
  box-shadow:var(--iu-shadow-lg);
  border-color:rgba(195,0,16,.25);
}
.service_style_five_icon .icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px;
  border-radius:16px;
  background:#fff;
  box-shadow:var(--iu-shadow-sm);
  border:1px solid var(--iu-border);
  transition:transform .35s var(--iu-ease);
}
.service_style_five_icon .icon i,
.service_style_five:hover .service_style_five_icon .icon i{
  color:var(--iu-primary) !important;
  -webkit-text-fill-color:var(--iu-primary) !important;
}
.service_style_five:hover .service_style_five_icon .icon{ transform:rotate(-8deg) scale(1.05); }
.service_style_five_title h4{ font-weight:700; }
.service_style_five_button a{
  font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
}
.service_style_five_button a i{ transition:transform .25s var(--iu-ease); }
.service_style_five_button a:hover i{ transform:translateX(5px); }

/*----- Process --------------------------------------------------*/
.process_area{ position:relative; }
.process_area .row:nth-of-type(2){ position:relative; }
@media (min-width:992px){
  .process_area .row:nth-of-type(2)::before{
    content:"";
    position:absolute;
    top:60px; left:12.5%; right:12.5%;
    height:2px;
    background:repeating-linear-gradient(90deg, rgba(195,0,16,.35) 0 10px, transparent 10px 20px);
    z-index:0;
  }
}
.single_process{ position:relative; z-index:1; }
.single_process_number span{
  background:linear-gradient(135deg,var(--iu-primary),var(--iu-gold)) !important;
  box-shadow:0 10px 24px rgba(195,0,16,.3);
}
.single_process_thumb img{
  border-radius:var(--iu-radius-sm);
  transition:transform .4s var(--iu-ease);
}
.single_process:hover .single_process_thumb img{ transform:scale(1.05); }
.single_process_thumb{ overflow:hidden; border-radius:var(--iu-radius-sm); box-shadow:var(--iu-shadow-sm); }

/*----- Contact info cards ----------------------------------------*/
.testimonial_area.bg_fixed{ position:relative; isolation:isolate; }
.testimonial_area.bg_fixed::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,8,16,.86), rgba(6,8,16,.72));
  z-index:0;
}
.testimonial_area.bg_fixed .container{ position:relative; z-index:1; }
.testimonial_area.bg_fixed .row > [class*="col-"]{ display:flex; }
.single_contact_address.bg-white{
  background:rgba(255,255,255,.97) !important;
  border-radius:var(--iu-radius);
  box-shadow:var(--iu-shadow-lg);
  border:1px solid rgba(255,255,255,.5);
  transition:transform .35s var(--iu-ease);
  width:100%;
}
.single_contact_address.bg-white:hover{ transform:translateY(-8px); }
.contact_address_icon i{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(195,0,16,.1), rgba(255,165,82,.2));
  color:var(--iu-primary);
  font-size:22px;
}

/*----- Contact form ------------------------------------------------*/
.main_contact_area{ padding-bottom:80px; }
.main_contact_area .row{ align-items:stretch !important; }
.main_contact_area .col-lg-6{ display:flex; flex-direction:column; align-items:center; justify-content:center; }
.main_contact_area .col-lg-6 .section_title{ width:100%; }
.single_contact_abs_thumb{ width:100%; margin-top:auto; }
.contact_from{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--iu-radius);
  padding:34px;
  backdrop-filter:blur(6px);
  width:100%;
}
.form_box input,
.form_box textarea{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:var(--iu-radius-sm) !important;
  color:#fff !important;
  width:100% !important;
  padding:14px 18px !important;
  transition:border-color .25s var(--iu-ease), background .25s var(--iu-ease);
}
.app .form_box textarea{ height:150px !important; }
.form_box input::placeholder,
.form_box textarea::placeholder{ color:rgba(255,255,255,.55) !important; }
.form_box input:focus,
.form_box textarea:focus{
  border-color:var(--iu-gold) !important;
  background:rgba(255,255,255,.14) !important;
  box-shadow:0 0 0 4px rgba(255,165,82,.15);
}
.quote_btn .btn{
  background:linear-gradient(135deg,var(--iu-primary),var(--iu-primary-light)) !important;
  border:none; border-radius:50px;
  padding:14px 34px;
  font-weight:700;
  box-shadow:0 14px 30px rgba(195,0,16,.35);
  transition:transform .25s var(--iu-ease), box-shadow .25s var(--iu-ease);
}
.quote_btn .btn:hover{ transform:translateY(-3px); box-shadow:0 18px 36px rgba(195,0,16,.45); }
.status{ color:#fff; font-weight:600; margin-top:10px; }
.status.success{ color:#54e08a; }
.status.error{ color:#ff8080; }

/*----- Map ------------------------------------------------------*/
.google_map_area .map{ filter:grayscale(15%) contrast(1.02); display:block; }

/*----- Footer -----------------------------------------------------*/
.footer-middle{ position:relative; isolation:isolate; }
.footer-middle::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,8,16,.94), rgba(6,8,16,.98));
  z-index:0;
}
.footer-middle .container{ position:relative; z-index:1; }
.widget-title{
  position:relative;
  display:inline-block;
  padding-bottom:10px;
}
.widget-title::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:44px; height:3px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--iu-primary),var(--iu-gold));
}
.menu-quick-link-container ul li a{
  transition:color .25s var(--iu-ease), padding-left .25s var(--iu-ease);
}
.menu-quick-link-container ul li a:hover{ color:var(--iu-gold) !important; padding-left:4px; }
.follow-company-icon a{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  margin-right:6px;
  transition:background .25s var(--iu-ease), transform .25s var(--iu-ease);
}
.follow-company-icon a:hover{ background:var(--iu-gold); color:var(--iu-ink); transform:translateY(-3px); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); }

/*----- Back to top button -----------------------------------------*/
#scrollUp{
  right:26px !important; bottom:26px !important;
  width:48px !important; height:48px !important;
  line-height:48px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,var(--iu-primary),var(--iu-gold)) !important;
  box-shadow:0 14px 28px rgba(195,0,16,.35) !important;
  text-align:center;
  transition:transform .25s var(--iu-ease) !important;
}
#scrollUp:hover{ transform:translateY(-4px) scale(1.05); }

/*----- Loader ------------------------------------------------------*/
.loader{ border-top-color:var(--iu-primary) !important; }

/*----- Mobile menu brand label -------------------------------------*/
/* meanmenu.min.css hardcodes the template's placeholder brand name */
.mean-container .mean-bar::before{ content:"iTeamUp"; }

/*----- Responsive polish --------------------------------------------*/
@media (max-width:767px){
  .headingh_experience_number h1{ font-size:56px; }
  .hero-chip-row{ gap:10px; }
  .hero-chip{ font-size:12.5px; padding:8px 14px; }
  .contact_from{ padding:22px; }
}
