:root {

    --primary: #101089;
    --blue: #41c1fc;
    --teal: #38bd98;
    --green: #77da29;

    --text: #151515;
    --muted: #667085;
    --light: #f7f9fc;

}
* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    font-family: "Poppins", sans-serif;
    color:var(--text);
    background:#fff;
}
a {
    text-decoration:none;
}
.section-padding {
    padding:100px 0;
}
/* ================= NAVBAR ================= */
.navbar {
    position:fixed;
    top:20px;
    left:0;
    width:100%;
    z-index:1000;
}
.nav-container {
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(15px);

    padding:15px 25px;

    border-radius:20px;

    box-shadow:
    0 10px 40px rgba(16,16,137,.08);

}
.logo {
    width:70px;
}
.nav-link {
    color:var(--primary);
    font-weight:500;
    margin:0 12px;
    transition:.3s;
}
.nav-link:hover {

    color:var(--blue);

}
.nav-btn {
    color:white;
    padding:12px 28px;
    border-radius:50px;
    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--blue)
    );

    font-weight:600;
}

/* ================= HERO ================= */

.hero {
    padding-top:150px;
    min-height:100vh;
    background:
    radial-gradient(
    circle at 80% 20%,
    rgba(65,193,252,.15),
    transparent 35%
    );

}
.hero-content .tag,
.section-tag {
    display:inline-block;
    color:var(--primary);
    background:#eef7ff;
    padding:8px 18px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    margin-bottom:25px;
}

.hero h1 {
    font-size:70px;
    line-height:1.1;
    letter-spacing:-2px;
    color:var(--primary);
    font-weight:800;
}
.hero p {
    margin-top:25px;
    font-size:18px;
    line-height:1.7;
    color:var(--muted);
    max-width:550px;
}
.hero-buttons {
    margin-top:35px;
    display:flex;
    gap:20px;
}
.primary-btn {
    padding:15px 35px;
    color:white;
    border-radius:50px;
    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--blue)
    );
    font-weight:600;
}
.secondary-btn {
    padding:15px 35px;
    border:1px solid #ddd;
    color:var(--primary);
    border-radius:50px;
    font-weight:600;
}

/* HERO MOCKUP */

.hero-visual {
    position:relative;
    height:550px;
}
.gradient-box {
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:
    linear-gradient(
    135deg,
    rgba(56,189,152,.25),
    rgba(65,193,252,.35)
    );
    right:0;
}
.dashboard-card {
    position:absolute;
    width:350px;
    background:white;
    border-radius:25px;
    padding:25px;
    top:80px;
    left:70px;
    box-shadow:
    0 30px 70px rgba(16,16,137,.15);
}
.card-header span {
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:50%;
    margin-right:5px;
    background:var(--blue);
}

.chart-box {
    height:130px;
    margin-top:25px;
    border-radius:15px;
    background:
    linear-gradient(
    135deg,
    #eef8ff,
    #fff
    );
}
.small-cards {
    display:flex;
    gap:10px;
    margin-top:20px;
}
.small-cards div {
    height:50px;
    flex:1;
    background:#f1f5f9;
    border-radius:12px;
}
.mobile-card {
    position:absolute;
    right:20px;
    bottom:80px;
    width:100px;
    height:180px;
    background:
    linear-gradient(
    160deg,
    var(--primary),
    var(--blue)
    );

    border-radius:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:white;
    font-size:45px;
    box-shadow:
    0 25px 50px rgba(16,16,137,.25);
}

/* ================= ABOUT ================= */
.about {
    background:#fff;
}
.about h2,
.section-heading h2,
.contact h2 {
    font-size:48px;
    line-height:1.2;
    color:var(--primary);
    font-weight:800;
    letter-spacing:-1px;
}

.about p,
.section-heading p,
.contact p {
    color:var(--muted);
    font-size:17px;
    line-height:1.8;
}

.stats-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.stat-card {
    padding:35px;
    background:#fff;
    border:1px solid #edf0f5;
    border-radius:25px;
    transition:.3s;
}
.stat-card:hover {
    transform:translateY(-8px);
    box-shadow:
    0 20px 50px rgba(16,16,137,.08);
}

.stat-card h3 {
    font-size:45px;
    color:var(--primary);
    margin-bottom:5px;
}
.stat-card p {
    margin:0;
}

/* ================= SECTION HEADING ================= */

.section-heading {
    max-width:700px;
    margin:0 auto 60px;
}
.section-heading h2 {
    margin-bottom:20px;
}
/* ================= SERVICES ================= */


