/* ==== tbh-motion-style ==== */

@media (prefers-reduced-motion:no-preference){
  html.tbh-motion .tbh-rise{opacity:0;transform:translateY(26px);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  html.tbh-motion .tbh-rise.tbh-in{opacity:1;transform:none;}
  header.nav{transition:box-shadow .3s ease,background .3s ease;}
  body.tbh-scrolled header.nav{box-shadow:0 8px 26px -12px rgba(0,33,78,.28);}
  body.tbh-scrolled header.nav .nav-inner{padding-top:6px !important;padding-bottom:4px !important;transition:padding .3s ease;}
  body.tbh-scrolled header.nav img{transform:scale(.92);transition:transform .3s ease;transform-origin:left center;}
  @supports ((-webkit-background-clip:text) or (background-clip:text)){
    .hero .accent-italic{background:linear-gradient(100deg,#003087 0%,#00A9CE 50%,#003087 100%);
      background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
      }
  }
  @keyframes tbhShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
}
.service-card{transition:transform .25s ease,box-shadow .25s ease;}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);}
.btn-primary{position:relative;overflow:hidden;}
.btn-primary::after{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .6s ease;}
.btn-primary:hover::after{left:150%;}

/* ==== tbh-motion2-style ==== */

.hero{position:relative;}
.hero .wrap{position:relative;z-index:1;}
@media (prefers-reduced-motion:no-preference){
  .hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(60% 80% at 20% 25%,rgba(0,169,206,.10),transparent 60%),
               radial-gradient(55% 75% at 85% 30%,rgba(0,94,181,.12),transparent 62%);
    background-size:170% 170%;}
  @keyframes tbhHeroDrift{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
}
.tbh-divline-el{height:2px;width:100%;margin:0;background:linear-gradient(90deg,transparent,rgba(0,169,206,.45),transparent);}
@media (prefers-reduced-motion:no-preference){
  .tbh-divline-el{background:linear-gradient(90deg,transparent,rgba(0,169,206,.85),transparent);
    background-size:240% 100%;animation:tbhDivider 7s linear infinite;}
  @keyframes tbhDivider{0%{background-position:130% 0}100%{background-position:-130% 0}}
}
.tbh-mq{display:block !important;overflow:hidden;position:relative;}
.tbh-mq-track{display:flex;gap:22px;width:max-content;}
.tbh-mq .testimonial{flex:0 0 auto;width:340px;}
@media (max-width:520px){.tbh-mq .testimonial{width:82vw;}}
@media (prefers-reduced-motion:no-preference){
  .tbh-mq-track{}
  .tbh-mq:hover .tbh-mq-track{animation-play-state:paused;}
  @keyframes tbhMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}
