.elementor-kit-16{--e-global-color-vamtam_accent_1:#191919;--e-global-color-vamtam_accent_2:#EEEBE2;--e-global-color-vamtam_accent_3:#FAFAFA;--e-global-color-vamtam_accent_4:#FEFCF5;--e-global-color-vamtam_accent_5:#FFFFFF;--e-global-color-vamtam_accent_6:#000000;--e-global-color-vamtam_accent_7:#00000026;--e-global-color-vamtam_accent_8:#FFFFFF4D;--e-global-color-vamtam_sticky_header_bg_color:#0F0F0F;--e-global-color-0026a0d:#191919BD;--e-global-typography-vamtam_primary_font-font-family:"Helvetica";--e-global-typography-vamtam_primary_font-font-size:16px;--e-global-typography-vamtam_primary_font-font-weight:400;--e-global-typography-vamtam_primary_font-text-transform:none;--e-global-typography-vamtam_primary_font-line-height:1.6em;--e-global-typography-vamtam_h1-font-family:"Philosopher";--e-global-typography-vamtam_h1-font-size:56px;--e-global-typography-vamtam_h1-font-weight:400;--e-global-typography-vamtam_h1-text-transform:uppercase;--e-global-typography-vamtam_h1-line-height:1.2em;--e-global-typography-vamtam_h2-font-family:"Philosopher";--e-global-typography-vamtam_h2-font-size:48px;--e-global-typography-vamtam_h2-font-weight:400;--e-global-typography-vamtam_h2-text-transform:uppercase;--e-global-typography-vamtam_h2-font-style:normal;--e-global-typography-vamtam_h2-line-height:1.2em;--e-global-typography-vamtam_h3-font-family:"Philosopher";--e-global-typography-vamtam_h3-font-size:30px;--e-global-typography-vamtam_h3-font-weight:400;--e-global-typography-vamtam_h3-text-transform:uppercase;--e-global-typography-vamtam_h3-line-height:1.3em;--e-global-typography-vamtam_h4-font-family:"Philosopher";--e-global-typography-vamtam_h4-font-size:24px;--e-global-typography-vamtam_h4-font-weight:400;--e-global-typography-vamtam_h4-text-transform:uppercase;--e-global-typography-vamtam_h4-line-height:1.4em;--e-global-typography-vamtam_h5-font-family:"Philosopher";--e-global-typography-vamtam_h5-font-size:20px;--e-global-typography-vamtam_h5-font-weight:400;--e-global-typography-vamtam_h5-text-transform:uppercase;--e-global-typography-vamtam_h5-line-height:1.2em;--e-global-typography-vamtam_h5-letter-spacing:0px;--e-global-typography-vamtam_h6-font-family:"Philosopher";--e-global-typography-vamtam_h6-font-size:16px;--e-global-typography-vamtam_h6-font-weight:400;--e-global-typography-vamtam_h6-text-transform:uppercase;--e-global-typography-vamtam_h6-line-height:1.2em;--e-global-typography-5eb041f-font-family:"Philosopher";--e-global-typography-5eb041f-font-size:80px;--e-global-typography-5eb041f-font-weight:400;--e-global-typography-5eb041f-text-transform:uppercase;--e-global-typography-5eb041f-line-height:1.1em;--e-global-typography-ecca21e-font-size:20px;--e-global-typography-ecca21e-line-height:1.5em;--e-global-typography-5de5b2f-font-size:14px;--e-global-typography-5de5b2f-line-height:1.5em;--e-global-typography-833c08e-font-size:12px;--e-global-typography-833c08e-line-height:1.5em;--e-global-typography-fe27136-font-family:"Inter Tight";--e-global-typography-fe27136-font-size:14px;--e-global-typography-fe27136-font-weight:500;--e-global-typography-fe27136-text-decoration:none;--e-global-typography-fe27136-line-height:1.2em;--e-global-typography-543a803-font-family:"Inter Tight - temp";--e-global-typography-543a803-font-size:10px;--e-global-typography-543a803-font-weight:600;--e-global-typography-543a803-text-transform:uppercase;--e-global-typography-543a803-line-height:1.6em;--e-global-typography-543a803-letter-spacing:2px;--e-global-typography-f696de8-font-family:"Philosopher";--e-global-typography-f696de8-font-size:26px;--e-global-typography-f696de8-font-weight:400;--e-global-typography-f696de8-text-transform:uppercase;--e-global-typography-f696de8-font-style:normal;--e-global-typography-f696de8-line-height:1.4em;--e-global-typography-c42da43-font-size:16px;--e-global-typography-c42da43-line-height:2em;--e-global-typography-898b8db-font-family:"Inter Tight";--e-global-typography-898b8db-font-size:14px;--e-global-typography-898b8db-font-weight:500;--e-global-typography-898b8db-text-decoration:underline;--e-global-typography-898b8db-line-height:1em;--e-global-typography-898b8db-letter-spacing:0.4px;--e-global-typography-acd4083-font-family:"Inter Tight";--e-global-typography-acd4083-font-size:10px;--e-global-typography-acd4083-font-weight:600;--e-global-typography-acd4083-text-transform:uppercase;--e-global-typography-acd4083-font-style:normal;--e-global-typography-acd4083-text-decoration:none;--e-global-typography-acd4083-line-height:22px;--e-global-typography-acd4083-letter-spacing:2px;--e-global-typography-1e63e33-font-size:14px;--e-global-typography-1e63e33-line-height:1.5em;background-color:var( --e-global-color-vamtam_accent_4 );color:#191919;font-family:var( --e-global-typography-vamtam_primary_font-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_primary_font-font-size );font-weight:var( --e-global-typography-vamtam_primary_font-font-weight );text-transform:var( --e-global-typography-vamtam_primary_font-text-transform );line-height:var( --e-global-typography-vamtam_primary_font-line-height );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:800ms;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{background-color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-fe27136-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-fe27136-font-size );font-weight:var( --e-global-typography-fe27136-font-weight );text-decoration:var( --e-global-typography-fe27136-text-decoration );line-height:var( --e-global-typography-fe27136-line-height );color:var( --e-global-color-vamtam_accent_5 );border-radius:0px 0px 0px 0px;padding:14px 30px 14px 30px;}.elementor-kit-16 button:hover,.elementor-kit-16 button:focus,.elementor-kit-16 input[type="button"]:hover,.elementor-kit-16 input[type="button"]:focus,.elementor-kit-16 input[type="submit"]:hover,.elementor-kit-16 input[type="submit"]:focus,.elementor-kit-16 .elementor-button:hover,.elementor-kit-16 .elementor-button:focus{background-color:var( --e-global-color-vamtam_accent_6 );color:var( --e-global-color-vamtam_accent_2 );}.elementor-kit-16 e-page-transition{background-color:var( --e-global-color-vamtam_accent_4 );}.elementor-kit-16 a{color:var( --e-global-color-vamtam_accent_6 );}.elementor-kit-16 h1{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h1-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h1-font-size );font-weight:var( --e-global-typography-vamtam_h1-font-weight );text-transform:var( --e-global-typography-vamtam_h1-text-transform );line-height:var( --e-global-typography-vamtam_h1-line-height );}.elementor-kit-16 h2{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h2-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h2-font-size );font-weight:var( --e-global-typography-vamtam_h2-font-weight );text-transform:var( --e-global-typography-vamtam_h2-text-transform );font-style:var( --e-global-typography-vamtam_h2-font-style );line-height:var( --e-global-typography-vamtam_h2-line-height );}.elementor-kit-16 h3{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h3-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h3-font-size );font-weight:var( --e-global-typography-vamtam_h3-font-weight );text-transform:var( --e-global-typography-vamtam_h3-text-transform );line-height:var( --e-global-typography-vamtam_h3-line-height );}.elementor-kit-16 h4{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h4-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h4-font-size );font-weight:var( --e-global-typography-vamtam_h4-font-weight );text-transform:var( --e-global-typography-vamtam_h4-text-transform );line-height:var( --e-global-typography-vamtam_h4-line-height );}.elementor-kit-16 h5{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h5-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h5-font-size );font-weight:var( --e-global-typography-vamtam_h5-font-weight );text-transform:var( --e-global-typography-vamtam_h5-text-transform );line-height:var( --e-global-typography-vamtam_h5-line-height );letter-spacing:var( --e-global-typography-vamtam_h5-letter-spacing );}.elementor-kit-16 h6{color:var( --e-global-color-vamtam_accent_1 );font-family:var( --e-global-typography-vamtam_h6-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-vamtam_h6-font-size );font-weight:var( --e-global-typography-vamtam_h6-font-weight );text-transform:var( --e-global-typography-vamtam_h6-text-transform );line-height:var( --e-global-typography-vamtam_h6-line-height );}.elementor-kit-16 label{font-family:var( --e-global-typography-fe27136-font-family ), Helvetica Neue, Helvetica, Arial, Sans-serif;font-size:var( --e-global-typography-fe27136-font-size );font-weight:var( --e-global-typography-fe27136-font-weight );text-decoration:var( --e-global-typography-fe27136-text-decoration );line-height:var( --e-global-typography-fe27136-line-height );}.elementor-kit-16 input:not([type="button"]):not([type="submit"]),.elementor-kit-16 textarea,.elementor-kit-16 .elementor-field-textual{font-size:var( --e-global-typography-1e63e33-font-size );line-height:var( --e-global-typography-1e63e33-line-height );color:var( --e-global-color-vamtam_accent_1 );background-color:var( --e-global-color-vamtam_accent_5 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-vamtam_accent_7 );border-radius:0px 0px 0px 0px;padding:14px 14px 14px 14px;}.elementor-kit-16 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-16 textarea:focus,.elementor-kit-16 .elementor-field-textual:focus{color:var( --e-global-color-vamtam_accent_6 );border-style:solid;border-color:var( --e-global-color-vamtam_accent_1 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-16{--e-global-typography-vamtam_h1-font-size:40px;--e-global-typography-vamtam_h2-font-size:32px;--e-global-typography-vamtam_h3-font-size:24px;--e-global-typography-vamtam_h4-font-size:22px;--e-global-typography-vamtam_h6-font-size:16px;--e-global-typography-5eb041f-font-size:60px;font-size:var( --e-global-typography-vamtam_primary_font-font-size );line-height:var( --e-global-typography-vamtam_primary_font-line-height );}.elementor-kit-16 h1{font-size:var( --e-global-typography-vamtam_h1-font-size );line-height:var( --e-global-typography-vamtam_h1-line-height );}.elementor-kit-16 h2{font-size:var( --e-global-typography-vamtam_h2-font-size );line-height:var( --e-global-typography-vamtam_h2-line-height );}.elementor-kit-16 h3{font-size:var( --e-global-typography-vamtam_h3-font-size );line-height:var( --e-global-typography-vamtam_h3-line-height );}.elementor-kit-16 h4{font-size:var( --e-global-typography-vamtam_h4-font-size );line-height:var( --e-global-typography-vamtam_h4-line-height );}.elementor-kit-16 h5{font-size:var( --e-global-typography-vamtam_h5-font-size );line-height:var( --e-global-typography-vamtam_h5-line-height );letter-spacing:var( --e-global-typography-vamtam_h5-letter-spacing );}.elementor-kit-16 h6{font-size:var( --e-global-typography-vamtam_h6-font-size );line-height:var( --e-global-typography-vamtam_h6-line-height );}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-size:var( --e-global-typography-fe27136-font-size );line-height:var( --e-global-typography-fe27136-line-height );}.elementor-kit-16 label{font-size:var( --e-global-typography-fe27136-font-size );line-height:var( --e-global-typography-fe27136-line-height );}.elementor-kit-16 input:not([type="button"]):not([type="submit"]),.elementor-kit-16 textarea,.elementor-kit-16 .elementor-field-textual{font-size:var( --e-global-typography-1e63e33-font-size );line-height:var( --e-global-typography-1e63e33-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-16{--e-global-typography-vamtam_primary_font-font-size:18px;--e-global-typography-vamtam_h1-font-size:36px;--e-global-typography-5eb041f-font-size:40px;--e-global-typography-5de5b2f-font-size:16px;--e-global-typography-543a803-font-size:12px;--e-global-typography-1e63e33-font-size:16px;font-size:var( --e-global-typography-vamtam_primary_font-font-size );line-height:var( --e-global-typography-vamtam_primary_font-line-height );}.elementor-kit-16 h1{font-size:var( --e-global-typography-vamtam_h1-font-size );line-height:var( --e-global-typography-vamtam_h1-line-height );}.elementor-kit-16 h2{font-size:var( --e-global-typography-vamtam_h2-font-size );line-height:var( --e-global-typography-vamtam_h2-line-height );}.elementor-kit-16 h3{font-size:var( --e-global-typography-vamtam_h3-font-size );line-height:var( --e-global-typography-vamtam_h3-line-height );}.elementor-kit-16 h4{font-size:var( --e-global-typography-vamtam_h4-font-size );line-height:var( --e-global-typography-vamtam_h4-line-height );}.elementor-kit-16 h5{font-size:var( --e-global-typography-vamtam_h5-font-size );line-height:var( --e-global-typography-vamtam_h5-line-height );letter-spacing:var( --e-global-typography-vamtam_h5-letter-spacing );}.elementor-kit-16 h6{font-size:var( --e-global-typography-vamtam_h6-font-size );line-height:var( --e-global-typography-vamtam_h6-line-height );}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-size:var( --e-global-typography-fe27136-font-size );line-height:var( --e-global-typography-fe27136-line-height );}.elementor-kit-16 label{font-size:var( --e-global-typography-fe27136-font-size );line-height:var( --e-global-typography-fe27136-line-height );}.elementor-kit-16 input:not([type="button"]):not([type="submit"]),.elementor-kit-16 textarea,.elementor-kit-16 .elementor-field-textual{font-size:var( --e-global-typography-1e63e33-font-size );line-height:var( --e-global-typography-1e63e33-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================================
   TUBEMEDIA SOLUTION — Custom Animations & Interactions
   Drop this into: WP Admin → Elementor → Custom Code (or Site Settings → Custom CSS)
   ========================================================================= */

/* ---------- 1. ROOT TOKENS ---------- */
:root {
  --tube-orange: #FF6B1A;
  --tube-orange-deep: #D84315;
  --tube-orange-light: #FF8C42;
  --tube-orange-glow: #FFA559;
  --tube-black: #0A0A0A;
  --tube-charcoal: #1A1A1A;
  --tube-charcoal-2: #2A2A2A;
  --tube-off-white: #F5F5F5;
  --tube-mid-gray: #8A8A8A;
  --tube-grad: linear-gradient(135deg, #FF8C42 0%, #FF6B1A 50%, #D84315 100%);
  --tube-grad-soft: linear-gradient(135deg, rgba(255,140,66,0.15) 0%, rgba(255,107,26,0.15) 50%, rgba(216,67,21,0.15) 100%);
  --tube-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --tube-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- 2. GLOBAL TYPE & SCROLL ---------- */
html { scroll-behavior: smooth; }
body { background: var(--tube-black); color: var(--tube-off-white); -webkit-font-smoothing: antialiased; }
::selection { background: var(--tube-orange); color: var(--tube-black); }

/* Tighter headings */
h1, h2, h3, .elementor-heading-title { letter-spacing: -0.02em; }

/* ---------- 3. GRADIENT TEXT HELPER ---------- */
.tube-gradient-text,
.tube-gradient-text .elementor-heading-title {
  background: var(--tube-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}

.tube-gradient-bg { background: var(--tube-grad) !important; }

/* ---------- 4. MAGNETIC / SWEEP BUTTONS ---------- */
.tube-magnetic-btn .elementor-button,
.elementor-button-wrapper .elementor-button {
  position: relative;
  overflow: hidden;
  transition: transform 0.4s var(--tube-ease), color 0.4s var(--tube-ease);
  will-change: transform;
}
.tube-magnetic-btn .elementor-button::before {
  content: "";
  position: absolute;
  top: 0; left: -120%;
  width: 100%; height: 100%;
  background: var(--tube-grad);
  transition: left 0.5s var(--tube-ease);
  z-index: 0;
}
.tube-magnetic-btn .elementor-button:hover::before { left: 0; }
.tube-magnetic-btn .elementor-button:hover { transform: translateY(-2px); }
.tube-magnetic-btn .elementor-button > * { position: relative; z-index: 1; }

/* ---------- 5. MARQUEE TICKER ---------- */
.tube-marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.tube-marquee-track {
  display: flex;
  width: max-content;
  animation: tube-scroll 30s linear infinite;
  gap: 80px;
}
.tube-marquee:hover .tube-marquee-track { animation-play-state: paused; }
@keyframes tube-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ---------- 6. SERVICE CARDS ---------- */
.tube-service-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.5s var(--tube-ease), border-color 0.5s var(--tube-ease);
  cursor: pointer;
}
.tube-service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--tube-grad);
  opacity: 0;
  transition: opacity 0.5s var(--tube-ease);
  z-index: 0;
  pointer-events: none;
}
.tube-service-card:hover { transform: translateY(-8px); border-color: var(--tube-orange) !important; }
.tube-service-card:hover::after { opacity: 0.08; }
.tube-service-card > * { position: relative; z-index: 1; }

/* ---------- 7. WORK / PORTFOLIO CARDS ---------- */
.tube-work-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border-radius: 20px;
}
.tube-work-card img,
.tube-work-card .elementor-widget-image img {
  transition: transform 0.8s var(--tube-ease);
  will-change: transform;
}
.tube-work-card:hover img,
.tube-work-card:hover .elementor-widget-image img { transform: scale(1.06); }
.tube-work-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,0) 40%, rgba(10,10,10,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}

