:root{
    --primary:#f57c00;
    --primary-dark:#d86f00;
    --secondary:#1f2a44;
    --secondary-dark:#121b33;
    --text:#596579;
    --muted:#7c8798;
    --line:#e8edf4;
    --soft:#f4f7fb;
    --white:#ffffff;
    --success:#e9f8ef;
    --success-text:#1f7a42;
    --warning:#fff6df;
    --warning-text:#9b6c00;
    --danger:#fdeced;
    --danger-text:#b42318;
    --shadow:0 18px 45px rgba(13, 24, 48, 0.08);
    --radius:22px;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.section-space{
    padding:100px 0;
}

.section-space-sm{
    padding:70px 0;
}

.section-kicker{
    display:inline-block;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--primary);
    margin-bottom:14px;
}

.section-heading{
    max-width:760px;
    margin:0 auto 52px;
}

.section-heading h2{
    font-size:clamp(30px,4vw,50px);
    line-height:1.08;
    color:var(--secondary);
    margin-bottom:14px;
    font-weight:900;
}

.section-heading p{
    margin:0;
    color:var(--muted);
    font-size:16px;
}

.topbar{
    background:#eef3f9;
    border-bottom:1px solid #dde5ef;
    font-size:13px;
}

.topbar-wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:10px 0;
}

.topbar-left,
.topbar-right{
    display:flex;
    align-items:center;
    gap:20px;
    color:#5d6878;
}

.topbar-wrap i{
    color:var(--primary);
    margin-right:6px;
}

.topbar-right a{
    width:34px;
    height:34px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:var(--primary);
    box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.main-navbar{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 28px rgba(0,0,0,.05);
    padding:14px 0;
}

.logo-main{
    max-height:66px;
    width:auto;
    height:auto;
}

.navbar-nav .nav-link{
    color:var(--secondary)!important;
    font-weight:700;
    padding:14px 14px !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
    color:var(--primary)!important;
}

.header-contact-btn{
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--primary);
    color:#fff;
    padding:12px 16px;
    border-radius:18px;
    box-shadow:var(--shadow);
}

.header-contact-btn:hover{
    color:#fff;
    background:var(--primary-dark);
}

.header-contact-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(255,255,255,.16);
}

.header-contact-text{
    display:flex;
    flex-direction:column;
    line-height:1.15;
}

.header-contact-text small{
    font-size:12px;
    opacity:.9;
}

.header-contact-text strong{
    color:#fff;
    font-size:15px;
}

.hero-section{
    position:relative;
    overflow:hidden;
    padding:85px 0 110px;
    background:
        radial-gradient(circle at top left, rgba(245,124,0,.15), transparent 26%),
        radial-gradient(circle at right bottom, rgba(31,42,68,.10), transparent 28%),
        linear-gradient(180deg, #f9fbff 0%, #eff4fa 100%);
}

.hero-bg-shape{
    position:absolute;
    border-radius:50%;
    filter:blur(30px);
    z-index:0;
}

.hero-bg-shape-1{
    width:260px;
    height:260px;
    background:rgba(245,124,0,.12);
    top:-70px;
    left:-70px;
}

.hero-bg-shape-2{
    width:300px;
    height:300px;
    background:rgba(31,42,68,.08);
    right:-90px;
    bottom:-90px;
}

.hero-content,
.hero-visual{
    position:relative;
    z-index:1;
}

.hero-content h1{
    font-size:clamp(38px,5vw,72px);
    line-height:1.02;
    font-weight:900;
    color:var(--secondary);
    margin-bottom:20px;
}

.hero-content p{
    font-size:18px;
    color:var(--muted);
    max-width:620px;
    margin-bottom:28px;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:34px;
}

.btn-primary-custom,
.btn-outline-custom,
.btn-secondary-custom,
.btn-footer{
    min-height:54px;
    padding:0 28px;
    border-radius:16px;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.25s ease;
    border:none;
}

.btn-primary-custom{
    background:var(--primary);
    color:#fff;
    box-shadow:0 14px 26px rgba(245,124,0,.22);
}

.btn-primary-custom:hover{
    background:var(--primary-dark);
    color:#fff;
    transform:translateY(-2px);
}

.btn-outline-custom{
    background:#fff;
    border:1px solid var(--line);
    color:var(--secondary);
}

.btn-outline-custom:hover{
    color:var(--primary);
    border-color:var(--primary);
    transform:translateY(-2px);
}

.btn-secondary-custom{
    background:var(--secondary);
    color:#fff;
}

.btn-secondary-custom:hover{
    background:var(--secondary-dark);
    color:#fff;
    transform:translateY(-2px);
}

.hero-stats{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.hero-stat{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px 18px;
    min-width:150px;
    box-shadow:0 10px 24px rgba(15,24,48,.05);
}

.hero-stat strong{
    display:block;
    font-size:24px;
    color:var(--secondary);
    font-weight:900;
}

.hero-stat span{
    display:block;
    font-size:13px;
    color:var(--muted);
}

.hero-visual{
    max-width:620px;
    margin-left:auto;
}

.hero-visual > img{
    width:100%;
    height:630px;
    object-fit:cover;
    border-radius:32px;
    box-shadow:var(--shadow);
}

.floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    padding:14px 18px;
    border-radius:18px;
    box-shadow:var(--shadow);
}

.floating-card i{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#fff5eb;
    color:var(--primary);
}

.floating-card div{
    display:flex;
    flex-direction:column;
    line-height:1.15;
}

.floating-card strong{
    color:var(--secondary);
    font-size:15px;
}

.floating-card small{
    color:var(--muted);
}

.floating-card-a{
    left:-22px;
    bottom:95px;
}

.floating-card-b{
    right:16px;
    bottom:-22px;
}

.floating-card-c{
    right:26px;
    top:26px;
}

.services-section{
    background:#fff;
}

.service-card{
    height:100%;
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.25s ease;
}

.service-card:hover{
    transform:translateY(-8px);
}

.service-image img{
    width:100%;
    height:230px;
    object-fit:cover;
}

.service-body{
    padding:24px;
}

.service-icon{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#fff5eb;
    color:var(--primary);
    font-size:24px;
    margin-bottom:16px;
}

.service-body h3{
    color:var(--secondary);
    font-size:22px;
    font-weight:800;
    margin-bottom:10px;
}

.service-body p{
    margin:0;
    color:var(--muted);
}

.about-section{
    background:#fcfdff;
}

.about-content h2{
    font-size:clamp(30px,4vw,52px);
    line-height:1.08;
    margin-bottom:20px;
    color:var(--secondary);
    font-weight:900;
}

.about-content p{
    color:var(--muted);
}

.about-list{
    list-style:none;
    padding:0;
    margin:24px 0;
}

.about-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-bottom:12px;
    color:var(--secondary);
    font-weight:600;
}

