/* ===== GLOBAL MOBILE FIXES ===== */
* { box-sizing: border-box; }
html, body { overflow-x: hidden; }

@media (max-width: 639px) {
    .announcement-bar { padding: 0 0.75rem; font-size: 0.625rem; }
    .ann-right { display: none !important; }
    .navbar-new .max-w-7xl { padding-left: 1rem; padding-right: 1rem; }
}
@media (max-width: 767px) {
    .section-window { padding: 3.5rem 0; }
    .section-title { font-size: 1.75rem !important; }
    .section-subtitle { font-size: 0.9375rem; margin-bottom: 1.5rem; }
    #vid-thumb, #vid-player { aspect-ratio: 16/9 !important; border-radius: 1rem !important; }
    .hero-wrap { height: 92svh; min-height: 480px; max-height: 700px; }
    .hero-slide { padding-top: 4.5rem; padding-bottom: 4.5rem; }
    .hero-content { padding-left: 1.25rem; padding-right: 1.25rem; margin-top: 5rem; }
    .hero-title { font-size: clamp(1.625rem, 7.5vw, 2.25rem) !important; margin-bottom: 0.875rem; }
    .hero-desc { font-size: 0.875rem; line-height: 1.65; margin-bottom: 1.5rem; max-width: 100%; }
    .hero-btns { gap: 0.75rem; margin-bottom: 1.75rem; }
    .hero-btns a { padding: 0.625rem 1.25rem; font-size: 0.8125rem; }
    .hero-badge { font-size: 0.6875rem; padding: 0.3rem 0.75rem; margin-bottom: 1rem; }
    .hero-trust { gap: 0.625rem 1rem; padding-top: 1rem; }
    .hero-trust-item { font-size: 0.6875rem; gap: 0.375rem; }
    .hero-nav { width: 2rem; height: 2rem; }
    .hero-nav svg { width: 1rem; height: 1rem; }
    .hero-nav--prev { left: 0.625rem; }
    .hero-nav--next { right: 0.625rem; }
    .hero-footer { bottom: 1rem; gap: 1rem; }
    .hero-pager .swiper-pagination-bullet { width: 18px; }
    .hero-pager .swiper-pagination-bullet-active { width: 32px; }
}
@media (max-width: 479px) {
    .hero-wrap { height: 95svh; min-height: 460px; }
    .hero-content { padding-left: 1rem; padding-right: 1rem; }
    .hero-title { font-size: clamp(1.5rem, 7vw, 2rem) !important; }
    .hero-trust { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
    .hero-nav { display: none; }
}    .about-float-bl { bottom: -0.5rem !important; left: 0.5rem !important; }
    .about-float-tr { top: -0.5rem !important; right: 0.5rem !important; }
    .steps-connector { display: none !important; }
    .testimonial-card { padding: 1.25rem; }
    .partners-track > div { width: 130px !important; height: 70px !important; padding: 0.75rem !important; }

@media (max-width: 479px) {
    .hero-btns { flex-direction: column; }
    .hero-btns a, .btn-primary, .btn-accent { width: 100%; justify-content: center; }
    .about-float-bl, .about-float-tr { display: none !important; }
    .achievements-grid { grid-template-columns: 1fr !important; }
    .steps-grid { grid-template-columns: 1fr !important; }
    .tab-btn { font-size: 0.75rem; padding: 0.5rem 0.75rem; }
    .service-panel-grid > div:last-child { display: none; }
}
@media (max-width: 1023px) {
    .service-panel-grid { grid-template-columns: 1fr !important; }
}

/* ===== HERO SLIDER ===== */
.hero-wrap {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 620px;
    overflow: hidden;
}
.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
    width: 100%;
    height: 100%;
}
.hero-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6rem;    /* offset for fixed navbar */
    padding-bottom: 6rem; /* balance so content is truly centred */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem;
    margin-top: 8rem; /* push text down from top to visually center in slide */
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(243,121,18,.15);
    border: 1px solid rgba(243,121,18,.35);
    color: #fcd34d;
    font-family: var(--font-display);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.4rem 1rem;
    border-radius: 9999px;
    margin-bottom: 1.5rem;
    letter-spacing: 0.04em;
}
.hero-badge--orange { background:rgba(243,121,18,.15); border-color:rgba(243,121,18,.35); color:#fcd34d; }
.hero-badge--green  { background:rgba(34,197,94,.12);  border-color:rgba(34,197,94,.30);  color:#86efac; }
.hero-badge--blue   { background:rgba(96,165,250,.12); border-color:rgba(96,165,250,.30); color:#93c5fd; }
.hero-dot {
    display: inline-block;
    width: 8px; height: 8px;
    background: #4ade80;
    border-radius: 50%;
    animation: heroDotPulse 2s infinite;
}
@keyframes heroDotPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.5)} }
.hero-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    color: white;
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin-bottom: 1.25rem;
}
.hero-desc {
    color: rgba(255,255,255,.75);
    font-size: 1.0625rem;
    line-height: 1.75;
    max-width: 36rem;
    margin-bottom: 2rem;
}
.hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2.5rem;
}
.hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.12);
}
.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255,255,255,.6);
    font-size: 0.875rem;
    font-weight: 500;
}
/* Nav arrows */
.hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 3rem; height: 3rem;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    border: 1.5px solid rgba(255,255,255,.25);
    color: white;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    backdrop-filter: blur(8px);
}
.hero-nav:hover { background: rgba(255,255,255,.25); transform: translateY(-50%) scale(1.08); }
.hero-nav svg { width: 1.25rem; height: 1.25rem; }
.hero-nav--prev { left: 1.5rem; }
.hero-nav--next { right: 1.5rem; }
@media(min-width:768px) {
    .hero-nav--prev { left: 2.5rem; }
    .hero-nav--next { right: 2.5rem; }
}
/* Footer bar: pagination + counter */
.hero-footer {
    position: absolute;
    bottom: 2.5rem;
    left: 0; right: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    padding: 0 1.5rem;
}
.hero-counter {
    color: rgba(255,255,255,.55);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.hero-cur { color: white; }
/* Pagination bullets */
.hero-pager .swiper-pagination-bullet {
    width: 28px; height: 3px;
    border-radius: 9999px;
    background: rgba(255,255,255,.3);
    opacity: 1;
    transition: all 0.35s;
    margin: 0 3px !important;
}
.hero-pager .swiper-pagination-bullet-active {
    background: #f37912;
    width: 48px;
}
/* Slide-in animation for active slide content */
.hero-swiper .swiper-slide-active .hero-badge  { animation: heroFadeUp .6s .1s both; }
.hero-swiper .swiper-slide-active .hero-title  { animation: heroFadeUp .6s .2s both; }
.hero-swiper .swiper-slide-active .hero-desc   { animation: heroFadeUp .6s .3s both; }
.hero-swiper .swiper-slide-active .hero-btns   { animation: heroFadeUp .6s .4s both; }
.hero-swiper .swiper-slide-active .hero-trust  { animation: heroFadeUp .6s .5s both; }
@keyframes heroFadeUp {
    from { opacity:0; transform:translateY(24px); }
    to   { opacity:1; transform:translateY(0); }
}
/* Wave */
.hero-wave {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 5;
    line-height: 0;
}
.hero-wave svg { width: 100%; height: 60px; display: block; }

/* Partners marquee */
@keyframes partnersScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.partners-track { animation: partnersScroll 22s linear infinite; width:max-content; display:flex; gap:2rem; align-items:center; }
.partners-track:hover { animation-play-state: paused; }
.partners-track img { filter: grayscale(100%); opacity: 0.65; transition: filter 0.3s, opacity 0.3s; }
.partners-track div:hover img { filter: grayscale(0%); opacity: 1; }
/* Testimonials pagination */
.testimonials-pagination .swiper-pagination-bullet { background:rgba(255,255,255,.4); opacity:1; }
.testimonials-pagination .swiper-pagination-bullet-active { background:#f37912; }
/* Tab animated underline */
.tab-btn { position: relative; }
.tab-btn::after { content:''; position:absolute; bottom:-2px; left:50%; width:0; height:2px; background:#f37912; border-radius:9999px; transform:translateX(-50%); transition: width 0.3s ease; }
.tab-btn.bg-\[\#2d6a96\]::after { width: 60%; }