.tbh-mq::before,.tbh-mq::after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:2;pointer-events:none;}
.tbh-mq::before{left:0;background:linear-gradient(90deg,#F6F6F4,rgba(241,248,253,0));}
.tbh-mq::after{right:0;background:linear-gradient(270deg,#F6F6F4,rgba(241,248,253,0));}

/* ==== tbh-lux-style ==== */

@media (prefers-reduced-motion:no-preference){
  .hero::before{
    background:
      radial-gradient(40% 55% at 18% 22%, rgba(0,169,206,.22), transparent 60%),
      radial-gradient(45% 60% at 82% 26%, rgba(0,94,181,.22), transparent 62%),
      radial-gradient(50% 65% at 60% 88%, rgba(91,143,208,.18), transparent 60%) !important;
    background-size:200% 200% !important; }
  .hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(35% 50% at 78% 72%, rgba(0,169,206,.15), transparent 60%),
               radial-gradient(40% 55% at 22% 78%, rgba(0,48,135,.15), transparent 62%);
    background-size:220% 220%; }
  @keyframes tbhAurora{0%,100%{background-position:0% 0%,100% 0%,50% 100%}50%{background-position:100% 100%,0% 100%,50% 0%}}
  @keyframes tbhAurora2{0%,100%{background-position:0% 100%}50%{background-position:100% 0%}}
}
.hero-card{-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  background:rgba(255,255,255,.62) !important;border:1px solid rgba(255,255,255,.6) !important;
  box-shadow:var(--shadow-sm);}
.btn-primary{background:linear-gradient(120deg,#003087,#005EB5) !important;border:none !important;color:#fff !important;}
@media (prefers-reduced-motion:no-preference){
  .btn-primary{}
  @keyframes tbhGlow{0%,100%{box-shadow:var(--shadow-sm);}
    50%{box-shadow:var(--shadow-sm);}}
}
.btn-primary:hover{transform:translateY(-2px);}
.service-card{transition:transform .12s ease, box-shadow .25s ease;will-change:transform;}
.service-card.tbh-tilt{box-shadow:var(--shadow-sm);}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .section-head h2{background:linear-gradient(100deg,#00214E 0%,#005EB5 62%,#00214E 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
}

/* ==== tbh-elite-style ==== */

#tbhProgress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99990;pointer-events:none;
  background:linear-gradient(90deg,#00A9CE,#005EB5,#003087);box-shadow:0 0 10px rgba(0,169,206,.55);transition:width .12s linear;}
.service-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;border-radius:inherit;z-index:0;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(0,169,206,.22), transparent 60%);transition:opacity .3s ease;}
.service-card:hover::after{opacity:1;}
.service-card>*{position:relative;z-index:1;}
.tbh-herospot{position:absolute;width:540px;height:540px;border-radius:50%;pointer-events:none;z-index:0;
  transform:translate(-50%,-50%);left:50%;top:42%;opacity:0;transition:opacity .45s ease;
  background:radial-gradient(circle, rgba(0,169,206,.20), transparent 60%);}
.hero:hover .tbh-herospot{opacity:1;}
.btn-primary{transition:transform .18s ease, box-shadow .3s ease;}
@media (prefers-reduced-motion:no-preference){
  .hero-card{}
  @keyframes tbhCardGlow{0%,100%{box-shadow:var(--shadow-sm);}
    50%{box-shadow:var(--shadow-sm);}}
}

/* ==== tbh-menu-anim ==== */

@keyframes tbhRise{ from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none} }
@keyframes tbhDimIn{ from{opacity:0} to{opacity:1} }
@media (max-width:979px){
  .nav-toggle{ position:relative !important; z-index:60 !important; }
  .nav-toggle span{ transition:transform .4s cubic-bezier(.16,1,.3,1), opacity .25s ease !important; transform-origin:center !important; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(6px) rotate(45deg) !important; }
  .nav-toggle.open span:nth-child(2){ opacity:0 !important; transform:scaleX(.3) !important; }
  .nav-toggle.open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg) !important; }
  .nav-menu.open{
    background:linear-gradient(170deg, rgba(237,243,251,.97), rgba(224,237,250,.98)) !important;
    -webkit-backdrop-filter:blur(16px) saturate(1.2) !important; backdrop-filter:blur(16px) saturate(1.2) !important;
    box-shadow:var(--shadow-sm);
  }
  body.nav-menu-open::before{ content:""; position:fixed; inset:0; z-index:40; pointer-events:none;
    background:rgba(0,20,48,.30); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); animation:tbhDimIn .35s ease both; }
}
@media (max-width:979px) and (prefers-reduced-motion:no-preference){
  .nav-menu.open .nav-menu-highlight{ animation:tbhRise .6s cubic-bezier(.16,1,.3,1) .06s both; }
  .nav-menu.open .nav-menu-grid > div{ animation:tbhRise .65s cubic-bezier(.16,1,.3,1) both; }
  .nav-menu.open .nav-menu-cta-row{ animation:tbhRise .6s cubic-bezier(.16,1,.3,1) .5s both; }
  .nav-menu.open .nav-menu-grid > div:nth-child(1){animation-delay:.10s}
  .nav-menu.open .nav-menu-grid > div:nth-child(2){animation-delay:.17s}
  .nav-menu.open .nav-menu-grid > div:nth-child(3){animation-delay:.24s}
  .nav-menu.open .nav-menu-grid > div:nth-child(4){animation-delay:.31s}
  .nav-menu.open .nav-menu-grid > div:nth-child(5){animation-delay:.38s}
  .nav-menu.open .nav-menu-grid > div:nth-child(6){animation-delay:.45s}
  .nav-menu.open .nav-menu-grid > div:nth-child(7){animation-delay:.52s}
  .nav-menu.open .nav-menu-grid > div:nth-child(8){animation-delay:.59s}
}

/* ==== tbh-reviews ==== */

.testimonials .testimonial-grid{ display:flex !important; flex-wrap:nowrap !important; gap:20px !important;
  overflow-x:auto !important; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  align-items:flex-start; padding:6px 2px 22px; margin-top:10px; scrollbar-width:thin; scrollbar-color:#9DC3E6 transparent; }
.testimonials .testimonial-grid::-webkit-scrollbar{ height:8px; }
.testimonials .testimonial-grid::-webkit-scrollbar-thumb{ background:#9DC3E6; border-radius: 8px; }
.testimonials .testimonial-grid::-webkit-scrollbar-track{ background:transparent; }
.testimonials .testimonial-grid > .testimonial{ flex:0 0 86% !important; max-width:380px; scroll-snap-align:center; }
@media (min-width:760px){ .testimonials .testimonial-grid > .testimonial{ flex-basis:360px !important; scroll-snap-align:start; } }
.testimonials .testimonial-avatar{ width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-family:'Manrope',sans-serif; font-size:1.02rem; flex:0 0 auto; }
.testimonials .testimonial-avatar svg{ display:none; }