/* ---------- 8. TEAM PHOTOS (grayscale → color) ---------- */
.tube-team-photo img,
.tube-team-card img {
  filter: grayscale(100%) contrast(1.05);
  transition: filter 0.6s var(--tube-ease), transform 0.6s var(--tube-ease);
  will-change: filter, transform;
}
.tube-team-card:hover img,
.tube-team-photo:hover img {
  filter: grayscale(0%);
  transform: scale(1.03);
}
.tube-team-card { transition: transform 0.5s var(--tube-ease); }
.tube-team-card:hover { transform: translateY(-6px); }

/* ---------- 9. PROCESS STEPS ---------- */
.tube-process-step {
  position: relative;
  transition: transform 0.4s var(--tube-ease), background 0.4s var(--tube-ease);
  cursor: default;
}
.tube-process-step:hover { transform: translateX(8px); }
.tube-process-step::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 0;
  height: 2px;
  background: var(--tube-grad);
  transition: width 0.5s var(--tube-ease);
}
.tube-process-step:hover::before { width: 40px; }

/* ---------- 10. FLOATING SERVICE TAGS (hero) ---------- */
.tube-floating-tags { position: relative; }
.tube-floating-tag {
  animation: tube-float 6s ease-in-out infinite;
  will-change: transform;
}
.tube-floating-tag:nth-child(2) { animation-delay: -2s; animation-duration: 7s; }
.tube-floating-tag:nth-child(3) { animation-delay: -4s; animation-duration: 5.5s; }
.tube-floating-tag:nth-child(4) { animation-delay: -1s; animation-duration: 6.5s; }
@keyframes tube-float {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50%      { transform: translateY(-14px) rotate(2deg); }
}

