:root {

    --primary: #6754e9;
    --primary-dark: #5140d5;

    --dark: #10111a;
    --dark-2: #181923;

    --text: #60616d;
    --white: #ffffff;

    --light: #f7f7fb;

    --border: #e9e9ef;

}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    font-family: 'DM Sans', sans-serif;

    color: var(--text);

    background: #ffffff;

    overflow-x: hidden;

}


h1,
h2,
h3,
h4,
h5,
h6 {

    font-family: 'Manrope', sans-serif;

    color: var(--dark);

    font-weight: 700;

}


a {

    text-decoration: none;

}


.container {

    max-width: 1200px;

}


/* HEADER */

.onetec-header {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 100;

    padding: 18px 0;

}


.navbar {

    padding: 0;

}


.navbar-brand,
.footer-logo {

    display: flex;

    align-items: center;

    gap: 10px;

    color: var(--dark);

    font-family: 'Manrope', sans-serif;

    font-weight: 800;

    font-size: 25px;

}


.logo-icon {

    width: 38px;

    height: 38px;

    border-radius: 12px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: var(--primary);

    color: #fff;

    font-weight: 800;

}


.logo-text span,
.footer-logo span span {

    color: var(--primary);

}


.navbar-nav {

    gap: 32px;

}


.nav-link {

    color: #444550;

    font-weight: 500;

    font-size: 15px;

}


.nav-link:hover,
.nav-link.active {

    color: var(--primary);

}


.header-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    background: var(--dark);

    color: white;

    padding: 13px 20px;

    border-radius: 50px;

    font-weight: 600;

    transition: .3s;

}


.header-btn:hover {

    background: var(--primary);

    color: white;

}


.navbar-toggler {

    border: 0;

    font-size: 22px;

}


.navbar-toggler:focus {

    box-shadow: none;

}


/* HERO */

.onetec-hero {

    min-height: 760px;

    background:

        radial-gradient(
            circle at 80% 30%,
            rgba(103,84,233,.15),
            transparent 35%
        ),

        linear-gradient(
            135deg,
            #f8f7ff,
            #ffffff
        );

    display: flex;

    align-items: center;

    position: relative;

    overflow: hidden;

    padding-top: 100px;

}


.hero-tag {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1.2px;

    color: var(--primary);

    margin-bottom: 25px;

}


.hero-tag span {

    width: 8px;

    height: 8px;

    background: var(--primary);

    border-radius: 50%;

}


.hero h1 {

    font-size: clamp(48px, 6vw, 78px);

    line-height: 1.03;

    letter-spacing: -3px;

    max-width: 780px;

}


.hero h1 span {

    color: var(--primary);

}


.hero-description {

    max-width: 600px;

    font-size: 18px;

    line-height: 1.8;

    margin-top: 25px;

}


.hero-buttons {

    display: flex;

    gap: 15px;

    margin-top: 35px;

    flex-wrap: wrap;

}


.btn-primary-custom {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 15px 23px;

    border-radius: 8px;

    background: var(--primary);

    color: white;

    border: 0;

    font-weight: 600;

    transition: .3s;

}


.btn-primary-custom:hover {

    background: var(--primary-dark);

    color: white;

    transform: translateY(-2px);

}


.btn-outline-custom {

    display: inline-flex;

    align-items: center;

    padding: 14px 23px;

    border: 1px solid #dcdce5;

    border-radius: 8px;

    color: var(--dark);

    font-weight: 600;

}


.btn-outline-custom:hover {

    border-color: var(--primary);

    color: var(--primary);

}


.hero-trust {

    display: flex;

    gap: 45px;

    margin-top: 55px;

}


.hero-trust div {

    display: flex;

    flex-direction: column;

}


.hero-trust strong {

    font-size: 25px;

    color: var(--dark);

}


.hero-trust span {

    font-size: 13px;

}


/* HERO VISUAL */

.hero-visual {

    height: 500px;

    position: relative;

}


.hero-circle {

    width: 390px;

    height: 390px;

    border-radius: 50%;

    background: linear-gradient(
        145deg,
        #6754e9,
        #9b8ff5
    );

    position: absolute;

    left: 50%;

    top: 50%;

    transform: translate(-50%, -50%);

}