.about-list i{
    color:#19924d;
    margin-top:4px;
}

.about-quote{
    background:#fff7ef;
    border-left:5px solid var(--primary);
    border-radius:16px;
    padding:20px 22px;
    color:var(--secondary);
}

.about-visual{
    position:relative;
    max-width:620px;
    margin-left:auto;
}

.about-main{
    width:100%;
    height:580px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:var(--shadow);
}

.about-secondary{
    position:absolute;
    left:-20px;
    bottom:-25px;
    width:45%;
    height:230px;
    object-fit:cover;
    border-radius:22px;
    border:8px solid #fff;
    box-shadow:var(--shadow);
}

.metrics-section{
    padding:0 0 100px;
    background:#fcfdff;
}

.metrics-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    padding:30px;
    background:linear-gradient(135deg,#162444 0%,#0f1830 100%);
    border-radius:28px;
    box-shadow:var(--shadow);
}

.metric-card{
    text-align:center;
    padding:20px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.03);
}

.metric-card i{
    font-size:22px;
    color:var(--primary);
    margin-bottom:12px;
}

.metric-card strong{
    display:block;
    font-size:34px;
    color:#fff;
    font-weight:900;
}

.metric-card span{
    color:rgba(255,255,255,.78);
    font-size:14px;
}

.benefits-section{
    background:#fff;
}

.benefit-card{
    height:100%;
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
}

.benefit-card i{
    width:62px;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#fff5eb;
    color:var(--primary);
    font-size:24px;
    margin-bottom:16px;
}

.benefit-card h3{
    font-size:22px;
    color:var(--secondary);
    margin-bottom:10px;
    font-weight:800;
}

.benefit-card p{
    margin:0;
    color:var(--muted);
}

.team-section{
    background:#fcfdff;
}

.team-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);
    border:1px solid #eef1f5;
    height:100%;
}

.team-photo{
    background:#f4f7fb;
    height:290px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:18px 18px 0;
}

.team-photo img{
    max-height:240px;
    width:auto;
    max-width:100%;
    object-fit:contain;
}

.team-info{
    padding:22px 18px 26px;
    text-align:center;
}

.team-info h3{
    font-size:20px;
    line-height:1.2;
    color:var(--secondary);
    margin-bottom:10px;
    font-weight:800;
}

.team-info p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.testimonial-section{
    background:#fff;
}

.testimonial-card{
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:24px;
    padding:30px 24px;
    box-shadow:var(--shadow);
    text-align:center;
    height:100%;
}