/* ---------- 11. HERO GRADIENT BLOB ---------- */
.tube-hero-blob {
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: var(--tube-grad);
  filter: blur(120px);
  opacity: 0.35;
  pointer-events: none;
  animation: tube-blob 18s ease-in-out infinite;
  will-change: transform;
}
@keyframes tube-blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%      { transform: translate(60px, -40px) scale(1.1); }
  66%      { transform: translate(-40px, 30px) scale(0.95); }
}

/* ---------- 12. PAGE LOADER ---------- */
.tube-page-loader {
  position: fixed;
  inset: 0;
  background: var(--tube-black);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  animation: tube-loader-out 1.2s var(--tube-ease) 0.6s forwards;
}
.tube-page-loader .tube-loader-logo {
  font-family: 'Clash Display', sans-serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -2px;
  background: var(--tube-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: tube-loader-pulse 0.8s var(--tube-ease) infinite alternate;
}
@keyframes tube-loader-pulse {
  from { opacity: 0.6; transform: scale(0.98); }
  to   { opacity: 1;   transform: scale(1.02); }
}
@keyframes tube-loader-out {
  to { opacity: 0; visibility: hidden; transform: translateY(-100%); }
}

/* ---------- 13. CUSTOM CURSOR (optional, desktop only) ---------- */
@media (min-width: 1024px) {
  body.tube-custom-cursor, body.tube-custom-cursor * { cursor: none !important; }
  .tube-cursor {
    position: fixed;
    top: 0; left: 0;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: var(--tube-orange);
    pointer-events: none;
    z-index: 99998;
    transform: translate(-50%, -50%);
    transition: width 0.3s var(--tube-ease), height 0.3s var(--tube-ease), background 0.3s var(--tube-ease);
    mix-blend-mode: difference;
  }
  .tube-cursor.is-hover { width: 56px; height: 56px; background: var(--tube-off-white); }
}

/* ---------- 14. TEXT REVEAL (line-by-line) ---------- */
.tube-reveal { overflow: hidden; display: inline-block; }
.tube-reveal > * { display: inline-block; animation: tube-reveal-up 0.9s var(--tube-ease) both; }
@keyframes tube-reveal-up {
  from { transform: translateY(110%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* ---------- 15. ELEMENTOR FORM POLISH ---------- */
.elementor-field-group input::placeholder,
.elementor-field-group textarea::placeholder { color: var(--tube-mid-gray); }
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus {
  border-color: var(--tube-orange) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,107,26,0.15);
}

/* ---------- 16. NAV LINK HOVER (header) ---------- */
.tube-nav .elementor-nav-menu li a {
  position: relative;
  transition: color 0.3s var(--tube-ease);
}
.tube-nav .elementor-nav-menu li a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 1px;
  background: var(--tube-orange);
  transition: width 0.3s var(--tube-ease);
}
.tube-nav .elementor-nav-menu li a:hover::after { width: 100%; }

/* ---------- 17. SCROLLBAR ---------- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--tube-black); }
::-webkit-scrollbar-thumb { background: var(--tube-charcoal-2); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--tube-orange); }

/* ---------- 18. WHATSAPP FLOATING BUTTON ---------- */
.tube-whatsapp-fab {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9000;
  box-shadow: 0 8px 32px rgba(37,211,102,0.4);
  transition: transform 0.3s var(--tube-ease);
  color: #fff;
  font-size: 26px;
}
.tube-whatsapp-fab:hover { transform: scale(1.1) rotate(5deg); }
.tube-whatsapp-fab::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #25D366;
  animation: tube-ping 1.8s ease-out infinite;
}
@keyframes tube-ping {
  0%   { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.6); }
}

/* ---------- 19. ACCORDION (FAQ) ---------- */
.elementor-accordion-item {
  border-color: var(--tube-charcoal-2) !important;
  transition: border-color 0.4s var(--tube-ease);
}
.elementor-accordion-item:hover { border-color: var(--tube-orange) !important; }
.elementor-tab-title.elementor-active { background: rgba(255,107,26,0.05); }

/* ---------- 20. CONTAINER SECTION FADE-IN (scroll trigger) ---------- */
.tube-fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s var(--tube-ease), transform 0.9s var(--tube-ease);
}
.tube-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- 21. RESPONSIVE TWEAKS ---------- */
@media (max-width: 768px) {
  .tube-hero-blob { width: 400px; height: 400px; filter: blur(80px); }
  .tube-marquee-track { gap: 40px; animation-duration: 22s; }
  .tube-whatsapp-fab { width: 48px; height: 48px; font-size: 22px; bottom: 16px; right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .tube-hero-blob, .tube-floating-tag { animation: none; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-Thin.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-ExtraLight.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tubemediasolutions.com/wp-content/uploads/2023/01/InterTight-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */