@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
--primary:#0B5ED7;
--primary-dark:#084298;
--secondary:#0F9D58;
--accent:#22C55E;
--light:#fff;
--off-white:#f8fbff;
--dark:#0f172a;
--dark-light:#1e293b;
--text:#475569;
--border:#dbeafe;
--shadow-sm:0 8px 25px rgba(0,0,0,.06);
--shadow:0 18px 45px rgba(0,0,0,.08);
--shadow-lg:0 25px 70px rgba(0,0,0,.12);
--radius:18px;
--radius-lg:30px;
--transition:.35s ease;
--container:1200px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:"DM Sans",sans-serif;
color:var(--text);
background:var(--off-white);
overflow-x:hidden;
line-height:1.7;
}

img{
display:block;
max-width:100%;
}

a{
text-decoration:none;
color:inherit;
}

button{
border:none;
outline:none;
cursor:pointer;
font-family:inherit;
}

section{
position:relative;
}

.container{
width:min(92%,var(--container));
margin:auto;
}

.section{
padding:90px 0;
}

h1,h2,h3,h4{
color:var(--dark);
line-height:1.15;
}

h1{
font-family:"Playfair Display",serif;
font-size:clamp(3rem,6vw,5.2rem);
font-weight:700;
}

h2{
font-family:"Playfair Display",serif;
font-size:clamp(2.2rem,4vw,3.5rem);
margin-top:15px;
}

h3{
font-size:1.45rem;
}

p{
color:var(--text);
font-size:1rem;
}

em{
color:var(--secondary);
font-style:normal;
}

.section-description{
max-width:700px;
margin:18px auto 0;
}

.center{
text-align:center;
}

.eyebrow{
display:inline-flex;
align-items:center;
gap:12px;
color:var(--primary);
font-size:.9rem;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;
}

.eyebrow span{
width:42px;
height:3px;
border-radius:30px;
background:linear-gradient(90deg,var(--primary),var(--secondary));
}

/* BUTTONS */

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
padding:14px 30px;
border-radius:999px;
transition:var(--transition);
font-weight:700;
}

.button-primary{
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
box-shadow:0 15px 35px rgba(11,94,215,.25);
}

.button-primary:hover{
transform:translateY(-4px);
box-shadow:0 25px 50px rgba(11,94,215,.35);
}

.button-outline{
border:2px solid var(--primary);
color:var(--primary);
background:#fff;
}

.button-outline:hover{
background:var(--primary);
color:#fff;
}

/* HEADER */

.site-header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
backdrop-filter:blur(18px);
background:rgba(255,255,255,.75);
border-bottom:1px solid rgba(255,255,255,.25);
transition:.4s;
}

.site-header.scrolled{
box-shadow:var(--shadow);
}

.nav-wrap{
display:flex;
align-items:center;
justify-content:space-between;
height:82px;
}

.brand-logo-image{
height:58px;
width:auto;
}

.nav-links{
display:flex;
align-items:center;
gap:34px;
}

.nav-links a{
font-weight:600;
position:relative;
transition:.3s;
}

.nav-links a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:0;
height:2px;
background:var(--secondary);
transition:.3s;
}

.nav-links a:hover{
color:var(--primary);
}

.nav-links a:hover::after,
.nav-links a.active::after{
width:100%;
}

.nav-call{
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff!important;
padding:11px 21px;
border-radius:999px;
display:flex;
align-items:center;
gap:10px;
box-shadow:var(--shadow-sm);
}

.nav-call::after{
display:none!important;
}

.menu-toggle{
display:none;
}

/* HERO */