.hero-main-icon {

    width: 180px;

    height: 180px;

    background: white;

    border-radius: 35px;

    position: absolute;

    left: 50%;

    top: 50%;

    transform: translate(-50%, -50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    box-shadow: 0 30px 80px rgba(0,0,0,.18);

}


.hero-main-icon span {

    font-size: 80px;

    font-weight: 800;

    color: var(--primary);

    line-height: 1;

}


.hero-main-icon small {

    font-weight: 700;

    color: var(--dark);

}


.hero-card {

    position: absolute;

    z-index: 2;

    background: white;

    padding: 16px 20px;

    border-radius: 15px;

    box-shadow: 0 20px 50px rgba(0,0,0,.12);

    display: flex;

    align-items: center;

    gap: 12px;

}


.hero-card i {

    color: var(--primary);

    font-size: 22px;

}


.hero-card strong {

    display: block;

    color: var(--dark);

    font-size: 14px;

}


.hero-card small {

    font-size: 11px;

}


.hero-card-one {

    top: 70px;

    left: 10px;

}


.hero-card-two {

    right: 0;

    bottom: 75px;

}


/* SECTIONS */

.section-padding {

    padding: 110px 0;

}


.section-heading {

    max-width: 650px;

    margin-bottom: 45px;

}


.section-tag {

    color: var(--primary);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;

    display: block;

    margin-bottom: 15px;

}


.section-heading h2 {

    font-size: clamp(35px, 4vw, 50px);

    line-height: 1.12;

    letter-spacing: -1.5px;

}


.section-heading p {

    font-size: 17px;

    line-height: 1.8;

    margin-top: 18px;

}


/* ABOUT */

.about-image {

    position: relative;

    padding: 25px;

}


.about-image-main {

    height: 500px;

    border-radius: 30px;

    background: linear-gradient(
        135deg,
        #171827,
        #6754e9
    );

    display: flex;

    align-items: center;

    justify-content: center;

}


.about-placeholder {

    color: white;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 15px;

}


.about-placeholder i {

    font-size: 100px;

}


.about-placeholder span {

    font-size: 30px;

    font-weight: 800;

}


.experience-box {

    position: absolute;

    bottom: 0;

    left: 0;

    background: white;

    padding: 25px;

    border-radius: 20px;

    box-shadow: 0 20px 50px rgba(0,0,0,.12);

    display: flex;

    align-items: center;

    gap: 15px;

}


.experience-box strong {

    font-size: 50px;

    color: var(--primary);

}


.experience-box span {

    font-weight: 600;

    color: var(--dark);

}


.about-text {

    font-size: 17px;

    line-height: 1.8;

}


.about-points {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 15px;

    margin-top: 25px;

}


.about-points div {

    display: flex;

    gap: 10px;

    align-items: center;

    font-weight: 600;

    color: var(--dark);

}


.about-points i {

    color: var(--primary);

}


/* SERVICES */

.services-section {

    background: var(--light);

}


.service-card {

    background: white;

    border: 1px solid var(--border);

    padding: 35px;

    border-radius: 18px;

    height: 100%;

    transition: .3s;

}


.service-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 20px 50px rgba(40,30,100,.1);

    border-color: transparent;

}


.service-icon {

    width: 60px;

    height: 60px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 15px;

    background: #f0eeff;

    color: var(--primary);

    font-size: 23px;

    margin-bottom: 25px;

}


.service-card h3,
.service-detail-card h3 {

    font-size: 22px;

}


.service-card p,
.service-detail-card p {

    line-height: 1.7;

}


.service-card a,
.service-detail-card a {

    color: var(--primary);

    font-weight: 700;

}


.service-card a i,
.service-detail-card a i {

    margin-left: 5px;

}


/* WHY */

.why-section {

    background: #11121b;

}


.why-section .section-heading h2,
.why-section .section-heading p {

    color: white;

}


.why-list {

    margin-top: 35px;

}


