:root {
    --blue: #2B7CFF;
    --red: #ED1B24;
    --white: #ffffff;
    --heading-black: #1a1a1a;
    --text-color: #666;
    --text-blue: #38bdf8;
    --section-color: #FAFAFA;
}
html { scroll-behavior: smooth; }

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body { overflow-x: hidden }

.hero-container { width: 100%;  display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.hero {
    width: 100%;
    min-height:100vh;
    display: flex;
    align-items: center;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(1, 119, 191, 0.12));
    padding: 80px 8%;
    overflow: hidden;
    position: relative; }
.hero::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(1, 119, 191, 0.10) 0%, transparent 70%);
    pointer-events: none; }
.hero-content { flex: 1; }
.hero-tag {
    display: inline-block;
    color: var(--blue);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 1px;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp .8s ease forwards;
    animation-delay: .2s; }
.hero-heading span { display: inline-block;  opacity: 0;  transform: translateY(40px); filter: blur(6px); animation: wordReveal 1s cubic-bezier(.16, 1, .3, 1) forwards; }
.hero-heading span:nth-child(1) {  animation-delay: .3s; }
.hero-heading span:nth-child(2) { animation-delay: .45s; }
.hero-heading span:nth-child(4) { animation-delay: .6s; }
.hero-heading span:nth-child(5) { animation-delay: .75s; }
.outline-text {  font-size: 80px;  font-weight: 900;  color: transparent;  -webkit-text-stroke: 2px #000; }
.outline-orange { font-size: 80px; font-weight: 900;  color: transparent;  -webkit-text-stroke: 2px var(--red); }
.filled-black {   font-size: 70px;  font-weight: 900;  color: var(--heading-black); }
.filled-orange {  font-size: 70px;  font-weight: 900;  color: var(--blue); }
.hero-desc {
    max-width: 700px;
    color: var(--text-color);
    font-size: 18px;
    line-height:1.6;
    margin-top: 20px;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp .9s ease forwards;
    animation-delay: .9s; }
.hero-btn {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding: 16px 34px;
    background: linear-gradient(135deg, #1b6fff, #3b89ff);
    color: white;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 600;
    box-shadow: 0 0 20px rgba(59, 137, 255, .55);
    opacity: 0;
    transform: translateY(15px) scale(.98);
    animation: btnIn .8s ease forwards;
    animation-delay: 1.1s;
    transition: .3s ease; }
.hero-btn:focus-visible {  outline:3px solid var(--blue); outline-offset:4px; }
.hero-btn:hover {  transform: translateY(-3px);  box-shadow: 0 10px 25px rgba(59, 137, 255, .7);  filter: brightness(1.1); }
.hero-image {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0, 80px, 0) scale(.96);
    animation: heroImage 1.6s cubic-bezier(0.16, 1, .3, 1) forwards;
    animation-delay: .3s; }
.hero-image img {  display: block;  width: 100%;  height: 550px;   object-fit: cover;}
@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    } }
@keyframes wordReveal {
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    } }
@keyframes btnIn {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    } }
@keyframes heroImage {
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    } }
@media (max-width:1199px) {
    .hero { padding: 70px 5%; }
    .hero-container { gap:40px; }
    .outline-text,
    .outline-orange { font-size:65px;}
    .filled-black,
    .filled-orange { font-size:58px;}
    .hero-desc { max-width:600px; font-size:17px; }
    .hero-image img { height:500px; } }
@media (max-width:991px) {
    .hero { min-height:auto; padding:70px 5%;}
    .hero-container {  flex-direction:column;  gap:50px; }
    .hero-content {   width:100%;}
    .hero-tag {  font-size:18px; }
    .outline-text,
    .outline-orange {  font-size:55px; }
    .filled-black,
    .filled-orange {  font-size:50px; }
    .hero-desc { max-width:650px;  font-size:17px; }
    .hero-btn {  margin-top:10px; }
    .hero-image {  width:100%;  border-radius:20px; }
    .hero-image img { height:auto; max-height:550px;}
    .hero::before {  width:350px; height:350px;} }
@media (max-width:767px) {
    .hero {  padding:60px 20px; }
    .hero-container {  gap:35px; }
    .hero-tag { font-size:16px; letter-spacing:.8px; margin-bottom:15px;}
    .outline-text,
    .outline-orange { font-size:42px;  -webkit-text-stroke-width:1.5px; }
    .filled-black,
    .filled-orange { font-size:40px;}
    .hero-heading { line-height:1.1; }
    .hero-desc { font-size:16px;  line-height:1.7; }
    .hero-btn { padding:14px 28px; font-size:15px;}
    .hero-image img {  height:auto; width:100%;}
    .hero::before { width:250px; height:250px; top:-50px; right:-50px; } }
@media (max-width:575px) {
    .hero {  padding:50px 16px;}
    .hero-container {   gap:30px; }
    .hero-tag {  font-size:14px; }
    .outline-text,
    .outline-orange { font-size:36px;}
    .filled-black,
    .filled-orange { font-size:34px; }
    .hero-desc { font-size:15px; line-height:1.65; }
    .hero-btn { width:auto; padding:13px 24px; border-radius:25px;}
    .hero-image { border-radius:15px;} }
@media (max-width:360px) {
    .hero { padding:40px 14px; }
    .hero-tag { font-size:13px;}
    .outline-text,
    .outline-orange {font-size:31px;}
    .filled-black,
    .filled-orange {font-size:30px; }
    .hero-heading {  line-height:1.05;}
    .hero-desc {  font-size:14px; }
    .hero-btn { font-size:14px; padding:12px 20px; }
    .hero-image img {  max-height:400px;} }
@media (prefers-reduced-motion:reduce) {
    .hero-tag,
    .hero-heading span,
    .hero-desc,
    .hero-btn,
    .hero-image { animation:none; opacity:1; transform:none; filter:none; } 
}
.clients-section {
    padding: 70px 0;
    background: linear-gradient( to bottom, rgba(43, 124, 255, 0.03), #ffffff 40%, #fffafa );
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 30px; }
.marquee { width: 100%; height: 70px; overflow: hidden; display: flex; align-items: center; }
.marquee-content { display: flex; align-items: center; width: max-content; gap: 80px; will-change: transform; animation: marquee 35s linear infinite; }
.reverse .marquee-content { animation: marqueeReverse 35s linear infinite; }
.marquee:hover .marquee-content {  animation-play-state: paused; }
.marquee img { 
    display: block; 
    width: 140px; 
    height: 55px;  
    object-fit: contain; 
    object-position: center; 
    filter: grayscale(100%);
    opacity: 0.7;
    transition: filter 0.3s ease, opacity 0.3s ease,  transform 0.3s ease; }
.marquee img:hover { filter: grayscale(0%); opacity: 1; transform: scale(1.04); }
@keyframes marquee {
    from {
        transform: translateX(0); }
    to {
        transform: translateX(-50%); } 
    }
@keyframes marqueeReverse {
    from {
        transform: translateX(-50%); }
    to {
        transform: translateX(0); }
    }
@media (max-width: 1200px) {
    .clients-section { gap: 28px;}
    .marquee-content { gap: 60px;}
    .marquee img {  width: 130px; } }
@media (max-width: 992px) {
    .clients-section { padding: 60px 0; gap: 24px; }
    .marquee-content {  gap: 50px; }
    .marquee img { width: 120px; height: 55px;} }
@media (max-width: 768px) {
    .clients-section { gap: 20px;}
    .marquee-content {  gap: 40px;}
    .marquee img { width: 105px; height: 48px;} }
@media (max-width: 576px) {
    .clients-section { padding: 50px 0; gap: 18px; }
    .marquee-content { gap: 35px;animation-duration: 45s;}
    .reverse .marquee-content { animation-duration: 45s; }
    .marquee img { width: 90px; height: 45px;} }
@media (max-width: 430px) {
    .clients-section { gap: 16px;}
    .marquee-content { gap: 28px;}
    .marquee img { width: 80px; height: 42px;} }
@media (max-width: 360px) {
    .clients-section { gap: 14px; }
    .marquee-content { gap: 22px; }
    .marquee img {  width: 70px;  height: 38px; } }
@media (prefers-reduced-motion: reduce) {
    .marquee-content { animation: none;  transform: none; }
    .marquee:hover .marquee-content { animation-play-state: running; }
    .marquee img { transition: none; } 
}
.services-section { padding: 80px 8%; background: var(--section-color); }
.services-section .container { display: flex;  gap: 60px;  align-items: center; justify-content: space-between; }
.services-grid { flex: 1; display: grid; grid-template-columns: repeat(2, 1fr);  gap: 30px; align-items: stretch; }
.service-card {
    background: #fff;
    border: 1px solid #ddd;
    padding: 45px 35px;
    transition: 0.4s ease;
    border-radius: 15px;
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column; }
.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 4px;
    background: var(--blue);
    transition: 0.4s; }
