/* ================= RESET ================= */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body, p, h1, h2, h3, h4, h5, li, a{
font-family: 'Poppins' !important;
}


p {
    font-weight: 300;font-family:Poppins;    font-weight: 400;
}
.container {
    width: 100%;
    max-width: 1280px;
    margin: auto;
}
.navbar{
position:relative;
}



/* HERO SLIDER */
.swiper-pagination-bullet{
background:#fff;
opacity:0.7;
}

.swiper-pagination-bullet-active {
    background: #0b1f3a;
    opacity: 1;
    width: 25px;
    border-radius: 4px;
}
.hero{
position:relative;
height:650px;z-index:1;
}

.swiper{
height:100%;
}

.slide{
height:650px;
background-size:cover;
background-position:center;
position:relative;
display:flex;
align-items:center;
}

.slide::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}

.hero-content {
    position: relative;
    color: #fff;
    max-width: 60%;
    margin-left: 30px;
    z-index: 9999999;
}

.hero-content h1{
font-family: 'Poppins';
font-size:58px;
line-height:1.2;
margin-bottom:15px;
}

.hero-content p{
font-size:18px;
margin-bottom:25px;
}

.hero-buttons{
display:flex;
gap:15px;
}

.btn1{
background:#0b1f3a;
padding:12px 22px;
color:#fff;
text-decoration:none;border: 2px solid #0b1f3a;cursor:pointer;
}

.btn2{
border:1px solid #fff;
padding:12px 22px;
color:#fff;
text-decoration:none;cursor:pointer;
}
.btn2:hover {
    background-color: #0b1f3a;
    border-color: #0b1f3a;
}
/* SLIDER ARROWS */

.swiper-button-next,
.swiper-button-prev{
color:#fff;
}

/* FEATURE BOXES */

.feature-section{
    padding-top: 40px;
position:relative;
z-index:5;
    background-color: #f5f5f5;
}

.feature-container{
display:flex;
justify-content:center;
gap:30px;
max-width:1200px;
margin:auto;
}

.feature-box{
background:#c0bdbd8f;
padding:20px 25px;
display:flex;
align-items:center;
gap:18px;
width:320px;
box-shadow:0 10px 25px rgb(0 0 0 / 25%);
}

.feature-icon{
background:#0b1f3a;
color:#fff;
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
}

.feature-text span{
font-size:13px;
color: #0b1f3a;
    font-weight: 400;
}

.feature-text h4{
font-size:18px;
color:#0f2e5a;line-height: 1.3em;
}
.feature-box:hover {
    box-shadow: 0 12px 25px rgb(0 0 0 / 25%);
}
.feature-card:hover{ box-shadow: 0 10px 22px rgb(0 0 0 / 25%);}
/* ABOUT SECTION */

.about-section{
padding:70px 0;
background:#f5f5f5;
}
.about-content p:nth-child(3) {
    padding-bottom: 20px;
}