.testimonial-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 16px;
    border-radius:20px;
    background:#fff5eb;
    color:var(--primary);
    font-size:24px;
}

.testimonial-card p{
    color:var(--muted);
    margin-bottom:18px;
}

.testimonial-card h3{
    color:var(--secondary);
    font-size:18px;
    margin-bottom:6px;
    font-weight:800;
}

.testimonial-card span{
    color:var(--muted);
    font-size:13px;
}

.faq-section{
    background:#fcfdff;
}

.faq-card{
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:22px;
    padding:24px;
    height:100%;
    box-shadow:var(--shadow);
}

.faq-card h3{
    font-size:18px;
    font-weight:800;
    color:var(--secondary);
    margin-bottom:10px;
}

.faq-card p{
    margin:0;
    color:var(--muted);
}

.contact-section{
    background:linear-gradient(180deg, #f0f5fb 0%, #eef3f9 100%);
}

.alert-message{
    padding:18px 22px;
    border-radius:16px;
    margin-bottom:28px;
    font-weight:700;
}

.alert-message.success{
    background:var(--success);
    color:var(--success-text);
    border:1px solid #ccebd7;
}

.alert-message.warning{
    background:var(--warning);
    color:var(--warning-text);
    border:1px solid #f1dfaa;
}

.alert-message.danger{
    background:var(--danger);
    color:var(--danger-text);
    border:1px solid #f0c4ca;
}

.contact-box,
.contact-form-box{
    background:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    border:1px solid #eef1f5;
}

.contact-box h3,
.contact-form-box h3{
    font-size:28px;
    color:var(--secondary);
    margin-bottom:20px;
    font-weight:900;
}

.contact-data{
    list-style:none;
    padding:0;
    margin:0;
}

.contact-data li{
    display:flex;
    gap:12px;
    margin-bottom:16px;
    color:var(--text);
}

.contact-data i{
    color:var(--primary);
    margin-top:4px;
}

.bullet-list{
    margin:0;
    padding-left:18px;
    color:var(--text);
}

.custom-control{
    min-height:58px;
    border-radius:16px;
    border:1px solid #e7edf5;
    background:#f8fbff;
    padding:14px 16px;
    box-shadow:none !important;
}

textarea.custom-control{
    min-height:160px;
    resize:none;
}

.custom-control:focus{
    border-color:#ffcf9f;
    background:#fff;
}

.form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.site-footer{
    background:linear-gradient(135deg, #162444 0%, #0f1830 100%);
    color:rgba(255,255,255,.82);
    padding:80px 0 30px;
}

.site-footer h4{
    color:#fff;
    margin-bottom:18px;
    font-weight:900;
}

.footer-contact,
.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    gap:10px;
    margin-bottom:14px;
}

.footer-contact i{
    color:var(--primary);
    margin-top:4px;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    color:rgba(255,255,255,.82);
}

.footer-links a:hover{
    color:#fff;
}

.btn-footer{
    background:var(--primary);
    color:#fff;
}

.btn-footer:hover{
    background:var(--primary-dark);
    color:#fff;
}

.footer-bottom{
    margin-top:40px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    font-size:14px;
}

.back-to-top{
    position:fixed;
    right:18px;
    bottom:18px;
    width:50px;
    height:50px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    box-shadow:var(--shadow);
    z-index:99;
}

@media (max-width:1199.98px){
    .logo-main{
        max-height:60px;
    }

    .hero-visual > img{
        height:560px;
    }
}

@media (max-width:991.98px){
    .section-space{
        padding:80px 0;
    }

    .topbar{
        display:none !important;
    }

    .navbar-nav{
        padding:18px 0;
    }

    .header-contact-btn{
        margin-top:10px;
        width:100%;
        justify-content:center;
    }

    .hero-section{
        padding:56px 0 80px;
    }

    .hero-visual{
        margin:0 auto;
    }

    .hero-visual > img{
        height:460px;
    }

    .floating-card-c{
        display:none;
    }

    .about-secondary{
        position:relative;
        left:0;
        bottom:0;
        width:100%;
        height:220px;
        margin-top:18px;
    }

    .metrics-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:767.98px){
    .logo-main{
        max-height:46px;
    }

    .hero-content p{
        font-size:16px;
    }

    .hero-visual > img{
        height:360px;
        border-radius:24px;
    }

    .floating-card{
        position:relative;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        margin-top:12px;
    }

    .hero-stat{
        width:100%;
    }

    .service-image img{
        height:210px;
    }

    .team-photo{
        height:250px;
    }

    .team-photo img{
        max-height:205px;
    }

    .metrics-grid{
        grid-template-columns:1fr;
    }

    .contact-box,
    .contact-form-box{
        padding:22px;
    }

    .footer-bottom{
        flex-direction:column;
    }
}