.service-card:hover::before { width: 100%; }
.service-card:hover {  transform: translateY(-8px);  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08); }
.service-icon {
    color: var(--blue);
    margin-bottom: 20px;
    font-size: 32px;
    width: 64px;
    height: 64px;
    background: rgba(1, 119, 191, 0.08);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s; }
.service-card strong {
    font-size: 19.5px;
    min-height: 45px;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--heading-black);
    line-height: 1.2;
    display: flex;
    justify-content: space-between;
    align-items: center; }
.card-arrow { font-size: 20px; color: var(--blue); opacity: 0.7; transition: all .35s ease; }
.service-card:hover .card-arrow {  opacity: 1; transform: translate(5px, -5px); }
.service-card-link {  display: block;  text-decoration: none;  color: inherit; cursor: pointer; height: 100%; }
.service-card-link:focus-visible .service-card { outline: 3px solid var(--blue); outline-offset: 4px; }
.service-card-link,
.service-card-link:hover,
.service-card-link:focus,
.service-card-link:visited { text-decoration: none; color: inherit; }
.service-card p {  color: var(--text-color);  margin: 1rem auto 0; max-width: 600px; line-height: 1.3; font-size: 16px; }
.services-content { flex: 1; }
.section-tag { display: flex; align-items: center; gap: 14px; font-size: 20px; font-weight: 700; color: var(--blue) !important; margin-bottom: 25px; letter-spacing: 1px; }
.section-tag-star { font-size: 40px; color: var(--blue) !important; }
.services-title { font-size: 80px; line-height: 0.95;  font-weight: 900;  color: var(--heading-black);  margin-bottom: 35px; }
.services-title span {  color: transparent;  -webkit-text-stroke: 2px var(--heading-black); }
.services-title strong { color: var(--blue); }
.services-text { display: grid;  grid-template-columns: repeat(2, 1fr); gap: 30px; margin-bottom: 20px; }
.services-text p { color: var(--text-color); line-height: 1.5; font-size: 17px; }
.services-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg,  #1b6fff,  #3b89ff);
    box-shadow: 0 0 20px rgba(59, 137, 255, .55);
    color: white;
    text-decoration: none;
    border-radius: 30px;
    padding: 18px 34px;
    font-weight: 700;
    transition: 0.4s ease; }
.services-btn span { font-size: 20px; }
.services-btn:hover { transform: translateY(-3px);  box-shadow: 0 10px 25px rgba(59, 137, 255, 0.7);  filter: brightness(1.1); }
.fade-up,
.fade-down { opacity: 0; transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1); will-change: transform, opacity; }
.fade-up { transform: translate3d(0, 60px, 0) scale(0.97); }
.fade-down { transform: translate3d(0, -60px, 0) scale(0.97); }
.fade-up.active,
.fade-down.active { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.service-card {  transition-delay: calc(var(--i) * 120ms); }
.services-content-heading {
    opacity: 0;
    transform: translate3d(40px, 0, 0) scale(0.98);
    filter: blur(6px);
    transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1),  transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),  filter 1.1s cubic-bezier(0.16, 1, 0.3, 1); }
.services-content-heading.active { opacity: 1;  transform: translate3d(0, 0, 0) scale(1);  filter: blur(0); }
@media(max-width:1200px) {
    .services-section { padding: 70px 5%; }
    .services-section .container { gap: 40px; }
    .services-title {  font-size: 65px; }
    .service-card {  padding: 35px 25px; }
    .service-icon {  font-size: 44px; }
    .service-card strong { font-size: 17px; }
    .service-card p { font-size: 15px; }
    .services-text p { font-size: 15px; } }
@media(max-width:992px) {
    .services-section { padding: 60px 5%;}
    .services-section .container { flex-direction: column;  align-items: stretch; gap: 50px; }
    .services-grid { width: 100%; }
    .services-content { width: 100%; }
    .services-title { font-size: 58px;line-height: 1; margin-bottom: 25px; }
    .section-tag { font-size: 17px !important; margin-bottom: 20px; }
    .section-tag-star {  font-size: 17px !important; }
    .service-card {  padding: 30px 22px; }
    .service-icon { font-size: 28px; width: 56px; height: 56px; border-radius: 12px; }
    .service-card strong { font-size: 16px;}
    .service-card p { font-size: 14px;}
    .services-text { gap: 25px; margin-bottom: 25px;}
    .services-text p {font-size: 15px; }
    .services-btn { padding: 15px 28px; font-size: 15px; } }
@media(max-width:768px) {
    .services-section { padding: 50px 5%; }
    .services-title { font-size: 48px; margin-bottom: 20px; }
    .services-title span { -webkit-text-stroke: 1.5px var(--heading-black); }
    .section-tag { font-size: 15px !important; gap: 10px;  margin-bottom: 15px; }
    .section-tag span { font-size: 15px !important; }
    .services-grid { gap: 20px; }
    .service-card { padding: 25px 20px;}
    .service-icon { font-size: 26px; width: 52px; height: 52px; border-radius: 10px; }
    .service-card strong { font-size: 15px; }
    .service-card p {  font-size: 13px;  margin-top: 8px; }
    .services-grid { grid-template-columns: 1fr;  gap: 25px; }
    .services-text { grid-template-columns: 1fr; gap: 15px; }
    .services-text p { font-size: 16px;}
    .services-btn { padding: 13px 26px; font-size: 14px; } }
@media (max-width: 576px) {
    .services-section { padding: 40px 4%; }
    .services-title { font-size: 38px; line-height: 1.05;  margin-bottom: 18px; }
    .services-title span { -webkit-text-stroke: 1.5px var(--red); }
    .section-tag { font-size: 12px !important; margin-bottom: 12px; }
    .section-tag-star { font-size: 12px !important; }
    .services-grid { grid-template-columns: 1fr; gap: 15px; }
    .service-card { padding: 22px 18px; border-radius: 12px; }
    .service-icon { font-size: 24px; width: 48px; height: 48px; border-radius: 10px; }
    .service-card strong { font-size: 16px; }
    .service-card p { font-size: 14px; line-height: 1.3;}
    .services-text p { font-size: 13px; }
    .services-btn { padding: 12px 24px; font-size: 13px;  gap: 8px; }
    .services-btn span { font-size: 16px; } }
@media(max-width:480px) {
    .services-section { padding: 35px 4%;}
    .services-title {  font-size: 32px;}
    .section-tag { font-size: 12px !important;gap: 8px; }
    .section-tag-star { font-size: 12px !important;}
    .service-card { padding: 20px 16px; }
    .service-icon {  font-size: 22px;  width: 44px;  height: 44px;  border-radius: 8px; }
    .service-card strong {  font-size: 14px; }
    .service-card p {  font-size: 12px; }
    .services-text p {  font-size: 12px; }
    .services-btn {  padding: 11px 22px;  font-size: 13px; } }