.why-item {

    display: flex;

    gap: 25px;

    padding: 22px 0;

    border-bottom: 1px solid rgba(255,255,255,.1);

}


.why-item > span {

    color: #8c80f0;

    font-weight: 700;

}


.why-item h4 {

    color: white;

    margin-bottom: 5px;

}


.why-item p {

    margin: 0;

    color: #aaaab7;

}


.technology-box {

    background: #1a1b28;

    padding: 40px;

    border-radius: 25px;

}


.tech-title {

    color: white;

    font-size: 20px;

    font-weight: 700;

    margin-bottom: 30px;

}


.tech-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 15px;

}


.tech-grid div {

    padding: 18px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 12px;

    color: white;

    display: flex;

    gap: 12px;

    align-items: center;

}


.tech-grid i {

    color: #9589ff;

    font-size: 22px;

}


/* CTA */

.cta-section {

    padding: 50px 0;

}


.cta-box {

    background: var(--primary);

    padding: 55px 60px;

    border-radius: 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

}


.cta-box span {

    color: #dcd8ff;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1.5px;

}


.cta-box h2 {

    color: white;

    margin-top: 10px;

    font-size: 38px;

}


.btn-white-custom {

    background: white;

    color: var(--primary);

    padding: 15px 25px;

    border-radius: 8px;

    font-weight: 700;

    white-space: nowrap;

}


/* INNER HERO */

.inner-hero {

    padding: 180px 0 100px;

    background: linear-gradient(
        135deg,
        #f7f6ff,
        #ffffff
    );

    text-align: center;

}


.inner-hero span {

    color: var(--primary);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;

}


.inner-hero h1 {

    font-size: clamp(42px, 6vw, 70px);

    max-width: 900px;

    margin: 20px auto;

    line-height: 1.05;

}


.inner-hero p {

    max-width: 650px;

    margin: auto;

    font-size: 18px;

    line-height: 1.7;

}


/* ABOUT VALUES */

.light-section {

    background: var(--light);

}


.value-card {

    padding: 40px;

    background: white;

    border-radius: 18px;

    height: 100%;

}


.value-card i {

    color: var(--primary);

    font-size: 35px;

    margin-bottom: 25px;

}


.value-card h3 {

    font-size: 23px;

}


.value-card p {

    line-height: 1.7;

}


.about-large-box {

    height: 450px;

    border-radius: 30px;

    background: linear-gradient(
        145deg,
        #171827,
        #6754e9
    );

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    color: white;

}


.about-large-box i {

    font-size: 80px;

    margin-bottom: 25px;

}


.about-large-box strong {

    font-size: 40px;

}


.about-large-box span {

    margin-top: 10px;

}


/* SERVICE DETAIL */

.service-detail-card {

    height: 100%;

    padding: 40px;

    border: 1px solid var(--border);

    border-radius: 20px;

    transition: .3s;

}


.service-detail-card:hover {

    border-color: var(--primary);

    transform: translateY(-5px);

}


/* PORTFOLIO */

.portfolio-card {

    border: 1px solid var(--border);

    border-radius: 20px;

    overflow: hidden;

    background: white;

}


.portfolio-image {

    height: 300px;

    background: linear-gradient(
        135deg,
        #171827,
        #6754e9
    );

}


.portfolio-placeholder {

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    color: white;

    gap: 15px;

}


.portfolio-placeholder i {

    font-size: 60px;

}


.portfolio-placeholder span {

    font-weight: 700;

}


.portfolio-content {

    padding: 30px;

}


.portfolio-content > span,
.blog-content > span {

    color: var(--primary);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;

}


.portfolio-content h3 {

    margin-top: 10px;

}


.portfolio-content p {

    line-height: 1.7;

}


.portfolio-content a,
.blog-content a {

    color: var(--primary);

    font-weight: 700;

}


/* BLOG */

.blog-card {

    height: 100%;

    border: 1px solid var(--border);

    border-radius: 18px;

    overflow: hidden;

    background: white;

}


.blog-image {

    height: 230px;

    background: #171827;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #9589ff;

    font-size: 55px;

}


.blog-content {

    padding: 30px;

}