.hero{
position:relative;
overflow:hidden;
min-height:90vh;
padding:140px 0 50px;
background:
radial-gradient(circle at 10% 20%,rgba(34,197,94,.12),transparent 30%),
radial-gradient(circle at 90% 15%,rgba(11,94,215,.14),transparent 35%),
radial-gradient(circle at 80% 80%,rgba(34,197,94,.08),transparent 25%),
linear-gradient(135deg,#fff,#f7fbff);
}

.hero::before{
content:"";
position:absolute;
width:520px;
height:520px;
border-radius:50%;
background:rgba(11,94,215,.05);
top:-180px;
right:-120px;
filter:blur(40px);
}

.hero::after{
content:"";
position:absolute;
width:420px;
height:420px;
border-radius:50%;
background:rgba(34,197,94,.05);
bottom:-150px;
left:-120px;
filter:blur(35px);
}

.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
align-items:center;
gap:55px;
position:relative;
z-index:2;
}

.hero-copy{
position:relative;
z-index:3;
}

.hero-text{
margin:25px 0;
font-size:1.08rem;
max-width:580px;
}

.hero-actions{
display:flex;
gap:16px;
flex-wrap:wrap;
margin-bottom:35px;
}

.trust-row{
display:flex;
gap:15px;
flex-wrap:wrap;
}

.trust-row div{
background:#fff;
padding:13px 19px;
border-radius:15px;
box-shadow:var(--shadow-sm);
}

.trust-row strong{
display:block;
font-size:1.65rem;
color:var(--primary);
}

.trust-row span{
font-size:.82rem;
}

.hero-blur{
position:absolute;
border-radius:50%;
filter:blur(80px);
opacity:.35;
}

.hero-blur-one{
width:320px;
height:320px;
background:#4ade80;
top:-120px;
left:-100px;
}

.hero-blur-two{
width:360px;
height:360px;
background:#60a5fa;
right:-120px;
bottom:-80px;
}

/* HERO RIGHT */

.hero-art{
position:relative;
height:500px;
display:flex;
align-items:flex-start;
justify-content:center;
padding-top:10px;
}

.hero-circle{
width:300px;
height:300px;
border-radius:50%;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
box-shadow:var(--shadow-lg);
border:12px solid rgba(255,255,255,.8);
position:relative;
z-index:2;
}

.hero-circle img{
width:72%;
}

.floating-icon{
position:absolute;
width:62px;
height:62px;
border-radius:50%;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
box-shadow:var(--shadow-sm);
color:var(--primary);
font-size:1.25rem;
animation:float 5s ease-in-out infinite;
z-index:3;
}

.finance-one{
top:10px;
right:70px;
}

.finance-two{
top:165px;
left:45px;
animation-delay:1s;
}

.finance-three{
right:25px;
bottom:95px;
animation-delay:2s;
}

.finance-four{
left:75px;
bottom:10px;
animation-delay:3s;
}

.hero-wave{
margin-top:30px;
}

.hero-wave svg{
display:block;
width:100%;
height:90px;
}

.hero-wave path{
fill:#fff;
}

@keyframes float{
0%,100%{
transform:translateY(0);
}
50%{
transform:translateY(-12px);
}
}

/* ABOUT */

.intro{
background:var(--off-white);
}

.about-grid{
display:grid;
grid-template-columns:.75fr 1.25fr;
gap:45px;
align-items:center;
margin-top:45px;
}