@media (max-width: 360px) {
    .services-section { padding: 30px 3%; }
    .services-title { font-size: 28px; }
    .section-tag {  font-size: 11px !important; }
    .section-tag-star { font-size: 11px !important;  }
    .service-icon { font-size: 20px; width: 40px; height: 40px; border-radius: 8px; }
    .service-card strong { font-size: 13px; }
    .service-card p {  font-size: 12px; }
    .services-text p {  font-size: 12px; }
    .services-btn {  padding: 10px 20px; font-size: 12px; } 
}
.about-section { position: relative; padding: 110px 8%; background: var(--section-color); overflow: hidden; }
.about-section .container { display: flex; align-items: center; justify-content: space-between;  gap: 70px; }
.about-content {  flex: 1;  position: relative;  z-index: 2; }
.section-tag { display: flex;  align-items: center;  gap: 14px;  color: var(--blue) !important;  font-size: 20px; font-weight: 700;  margin-bottom: 25px; letter-spacing: 1px; }
.section-tag span { color: var(--blue) !important; font-size: 40px; }
.about-title { font-size: 65px; line-height: 1;  font-weight: 900; color: var(--heading-black);  margin-bottom: 35px; }
.about-title span { color: transparent; -webkit-text-stroke: 2px var(--red); }
.about-title strong { color: var(--blue); }
.about-description { color: var(--text-color);  max-width: 700px; line-height: 1.6;  font-size: 17px;  margin-bottom: 1.5rem; }
.about-features {  display: grid;  grid-template-columns: repeat(2, 1fr); gap: 35px;  margin-bottom: 45px; }
.feature-box {  display: flex; align-items: flex-start; gap: 18px; transition: 0.4s ease; }
.feature-box:hover {  transform: translateY(-5px); }
.feature-icon {
    color: var(--blue);
    font-size: 32px;
    width: 64px;
    height: 64px;
    background: rgba(1, 119, 191, 0.08);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    flex-shrink: 0; }
.feature-text strong { display: block; font-size: 19px;  font-weight: 700; margin-bottom: 10px;  color: var(--heading-black);  line-height: 1.5; }
.feature-text p {  color: var(--text-color);  margin: 0;  max-width: 600px;  line-height: 1.4; font-size: 16px; }
.about-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 30px;
    background: linear-gradient(135deg, #1b6fff, #3b89ff);
    box-shadow: 0 0 20px rgba(59, 137, 255, .55);
    color: white;
    text-decoration: none;
    padding: 18px 34px;
    font-weight: 700;
    transition: 0.4s ease; }
.about-btn span { font-size: 20px; }
.about-btn:hover { transform: translateY(-3px);  box-shadow: 0 10px 25px rgba(59, 137, 255, 0.7); filter: brightness(1.1); }
.about-image-wrapper {  flex: 1;  display: flex;  justify-content: center; }
.about-image-box { margin: 0; width: 100%; max-width: 620px; }
.about-image-box img { width: 100%; height:720px; display: block; object-fit: cover; border-radius: 20px; }
.fade-left,
.fade-right { opacity: 0;  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),   transform 1s cubic-bezier(0.16, 1, 0.3, 1); will-change: transform, opacity; }
.fade-left {  transform: translate3d(-60px, 0, 0) scale(0.97); }
.fade-right {  transform: translate3d(60px, 0, 0) scale(0.97); }
.fade-left.active,
.fade-right.active { opacity: 1;  transform: translate3d(0, 0, 0) scale(1); }
.about-content-heading {
    opacity: 0;
    transform: translate3d(-80px, 20px, 0) scale(0.96);
    filter: blur(10px);
    transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1.2s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity, filter; }
.about-content-heading.active { opacity: 1; transform: translate3d(0, 0, 0) scale(1);  filter: blur(0); }
@media (max-width: 992px) {
    .about-section { padding: 90px 5%; }
    .about-section .container {  flex-direction: column;  gap: 50px;  align-items: stretch; }
    .about-content {  width: 100%; }
    .section-tag { font-size: 18px;  margin-bottom: 20px; }
    .section-tag span {  font-size: 34px; }
    .about-title { font-size: 48px; line-height: 1.05;  margin-bottom: 30px; }
    .about-description {  max-width: 100%;  font-size: 16px;  line-height: 1.6; }
    .about-features {  gap: 30px; margin-bottom: 40px; }
    .feature-box { gap: 15px; }
    .feature-icon {  width: 58px;  height: 58px;  font-size: 28px; }
    .feature-text strong {  font-size: 18px; }
    .feature-text p { font-size: 15px; }
    .about-btn {  padding: 16px 30px; }
    .about-image-wrapper {  width: 100%; }
    .about-image-box {  max-width: 100%; }
    .about-image-box img { height: 600px; } }
@media (max-width: 768px) {
    .about-section { padding: 80px 5%; }
    .about-section .container { flex-direction: column; gap: 45px; }
    .section-tag { font-size: 18px; margin-bottom: 20px; }
    .section-tag span { font-size: 32px; }
    .about-title {  font-size: 45px;  line-height: 1.05;  margin-bottom: 25px; }
    .about-description {  font-size: 16px;  line-height: 1.6;  max-width: 100%; }
    .about-features { grid-template-columns: 1fr;  gap: 28px;  margin-bottom: 35px; }
    .feature-box {  gap: 16px; }
    .feature-icon { width: 60px; height: 60px; font-size: 30px; }
    .feature-text strong {  font-size: 18px; }
    .feature-text p {  font-size: 15px; }
    .about-btn {  padding: 16px 30px; }
    .about-image-box { max-width: 100%; }
    .about-image-box img { height: 550px; } }
@media (max-width: 576px) {
    .about-section {  padding: 70px 5%; }
    .about-section .container {  gap: 40px; }
    .section-tag { font-size: 16px;  gap: 10px; letter-spacing: .8px; }
    .section-tag span { font-size: 28px; }
    .about-title {  font-size: 36px;  line-height: 1.1;  margin-bottom: 25px; }
    .about-title span {  -webkit-text-stroke: 1.5px var(--red); }
    .about-description {  font-size: 15px;  line-height: 1.55;  margin-bottom: 1.2rem; }
    .about-features { grid-template-columns: 1fr; gap: 25px;  margin-bottom: 35px; }
    .feature-box { gap: 14px; }
    .feature-icon {  width: 55px; height: 55px; font-size: 26px; border-radius: 12px; }
    .feature-text strong {  font-size: 17px;  margin-bottom: 7px; }
    .feature-text p { font-size: 14px; line-height: 1.45; }
    .about-btn {  justify-content: center;  padding: 15px 25px; }
    .about-image-box img {  height: 450px;  border-radius: 18px; }
    .fade-left { transform: translate3d(-30px,0,0) scale(.98); }
    .fade-right { transform: translate3d(30px,0,0) scale(.98); }
    .about-content-heading { transform: translate3d(-40px,15px,0) scale(.98); filter: blur(7px); } }
@media (max-width: 430px) {
    .about-section {  padding: 65px 5%; }
    .about-section .container {   gap: 35px; }
    .section-tag {  font-size: 15px;  gap: 8px; letter-spacing: .7px; }
    .section-tag span {  font-size: 26px; }
    .about-title { font-size: 33px; line-height: 1.1; margin-bottom: 22px; }
    .about-title span { -webkit-text-stroke: 1.3px var(--red); }
    .about-description { font-size: 15px; line-height: 1.55; margin-bottom: 1rem; }
    .about-features {  gap: 22px; }
    .feature-box { gap: 12px; }
    .feature-icon {  width: 52px; height: 52px;  font-size: 25px;  border-radius: 12px; }
    .feature-text strong { font-size: 16px;  margin-bottom: 6px; }
    .feature-text p {  font-size: 14px; line-height: 1.45; }
    .about-btn {  justify-content: center;  padding: 15px 20px; }
    .about-image-box img {  height: 430px;  border-radius: 16px; } }
@media (max-width: 360px) {
    .about-section { padding: 55px 5%; }
    .section-tag {  font-size: 14px; }
    .section-tag span { font-size: 24px; }
    .about-title { font-size: 29px;  line-height: 1.12; }
    .about-description {  font-size: 14px; line-height: 1.5; }
    .about-features {   gap: 20px; }
    .feature-box {   gap: 10px;  }
    .feature-icon {  width: 48px;  height: 48px;  font-size: 22px; }
    .feature-text strong { font-size: 15px; }
    .feature-text p {  font-size: 13px; }
    .about-btn {  font-size: 14px;  padding: 14px 18px; }
    .about-image-box img {  height: 380px;  border-radius: 14px; }
}
.impact-section { background: #FAFAFA; padding: 40px 8%;  overflow: hidden; }
.impact-section .container {  max-width: 1400px; margin: auto; }
.impact-heading { text-align: center;  max-width: 900px;  margin: 0 auto 80px; }
.impact-heading h4 { font-size: 55px;  line-height: 1;  font-weight: 900;  color: var(--heading-black); margin-bottom: 30px; }
.impact-heading span {  color: transparent;  -webkit-text-stroke: 2px var(--red); }
.impact-heading strong {  color: #2B7CFF;  font-weight: 900; }
.impact-heading p { max-width: 760px; margin: auto; color: var(--text-color); font-size: 17px; line-height: 1.6; }
.impact-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.stat-box { text-align: center; position: relative;  padding: 20px 10px; transition: 0.4s ease; }
.stat-box::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    height: 4px;
    border-radius:20px;
    background: #2B7CFF;
    transition: 0.4s ease; }
.stat-box:hover::after {  width: 70px; }
.stat-box:hover { transform: translateY(-8px); }
.stat-box span { display:block; font-size: 50px; font-weight: 900; line-height: 1; color:var(--heading-black);  margin-bottom: 18px; }
.stat-box p { font-size: 19px; font-weight:600;  margin-bottom: 10px;  color: var(--heading-black); line-height: 1.5; margin:0; }
.certifications {  display: flex;  justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap;  margin-top: 60px;  padding-top: 40px; }
.certifications figure { margin: 0; display: flex; align-items: center; justify-content: center; }
.certifications img { display: block; width: 100%; max-width: 180px; height: auto; object-fit: contain; transition: transform 0.3s ease; }
.certifications img:hover { transform: translateY(-5px); }
@media (max-width: 992px) {
    .impact-section { padding: 80px 6%; }
    .impact-heading {
        max-width: 850px;
        margin-bottom: 65px;
    }
    .impact-heading h4 {
        font-size: 48px;
        line-height: 1.05;
    }
    .impact-heading p {
        font-size: 16px;
        max-width: 700px;
    }
    .impact-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }
    .stat-box {
        padding: 18px 10px;
    }
    .stat-box span {
        font-size: 46px;
    }
    .stat-box p {
        font-size: 18px;
    }
    .certifications {
        margin-top: 55px;
        padding-top: 35px;
        gap: 25px;
    }
    .certifications img {
        max-width: 170px; }}
@media (max-width: 768px) {
    .impact-section {
        padding: 70px 5%;
    }
    .impact-heading {
        max-width: 100%;
        margin-bottom: 60px;
    }
    .impact-heading h4 {
        font-size: 42px;
        line-height: 1.1;
        margin-bottom: 20px;
    }
    .impact-heading span {
        -webkit-text-stroke: 1.5px var(--red);
    }
    .impact-heading p {
        font-size: 16px;
        line-height: 1.6;
    }
    .impact-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px 25px;
    }
    .stat-box {
        padding: 15px 10px;
    }
    .stat-box span {
        font-size: 42px;
        margin-bottom: 14px;
    }
    .stat-box p {
        font-size: 17px;
    }
    .certifications {
        margin-top: 50px;
        padding-top: 30px;
        gap: 25px;
    }
    .certifications img {
        max-width: 160px; } }
@media (max-width: 600px) {
    .impact-section {
        padding: 60px 5%;
    }
    .impact-heading h4 {
        font-size: 36px;
    }
    .impact-heading p {
        font-size: 15px;
    }
    .impact-stats {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .stat-box span {
        font-size: 45px;
    }
    .stat-box p {
        font-size: 16px;
    }
    .certifications {
        gap: 20px;
    }
    .certifications img {
        max-width: 140px; } }
@media (max-width: 430px) {
    .impact-section {
        padding: 50px 20px;
    }
    .impact-heading {
        margin-bottom: 40px;
    }
    .impact-heading h4 {
        font-size: 32px;
        line-height: 1.15;
    }
    .impact-heading span {
        -webkit-text-stroke: 1px var(--red);
    }
    .impact-heading p {
        font-size: 15px;
        line-height: 1.5;
    }
    .impact-stats {
        gap: 25px;
    }
    .stat-box {
        padding: 10px;
    }
    .stat-box span {
        font-size: 40px;
    }
    .stat-box p {
        font-size: 15px;
    }
    .certifications {
        margin-top: 35px;
        padding-top: 25px;
        gap: 15px;
    }
    .certifications img {
        max-width: 130px; } }
@media (max-width: 360px) {
    .impact-section {
        padding: 45px 15px;
    }
    .impact-heading h4 {
        font-size: 28px;
    }
    .impact-heading p {
        font-size: 14px;
    }
    .impact-stats {
        gap: 20px;
    }
    .stat-box span {
        font-size: 36px;
    }
    .stat-box p {
        font-size: 14px;
    }
    .certifications {
        flex-direction: column;
        gap: 20px;
    }
    .certifications img {
        max-width: 150px;
    }

}

.why-us-section {
    padding: 110px 8% 20px 8%;
    background: #FAFAFA;
}

.why-us-section .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
}

/* ================= LEFT CONTENT ================= */

.why-us-content {
    flex: 1;
}

.section-tag {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #2B7CFF;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 1px;
}

.section-tag span {
    color: #2B7CFF;
    font-size: 42px;
}

.why-title {
    font-size: 75px;
    line-height: 0.95;
    font-weight: 900;
    color: #111;
    margin-bottom: 35px;
}

.why-title span {
    color: transparent;
    -webkit-text-stroke: 2px var(--red);
}

.why-title strong {
    color: #2B7CFF;
}

.why-heading {
    font-size: 65px;

}

.why-description {
    font-size: 18px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 45px;
    max-width: 700px;
}

/* ================= FEATURES ================= */
.why-features {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.why-feature-box {
    display: flex;
    gap: 20px;
    transition: 0.4s ease;
}

.why-feature-box:hover {
    transform: translateX(10px);
}

.why-icon {
    color: #2B7CFF;
    font-size: 32px;
    width: 64px;
    height: 64px;
    background: rgba(1, 119, 191, 0.08);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    flex-shrink: 0;
}

.why-text strong {

    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #111;
    line-height: 1.5;
}

.why-text p {
    color: #666;
    margin-top: 0.2rem;
    max-width: 600px;
    line-height: 1.4;
    font-size: 16px;
}

/* ================= RIGHT CARDS ================= */

.why-us-cards {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.why-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 30px;
    border-radius: 15px;
    transition: 0.4s ease;
    position: relative;
    overflow: hidden;
}

.why-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 0%;
    background: #2B7CFF;
    transition: 0.4s ease;
}

.why-card:hover::before,
.active-card::before {
    height: 100%;
}

.why-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.07);
}

.why-card span {
    font-size: 50px;
    color: #2B7CFF;
    margin-bottom: 15px;
    font-weight: 900;
}

.why-card strong {
    font-size: 20px;
    margin-bottom: 15px;
    color: #111;
    font-weight: 750;
}

.why-card p {
    color: #666;
    line-height: 1.2;
    font-size: 16px;
    max-width: 600px;
}

/* ======================================================
   Large Tablets (1200px and below)
====================================================== */
@media (max-width: 1200px) {

    .why-us-section {
        padding: 90px 6%;
    }

    .why-title {
        font-size: 60px;
    }

    .why-heading {
        font-size: 52px;
    }

    .why-description {
        font-size: 17px;
    }

    .why-us-section .container {
        gap: 40px;
    }

}

/* ======================================================
   Tablets (992px and below)
====================================================== */
@media (max-width:992px) {

    .why-us-section {
        padding: 80px 5%;
    }

    .why-us-section .container {
        flex-direction: column;
        gap: 50px;
    }

    .why-us-content,
    .why-us-cards {
        width: 100%;
    }

    .why-title {
        font-size: 52px;
    }

    .why-heading {
        font-size: 46px;
    }

    .why-description {
        max-width: 100%;
    }

    .why-card {
        padding: 25px;
    }

}

/* ======================================================
   Large Phones (768px and below)
====================================================== */
@media (max-width:768px) {

    .why-us-section {
        padding: 70px 20px;
    }

    .section-tag {
        font-size: 17px;
        gap: 10px;
    }

    .section-tag span {
        font-size: 32px;
    }

    .why-title {
        font-size: 42px;
        line-height: 1.1;
    }

    .why-heading {
        font-size: 36px;
    }

    .why-description {
        font-size: 16px;
        margin-bottom: 35px;
    }

    .why-features {
        gap: 25px;
    }

    .why-feature-box {
        gap: 15px;
        align-items: flex-start;
    }

    .why-icon {
        width: 58px;
        height: 58px;
        font-size: 28px;
    }

    .why-text strong {
        font-size: 18px;
    }

    .why-text p {
        font-size: 15px;
    }

    .why-card {
        padding: 22px;
    }

    .why-card span {
        font-size: 42px;
    }

    .why-card strong {
        font-size: 19px;
    }

}

/* ======================================================
   Small Phones (576px and below)
====================================================== */
@media (max-width:576px) {

    .why-us-section {
        padding: 60px 16px;
    }

    .section-tag {
        font-size: 15px;
    }

    .section-tag span {
        font-size: 26px;
    }

    .why-title {
        font-size: 34px;
    }

    .why-heading {
        font-size: 30px;
    }

    .why-description {
        font-size: 15px;
    }

    .why-feature-box {
        gap: 12px;
    }

    .why-icon {
        width: 52px;
        height: 52px;
        font-size: 24px;
        border-radius: 12px;
    }

    .why-text strong {
        font-size: 17px;
    }

    .why-text p {
        font-size: 14px;
    }

    .why-card {
        padding: 20px;
        border-radius: 12px;
    }

    .why-card span {
        font-size: 36px;
    }

    .why-card strong {
        font-size: 18px;
    }

    .why-card p {
        font-size: 15px;
        line-height: 1.5;
    }

}

/* ======================================================
   Extra Small Phones (400px and below)
====================================================== */
@media (max-width:400px) {

    .why-us-section {
        padding: 50px 14px;
    }

    .why-title {
        font-size: 28px;
    }

    .why-heading {
        font-size: 24px;
    }

    .why-description {
        font-size: 14px;
    }

    .why-feature-box {
        gap: 10px;
    }

    .why-icon {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    .why-text strong {
        font-size: 16px;
    }

    .why-text p {
        font-size: 13px;
    }

    .why-card {
        padding: 18px;
    }

    .why-card span {
        font-size: 32px;
    }

    .why-card strong {
        font-size: 17px;
    }

    .why-card p {
        font-size: 14px;
    }

}

/* ======================================================
   Very Small Devices (320px and below)
====================================================== */
@media (max-width:320px) {

    .why-us-section {
        padding: 45px 12px;
    }

    .why-title {
        font-size: 24px;
    }

    .why-heading {
        font-size: 22px;
    }

    .section-tag {
        font-size: 14px;
    }

    .section-tag span {
        font-size: 22px;
    }

    .why-icon {
        width: 42px;
        height: 42px;
        font-size: 20px;
    }

    .why-text strong {
        font-size: 15px;
    }

    .why-text p {
        font-size: 12px;
    }

    .why-card {
        padding: 16px;
    }

    .why-card span {
        font-size: 28px;
    }

}


/* ============================================================
                        PORTFOLIO SECTION
   ============================================================ */

.home-portfolio {
    background: #FAFAFA;
    padding: 30px 8% 20px 8%;
}

/* ================= CONTAINER ================= */

.portfolio-container {
    border-radius: 35px;
    padding: 60px;
    overflow: hidden;
}

/* ================= TOP AREA ================= */

.portfolio-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 60px;
}

.portfolio-left {
    max-width: 700px;
}

/* ================= TITLE ================= */

.portfolio-heading {
    font-size: 75px;
    font-weight: 900;
    margin-bottom: 20px;
    line-height: 1.1;
}

.portfolio-outline-orange {
    color: transparent;
    -webkit-text-stroke: 2px #c5141b;
}

.portfolio-filled-black {
    color: #111;
}

.portfoliofilled-orange {
    color: #2B7CFF;
}

/* ================= ANIMATION ================= */
.portfolio-content-heading {
    opacity: 0;
    transform: translateX(100px) scale(.95);
    filter: blur(8px);

    transition:
        opacity 1s cubic-bezier(.22, .61, .36, 1),
        transform 1s cubic-bezier(.22, .61, .36, 1),
        filter 1s cubic-bezier(.22, .61, .36, 1);
}

.portfolio-content-heading.active {
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0);
}

/* ================= DESCRIPTION (FIXED) ================= */

.portfolio-description {
    font-size: 18px;
    color: #555;
    line-height: 1.6;
    max-width: 650px;
    /* ✅ FIX: prevents weird wrapping */
}


/* ================= BUTTON ================= */

.portfolio-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg,
            #1b6fff,
            #3b89ff);
    box-shadow:
        0 0 20px rgba(59, 137, 255, .55);
    color: white;
    text-decoration: none;
    padding: 18px 34px;
    border-radius: 50px;
    font-weight: 700;
    transition: 0.4s ease;
}


/*
.portfolio-view-btn span{
    font-size:18px;
} */

.portfolio-view-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(59, 137, 255, 0.7);
    filter: brightness(1.1);
}

/* ================= GRID ================= */

.portfolio-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

/* ================= CARD ================= */

.portfolio-item {
    position: relative;
    border-radius: 35px;
    overflow: hidden;
    height: 520px;
    transition: 0.4s ease;
}

.portfolio-item:hover {
    transform: translateY(-10px);
}

/* ================= ACTIVE CARD ================= */

.active-item {
    transform: translateY(20px);
}

.active-item:hover {
    transform: translateY(5px);
}

/* ================= IMAGE ================= */

.portfolio-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.portfolio-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
}

.portfolio-item:hover img {
    transform: scale(1.08);
}

/* ================= ARROW BUTTON ================= */

.portfolio-arrow {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 68px;
    height: 68px;
    background: #FAFAFA;
    color: #2B7CFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 28px;
    transition: 0.4s ease;
}

.portfolio-arrow:hover {
    background: #2B7CFF;
    color: #FAFAFA;
    transform: rotate(45deg);
}

/* ============================================================
                        RESPONSIVE FIX
   ============================================================ */

/* 1200px */
@media(max-width:1200px) {
    .portfolio-heading {
        font-size: 48px;
    }
}

/* 992px */
@media(max-width:992px) {

    .portfolio-container {
        padding: 50px 30px;
    }

    .portfolio-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .portfolio-wrapper {
        grid-template-columns: 1fr;
    }

    .portfolio-item {
        height: 450px;
    }

    .portfolio-left {
        max-width: 100%;
    }

    .portfolio-description {
        max-width: 100%;
    }
}

/* 768px */
@media(max-width:768px) {

    .home-portfolio {
        padding: 60px 5%;
    }

    .portfolio-container {
        padding: 35px 20px;
    }

    .portfolio-heading {
        font-size: 40px;
    }

    .portfolio-description {
        font-size: 16px;
    }


    .portfolio-view-btn {
        padding: 16px 28px;
        font-size: 15px;
    }
}


@media (max-width:576px) {

    /* Container spacing */
    .home-portfolio {
        padding: 50px 5%;
    }

    .portfolio-container {
        padding: 30px 18px;
        border-radius: 25px;
    }

    /* Top section */
    .portfolio-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin-bottom: 35px;
    }

    .portfolio-left {
        max-width: 100%;
    }

    /* Heading */
    .portfolio-heading {
        font-size: 32px;
        line-height: 1.2;
    }

    /* Description (FIX MAIN ISSUE) */
    .portfolio-description {
        font-size: 14px;
        line-height: 1.6;
        max-width: 100%;
    }

    /* Button (IMPORTANT FIX) */
    .portfolio-view-btn {
        padding: 14px 22px;
        font-size: 14px;
        border-radius: 50px;
        width: auto;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-top: 10px;
    }

    /* Grid */
    .portfolio-wrapper {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    /* Cards */
    .portfolio-item {
        height: 380px;
        border-radius: 25px;
    }

    /* Arrow button */
    .portfolio-arrow {
        width: 55px;
        height: 55px;
        font-size: 20px;
        bottom: 15px;
        right: 15px;
    }
}

/* 480px */
@media(max-width:480px) {

    .portfolio-heading {
        font-size: 34px;
    }

    .portfolio-item {
        height: 350px;
        border-radius: 25px;
    }

    .portfolio-arrow {
        width: 58px;
        height: 58px;
        font-size: 22px;
    }

    .portfolio-description {
        font-size: 14px;
        line-height: 1.6;
    }

    .portfolio-view-btn {
        padding: 12px 20px;
        font-size: 13px;
        gap: 8px;
    }
}

/* 360px */
@media(max-width:360px) {

    .portfolio-heading {
        font-size: 26px;
    }

    .portfolio-description {
        font-size: 13px;
    }

    .portfolio-view-btn {
        padding: 11px 18px;
        font-size: 12px;
    }
}

/* ============================================================
                         TESTIMONIAL SECTION
   ============================================================ */

.testimonial-section {
    position: relative;
    background: #FAFAFA;
    padding: 110px 6%;
    overflow: hidden;
}

.testimonial-section .container {
    position: relative;
    z-index: 2;
}

.testimonial-top {
    max-width: 1100px;
    margin: 0 auto 70px;
}

.testimonial-title {
    font-size: 75px;
    line-height: 0.95;
    font-weight: 900;
    text-align: center;
    color: #111;
    margin-bottom: 35px;

}

.testimonial-title span {
    color: transparent;
    -webkit-text-stroke: 2px var(--red);
}

.testimonial-title strong {
    color: #2B7CFF;
}

/* ================= animations ================= */
.testimonial-content-heading {
    opacity: 0;
    transform: translate3d(0, 40px, 0) scale(0.92);
    filter: blur(8px);
    transition:
        opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1),
        transform 1.2s cubic-bezier(0.16, 1, 0.3, 1),
        filter 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, opacity, filter;
}

.testimonial-content-heading.active {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

.testimonial-description {
    font-size: 17px;
    text-align: center;
    font-weight: 600;
    line-height: 1.4;
    color: #666;
    max-width: 1000px;
    margin: 0 auto 50px;
}

/* ================= SWIPER ================= */
.testimonialSwiper {
    padding-bottom: 70px;
    overflow: hidden;
}

.testimonialSwiper .swiper-slide {
    height: auto;
    padding-bottom: 20px;
}

.testimonial-card {
    background: #f9f9f9;
    border: 1px solid #dddddd;
    padding: 40px 35px;
    min-height: 370px;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: 0.4s ease;
}

.testimonial-card:hover {
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
}

.active-card {
    background: #fff;
}

.testimonial-text {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 650;
    color: #111;
    font-style: italic;
    margin-bottom: 40px;
}

/* ================= USER ================= */
.testimonial-user {
    display: flex;
    align-items: center;
    gap: 18px;
}

.testimonial-logo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(1, 119, 191, 0.1);
    color: #2B7CFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 800;
    flex-shrink: 0;
}

/* ================= INFO ================= */
.testimonial-info strong {
    font-size: 17px;
    color: #1a1a1a;
    margin-bottom: 6px;
    font-weight: 600;
}

.testimonial-info span {
    color: #999;
    font-size: 14px;
    font-weight: 600;
}

/* ================= PAGINATION ================= */
.testimonialSwiper .swiper-pagination {
    position: relative !important;
    margin-top: 25px;
    bottom: 25px !important;
}

.testimonialSwiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #999;
    opacity: 1;
    transition: 0.3s ease;
}

.testimonialSwiper .swiper-pagination-bullet-active {
    background: #2B7CFF;
    width: 28px;
    border-radius: 30px;
}

/* ================= SCROLLBAR ================= */
.testimonialSwiper .swiper-scrollbar {
    background: #ddd;
    height: 4px;
}

.testimonialSwiper .swiper-scrollbar-drag {
    background: #2B7CFF;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 1199px) {
    .testimonial-section {
        padding: 90px 4%;
    }

    .testimonial-title {
        font-size: 60px;
    }

    .testimonial-description {
        font-size: 17px;
    }

    .testimonial-top {
        margin: 0 auto 55px;
    }

    .testimonial-text {
        font-size: 18px;
    }

    .testimonial-info strong {
        font-size: 18px;
    }
}

@media(max-width:1200px) {
    .testimonial-title {
        font-size: 70px;
    }

    .testimonial-text {
        font-size: 23px;
    }
}

@media(max-width:992px) {
    .testimonial-section {
        padding: 70px 3%;
    }

    .testimonial-title {
        font-size: 48px;
        line-height: 1;
    }

    .testimonial-title span {
        -webkit-text-stroke: 1.5px var(--red);
    }

    .testimonial-description {
        font-size: 16px;
    }

    .testimonial-top {
        margin: 0 auto 45px;
    }

    .testimonial-card {
        padding: 30px 25px;
        min-height: 320px;
    }

    .testimonial-text {
        font-size: 16px;
        margin-bottom: 28px;
    }

    .testimonial-logo {
        width: 50px;
        height: 50px;
        font-size: 17px;
    }

    .testimonial-info strong {
        font-size: 16px;
    }

    .testimonial-info span {
        font-size: 13px;
    }
}

/* Tablet Portrait / Large Phone (≤ 767px) */
@media (max-width: 767px) {
    .testimonial-section {
        padding: 56px 3%;
    }

    .testimonial-title {
        font-size: 44px;
        line-height: 1.05;
        margin-bottom: 24px;
    }

    .testimonial-title span {
        -webkit-text-stroke: 1px var(--red);
    }

    .testimonial-description {
        font-size: 15px;
        font-weight: 500;
    }

    .testimonial-top {
        margin: 0 auto 36px;
    }

    .testimonial-card {
        padding: 26px 22px;
        min-height: 280px;
        border-radius: 12px;
    }

    .testimonial-text {
        font-size: 15px;
        margin-bottom: 22px;
    }

    .testimonial-user {
        gap: 14px;
    }

    .testimonial-logo {
        width: 46px;
        height: 46px;
        font-size: 15px;
    }

    .testimonial-info strong {
        font-size: 15px;
    }

    .testimonial-info span {
        font-size: 12px;
    }

    .testimonialSwiper {
        padding-bottom: 60px;
    }
}

/* Small Phone (≤ 575px) */
@media (max-width: 575px) {
    .testimonial-section {
        padding: 44px 4%;
    }

    .testimonial-title {
        font-size: 40px;
        margin-bottom: 18px;
    }

    .testimonial-description {
        font-size: 14px;
        line-height: 1.6;
    }

    .testimonial-top {
        margin: 0 auto 28px;
    }

    .testimonial-card {
        padding: 22px 18px;
        min-height: auto;
        border-radius: 10px;
    }

    .testimonial-text {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .testimonial-user {
        gap: 12px;
    }

    .testimonial-logo {
        width: 42px;
        height: 42px;
        font-size: 14px;
    }

    .testimonial-info strong {
        font-size: 14px;
    }

    .testimonial-info span {
        font-size: 12px;
    }

    .testimonialSwiper {
        padding-bottom: 50px;
    }
}

/* Very Small Phone (≤ 400px) */
@media (max-width: 400px) {
    .testimonial-section {
        padding: 32px 3%;
    }

    .testimonial-title {
        font-size: 35px;
    }

    .testimonial-description {
        font-size: 13px;
    }

    .testimonial-card {
        padding: 18px 14px;
    }

    .testimonial-text {
        font-size: 13px;
    }

    .testimonial-logo {
        width: 38px;
        height: 38px;
        font-size: 13px;
    }

    .testimonial-info strong {
        font-size: 13px;
    }
}

/* Ultra Small Phone (≤ 360px) */
@media (max-width: 360px) {
    .testimonial-section {
        padding: 26px 3%;
    }

    .testimonial-title {
        font-size: 30px;
        line-height: 1.1;
    }

    .testimonial-title span {
        -webkit-text-stroke: 0.8px var(--red);
    }

    .testimonial-description {
        font-size: 12.5px;
    }

    .testimonial-card {
        padding: 16px 12px;
        border-radius: 8px;
    }

    .testimonial-text {
        font-size: 12.5px;
        margin-bottom: 14px;
    }

    .testimonial-logo {
        width: 34px;
        height: 34px;
        font-size: 12px;
    }

    .testimonial-info strong {
        font-size: 12.5px;
    }

    .testimonial-info span {
        font-size: 11px;
    }
}



/* ============================================================
                         BRANDS SECTION 
   ============================================================ */

.brands-section {
    padding: 90px 6% 100px 6%;
    background:
        /*#f5f5f5;  */
        #FAFAFA;
    overflow: hidden;
}

/* ================= TOP AREA ================= */

.brands-top {
    text-align: center;
    margin-bottom: 70px;
}

/* ================= TAG ================= */

.brands-tag {

    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    color: #2B7CFF;
    justify-content: center;

    gap: 14px;
    letter-spacing: 1px;
}

.brands-tag-star {
    font-size: 40px;

}

/* ================= TITLE ================= */

.brands-title {
    font-size: 80px;
    line-height: 0.95;
    font-weight: 900;
    color: #111;
}

.brands-red {
    color: transparent;
    -webkit-text-stroke: 2px var(--red);
}

.brands-title strong {
    color: #2B7CFF;
}

/* ================= GRID ================= */

.brands-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid #d9d9d9;
    border-left: 1px solid #d9d9d9;
}

