/* ================= GLOBAL RESET ================= */

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

html,body{
width:100%;
overflow-x:hidden;
}

body{
display:flex;
flex-direction:column;
background:#ffffff;
font-family:"Inter",sans-serif;
}


/* ================= TYPOGRAPHY ================= */

h1{
font-family:"DM Serif Display",serif;
font-weight:400;
letter-spacing:.3px;
line-height:1.15;
}

h2{
font-family:"DM Serif Display",serif;
font-weight:400;
letter-spacing:.2px;
line-height:1.2;
}

h3{
font-family:"Inter",sans-serif;
font-weight:600;
line-height:1.3;
}


/* ================= NAVBAR ================= */

.navbar{
width:100%;
background:#000;
position:sticky;
top:0;
z-index:9999;
}

.nav-list{
display:flex;
align-items:center;
gap:30px;
padding:18px 40px;
list-style:none;
}

.brand{
margin-right:auto;
}

.brand img{
height:70px;
width:auto;
}

.nav-item a{
color:#fff;
text-decoration:none;
font-weight:600;
}

.nav-item a:hover{
color:#e5e7eb;
}


/* ================= DROPDOWN ================= */

.dropdown{
position:relative;
}

.arrow{
margin-left:6px;
font-size:12px;
transition:transform .3s ease;
}

.dropdown-menu{

position:absolute;
top:100%;
left:0;

background:#000;
list-style:none;

min-width:260px;

padding:8px 0;

border-radius:6px;

box-shadow:0 15px 40px rgba(0,0,0,.4);

opacity:0;
visibility:hidden;

transform:translateY(10px);

transition:all .25s ease;

pointer-events:none;

z-index:2000;
}

.dropdown-menu li a{

display:block;

padding:12px 20px;

font-size:13px;

color:#fff;

white-space:nowrap;
}

.dropdown-menu li a:hover{
background:rgba(255,255,255,.12);
}

.dropdown:hover .dropdown-menu{

opacity:1;
visibility:visible;

transform:translateY(0);

pointer-events:auto;
}

.dropdown:hover .arrow{
transform:rotate(180deg);
}


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

.hero-marquee{
width:100%;
padding:50px 0 70px;
background:#ffffff;
}


/* HERO TEXT */

.hero-text{

text-align:center;

max-width:820px;

margin:0 auto 60px;

padding:0 20px;
}

.hero-text h1{

font-family:"DM Serif Display",serif;

font-size:64px;

letter-spacing:.4px;

line-height:1.12;

color:#111111;

margin-bottom:18px;
}

.hero-text p{

font-size:18px;

color:#444;

line-height:1.7;

max-width:640px;

margin:auto;
}


/* ================= MARQUEE ================= */

.marquee-wrapper{

display:flex;

flex-direction:column;

gap:28px;
}

.marquee{

width:100%;

overflow:hidden;
}


/* TRACK */

.marquee-track{

display:flex;

gap:22px;

width:max-content;

animation:scrollLeft 50s linear infinite;

will-change:transform;
}


/* SECOND ROW MOVES RIGHT */

.marquee:nth-child(2) .marquee-track{

animation:scrollRight 50s linear infinite;
}


/* IMAGE STYLE */

.marquee img{

width:220px;

height:140px;

object-fit:cover;

border-radius:12px;

box-shadow:0 10px 25px rgba(0,0,0,.12);
}


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

@keyframes scrollLeft{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}

@keyframes scrollRight{

0%{
transform:translateX(-50%);
}

100%{
transform:translateX(0);
}

}


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

.site-footer{

margin-top:auto;

width:100%;

background:#000;

color:#fff;

text-align:center;

padding:20px;
}

.site-footer p{

font-size:14px;

opacity:.9;
}


/* ================= RESPONSIVE ================= */

@media(max-width:768px){

.hero-text h1{
font-size:38px;
line-height:1.2;
}

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

.marquee img{
width:190px;
height:120px;
}

}



/* =========================
RESPONSIVE DESIGN
========================= */

/* Large laptops */
@media (max-width: 1200px){

.container,
.service-content,
.service-hero,
.about-wrapper{
max-width: 95%;
}

}


/* Tablets */
@media (max-width: 900px){

.nav-list{
gap:20px;
padding:16px 20px;
}

.brand img{
height:55px;
}

.service-hero h1{
font-size:34px;
line-height:1.2;
}

.service-hero h2{
font-size:20px;
line-height:1.35;
}

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

.expertise-block{
grid-template-columns:1fr;
}

.about-wrapper{
flex-direction:column;
align-items:center;
text-align:center;
}

.about-photo{
margin-top:20px;
}

}


/* Mobile phones */
@media (max-width: 600px){

.nav-list{
flex-wrap:wrap;
gap:12px;
padding:14px 16px;
}

.brand img{
height:50px;
}

.service-hero{
margin:35px auto 20px;
}

.service-hero h1{
font-size:28px;
line-height:1.25;
}

.service-hero h2{
font-size:18px;
line-height:1.35;
}

.service-content p{
font-size:15px;
}

.container{
padding:0 15px;
}

.fm-card{
padding:20px;
}

.goal-list{
flex-direction:column;
}

.goal-item{
width:100%;
text-align:center;
}

.kpi-grid{
flex-wrap:wrap;
justify-content:center;
gap:15px;
}

.expertise-block{
gap:25px;
}

.exp-text p{
font-size:15px;
}

}


/* Small phones */
@media (max-width: 420px){

.service-hero h1{
font-size:24px;
}

.service-hero h2{
font-size:16px;
}

.brand img{
height:45px;
}

.nav-list{
padding:12px;
}

}


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

.hero-buttons{
margin-top:28px;
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
background:#fff;
color:#000;
padding:12px 26px;
border:2px solid #000;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:all .25s ease;
}

/* Hover effect */
.btn-primary:hover,
.btn-secondary:hover{
background:#000;
color:#fff;
transform:translateY(-2px);
}