/*==================================================
CG SERVICES
STYLE.CSS
==================================================*/

:root{

--primary:#133152;
--secondary:#ba9653;

--heading:#15253d;
--text:#6b7688;

--white:#ffffff;
--light:#f7f9fc;

--border:#e7edf5;

--shadow:0 18px 45px rgba(0,0,0,.08);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;
overflow-x:hidden;

}

body{

font-family:'Poppins',sans-serif;
background:#fff;
color:var(--text);
overflow-x:hidden;

}

img{

display:block;
max-width:100%;
height:auto;

}

a{

text-decoration:none;

}

.container{

width:min(1320px,92%);
margin:auto;

}



/*=====================================
HEADER
=====================================*/

header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
background:rgba(255,255,255,.94);
backdrop-filter:blur(12px);
border-bottom:1px solid rgba(0,0,0,.05);
transition:.35s;

}

nav{

height:90px;
display:flex;
align-items:center;
justify-content:space-between;

}

.logo img{

width:90px;

}

nav ul{

display:flex;
gap:42px;
list-style:none;

}

nav ul li a{

color:var(--heading);
font-weight:500;
transition:.3s;

}

nav ul li a:hover{

color:var(--secondary);

}

.nav-btn{

padding:14px 34px;
background:var(--primary);
border-radius:50px;
color:#fff;
font-weight:600;
transition:.3s;

}

.nav-btn:hover{

background:var(--secondary);

}

.menu-btn{

display:none;
font-size:28px;
color:var(--primary);
cursor:pointer;

}



/*=====================================
BACKGROUND
=====================================*/

.dots{

position:absolute;
left:0;
top:0;
width:260px;
opacity:.08;
z-index:-10;

}

.rings{

position:absolute;
right:-100px;
top:120px;
width:420px;
opacity:.08;
z-index:-10;

}



/*=====================================
HERO
=====================================*/

.hero{

padding-top:150px;
padding-bottom:80px;
overflow:hidden;

}

.hero-grid{

display:grid;
grid-template-columns:38% 62%;
align-items:center;
gap:20px;

}



/*=====================================
LEFT
=====================================*/

.hero-left{

z-index:10;

}

.hero-left h1{

font-size:64px;
line-height:1.05;
font-weight:800;
color:var(--heading);
margin-bottom:18px;

}

.hero-left h1 span{

display:block;
color:var(--secondary);

}

.gold-line{

width:120px;
height:5px;
background:var(--secondary);
border-radius:50px;
margin-bottom:30px;

}

.hero-left p{

font-size:18px;
line-height:1.9;
margin-bottom:35px;
max-width:520px;

}

.hero-tags{

display:flex;
align-items:center;
gap:16px;
flex-wrap:wrap;
font-size:15px;
font-weight:700;
letter-spacing:1px;
color:var(--primary);

}

.hero-tags span:nth-child(even){

color:var(--secondary);

}



/*=====================================
RIGHT
=====================================*/

.hero-right{

position:relative;
min-height:720px;
overflow:hidden;

}



/*=====================================
TOP SERVICE ICONS
=====================================*/

.service-icons{

position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
display:flex;
justify-content:space-between;
width:95%;
z-index:20;

}

.icon{

width:120px;
text-align:center;
position:relative;

}

.icon::after{

content:"";
position:absolute;
top:38px;
right:-52px;
width:52px;
border-top:2px dashed #d6dee8;

}

.icon:last-child::after{

display:none;

}

.circle{

width:78px;
height:78px;
margin:auto;
border-radius:50%;
background:#fff;
border:2px solid var(--border);
display:flex;
align-items:center;
justify-content:center;
box-shadow:var(--shadow);

}

.circle i{

font-size:30px;
color:var(--primary);

}

.icon p{

margin-top:14px;
font-size:12px;
font-weight:700;
line-height:1.5;
color:var(--heading);
text-transform:uppercase;

}



/*=====================================
HERO IMAGE
=====================================*/

.hero-image{

position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
width:100%;
max-width:920px;
z-index:5;
pointer-events:none;
user-select:none;

}



/*=====================================
QUICK SERVICES
=====================================*/

.quick-services{

background:var(--primary);
padding:65px 0;
margin-top:-40px;
position:relative;
z-index:100;

}

.quick-services .container{

display:grid;
grid-template-columns:auto 1px auto 1px auto 1px auto 1px auto;
align-items:center;
gap:20px;

}

.quick-item{

display:flex;
align-items:flex-start;
gap:18px;
color:#fff;

}

.quick-item i{

font-size:34px;
color:var(--secondary);
min-width:40px;

}

.quick-item h3{

font-size:17px;
margin-bottom:8px;

}

.quick-item p{

font-size:14px;
line-height:1.7;
opacity:.9;

}

.line{

width:1px;
height:75px;
background:rgba(255,255,255,.18);

}

/*=====================================
SECTION HEADINGS
=====================================*/

.section-tag{

display:inline-block;
font-size:15px;
font-weight:700;
letter-spacing:2px;
color:var(--secondary);
margin-bottom:18px;
text-transform:uppercase;

}

.section-heading{

text-align:center;
max-width:760px;
margin:0 auto 70px;

}

.section-heading span{

display:block;
color:var(--secondary);
font-size:15px;
font-weight:700;
letter-spacing:2px;
margin-bottom:15px;

}

.section-heading h2{

font-size:52px;
font-weight:800;
line-height:1.15;
color:var(--heading);
margin-bottom:20px;

}

.section-heading p{

font-size:18px;
line-height:1.8;

}



/*=====================================
VISION
=====================================*/

.vision-strip{

padding:110px 0;
background:#fff;

}

.vision-strip h2{

text-align:center;
font-size:50px;
font-weight:800;
color:var(--heading);
margin-bottom:70px;

}

.vision-items{

display:grid;
grid-template-columns:1fr auto 1fr auto 1fr;
align-items:center;
gap:35px;

}

.vision-item{

text-align:center;
padding:45px 35px;
border-radius:24px;
background:#fff;
box-shadow:var(--shadow);
transition:.35s;

}

.vision-item:hover{

transform:translateY(-10px);

}

.vision-item i{

font-size:52px;
color:var(--secondary);
margin-bottom:22px;

}

.vision-item h3{

font-size:24px;
color:var(--heading);
margin-bottom:18px;

}

.vision-item p{

line-height:1.8;

}

.vision-divider{

width:2px;
height:120px;
background:#e5ebf2;

}



/*=====================================
ABOUT
=====================================*/

.about{

padding:120px 0;
background:var(--light);

}

.about-grid{

display:grid;
grid-template-columns:48% 52%;
gap:70px;
align-items:center;

}

.about-image img{

border-radius:28px;
box-shadow:var(--shadow);

}

.about-content h2{

font-size:52px;
font-weight:800;
line-height:1.15;
color:var(--heading);
margin-bottom:25px;

}

.about-content p{

font-size:17px;
line-height:1.9;
margin-bottom:35px;

}

.about-features{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;

}

.feature{

display:flex;
align-items:center;
gap:12px;
font-weight:600;
color:var(--heading);

}

.feature i{

color:var(--secondary);
font-size:18px;

}



/*=====================================
SERVICES
=====================================*/

.services{

padding:120px 0;
background:#fff;

}

.service-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;

}

.service-card{

padding:45px 35px;
background:#fff;
border-radius:24px;
box-shadow:var(--shadow);
text-align:center;
transition:.35s;
border:1px solid transparent;

}

.service-card:hover{

transform:translateY(-10px);
border-color:var(--secondary);

}

.service-card i{

font-size:50px;
color:var(--secondary);
margin-bottom:22px;

}

.service-card h3{

font-size:24px;
color:var(--heading);
margin-bottom:18px;

}

.service-card p{

font-size:15px;
line-height:1.8;

}



/*=====================================
CTA
=====================================*/

.cta{

padding:120px 0;
background:var(--light);

}