/* ================= ITEM ================= */

.brand-item {
    height: 190px;
    background: #f7f7f7;
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    display: flex;
    color: #2B7CFF;
    align-items: center;
    justify-content: center;
    transition: 0.4s ease;
    padding: 30px;
    position: relative;
    overflow: hidden;
}

.brand-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #2B7CFF;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: 0.4s ease;
    z-index: 1;
}

.brand-item:hover::before {
    transform: scaleY(1);
}

.brand-item img {
    max-width: 150px;
    max-height: 55px;
    object-fit: contain;
    position: relative;
    z-index: 2;
    transition: 0.4s ease;
    filter: grayscale(100%);
}

/*
 .brand-item:hover img {
     transform: scale(1.08);
     filter: grayscale(0%) brightness(1000%);
 } */

.brand-item:hover img {
    transform: scale(1.1);
    filter: grayscale(0%) brightness(1);
}

/* ================= 1200px (Large Tablets / Small Laptops) ================= */

@media (max-width: 1200px) {

    .brands-section {
        padding: 90px 5%;
    }

    .brands-title {
        font-size: 65px;
    }

    .brands-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .brand-item {
        height: 170px;
    }
}

/* ================= 992px (Tablets) ================= */

@media (max-width: 992px) {

    .brands-title {
        font-size: 52px;
        line-height: 1;
    }

    .brands-tag {
        font-size: 18px;
    }

    .brands-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .brand-item {
        height: 160px;
        padding: 25px;
    }

    .brand-item img {
        max-width: 130px;
    }
}

/* ================= 768px (Large Phones) ================= */

@media (max-width: 768px) {

    .brands-section {
        padding: 70px 20px;
    }

    .brands-top {
        margin-bottom: 50px;
    }

    .brands-title {
        font-size: 42px;
        line-height: 1.1;
    }

    .brands-tag {
        font-size: 16px;
        gap: 10px;
    }

    .brands-tag-star {
        font-size: 32px;
    }

    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .brand-item {
        height: 150px;
    }

    .brand-item img {
        max-width: 120px;
    }
}


/* ================= 576px (Small Phones) ================= */

@media (max-width: 576px) {

    .brands-section {
        padding: 60px 15px;
    }

    .brands-title {
        font-size: 34px;
    }

    .brands-tag {
        font-size: 15px;
    }

    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .brand-item {
        height: 130px;
        padding: 20px;
    }

    .brand-item img {
        max-width: 100px;
    }
}


/* ================= 400px (Extra Small Phones) ================= */

@media (max-width: 400px) {

    .brands-section {
        padding: 50px 12px;
    }

    .brands-title {
        font-size: 28px;
    }

    .brands-tag {
        font-size: 14px;
        gap: 8px;
    }

    .brands-tag-star {
        font-size: 26px;
    }

    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .brand-item {
        height: 110px;
        padding: 15px;
    }

    .brand-item img {
        max-width: 85px;
    }
}


/* ================= 320px (Very Small Devices) ================= */

@media (max-width: 320px) {

    .brands-title {
        font-size: 24px;
    }

    .brands-tag {
        font-size: 13px;
    }

    .brands-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .brand-item {
        height: 100px;
    }

    .brand-item img {
        max-width: 75px;
    }
}


/* ================= APPLE FAQ SECTION ================= */
.apple-faq-section {
    background: #FAFAFA;
    padding: 60px 7% 120px 7%;
}

.apple-faq-top {
    text-align: center;
    max-width: 950px;
    margin: 0 auto 80px;
}

.apple-faq-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2B7CFF;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 24px;

    gap: 14px;
    letter-spacing: 1px;
}

.apple-faq-tag-star {
    font-size: 40px;
}

.apple-faq-title {
    font-size: 70px;
    line-height: 0.95;
    font-weight: 900;
    color: #1a1a1a;
    margin-bottom: 35px;
}

.faq-text-red {
    color: transparent;
    -webkit-text-stroke: 2px var(--red);
}

.faq-text-blue {
    color: #2B7CFF !important;
}

.faq-left,
.faq-right {
    display: inline-block;
    opacity: 0;
    filter: blur(8px);
    transition:
        opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1),
        transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
        filter 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-left {
    transform: translateX(-80px);
}

.faq-right {
    transform: translateX(80px);
}

.faq-left.active,
.faq-right.active {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
}

/* ================= DESCRIPTION ================= */
.apple-faq-description {
    font-size: 20px;
    line-height: 1.2;
    color: #666;
    max-width: 760px;
    margin: auto;
}

.apple-faq-wrapper {
    width: 100%;
    max-width: 1100px;
    margin: auto;
}

.apple-faq-item {
    border-top: 1px solid #d2d2d7;
    padding: 35px 0;
    transition: 0.35s ease;
}

.apple-faq-item:last-child {
    border-bottom: 1px solid #d2d2d7;
}

.apple-faq-question {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    cursor: pointer;
}

.faq-number {
    min-width: 55px;
    color: #2c2c2e;
    font-size: 18px;
    font-weight: 600;
    margin-top: 6px;
}

.apple-faq-question strong {
    flex: 1;
    color: #1d1d1f;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -1px;
}

.faq-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid #d2d2d7 !important;
    background: #fff !important;
    color: #1d1d1f !important;
    font-size: 24px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: 0.35s ease;
}

.active-faq .faq-icon {
    background: #2B7CFF !important;
    border-color: #2B7CFF !important;
    color: #fff !important;
    transform: rotate(45deg);
}

.apple-faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-left: 85px;
    transition:
        max-height 0.45s ease,
        opacity 0.35s ease,
        margin-top 0.35s ease;
}

.active-faq .apple-faq-answer {
    max-height: 500px;
    opacity: 1;
    margin-top: 20px;
}

.apple-faq-answer p {
    max-width: 850px;
    color: #6e6e73;
    font-size: 19px;
    line-height: 1.5;
}