.about-section .container{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

.about-image{
position:relative;
}

.image-frame{
position:absolute;
left:-20px;
top:-20px;
width:100%;
height:100%;
background:#0b1f3a;
z-index:0;
}

.about-image img{
width:100%;
position:relative;
z-index:2;
}

.about-content h2 {
    font-size: 38px;
    margin-bottom: 20px;
    color: #0f2e5a;
    line-height: 1.3em;
}

.about-content p{
margin-bottom:15px;
color:#777;
}

.primary-btn{
background:#0b1f3a;
color:#fff;
padding:12px 24px;
display:inline-block;
text-decoration:none;
}
.primary-btn:hover {
    background-color: #193f8e;
    color: #fff;
}
.signature img{
width:120px;
margin-top:20px;
}

.practice-section{
background:#0f2e5a;
padding:70px 0;
color:#fff;
}

.practice-section .container{
display:grid;
grid-template-columns:40% 60%;
gap:60px;
align-items:start;
}

/* TITLE */

.practice-title{
font-size:36px;
margin-bottom:20px;
}

.practice-sub{
border-left:3px solid #fff;
padding-left:20px;
margin-bottom:40px;
color:#cbd6e3;
}

/* IMAGE */

.practice-image{
position:relative;
}

.practice-image img{
width:100%;
display:block;
}

/* IMAGE FADE */

.practice-image:after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:120px;
background:linear-gradient(to top,#0f2e5a,transparent);
}

/* RIGHT SIDE */

.practice-right{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.practice-item{
display:flex;
gap:20px;
}

.practice-item .icon{
font-size:28px;
color:#fff;
}

.practice-item h4{
margin-bottom:10px;
font-size:18px;
}

.practice-item p{
font-size:14px;
color:#cbd6e3;
margin-bottom:10px;
}

.practice-item a{
color:#fff;
text-decoration:none;
font-size:14px;
}

.protect-section{
background:#f5f2ed;
padding:70px 0;
}
.protect-content h4 {
    padding-top: 15px;
}
.protect-section .container{
display:grid;
grid-template-columns:45% 50%;
gap:80px;
align-items:center;
}

/* LEFT IMAGE LAYOUT */

.protect-images{
position:relative;
}

.img-main{
width:75%;
display:block;
}

.img-front{
width:55%;
position:absolute;
bottom:-40px;
right:40px;
box-shadow:0 15px 30px rgba(0,0,0,0.15);
}

.stat-box{
position:absolute;
left:-4px;
bottom:-55px;
background:#fff;
padding:25px 30px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.stat-box h2{
font-size:32px;
margin-bottom:5px;
}

.stat-box p{
font-size:13px;
color:#777;
}

/* RIGHT CONTENT */

.mini-title{
color:#6d4c41;
font-size:14px;
margin-bottom:15px;
display:flex;
align-items:center;
gap:8px;
}

.main-title{
font-size:38px;
margin-bottom:20px;
color:#0f2e5a;    line-height: 1.3em;
}
.swiper-button-next, .swiper-button-prev{    width: calc(var(--swiper-navigation-size) / 15 * 27);}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after{    font-size: 25px;}
.main-text{
color:#666;
margin-bottom:35px;
line-height:1.7;
}

/* FEATURE CARDS */

.feature-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}

.feature-card{
background:#fff;
padding:30px;
border-radius:6px;
}

section.feature-section .feature-icon{
font-size: 28px;
    margin-bottom: 0;
    padding: 20px 35px;
    height: 100%;
color:#fff;
}

.feature-card h4{
margin-bottom:10px;
}

.feature-card p{
font-size:14px;
color:#666;
}


/* WHY CLIENT SECTION */
.why-right p {
    padding-bottom: 24px;
}
.why-container{
display:grid;
grid-template-columns:50% 50%;
}

.why-left{
background:url("../images/Skilled-Lawyers.webp") center/cover;
position:relative;
padding:120px 80px;
color:#fff;
    background-position: left;display: flex;
    flex-direction: column;
    justify-content: center;
}

.why-left:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

.why-left *{
position:relative;
z-index:2;
}

.stats{
display:flex;
gap:20px;
margin-bottom:30px;    justify-content: center;
    align-items: center;
}

.stat-circle{
width:145px;
height:145px;
border:6px solid #fff;
border-radius:50%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;padding: 10px;
}

.stat-circle span{
font-size:22px;
font-weight:bold;
}

.stat-circle p{
font-size:11px;
margin-top:5px;
}

.why-title{
font-size:38px;    align-items: center;text-align:center;
}


/* RIGHT SIDE */

.why-right{
background:#0f2e5a;
color:#fff;
padding:60px 60px 30px;
}

.small-title{
font-size:13px;
opacity:0.8;
margin-bottom:10px;
}

.why-right h2{
font-size:34px;
margin-bottom:40px;
}

.why-item{
display:flex;
gap:18px;
margin-bottom:25px;
}

.why-item i{
font-size:24px;
margin-top:4px;
}


/* FOOTER */

.footer{
background:#0d1f3d;
color:#cfd8e3;
padding-top:70px;
}
.footer-col ul li a {
    color: #fff;
    text-decoration: none;
}
.footer-col ul li {
    list-style: none;
}
.footer .container{

display:grid;
grid-template-columns:1.5fr 1fr 1fr 1.5fr;
gap:50px;
}

.footer-col h3,
.footer-col h4{
color:#fff;
margin-bottom:20px;
}

.footer-col ul{
list-style:none;
padding:0;
}

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

.copyright{
text-align:center;
padding:20px;
border-top:1px solid rgba(255,255,255,0.1);
margin-top:50px;
font-size:14px;
}


.process-section{
padding:60px 20px;
background:#fff;
}

.process-title{
text-align:center;
font-size:36px;
margin-bottom:80px;
}

.process-wrapper{
position:relative;
max-width:900px;
margin:auto;
}

.process-line{
position:absolute;
left:50%;
top:0;
width:2px;
height:100%;
background:#ddd;
transform:translateX(-50%);
}

.process-step{
position:relative;
display:flex;
align-items:center;
margin-bottom:80px;
opacity:0;
transform:translateY(60px);
transition:all .6s ease;
}

.process-step.active{
opacity:1;
transform:translateY(0);
}

.step-dot{
position:absolute;
left:50%;
width:16px;
height:16px;
background:#0f2e5a;
border-radius:50%;
transform:translateX(-50%);
z-index:2;
}

.step-card {
    width: 45%;
    padding: 25px;
    background:#c0bdbd6e;
    box-shadow: 0 10px 25px rgb(0 0 0 / 25%);    border-radius: 6px;
}

.process-step:nth-child(even) .step-card{
margin-left:auto;
}


/* =========================
LARGE DEVICES
=========================*/

@media (max-width:1350px){
.protect-section .container{    gap: 40px;}
.practice-section .container{}
}

@media (max-width:1290px){

.container{max-width: 90%;}
.logo{    width: 160px;}

}

/* ================= MOBILE MENU (FIXED) ================= */

@media (max-width:1160px){
.why-title {
	font-size: 35px;}


}

/* ================= REST YOUR CSS SAME ================= */


/* =========================
TABLETS
=========================*/

@media (max-width:992px){
.hero-content{margin-left: 0px;        padding: 20px;}
.hero-content h1 {
    font-size: 45px;}
 
 h2{font-size: 30px !important;}   
.slide {
    height: 550px;}
.hero{height: 550px;}


/* ABOUT SECTION */

.about-container{
grid-template-columns:1fr;
gap:50px;
text-align:center;
}
.about-content p:nth-child(3) {
    padding-bottom: 30px;
}
.about-image{
max-width:500px;
margin:auto;
}


/* PRACTICE AREA */

.about-section .container, .practice-section .container, .protect-section .container, .why-container{grid-template-columns: 1fr;}
.footer .container{grid-template-columns: 1.5fr 1fr;}
.protect-images{
margin-bottom:50px;
}


.why-right{
padding:60px 40px;
}

}


/* =========================
MOBILE DEVICES
=========================*/

@media (max-width:768px){
	html,
    body {
        overscroll-behavior-x: none !important;
    }
	 .swiper-slide.slide:nth-child(2) {
        background-image: url('https://gbvisalaw.com/wp-content/uploads/2026/10/Immigration-Attorneys-mobile.webp') !important;
    }

    .swiper-slide.slide:nth-child(3) {
        background-image: url('https://gbvisalaw.com/wp-content/uploads/2026/10/Immigration-Attorneys2-mobile.webp') !important;
    }

    .hero {
        touch-action: pan-y;
    }
	 body {
        position: relative;
        overflow-x: hidden !important;
    }

    #page,
    .site,
    main {
        max-width: 100vw !important;
        overflow-x: clip !important;
    }
	
	
	
	.hero-content h1 {
        font-size: 30px;
    }
	.hero-content p{    font-size: 16px;}
	.slide {
        height: 460px;
    }
 .swiper-button-next, .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) / 52 * 27);
}
 .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{font-size: 25px;}   

 .img-main{    width: 100%;}   
 h2 br {
    display: none;
}
    .footer .container {
        grid-template-columns: 1fr;
    }