.services {
    background:var(--light);
}
.services-wrapper {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.service-item {
    display:flex;
    gap:25px;
    padding:35px;
    background:white;
    border-radius:25px;
    border:1px solid #edf0f5;
    transition:.4s;
}
.service-item:hover {
    transform:translateY(-8px);
    box-shadow:
    0 25px 60px rgba(16,16,137,.08);
}
.service-icon {
    min-width:65px;
    height:65px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
    linear-gradient(
    135deg,
    #101089,
    #41c1fc
    );
    color:white;
    font-size:28px;
}
.service-item h4 {
    color:var(--primary);
    margin-bottom:10px;
}
.service-item p {
    color:var(--muted);
    line-height:1.7;
}

/* ================= PRODUCTS ================= */

.products {
    background:white;
}
.featured-product {
    padding:60px;
    border-radius:35px;
    background:
    linear-gradient(
    135deg,
    #f7fbff,
    #ffffff
    );
    border:1px solid #edf0f5;
}
.product-image {
    height:380px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.app-screen {
    width:220px;
    height:350px;
    border-radius:35px;
    background:
    linear-gradient(
    160deg,
    #101089,
    #41c1fc
    );
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:80px;
    box-shadow:
    0 30px 60px rgba(16,16,137,.25);

}
.product-content span {
    color:var(--blue);
    font-weight:700;
}
.product-content h3 {
    font-size:40px;
    color:var(--primary);
    margin:15px 0;
}
.store-buttons {
    display:flex;
    gap:15px;
    margin-top:30px;
}
.store-buttons a {
    padding:12px 22px;
    border-radius:50px;
    background:#101089;
    color:white;
}
.product-list {
    margin-top:40px;
}
.mini-product {
    padding:35px;
    border-radius:25px;
    background:white;
    border:1px solid #edf0f5;
    transition:.3s;
}
.mini-product:hover {
    border-color:var(--blue);
}
.mini-product i {
    font-size:35px;
    color:var(--primary);
}
/* ================= CONTACT ================= */
.contact {
    background:#f7f9fc;
}
.contact-box {
    background:white;
    padding:60px;
    border-radius:35px;
    box-shadow:
    0 25px 70px rgba(0,0,0,.06);
}
.contact-info {
    margin-top:30px;
}
.contact-info i {
    color:var(--blue);
    margin-right:10px;
}
.contact-form input,
.contact-form textarea {
    width:100%;
    padding:15px 20px;
    margin-bottom:18px;
    border-radius:15px;
    border:1px solid #e5e7eb;
    outline:none;
}
.contact-form .button {
    width:100%;
    padding:15px;
    border:none;
    border-radius:50px;
    color:white;
    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--blue)
    );
    font-weight:600;
}
/* ================= FOOTER ================= */
footer {
    background:
    linear-gradient(
        135deg,
        #101089,
        #41c1fc
    );
    color:white;
    padding:60px 0 25px;
}
.footer-content {
    display:flex;
    justify-content:space-between;
    gap:30px;
}
.footer-logo {
    width:100px;
    margin-bottom:20px;
}
footer h5 {
    margin-bottom:20px;
}
footer a {
    display:block;
    color:rgba(255,255,255,0.85);
    margin-bottom:10px;
    transition:.3s;
}
footer a:hover {
    color:#77da29;
}
.social-icons a {
    display:inline-block;
    margin-right:15px;
    font-size:22px;
}
.copyright {
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.2);
    text-align:center;
}
/* ================= RESPONSIVE ================= */
@media(max-width:991px){
.hero h1 {
    font-size:48px;
}
.hero-visual {
    margin-top:50px;
}
.services-wrapper {
    grid-template-columns:1fr;
}
.footer-content {
    flex-direction:column;
}
.about h2,
.section-heading h2,
.contact h2 {
    font-size:38px;
}
.featured-product {
    padding:30px;
}
}
@media(max-width:576px){
.hero h1 {
    font-size:36px;
}
.hero-buttons,
.store-buttons {
    flex-direction:column;
}
.stats-grid {
    grid-template-columns:1fr;
}
.dashboard-card {
    left:0;
    width:280px;
}
.gradient-box {
    width:300px;
    height:300px;
}
.contact-box {
    padding:30px;
}
}

/* ================= Reveal Animation ================= */

.reveal {
    opacity:0;
    transform:translateY(40px);
    transition:
    all .8s ease;
}
.reveal-show {
    opacity:1;
    transform:translateY(0);
}
/* Navbar Scroll */
.navbar.scrolled .nav-container {
    box-shadow:
    0 15px 45px rgba(16,16,137,.15);
}
.product-main-image {
    width:100%;
    max-width:250px;
    border-radius:25px;
    /* box-shadow: 0 30px 70px rgba(16,16,137,.15); */
    transition:.4s;
}
.product-main-image:hover {
    transform:translateY(-10px);
}

/* new test */

.card-header span {
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:50%;
    margin-right:6px;
    opacity:.25;
    animation: brandDots 1.8s infinite;
}
/* Brand Colors */
.card-header span:nth-child(1) {
    background:#101089;
    animation-delay:0s;
}
.card-header span:nth-child(2) {
    background:#41c1fc;
    animation-delay:.5s;
}
.card-header span:nth-child(3) {
    background:#38bd98;
    animation-delay:1s;
}
@keyframes brandDots {
    0%,100% {
        opacity:.25;
        transform:scale(.8);
    }
    40% {
        opacity:1;
        transform:scale(1.15);
    }
}

/* phone viberation */

.phone-vibrate {
  animation: vibrate 0.5s linear infinite;
}

@keyframes vibrate {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(10deg); }
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(10deg); }
  80% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}