.cta-box{

display:flex;
justify-content:space-between;
align-items:center;
gap:60px;
padding:70px;
background:linear-gradient(135deg,#133152,#214f84);
border-radius:30px;
box-shadow:var(--shadow);

}

.cta-content{

flex:1;

}

.cta-content span{

display:block;
font-size:15px;
font-weight:700;
letter-spacing:2px;
color:#d9c18b;
margin-bottom:15px;

}

.cta-content h2{

font-size:52px;
font-weight:800;
line-height:1.15;
color:#fff;
margin-bottom:22px;

}

.cta-content p{

font-size:18px;
line-height:1.9;
color:#dfe7f0;
max-width:650px;

}

.cta-action{

display:flex;
align-items:center;
justify-content:center;

}

.cta-btn{

display:inline-flex;
align-items:center;
justify-content:center;
min-width:180px;
padding:18px 42px;
background:#fff;
color:var(--primary);
border-radius:60px;
font-weight:700;
transition:.35s;
white-space:nowrap;

}

.cta-btn:hover{

background:var(--secondary);
color:#fff;

}

/*=====================================
CONTACT
=====================================*/

.contact{

padding:120px 0;
background:#fff;

}

.contact-grid{

display:grid;
grid-template-columns:45% 55%;
gap:70px;
align-items:start;

}

.contact-info h2{

font-size:52px;
font-weight:800;
line-height:1.15;
color:var(--heading);
margin-bottom:20px;

}

.contact-info>p{

font-size:17px;
line-height:1.9;
margin-bottom:40px;
max-width:500px;

}

.contact-item{

display:flex;
align-items:flex-start;
gap:18px;
margin-bottom:28px;

}

.contact-icon{

width:58px;
height:58px;
border-radius:50%;
background:var(--primary);
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;

}

.contact-icon i{

color:#fff;
font-size:22px;

}

.contact-item h4{

font-size:18px;
color:var(--heading);
margin-bottom:6px;

}

.contact-form{

background:#fff;
padding:45px;
border-radius:24px;
box-shadow:var(--shadow);

}

.contact-form input,
.contact-form textarea{

width:100%;
padding:18px 20px;
border:1px solid #dde4ed;
border-radius:14px;
font-size:15px;
font-family:'Poppins',sans-serif;
margin-bottom:18px;
outline:none;
transition:.3s;

}

.contact-form input:focus,
.contact-form textarea:focus{

border-color:var(--secondary);

}

.contact-form textarea{

resize:vertical;
min-height:180px;

}

.contact-form button{

width:100%;
padding:18px;
border:none;
border-radius:60px;
background:var(--primary);
color:#fff;
font-size:16px;
font-weight:700;
cursor:pointer;
transition:.35s;

}

.contact-form button:hover{

background:var(--secondary);

}



/*=====================================
FOOTER
=====================================*/

footer{

background:#102944;
padding-top:90px;
color:#dbe5ef;

}

.footer-grid{

display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:60px;
padding-bottom:70px;

}

.footer-logo{

width:220px;
margin-bottom:25px;

}

.footer-about p{

max-width:330px;
line-height:1.9;
margin-bottom:28px;

}

.footer-social{

display:flex;
gap:14px;

}

.footer-social a{

width:46px;
height:46px;
border-radius:50%;
background:rgba(255,255,255,.08);
display:flex;
align-items:center;
justify-content:center;
color:#fff;
transition:.35s;

}

.footer-social a:hover{

background:var(--secondary);
transform:translateY(-5px);

}

.footer-links h3{

font-size:22px;
margin-bottom:24px;
color:#fff;

}

.footer-links a{

display:block;
margin-bottom:15px;
color:#dbe5ef;
transition:.3s;

}

.footer-links a:hover{

color:var(--secondary);
padding-left:8px;

}

.copyright{

border-top:1px solid rgba(255,255,255,.08);
text-align:center;
padding:25px 0;

}



/*=====================================
ANIMATIONS
=====================================*/

.service-card,
.vision-item,
.quick-item,
.contact-form,
.about-image{

transition:.35s;

}

.service-card:hover,
.vision-item:hover{

transform:translateY(-10px);

}



/*=====================================
TABLET
=====================================*/

@media (max-width:1100px){

.hero-grid,
.about-grid,
.contact-grid{

grid-template-columns:1fr;

}

.hero-left{

text-align:center;

}

.gold-line{

margin:20px auto;

}

.hero-left p{

margin:auto auto 35px;

}

.hero-tags{

justify-content:center;

}

.hero-right{

min-height:auto;
margin-top:40px;

}

.hero-image{

position:relative;
width:100%;
max-width:700px;
margin:auto;
left:auto;
bottom:auto;
transform:none;

}

.service-icons{

position:relative;
left:auto;
top:auto;
transform:none;
width:100%;
margin-bottom:35px;

}

.quick-services .container{

grid-template-columns:1fr 1fr;
gap:30px;

}

.line{

display:none;

}

.vision-items{

grid-template-columns:1fr;

}

.vision-divider{

display:none;

}

.service-grid{

grid-template-columns:repeat(2,1fr);

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

.cta-box{

flex-direction:column;
text-align:center;

}

}



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

@media (max-width:768px){

.container{

width:92%;

}

.menu-btn{

display:block;

}

.nav-btn{

display:none;

}

nav{

height:80px;

}

nav ul{

display:none;
position:absolute;
top:80px;
left:0;
width:100%;
background:#fff;
flex-direction:column;
padding:25px 0;
box-shadow:0 15px 30px rgba(0,0,0,.08);

}

nav ul.active{

display:flex;

}

nav ul li{

text-align:center;
padding:12px 0;

}

.hero{

padding-top:110px;
padding-bottom:40px;

}

.hero-grid{

display:flex;
flex-direction:column;
gap:35px;

}

.hero-left{

text-align:center;

}

.hero-left h1{

font-size:40px;
line-height:1.15;

}

.hero-left p{

font-size:16px;
max-width:100%;

}

.hero-tags{

justify-content:center;

}

.hero-right{

min-height:auto;

}

.service-icons{

position:relative;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
width:100%;
max-width:100%;
padding:0 8px;
margin:0 auto 25px;
left:auto;
transform:none;

}

.icon{

width:100%;

}

.icon::after{

display:none;

}

.circle{

width:60px;
height:60px;

}

.circle i{

font-size:22px;

}

.icon p{

font-size:11px;
margin-top:10px;

}

.hero-image{

position:relative;
display:block;
width:100%;
max-width:500px;
margin:auto;
left:auto;
bottom:auto;
transform:none;

}

.quick-services{

margin-top:20px;
padding:40px 0;

}

.quick-services .container{

grid-template-columns:1fr;
gap:20px;

}

.about{

padding:80px 0;

}

.about-grid{

display:flex;
flex-direction:column;
gap:40px;

}

.about-content{

text-align:center;

}

.about-features{

grid-template-columns:1fr;

}

.section-heading h2,
.about-content h2,
.contact-info h2,
.cta-content h2,
.vision-strip h2{

font-size:34px;

}

.vision-strip{

padding:80px 0;

}

.service-grid{

grid-template-columns:1fr;
gap:20px;

}

.service-card{

padding:30px 25px;

}

.cta{

padding:80px 0;

}

.cta-box{

padding:35px 25px;
flex-direction:column;
text-align:center;
gap:30px;

}

.contact{

padding:80px 0;

}

.contact-grid{

display:flex;
flex-direction:column;
gap:40px;

}

.contact-info{

text-align:center;

}

.contact-item{

justify-content:center;

}

.contact-form{

padding:25px;

}

.footer-grid{

grid-template-columns:1fr;
text-align:center;
gap:35px;

}

.footer-logo{

margin:auto auto 20px;

}

.footer-about p{

margin:0 auto 25px;

}

.footer-social{

justify-content:center;

}

}

/*=====================================
MOBILE OVERFLOW FIX
=====================================*/

html,
body{

width:100%;
max-width:100%;
overflow-x:hidden;

}

body{

position:relative;

}

.hero,
.hero-grid,
.hero-right,
.quick-services,
.about,
.services,
.cta,
.contact,
footer{

overflow-x:hidden;

}

.hero-image{

max-width:100%;
height:auto;

}

.service-icons{

width:100%;
left:0;
transform:none;

}