.about-card{
position:relative;
background:linear-gradient(145deg,#fff,#eef8ff);
border-radius:26px;
height:350px;
display:flex;
justify-content:center;
align-items:center;
box-shadow:var(--shadow-lg);
overflow:hidden;
}

.about-card::before{
content:"";
position:absolute;
width:270px;
height:270px;
border-radius:50%;
background:linear-gradient(135deg,var(--primary),var(--secondary));
opacity:.08;
}

.experience-circle{
width:175px;
height:175px;
border-radius:50%;
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
box-shadow:var(--shadow-lg);
z-index:2;
}

.experience-circle h2{
color:#fff;
font-size:3rem;
margin:0;
}

.experience-circle span{
font-size:.82rem;
}

.floating-badge{
position:absolute;
bottom:20px;
right:20px;
background:#fff;
padding:11px 17px;
border-radius:14px;
display:flex;
gap:9px;
align-items:center;
box-shadow:var(--shadow);
font-weight:700;
font-size:.82rem;
}

.floating-badge i{
color:var(--secondary);
}

.about-content h3{
font-size:1.7rem;
margin-bottom:15px;
}

.about-content p{
margin-bottom:13px;
font-size:.96rem;
}

.about-features{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:11px;
margin-top:20px;
}

.feature-item{
display:flex;
gap:9px;
align-items:center;
padding:11px 13px;
background:#fff;
border-radius:13px;
box-shadow:var(--shadow-sm);
transition:var(--transition);
font-size:.86rem;
}

.feature-item:hover{
transform:translateY(-4px);
}

.feature-item i{
color:var(--secondary);
font-size:1rem;
}

/* SERVICES */

.services{
background:#fff;
}

.service-grid{
margin-top:45px;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.service-card{
position:relative;
padding:23px 20px;
border-radius:19px;
background:#fff;
overflow:hidden;
transition:.4s;
box-shadow:var(--shadow-sm);
border:1px solid #eef2ff;
}

.service-card::before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:linear-gradient(90deg,var(--primary),var(--secondary));
}

.service-card:hover{
transform:translateY(-7px);
box-shadow:var(--shadow-lg);
}

.service-icon{
width:50px;
height:50px;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
font-size:1.15rem;
color:#fff;
background:linear-gradient(135deg,var(--primary),var(--secondary));
margin-bottom:14px;
}

.service-number{
position:absolute;
right:16px;
top:15px;
font-size:1.7rem;
font-weight:800;
color:#edf4ff;
}

.service-card h3{
margin-bottom:9px;
font-size:1.08rem;
line-height:1.3;
}

.service-card p{
margin-bottom:13px;
font-size:.84rem;
line-height:1.5;
}

.service-card a{
color:var(--primary);
font-weight:700;
display:inline-flex;
gap:8px;
align-items:center;
font-size:.82rem;
}

.service-card a:hover{
color:var(--secondary);
}

.services-extra{
display:none;
}

/* TEAM */

.team{
background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
}

/* ================================
   TEAM SECTION - FINAL LAYOUT
================================ */

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

/* ANIL - FULL WIDTH + CENTER */
.team-grid .founder-card {
    grid-column: 1 / -1;
    width: 70%;
    margin: 0 auto;
}

/* SANJAY + DEEPAK - SECOND ROW */
.team-grid .team-card:not(.founder-card) {
    width: 100%;
}

/* MOBILE */
@media (max-width: 768px) {

    .team-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .team-grid .founder-card {
        grid-column: 1;
        width: 100%;
    }

    .team-grid .team-card:not(.founder-card) {
        width: 100%;
    }
}

.team-card{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:var(--shadow-sm);
transition:var(--transition);
border:1px solid rgba(11,94,215,.08);
display:grid;
grid-template-columns:180px 1fr;
min-height:220px;
}

.team-card:hover{
transform:translateY(-7px);
box-shadow:var(--shadow);
}

.team-image{
height:220px;
display:flex;
align-items:flex-start;
justify-content:center;
overflow:hidden;
background:#f8fbff;
position:relative;
}

.team-image img{
width:100%;
height:100%;
object-fit:cover;
object-position:top center;
transition:.5s;
}

.team-card:hover .team-image img{
transform:scale(1.04);
}

.team-badge{
position:absolute;
top:12px;
left:12px;
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
padding:6px 12px;
border-radius:999px;
font-weight:700;
font-size:.7rem;
}

.team-content{
padding:22px;
}

.team-role{
display:inline-block;
color:var(--secondary);
font-weight:700;
margin-bottom:7px;
font-size:.78rem;
}

.team-content h3{
margin-bottom:10px;
font-size:1.4rem;
}

.team-content p{
margin:0;
font-size:.84rem;
line-height:1.6;
}

.team-stats,
.team-social{
display:none;
}

/* STAFF */

.staff-section{
margin-top:45px;
}

.staff-section .section-heading{
margin-bottom:25px;
}

.staff-grid{
display:flex;
justify-content:center;
gap:45px;
flex-wrap:wrap;
}

.staff-member{
text-align:center;
}

.staff-photo{
width:105px;
height:105px;
border-radius:50%;
overflow:hidden;
background:#f8fbff;
box-shadow:var(--shadow-sm);
margin:auto;
}

.staff-photo img{
width:100%;
height:100%;
object-fit:cover;
}

.staff-member h4{
margin-top:10px;
font-size:1rem;
}

/* =========================================================
   CLIENTS
========================================================= */

.clients {
    background: #fff;
}

.clients .section-description {
    max-width: 720px;
}

.clients-grid {
    width: 100%;
    margin-top: 55px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.client-card {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 26px;
    background: linear-gradient(145deg, #fff, #f7fbff);
    border: 1px solid rgba(11, 94, 215, 0.08);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.client-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow);
}

.client-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    flex-shrink: 0;
}

.client-card > div:last-child {
    min-width: 0;
}

.client-card h3 {
    font-size: 1.05rem;
    margin-bottom: 5px;
    line-height: 1.35;
}

.client-card span {
    display: block;
    color: var(--secondary);
    font-size: 0.82rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.client-card p {
    font-size: 0.84rem;
    line-height: 1.55;
    margin: 0;
}


/* TESTIMONIALS */

.feedback{
background:#fff;
}

.testimonial-wrapper{
position:relative;
margin-top:55px;
overflow:hidden;
padding:10px 0;
}

.testimonial-track{
display:flex;
gap:30px;
transition:transform .6s ease;
}

.testimonial-card{
min-width:calc((100% - 60px)/3);
background:#fff;
border-radius:24px;
padding:30px;
box-shadow:var(--shadow);
border:1px solid rgba(11,94,215,.08);
transition:.35s;
}

.testimonial-card:hover{
transform:translateY(-8px);
}

.stars{
color:#fbbf24;
font-size:1.15rem;
margin-bottom:15px;
}

.testimonial-card p{
margin-bottom:24px;
}

.testimonial-user{
display:flex;
align-items:center;
gap:15px;
}

.avatar{
width:55px;
height:55px;
border-radius:50%;
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:1.1rem;
}

.testimonial-user h4{
margin-bottom:3px;
}

.testimonial-user span{
font-size:.85rem;
}

.testimonial-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
width:52px;
height:52px;
border-radius:50%;
background:#fff;
box-shadow:var(--shadow);
display:flex;
align-items:center;
justify-content:center;
color:var(--primary);
transition:.3s;
z-index:10;
}

.testimonial-btn:hover{
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
}

.prev{
left:-10px;
}

.next{
right:-10px;
}

/* CONTACT */

.contact{
background:linear-gradient(180deg,#f8fbff,#fff);
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:55px;
align-items:center;
}

.contact-content p{
margin:22px 0 30px;
}

.contact-buttons{
display:flex;
gap:18px;
flex-wrap:wrap;
}

.contact-card{
background:#fff;
border-radius:25px;
padding:35px;
box-shadow:var(--shadow-lg);
}

.contact-item{
display:flex;
gap:18px;
margin-bottom:25px;
align-items:flex-start;
}

.contact-icon{
width:55px;
height:55px;
border-radius:17px;
background:linear-gradient(135deg,var(--primary),var(--secondary));
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:1.2rem;
flex-shrink:0;
}

.contact-item small{
display:block;
color:#64748b;
margin-bottom:5px;
}

.contact-item a{
color:var(--dark);
font-weight:700;
}

.contact-item address{
font-style:normal;
}

.map-btn{
margin-top:12px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
padding:14px;
border-radius:15px;
font-weight:700;
transition:.35s;
}

.map-btn:hover{
transform:translateY(-4px);
box-shadow:var(--shadow);
}

/* CTA */

.bottom-cta{
padding:75px 0;
}

.cta-box{
background:linear-gradient(135deg,var(--primary),var(--secondary));
border-radius:32px;
text-align:center;
padding:65px 35px;
color:#fff;
box-shadow:var(--shadow-lg);
}

.cta-box h2{
color:#fff;
margin-bottom:18px;
}

.cta-box p{
color:rgba(255,255,255,.9);
margin-bottom:30px;
}

.cta-box .button-primary{
background:#fff;
color:var(--primary);
}

/* FOOTER */

.site-footer{
background:#0f172a;
color:#cbd5e1;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:45px;
padding:70px 0;
}

.footer-brand img{
width:180px;
margin-bottom:18px;
}

.footer-brand p{
color:#94a3b8;
max-width:320px;
line-height:1.7;
}

.footer-links h4,
.footer-services h4,
.footer-contact h4{
color:#fff;
margin-bottom:18px;
font-size:1.15rem;
}

.footer-links a,
.footer-contact a,
.footer-services span{
display:block;
margin-bottom:10px;
color:#94a3b8;
transition:.3s;
}

.footer-links a:hover,
.footer-contact a:hover{
color:#22c55e;
transform:translateX(5px);
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,.08);
padding:22px 0;
text-align:center;
}

.footer-bottom p{
color:#94a3b8;
}

/* SCROLL TOP */

.scroll-top{
position:fixed;
right:30px;
bottom:30px;
width:55px;
height:55px;
border-radius:50%;
border:none;
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;
font-size:1.2rem;
cursor:pointer;
box-shadow:var(--shadow);
opacity:0;
visibility:hidden;
transform:translateY(20px);
transition:.35s;
z-index:999;
}

.scroll-top.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.scroll-top:hover{
transform:translateY(-6px);
}

/* REVEAL */

.reveal{
opacity:0;
transform:translateY(50px);
transition:1s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* UTILITIES */

.text-center{
text-align:center;
}

.mt-1{margin-top:10px}
.mt-2{margin-top:20px}
.mt-3{margin-top:30px}
.mt-4{margin-top:40px}
.mb-1{margin-bottom:10px}
.mb-2{margin-bottom:20px}
.mb-3{margin-bottom:30px}
.mb-4{margin-bottom:40px}

.shadow{
box-shadow:var(--shadow);
}

.radius{
border-radius:var(--radius);
}

::selection{
background:var(--secondary);
color:#fff;
}

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#edf2f7;
}

::-webkit-scrollbar-thumb{
background:linear-gradient(var(--primary),var(--secondary));
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:var(--primary);
}

/* RESPONSIVE */

@media(max-width:1200px){
.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-copy{
max-width:760px;
margin:auto;
}

.hero-text{
margin-left:auto;
margin-right:auto;
}

.hero-actions{
justify-content:center;
}

.trust-row{
justify-content:center;
}

.hero-art{
height:400px;
margin-top:15px;
}

.about-grid{
grid-template-columns:1fr;
gap:35px;
}

.about-card{
max-width:600px;
margin:auto;
}

.team-grid{
grid-template-columns:1fr;
max-width:850px;
margin-left:auto;
margin-right:auto;
}

.contact-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:repeat(2,1fr);
}

.service-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:992px){
.nav-links{
position:fixed;
top:82px;
right:-100%;
width:300px;
height:calc(100vh - 82px);
background:#fff;
display:flex;
flex-direction:column;
padding:40px;
align-items:flex-start;
gap:25px;
transition:.35s;
box-shadow:var(--shadow-lg);
}

.nav-links.active{
right:0;
}

.menu-toggle{
display:flex;
flex-direction:column;
gap:5px;
background:none;
}

.menu-toggle span{
width:28px;
height:3px;
background:var(--dark);
border-radius:30px;
}

.testimonial-card{
min-width:calc((100% - 30px)/2);
}
}