.blog-content h3 {

    font-size: 22px;

    margin-top: 10px;

}


.blog-content p {

    line-height: 1.7;

}


/* CONTACT */

.contact-info {

    margin-top: 35px;

}


.contact-info-item {

    display: flex;

    align-items: center;

    gap: 20px;

    margin-bottom: 25px;

}


.contact-info-item > div {

    width: 50px;

    height: 50px;

    background: #f0eeff;

    color: var(--primary);

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

}


.contact-info-item span {

    color: var(--dark);

    font-weight: 600;

}


.contact-form-box {

    background: var(--light);

    padding: 40px;

    border-radius: 20px;

}


.contact-form-box label {

    display: block;

    color: var(--dark);

    font-weight: 600;

    margin-bottom: 8px;

}


.contact-form-box input,
.contact-form-box textarea,
.contact-form-box select {

    width: 100%;

    border: 1px solid #dddde5;

    background: white;

    padding: 14px 16px;

    border-radius: 8px;

    outline: none;

    margin-bottom: 20px;

}


.contact-form-box input:focus,
.contact-form-box textarea:focus,
.contact-form-box select:focus {

    border-color: var(--primary);

}


/* FOOTER */

.onetec-footer {

    background: #11121b;

    padding-top: 80px;

}


.footer-logo {

    color: white;

}


.footer-description {

    color: #9c9ca8;

    line-height: 1.8;

    max-width: 380px;

    margin-top: 20px;

}


.footer-social {

    display: flex;

    gap: 10px;

    margin-top: 25px;

}


.footer-social a {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: #1d1e29;

    color: white;

    display: flex;

    align-items: center;

    justify-content: center;

}


.footer-social a:hover {

    background: var(--primary);

}


.onetec-footer h5 {

    color: white;

    margin-bottom: 25px;

}


.onetec-footer ul {

    list-style: none;

    padding: 0;

}


.onetec-footer li {

    margin-bottom: 13px;

}


.onetec-footer li a {

    color: #9c9ca8;

}


.onetec-footer li a:hover {

    color: white;

}


.contact-list li {

    display: flex;

    gap: 12px;

    color: #9c9ca8;

}


.contact-list i {

    color: #9589ff;

    margin-top: 4px;

}


.footer-bottom {

    border-top: 1px solid rgba(255,255,255,.08);

    margin-top: 60px;

    padding: 25px 0;

    display: flex;

    justify-content: space-between;

    gap: 20px;

}


.footer-bottom p,
.footer-bottom a {

    color: #777885;

    font-size: 13px;

}


.footer-bottom div {

    display: flex;

    gap: 20px;

}


/* RESPONSIVE */

@media (max-width: 991px) {

    .onetec-header {

        position: relative;

        background: white;

    }


    .navbar-collapse {

        background: white;

        padding: 20px;

        margin-top: 15px;

        border-radius: 15px;

        box-shadow: 0 15px 40px rgba(0,0,0,.08);

    }


    .navbar-nav {

        gap: 5px;

    }


    .header-btn {

        margin-top: 15px;

        display: inline-flex;

    }


    .onetec-hero {

        padding-top: 70px;

    }


    .hero-visual {

        margin-top: 60px;

    }


    .cta-box {

        flex-direction: column;

        align-items: flex-start;

    }

}


@media (max-width: 767px) {

    .section-padding {

        padding: 75px 0;

    }


    .onetec-hero {

        min-height: auto;

        padding: 80px 0;

    }


    .hero h1 {

        letter-spacing: -2px;

    }


    .hero-trust {

        gap: 20px;

    }


    .hero-visual {

        height: 400px;

    }


    .hero-circle {

        width: 280px;

        height: 280px;

    }


    .hero-card-one {

        left: 0;

    }


    .hero-card-two {

        right: 0;

    }


    .about-points {

        grid-template-columns: 1fr;

    }


    .about-image-main {

        height: 400px;

    }


    .technology-box {

        margin-top: 50px;

    }


    .cta-box {

        padding: 35px;

    }


    .cta-box h2 {

        font-size: 30px;

    }


    .footer-bottom {

        flex-direction: column;

    }

}