.apple-faq-item:hover {
    padding-left: 10px;
}

 @media(max-width:1200px) {
    .apple-faq-section { padding:70px 5% 90px; }
    .apple-faq-top { margin-bottom:65px;}
    .apple-faq-title {  font-size:58px;}
    .apple-faq-description { font-size:18px; }
    .apple-faq-question strong { font-size: 30px; } }
 @media (max-width: 992px) {
    .apple-faq-section { padding:65px 4% 80px; }
    .apple-faq-top {margin-bottom:55px;}
    .apple-faq-tag { font-size:17px;}
    .apple-faq-title { font-size: 47px;  line-height:1.1; }
    .apple-faq-description {font-size:17px; line-height:1.6;}
    .apple-faq-question { gap:20px; }
    .apple-faq-question strong { font-size: 26px; }
    .faq-number { min-width:45px; font-size:17px; }
    .apple-faq-answer { margin-left: 65px; } 
    .apple-faq-answer p { font-size:18px; } }
 @media (max-width: 768px) {
    .apple-faq-section { padding:60px 20px 70px; }
    .apple-faq-top { margin-bottom: 45px; }
    .apple-faq-tag {  font-size: 16px; }
    .apple-faq-title { font-size:38px; line-height:1.2; margin-bottom:25px; }
    .faq-text-red {-webkit-text-stroke:1.5px var(--red); }
    .apple-faq-description { font-size:15px; line-height:1.7; }
    .apple-faq-item { padding:25px 0; }
    .apple-faq-question { gap: 15px; }
    .apple-faq-question strong { font-size: 20px; line-height: 0; }
    .faq-number { min-width: 38px; font-size: 15px; }
    .faq-icon { width: 40px; height: 40px; font-size: 20px; }
    .apple-faq-answer { margin-left: 55px; }
    .apple-faq-answer p { font-size: 17px; }
    .apple-faq-item:hover {padding-left: 0; } }
 @media (max-width: 576px) {
    .apple-faq-section {  padding:50px 15px 60px; }
    .apple-faq-top { margin-bottom: 50px; }
    .apple-faq-title { font-size: 32px; line-height: 1.1; }
    .faq-text-red { -webkit-text-stroke:1px var(--red); }
    .apple-faq-description { font-size: 16px; }
    .apple-faq-item { padding: 25px 0; }
    .apple-faq-question { gap: 12px; }
    .faq-number { min-width: 32px; font-size: 14px; margin-top: 2px; }
    .apple-faq-question strong { font-size: 19px; line-height: 1.5; }
    .faq-icon { width: 38px; height: 38px; font-size: 20px; }
    .apple-faq-answer { margin-left: 47px; }
    .apple-faq-answer p { font-size: 15px; line-height: 1.7; } }
 @media (max-width: 480px) {
    .apple-faq-title { font-size: 28px; }
    .apple-faq-tag { font-size: 14px; }
    .apple-faq-description { font-size: 15px; }
    .apple-faq-question strong { font-size: 18px; }
    .faq-icon { width: 34px; height: 34px; font-size: 18px; }
    .apple-faq-answer { margin-left: 0; margin-top: 15px; }
    .active-faq .apple-faq-answer { margin-top: 15px; }
    .apple-faq-answer p { font-size: 14px;} }
 @media (max-width: 360px) {
    .apple-faq-section { padding: 25px 4% 40px; }
    .apple-faq-title { font-size: 24px; line-height: 1.15; }
    .apple-faq-tag { font-size: 13px; letter-spacing: 0.5px; }
    .apple-faq-description { font-size: 14px; }
    .apple-faq-question { gap: 10px; }
    .faq-number { min-width: 26px; font-size: 13px; }
    .apple-faq-question strong { font-size: 16px; line-height: 1.5; }
    .faq-icon { width: 30px; height: 30px; font-size: 16px; }
    .apple-faq-answer p { font-size: 13px; line-height: 1.7; } }
@media (max-width:320px){
    .apple-faq-title { font-size:22px; }
    .apple-faq-description { font-size:12px; }
    .apple-faq-question strong{ font-size:14px; }
    .apple-faq-answer p { font-size:12px; }
}

/*==============================
    WHERE WE DELIVER
==============================*/

.where-deliver {
    padding: 80px 0 40px;
    background: var(--section-color);
}

.section-header {
    text-align: center;
    margin-bottom: 10px;
}

.section-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 20px;
    font-weight: 700;
    color: #2B7CFF;
    letter-spacing: 1px;
}

.section-label-star {  font-size: 40px; }

.section-header strong {
    display: block;
    font-size: 60px;
    line-height: 1.05;
    font-weight: 900;
    margin-bottom: 30px;
}
.section-label-red {  color: transparent; -webkit-text-stroke: 2px #c5141b; }
.section-label-black {  color: #111; }
.section-label-blue {  color: #2B7CFF; } 

.section-header p {
    max-width: 850px;
    margin: auto;
    color: var(--text-color);
    font-size: 17px;
    line-height: 1.7;
}

/*==============================
    TABS
==============================*/

.deliver-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin: 60px 0 50px;
}

.tab-btn {
    border: none;
    outline: none;
    background: #fff;
    color: #333;
    padding: 14px 30px;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    border: 1px solid #E5E7EB;
    transition: .35s ease;
}

.tab-btn:hover {
    background: #F4F7FF;
    border-color: #2B7CFF;
    color: #2B7CFF;
}

.tab-btn.active {
    background: linear-gradient(135deg, #1b6fff, #3b89ff);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 30px rgba(43, 124, 255, .30);
}

/*==============================
    TAB CONTENT
==============================*/

.tab-content {
    display: none;
    animation: fadeUp .4s ease;
}

.tab-content.active {
    display: block;
}

@keyframes fadeUp {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

/*==============================
    LOCATION GRID
==============================*/

.location-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/*==============================
    LOCATION CARD
==============================*/

.location-card {
    background: #fff;
    border: 1px solid #E7E7E7;
    border-radius: 18px;
    padding: 28px;
    transition: .35s ease;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .04);
    height: 100%;
}

.location-card:hover {
    transform: translateY(-8px);
    border-color: #2B7CFF;
    box-shadow: 0 18px 45px rgba(43, 124, 255, .15);
}

.location-card .country {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:55px;
    height:35px;
    padding:0 12px;
    border-radius:20px;
    background:rgba(1,119,191,.10);
    color:var(--blue);
    font-size:13px;
    font-weight:800;
    margin-bottom:15px;
}

.location-card strong {
    display:block;
    font-size:25px;
    font-weight:700;
    color:var(--heading-black);
    margin-bottom:18px;
}

.location-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.location-card ul li {
    color:var(--text-color);
    font-size:15px;
    line-height:1.8;
    position:relative; }
@media (max-width: 992px) {
    .where-deliver {
        padding: 70px 5% 40px;
    }
    .section-header strong {
        font-size: 48px;
    }
    .section-header p {
        max-width: 750px;
        font-size: 16px;
    }
    .deliver-tabs {
        margin: 50px 0 40px;
        gap: 15px;
    }
    .tab-btn {
        padding: 13px 26px;
        font-size: 15px;
    }
    .location-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    .location-card {
        padding: 25px;
    }
    .location-card strong {
        font-size: 23px;
    } }
@media (max-width: 768px) {
    .where-deliver {
        padding: 60px 5% 35px;
    }
    .section-label {
        font-size:18px;
    }
    .section-label-star {
        font-size:32px;
    }
    .section-header strong {
        font-size:40px;
        line-height:1.1;
    }
    .section-header p {
        font-size:15px;
        line-height:1.6;
    }
    .deliver-tabs {
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:15px;
        margin:45px 0 40px;
    }
    .tab-btn {
        width:100%;
        padding:13px 10px;
        font-size:15px;
    }
    .location-grid {
        grid-template-columns:1fr;
        gap:22px;
    }
    .location-card {
        padding:25px;
    } }
@media (max-width:430px) {
    .where-deliver {
        padding:50px 20px 30px;
    }
    .section-label {
        font-size:16px;
        gap:10px;
    }
    .section-label-star {
        font-size:28px;
    }
    .section-header strong {
        font-size:32px;
        margin-bottom:20px;
    }
    .section-header p {
        font-size:15px;
        line-height:1.55;
    }
    .deliver-tabs {
        grid-template-columns:repeat(2,1fr);
        gap:12px;
        margin:35px 0 35px;
    }
    .tab-btn {
        padding:12px 8px;
        font-size:14px;
        border-radius:30px;
    }
    .location-card {
        border-radius:15px;
        padding:22px;
    }
    .location-card .country {
        min-width:50px;
        height:32px;
        font-size:12px;
    }
    .location-card strong {
        font-size:21px;
        margin-bottom:15px;
    }
    .location-card ul li {
        font-size:14px;
        line-height:1.7; } }
@media (max-width:360px) {
    .where-deliver { padding:45px 15px 25px; }
    .section-label {  font-size:15px; }
    .section-label-star { font-size:25px; }
    .section-header strong { font-size:28px; }
    .section-header p { font-size:14px; }
    .deliver-tabs { grid-template-columns:repeat(2,1fr);  gap:10px; }
    .tab-btn {  padding:11px 5px;  font-size:13px; }
    .location-card { padding:20px; }
    .location-card strong { font-size:20px; }
    .location-card ul li { font-size:13px; } }