@media(max-width:768px){
.section{
padding:75px 0;
}

.hero{
padding-top:130px;
}

h1{
font-size:2.8rem;
}

h2{
font-size:2.2rem;
}

.hero-art{
height:350px;
}

.hero-circle{
width:230px;
height:230px;
}

.floating-icon{
width:55px;
height:55px;
}

.finance-one{
right:25px;
}

.finance-two{
left:15px;
}

.finance-three{
right:5px;
bottom:55px;
}

.finance-four{
left:30px;
bottom:0;
}

.about-card{
height:310px;
}

.team-card{
grid-template-columns:150px 1fr;
min-height:200px;
}

.team-image{
height:200px;
}

.contact-card{
padding:30px;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.footer-brand{
display:flex;
flex-direction:column;
align-items:center;
}

.footer-brand p{
margin:auto;
}
}

@media(max-width:576px){
.hero-actions{
flex-direction:column;
}

.button{
width:100%;
}

.trust-row{
flex-direction:column;
}

.trust-row div{
width:100%;
}

.hero-art{
height:320px;
}

.hero-circle{
width:200px;
height:200px;
}

.floating-icon{
width:48px;
height:48px;
font-size:1rem;
}

.finance-one{
right:5px;
}

.finance-two{
left:0;
top:130px;
}

.finance-three{
right:0;
bottom:45px;
}

.finance-four{
left:15px;
bottom:0;
}

.about-features{
grid-template-columns:1fr;
}

.service-grid{
grid-template-columns:1fr;
}

.team-card{
display:block;
}

.team-image{
height:240px;
}

.team-content{
padding:20px;
}

.staff-grid{
gap:25px;
}

.testimonial-card{
min-width:100%;
}

.contact-buttons{
flex-direction:column;
}

.scroll-top{
right:15px;
bottom:15px;
}
}
.email-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.3s;z-index:2000}
.email-modal.active{opacity:1;visibility:visible}
.email-box{position:relative;width:min(100%,500px);background:#fff;border-radius:24px;padding:38px;box-shadow:var(--shadow-lg);transform:translateY(20px) scale(.97);transition:.3s}
.email-modal.active .email-box{transform:translateY(0) scale(1)}
.email-box h3{margin:15px 0 5px;font-size:1.8rem}
.email-box>p{margin-bottom:25px;font-size:.95rem}
.email-box input,.email-box textarea{width:100%;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;outline:none;font-family:inherit;font-size:.95rem}
.email-box textarea{resize:vertical}
.email-box input:focus,.email-box textarea:focus{border-color:var(--primary)}
.email-box .button{width:100%}
.email-close{position:absolute;top:15px;right:18px;width:35px;height:35px;border-radius:50%;background:#f1f5f9;color:var(--dark);font-size:1.5rem;cursor:pointer}
@media(max-width:576px){.email-box{padding:30px 22px}}

/* MOBILE CONTACT + HORIZONTAL OVERFLOW FIX */
html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

@media(max-width:576px){
    .contact{
        width:100%;
        overflow:hidden;
    }

    .contact-grid{
        width:100%;
        grid-template-columns:1fr;
        gap:30px;
    }

    .contact-content{
        width:100%;
        max-width:100%;
    }

    .contact-content h2{
        font-size:2rem;
        overflow-wrap:anywhere;
    }

    .contact-content p{
        max-width:100%;
    }

    .contact-buttons{
        width:100%;
        max-width:100%;
        gap:12px;
    }

    .contact-buttons .button{
        width:100%;
        max-width:100%;
    }

    .contact-card{
        width:100%;
        max-width:100%;
        padding:25px 20px;
        overflow:hidden;
    }

    .contact-item{
        width:100%;
        max-width:100%;
        gap:14px;
    }

    .contact-icon{
        width:50px;
        height:50px;
        flex-shrink:0;
    }

    .contact-item > div{
        min-width:0;
        max-width:calc(100% - 64px);
    }

    .contact-item a,
    .contact-item address{
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .map-btn{
        width:100%;
        max-width:100%;
    }
}


/* MOBILE OVERFLOW + RESPONSIVE FIX */
html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

@media(max-width:768px){
    .container{
        width:min(92%,100%);
        max-width:100%;
    }

    .hero-grid,
    .about-grid,
    .team-grid,
    .contact-grid,
    .service-grid{
        width:100%;
        max-width:100%;
    }

    .hero-right{
        width:100%;
        max-width:100%;
        height:auto;
        min-height:520px;
        margin:0 auto;
        overflow:hidden;
    }

    .hero-art{
        width:100%;
        max-width:100%;
        min-height:520px;
        overflow:hidden;
    }

    .hero-circle{
        width:240px;
        height:240px;
        max-width:70vw;
        max-height:70vw;
    }

    .floating-card{
        width:min(200px,44vw);
        max-width:44vw;
        padding:16px;
    }

    .card-one{
        left:0;
    }

    .card-two{
        right:0;
    }

    .card-three{
        left:0;
    }

    .floating-icon{
        width:52px;
        height:52px;
        font-size:1.1rem;
    }

    .finance-one{
        right:10px;
    }

    .finance-two{
        left:10px;
    }

    .finance-three{
        right:10px;
    }

    .finance-four{
        left:10px;
    }

    .service-card,
    .team-card,
    .testimonial-card,
    .contact-card{
        max-width:100%;
        min-width:0;
    }

    .service-card{
        overflow:hidden;
    }

    .contact-item{
        min-width:0;
    }

    .contact-item>div{
        min-width:0;
        max-width:100%;
    }

    .contact-item a,
    .contact-item address{
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    img{
        max-width:100%;
        height:auto;
    }
}

@media(max-width:576px){
    .hero-right,
    .hero-art{
        min-height:470px;
    }

    .hero-circle{
        width:210px;
        height:210px;
    }

    .floating-card{
        width:170px;
        max-width:43vw;
        padding:14px;
    }

    .floating-card i{
        width:42px;
        height:42px;
        font-size:1rem;
        margin-bottom:10px;
    }

    .floating-card h4{
        font-size:.95rem;
    }

    .floating-card p{
        font-size:.78rem;
        line-height:1.5;
    }
}

/* =========================================
   MOBILE RESPONSIVE FIX
   Keeps desktop design unchanged
========================================= */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
}

@media (max-width: 576px) {

    /* Prevent sections/elements from exceeding phone width */
    .container,
    section,
    .section,
    .services,
    .clients,
    .testimonials,
    .contact {
        max-width: 100%;
        width: 100%;
    }

    .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    /* =========================
       SERVICES
    ========================= */

    .services-grid {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .service-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .service-card > *,
    .service-card p,
    .service-card h3,
    .service-card span {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-wrap: break-word;
    }

    /* =========================
       CLIENTS
    ========================= */

    .clients-grid {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .client-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 18px;
        gap: 14px;
        overflow: hidden;
    }

    .client-card > div:last-child {
        min-width: 0;
        flex: 1;
    }

    .client-card h3,
    .client-card span,
    .client-card p {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* =========================
    TESTIMONIALS
    ========================= */

    .testimonials-grid {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .testimonial-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .testimonial-card p,
    .testimonial-card h3,
    .testimonial-card span {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* =========================
    CONTACT
    ========================= */

    .contact-grid {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .contact-card,
    .contact-form,
    .contact-info {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    input,
    textarea,
    select,
    button {
        max-width: 100%;
    }

    textarea {
        resize: vertical;
    }

    /* =========================
    GENERAL TEXT
    ========================= */

    h1,
    h2,
    h3,
    h4,
    p {
        max-width: 100%;
        overflow-wrap: break-word;
    }

    /* Prevent long URLs/email/phone numbers
       from creating horizontal overflow */
    a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Images must stay inside viewport */
    img,
    video,
    iframe {
        max-width: 100%;
    }
}


/* RESPONSIVE */

@media(max-width:1200px){
.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-copy{
max-width:760px;
margin:auto;
}

.hero-text{
margin-left:auto;
margin-right:auto;
}

.hero-actions{
justify-content:center;
}

.trust-row{
justify-content:center;
}

.hero-art{
height:400px;
margin-top:15px;
}

.about-grid{
grid-template-columns:1fr;
gap:35px;
}

.about-card{
max-width:600px;
margin:auto;
}

.team-grid{
grid-template-columns:1fr;
max-width:850px;
margin-left:auto;
margin-right:auto;
}

.contact-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:repeat(2,1fr);
}

.service-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:992px){
.nav-links{
position:fixed;
top:82px;
right:-100%;
width:300px;
height:calc(100vh - 82px);
background:#fff;
display:flex;
flex-direction:column;
padding:40px;
align-items:flex-start;
gap:25px;
transition:.35s;
box-shadow:var(--shadow-lg);
}

.nav-links.active{
right:0;
}

.menu-toggle{
display:flex;
flex-direction:column;
gap:5px;
background:none;
}

.menu-toggle span{
width:28px;
height:3px;
background:var(--dark);
border-radius:30px;
}

.testimonial-card{
min-width:calc((100% - 30px)/2);
}
}

@media(max-width:768px){
.section{
padding:75px 0;
}

.hero{
padding-top:130px;
}

h1{
font-size:2.8rem;
}

h2{
font-size:2.2rem;
}

.hero-art{
height:350px;
}

.hero-circle{
width:230px;
height:230px;
}

.floating-icon{
width:55px;
height:55px;
}

.finance-one{
right:25px;
}

.finance-two{
left:15px;
}

.finance-three{
right:5px;
bottom:55px;
}

.finance-four{
left:30px;
bottom:0;
}

.about-card{
height:310px;
}

.team-card{
grid-template-columns:150px 1fr;
min-height:200px;
}

.team-image{
height:200px;
}

.contact-card{
padding:30px;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.footer-brand{
display:flex;
flex-direction:column;
align-items:center;
}

.footer-brand p{
margin:auto;
}
}

@media(max-width:576px){
.hero-actions{
flex-direction:column;
}

.button{
width:100%;
}

.trust-row{
flex-direction:column;
}

.trust-row div{
width:100%;
}

.hero-art{
height:320px;
}

.hero-circle{
width:200px;
height:200px;
}

.floating-icon{
width:48px;
height:48px;
font-size:1rem;
}

.finance-one{
right:5px;
}

.finance-two{
left:0;
top:130px;
}

.finance-three{
right:0;
bottom:45px;
}

.finance-four{
left:15px;
bottom:0;
}

.about-features{
grid-template-columns:1fr;
}

.service-grid{
grid-template-columns:1fr;
}

.team-card{
display:block;
}

.team-image{
height:240px;
}

.team-content{
padding:20px;
}

.staff-grid{
gap:25px;
}

.testimonial-card{
min-width:100%;
}

.contact-buttons{
flex-direction:column;
}

.scroll-top{
right:15px;
bottom:15px;
}
}
.email-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.3s;z-index:2000}
.email-modal.active{opacity:1;visibility:visible}
.email-box{position:relative;width:min(100%,500px);background:#fff;border-radius:24px;padding:38px;box-shadow:var(--shadow-lg);transform:translateY(20px) scale(.97);transition:.3s}
.email-modal.active .email-box{transform:translateY(0) scale(1)}
.email-box h3{margin:15px 0 5px;font-size:1.8rem}
.email-box>p{margin-bottom:25px;font-size:.95rem}
.email-box input,.email-box textarea{width:100%;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;outline:none;font-family:inherit;font-size:.95rem}
.email-box textarea{resize:vertical}
.email-box input:focus,.email-box textarea:focus{border-color:var(--primary)}
.email-box .button{width:100%}
.email-close{position:absolute;top:15px;right:18px;width:35px;height:35px;border-radius:50%;background:#f1f5f9;color:var(--dark);font-size:1.5rem;cursor:pointer}
@media(max-width:576px){.email-box{padding:30px 22px}}