.top-right{display: none;}



 .top-header{
flex-direction:column;
gap:10px;
text-align:center;
}

.top-right{
flex-wrap:wrap;
justify-content:center;
}

.hero-buttons{flex-direction: column;gap: 15px;}

   

/* FEATURE BOXES */

.feature-container{
flex-direction:column;
align-items:flex-start;max-width: 90%;gap: 16px;
}
.feature-container .feature-box{max-width: 100%;}
.feature-box{
width:100%;
max-width:400px;
}
	.step-card{    width: 100%;}
	.step-dot{display:none;}
	.process-line {
    display: none;
}
	.process-title{margin-bottom: 40px;}
.why-item h4 {
    font-size: 18px;
}
/* PRACTICE AREA */

.practice-right{
grid-template-columns:1fr;
}


/* PROTECT FEATURE CARDS */

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


/* STATS CIRCLES */

.stats{
flex-direction:column;
gap:20px;
}


/* FOOTER */

.footer-container{
grid-template-columns:1fr 1fr;
gap:40px;
}
	.why-left{padding: 40px 30px;}
.step-card{padding: 10px;}
	.hero-content{    max-width: 100%;}
	.step-card h3 {
    font-size: 18px;
}
}


/* =========================
SMALL MOBILE
=========================*/

@media (max-width:576px){

/* TEXT SIZE */

h1{
font-size:28px;
}

h2{
font-size:26px;
}

p{
font-size:14px;
}


/* PRACTICE IMAGE */

.practice-image img{
width:100%;
}


/* PROTECT IMAGE STACK */

.img-front{
position:relative;
right:auto;
bottom:auto;
margin-top:20px;
width:100%;
}

.stat-box{
position:relative;
left:auto;
bottom:auto;
margin-top:20px;
}


/* FOOTER */

.footer-container{
grid-template-columns:1fr;
text-align:center;
}

.copyright{
font-size:12px;
}
.process-step{margin-bottom: 22px;}
}

/*Arti code */
.hero-buttons a:hover,
.hero-buttons .btn1:hover,
.hero-buttons .btn2:hover {
    color: #ffffff !important;
}
.content a {
    position: relative;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    transition: color 0.35s ease;
    z-index: 1;
}

.content a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}

.content a:hover::after {
    transform: scaleX(1);
}
.content a:hover {
    color: #fff;
}
