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

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; /* żeby hamburger był w kontekście headera */

}






.logo {
  width: 275px;
  max-width: 50vw;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.logo:hover {
  transform: scale(1.1);
}

.phone-info {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 16px;
}

.phone-info a {
  text-decoration: none;
  color: inherit;
}

/* Desktop menu normalnie */
nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
}

.hamburger {
  width: 30px;
  height: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1001;
  position: relative; /* albo absolute jeśli chcesz go w rogu */
}

.hamburger span {
  display: block;
  height: 4px;
  background: #000;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* Mobile */
@media (max-width: 768px) {
  nav ul {
    display: none;        /* domyślnie ukryte */
    flex-direction: column;
    background: white;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
  }

  nav ul.show {
    display: flex;        /* pokaz po toggle */
  }

  .hamburger {
    display: block;       /* pokaz hamburger */
  }
}
:root{
  --primary:#dc2626;
  --primary-dark:#991b1b;
  --secondary:#f87171;
  --accent:#fecaca;
  --light:#fef2f2;
  --dark:#1f2937;
  --text:#4b5563;
  --border:#e5e7eb;
  --transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

html{scroll-behavior:smooth;}

body{
  font-family:'Segoe UI', 'Roboto', -apple-system, sans-serif;
  line-height:1.7;
  color:var(--text);
  background-color:#ffffff;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}

.container{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* ========== ANIMATIONS ========== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes slideInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}
@keyframes glow{0%, 100%{box-shadow:0 0 20px rgba(220, 38, 38, 0.3);}50%{box-shadow:0 0 40px rgba(220, 38, 38, 0.6);}}
@keyframes float{0%, 100%{transform:translateY(0px);}50%{transform:translateY(-10px);}}

@keyframes pulse{
  0%, 100%{transform:scale(1);}
  50%{transform:scale(1.05);}
}

@keyframes shimmer{
  0%{background-position:-1000px 0;}
  100%{background-position:1000px 0;}
}

@keyframes rotate{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-30px);}
  to{opacity:1;transform:translateX(0);}
}

/* ========== HEADER ========== */
header{
  background:rgba(255, 255, 255, 0.95);
  backdrop-filter:blur(10px);
  box-shadow:0 2px 20px rgba(0,0,0,0.05);
  position:sticky;
  top:0;
  z-index:1000;
}

.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 30px;
  max-width:1200px;
  margin:0 auto;
}

.logo{
  font-size:32px;
  font-weight:800;
  background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  letter-spacing:-1px;
  cursor:pointer;
}

.phone-info{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-weight:600;
  font-size:16px;
}

.phone-info .icon{font-size:18px;}
.phone-info a{transition:var(--transition);}
.phone-info a:hover{color:var(--secondary);transform:scale(1.05);}

nav{
  display:flex;
  justify-content:center;
  background:linear-gradient(to bottom, #f9fafb, white);
  padding:0;
  border-top:1px solid var(--border);
}

nav ul{
  list-style:none;
  display:flex;
  gap:0;
}

nav ul li a{
  display:block;
  padding:15px 25px;
  color:var(--text);
  font-weight:500;
  transition:var(--transition);
  border-bottom:3px solid transparent;
  position:relative;
}

nav ul li a::before{
  content:'';
  position:absolute;
  width:0;
  height:2px;
  bottom:0;
  left:50%;
  background:var(--secondary);
  transition:all 0.3s ease;
  transform:translateX(-50%);
}

nav ul li a:hover::before,
nav ul li a.active::before{
  width:80%;
}

nav ul li a:hover,
nav ul li a.active{
  color:var(--primary);
  background:rgba(220, 38, 38, 0.05);
}

.hamburger{
  display:none;
  font-size:28px;
  cursor:pointer;
  color:var(--primary);
  padding:15px 30px;
  transition:var(--transition);
}

.hamburger:hover{transform:rotate(90deg);}

/* ========== HERO SECTION ========== */
.hero{
  position:relative;
  min-height:700px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
}

.hero-bg{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:hidden;
}

.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.3;
}

.hero-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:radial-gradient(circle at center, transparent 0%, rgba(15, 61, 82, 0.6) 100%);
}

.hero .container{
  position:relative;
  z-index:2;
}

.hero-content{
  text-align:center;
  color:white;
}

.hero-badge{
  display:inline-block;
  background:rgba(45, 212, 191, 0.2);
  border:1px solid var(--secondary);
  color:white;
  padding:8px 16px;
  border-radius:50px;
  font-size:13px;
  font-weight:600;
  margin-bottom:20px;
}

.hero-title{
  font-size:56px;
  font-weight:800;
  margin-bottom:20px;
  line-height:1.1;
  text-shadow:0 4px 20px rgba(0,0,0,0.3);
}

.hero-subtitle{
  font-size:20px;
  margin-bottom:40px;
  opacity:0.95;
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}

.hero-buttons{
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
}

/* ========== BUTTONS ========== */
.btn{
  display:inline-block;
  padding:12px 28px;
  border-radius:8px;
  font-weight:600;
  transition:var(--transition);
  cursor:pointer;
  border:none;
  text-align:center;
  font-size:15px;
  position:relative;
  overflow:hidden;
}

.btn::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  border-radius:50%;
  background:rgba(255,255,255,0.3);
  transform:translate(-50%, -50%);
  transition:width 0.6s, height 0.6s;
}

.btn:hover::before{
  width:300px;
  height:300px;
}

.btn-primary{
  background:linear-gradient(135deg, var(--secondary) 0%, #0d9488 100%);
  color:white;
  box-shadow:0 8px 20px rgba(45, 212, 191, 0.3);
}

.btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(45, 212, 191, 0.5);
}

.btn-secondary{
  background:rgba(255,255,255,0.15);
  color:white;
  border:2px solid white;
  backdrop-filter:blur(10px);
}

.btn-secondary:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-3px);
}

.btn-large{padding:16px 45px;font-size:16px;}

/* ========== HIGHLIGHTS SECTION ========== */
.highlights{
  background:linear-gradient(180deg, white 0%, #f8fafc 100%);
  padding:60px 20px;
  border-top:1px solid var(--border);
}

.highlights .container{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:40px;
}

.highlight-item{
  text-align:center;
  transition:all 0.3s ease;
}

.highlight-item:nth-child(1){}
.highlight-item:nth-child(2){}
.highlight-item:nth-child(3){}
.highlight-item:nth-child(4){}

.highlight-number{
  font-size:48px;
  font-weight:800;
  background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:10px;
}

.highlight-item p{
  color:var(--text);
  font-size:15px;
  font-weight:500;
}

/* ========== SERVICES SECTION ========== */
.services{
  padding:100px 20px;
  background:white;
}

.section-title{
  font-size:42px;
  font-weight:800;
  text-align:center;
  margin-bottom:20px;
  color:var(--dark);
}

.section-subtitle{
  text-align:center;
  color:var(--text);
  font-size:16px;
  margin-bottom:60px;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:30px;
}

.service-card{
  background:white;
  padding:35px 25px;
  border-radius:16px;
  border:2px solid var(--border);
  text-align:center;
  transition:var(--transition);
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
  position:relative;
  overflow:hidden;
}

.service-card:nth-child(1){}
.service-card:nth-child(2){}
.service-card:nth-child(3){}
.service-card:nth-child(4){}

.service-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--secondary) 0%, var(--primary) 100%);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease;
}

.service-card:hover::before{
  transform:scaleX(1);
}

.service-card:hover{
  transform:translateY(-12px);
  box-shadow:0 20px 40px rgba(0,0,0,0.15);
  border-color:var(--secondary);
}

.service-icon{
  font-size:52px;
  margin-bottom:20px;
  display:block;
}

.service-card h3{
  font-size:20px;
  margin-bottom:15px;
  color:var(--dark);
  font-weight:700;
}

.service-card p{
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

/* ========== TEAM SHOWCASE ========== */
.team-showcase{
  padding:100px 20px;
  background:linear-gradient(135deg, #f0f9ff 0%, white 100%);
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:35px;
}

.team-member{
  text-align:center;
  transition:all 0.3s ease;
}

.team-member:nth-child(1){}
.team-member:nth-child(2){}
.team-member:nth-child(3){}

.team-image-wrapper{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  height:300px;
  margin-bottom:25px;
  box-shadow:0 10px 40px rgba(0,0,0,0.15);
}

.team-image-wrapper img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:var(--transition);
}

.team-image-wrapper:hover img{
  transform:scale(1.1);
}

.team-overlay{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.8) 100%);
  color:white;
  padding:20px;
  text-align:center;
  font-weight:600;
  font-size:14px;
  transform:translateY(100%);
  transition:var(--transition);
}

.team-image-wrapper:hover .team-overlay{
  transform:translateY(0);
}

.team-member h3{
  font-size:20px;
  color:var(--dark);
  margin-bottom:8px;
  font-weight:700;
}

.team-member p{
  color:var(--text);
  font-size:14px;
}

/* ========== STATS SECTION ========== */
.stats-section{
  padding:100px 20px;
  background:white;
}

.stats-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.stats-content h2{
  font-size:36px;
  margin-bottom:35px;
  color:var(--dark);
  font-weight:800;
}

.stats-list{
  list-style:none;
}

.stats-list li{
  padding:15px 0;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:15px;
  font-size:16px;
  color:var(--text);
  transition:all 0.3s ease;
}

.stats-list li:nth-child(1){}
.stats-list li:nth-child(2){}
.stats-list li:nth-child(3){}
.stats-list li:nth-child(4){}
.stats-list li:nth-child(5){}

.checkmark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--secondary) 0%, #0d9488 100%);
  color:white;
  font-weight:bold;
  font-size:18px;
  flex-shrink:0;
}

.stats-image{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
}

.stats-image img{
  width:100%;
  height:auto;
  transition:var(--transition);
}

.stats-image:hover img{
  transform:scale(1.05);
}

/* ========== PAGE HEADER ========== */
.page-header{
  background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  color:white;
  padding:100px 20px;
  text-align:center;
}

.page-header h1{
  font-size:48px;
  margin-bottom:15px;
  font-weight:800;
}

.page-header p{
  font-size:18px;
  opacity:0.95;
}

/* ========== ABOUT SECTION ========== */
.about-section{padding:100px 20px;}

.about-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:80px;
}

.about-hero-image{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
}

.about-hero-image img{
  width:100%;
  height:auto;
}

.about-hero-text{
}

.about-hero-text h2{
  font-size:36px;
  margin-bottom:25px;
  color:var(--dark);
  font-weight:800;
}

.about-hero-text p{
  font-size:16px;
  color:var(--text);
  margin-bottom:18px;
  line-height:1.8;
}

.about-intro{
  text-align:center;
  margin-bottom:60px;
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}

.about-intro h2{
  font-size:36px;
  margin-bottom:20px;
  color:var(--dark);
  font-weight:800;
}

.about-intro p{
  font-size:16px;
  color:var(--text);
  margin-bottom:15px;
  line-height:1.8;
}

.about-hero-img{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
  margin-bottom:60px;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:30px;
  margin-bottom:80px;
}

.value-card{
  background:white;
  padding:40px 30px;
  border-radius:16px;
  border:2px solid var(--border);
  text-align:center;
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
  transition:var(--transition);
  animation:fadeInUp 0.6s ease-out both;
}

.value-card:nth-child(1){animation-delay:0.1s;}
.value-card:nth-child(2){animation-delay:0.2s;}
.value-card:nth-child(3){animation-delay:0.3s;}

.value-card:hover{
  transform:translateY(-8px);
  border-color:var(--secondary);
  box-shadow:0 15px 40px rgba(0,0,0,0.12);
}

.value-icon{
  font-size:52px;
  margin-bottom:20px;
}

.value-card h3{
  font-size:20px;
  margin-bottom:15px;
  color:var(--dark);
  font-weight:700;
}

.value-card p{
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

.experience-section{margin-bottom:80px;}

.experience-section h2{
  font-size:36px;
  margin-bottom:50px;
  text-align:center;
  color:var(--dark);
  font-weight:800;
}

.experience-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:30px;
}

.experience-item{
  background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  color:white;
  padding:40px 20px;
  text-align:center;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(26, 95, 122, 0.2);
  transition:var(--transition);
}

.experience-item:nth-child(1){}
.experience-item:nth-child(2){}
.experience-item:nth-child(3){}
.experience-item:nth-child(4){}

.experience-item:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 50px rgba(26, 95, 122, 0.4);
}

.experience-number{
  font-size:42px;
  font-weight:800;
  margin-bottom:10px;
}

.experience-item p{
  font-size:14px;
  opacity:0.95;
}

.team-detailed-section{
  margin-bottom:80px;
}

.team-detailed-section h2{
  font-size:36px;
  margin-bottom:50px;
  text-align:center;
  color:var(--dark);
  font-weight:800;
}

.team-detailed-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:30px;
}

.team-detailed-card{
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 5px 20px rgba(0,0,0,0.1);
  transition:var(--transition);
}

.team-detailed-card:nth-child(1){}
.team-detailed-card:nth-child(2){}
.team-detailed-card:nth-child(3){}
.team-detailed-card:nth-child(4){}

.team-detailed-card:hover{
  transform:translateY(-12px);
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
}

.team-detailed-card img{
  width:100%;
  height:280px;
  object-fit:cover;
  transition:var(--transition);
}

.team-detailed-card:hover img{
  transform:scale(1.08);
}

.team-detailed-card h3{
  padding:25px 20px 10px;
  font-size:20px;
  color:var(--dark);
  font-weight:700;
}

.team-role{
  font-size:13px;
  color:var(--secondary);
  font-weight:600;
  padding:0 20px;
  margin-bottom:10px;
}

.team-detailed-card p:last-child{
  padding:0 20px 25px;
  color:var(--text);
  font-size:14px;
}

.strengths-section h2{
  font-size:36px;
  margin-bottom:50px;
  text-align:center;
  color:var(--dark);
  font-weight:800;
}

.strengths-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:30px;
}

.strength-item{
  background:white;
  padding:30px;
  border-radius:16px;
  border:2px solid var(--border);
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
  transition:var(--transition);
}

.strength-item:nth-child(1){}
.strength-item:nth-child(2){}
.strength-item:nth-child(3){}
.strength-item:nth-child(4){}

.strength-item:hover{
  transform:translateY(-8px);
  border-color:var(--secondary);
  box-shadow:0 15px 40px rgba(0,0,0,0.12);
}

.strength-item h3{
  color:var(--primary);
  margin-bottom:15px;
  font-size:18px;
  font-weight:700;
}

.strength-item p{
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

/* ========== CONTACT SECTION ========== */
.contact-section{padding:100px 20px;background:white;}

.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:30px;
  margin-bottom:70px;
}

.contact-method{
  background:white;
  padding:40px 30px;
  text-align:center;
  border-radius:16px;
  border:2px solid var(--border);
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
  transition:var(--transition);
}

.contact-method:nth-child(1){}
.contact-method:nth-child(2){}
.contact-method:nth-child(3){}

.contact-method:hover{
  transform:translateY(-8px);
  border-color:var(--secondary);
  box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

.contact-icon{
  font-size:48px;
  margin-bottom:20px;
}

.contact-method h3{
  font-size:20px;
  margin-bottom:12px;
  color:var(--dark);
  font-weight:700;
}

.contact-method p{
  color:var(--primary);
  font-weight:600;
  margin-bottom:10px;
}

.contact-method a{transition:var(--transition);}
.contact-method a:hover{color:var(--secondary);}

.contact-method small{
  display:block;
  color:var(--text);
  font-size:12px;
  margin-top:10px;
}

.contact-form-section{
  background:linear-gradient(135deg, #fef2f2 0%, white 100%);
  padding:60px;
  border-radius:16px;
  border:2px solid var(--border);
  max-width:650px;
  margin:0 auto;
  box-shadow:0 10px 30px rgba(220, 38, 38, 0.1);
}

.contact-form-section h2{
  text-align:center;
  margin-bottom:35px;
  color:var(--dark);
  font-size:32px;
  font-weight:800;
}

.form-group{margin-bottom:20px;}

.contact-form input,
.contact-form textarea{
  width:100%;
  padding:14px 18px;
  border:2px solid var(--border);
  border-radius:10px;
  font-family:inherit;
  font-size:14px;
  transition:var(--transition);
  color:var(--dark);
  background:white;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:#999;
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--secondary);
  box-shadow:0 0 0 4px rgba(248, 113, 113, 0.15);
}

.contact-form button{width:100%;}

/* ========== CTA SECTION ========== */
.cta-section{
  background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  color:white;
  padding:80px 20px;
  text-align:center;
}

.cta-premium{
  background:linear-gradient(135deg, var(--primary) 0%, #be1e1e 50%, var(--primary-dark) 100%);
  position:relative;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(220, 38, 38, 0.3);
}

.cta-premium::before{
  content:'';
  position:absolute;
  top:-50%;
  right:-50%;
  width:500px;
  height:500px;
  border-radius:50%;
  background:rgba(248, 113, 113, 0.15);
}

.cta-content{
  position:relative;
  z-index:2;
}

.cta-section h2{
  font-size:40px;
  margin-bottom:15px;
  font-weight:800;
}

.cta-section p{
  font-size:18px;
  margin-bottom:35px;
  opacity:0.95;
}

/* ========== HERO CAROUSEL SECTION ========== */
.hero-carousel-section{
  position:relative;
  height:600px;
  overflow:hidden;
  background:#000;
}

.carousel-container{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}

.carousel-wrapper{
  position:relative;
  width:100%;
  height:100%;
}

.carousel-slide{
  position:absolute;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 0.5s ease-in-out;
  display:flex;
  align-items:center;
  justify-content:center;
  background-size:cover;
  background-position:center;
}

.carousel-slide.active{
  opacity:1;
}

.carousel-content{
  text-align:center;
  color:white;
  z-index:10;
}

.carousel-content h2{
  font-size:48px;
  font-weight:800;
  margin-bottom:20px;
  text-shadow:0 4px 15px rgba(0,0,0,0.4);
}

.carousel-content p{
  font-size:20px;
  margin-bottom:30px;
  opacity:0.95;
  text-shadow:0 2px 8px rgba(0,0,0,0.3);
}

.carousel-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(255,255,255,0.2);
  color:white;
  border:none;
  width:50px;
  height:50px;
  font-size:24px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  transition:all 0.3s ease;
  z-index:20;
}

.carousel-nav:hover{
  background:rgba(255,255,255,0.4);
  transform:translateY(-50%) scale(1.1);
}

.carousel-nav.prev{left:30px;}
.carousel-nav.next{right:30px;}

.carousel-dots{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:12px;
  z-index:20;
}

.dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
  cursor:pointer;
  transition:all 0.3s ease;
}

.dot.active{
  background:white;
  width:32px;
  border-radius:6px;
}

/* ========== SERVICES GRID SECTION ========== */
.services-grid-section{
  padding:100px 20px;
  background:white;
}

.section-header{
  text-align:center;
  margin-bottom:60px;
}

.section-header h2{
  font-size:40px;
  font-weight:800;
  color:var(--dark);
  margin-bottom:15px;
}

.section-header p{
  font-size:18px;
  color:var(--text);
  max-width:500px;
  margin:0 auto;
}

.services-grid-main{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:30px;
  margin-bottom:80px;
}

.service-card{
  background:white;
  padding:35px;
  border-radius:16px;
  border:2px solid var(--border);
  transition:all 0.3s ease;
  display:flex;
  flex-direction:column;
  gap:15px;
}

.service-card:nth-child(1){}
.service-card:nth-child(2){}
.service-card:nth-child(3){}
.service-card:nth-child(4){}
.service-card:nth-child(5){}
.service-card:nth-child(6){}
.service-card:nth-child(7){}
.service-card:nth-child(8){}
.service-card:nth-child(9){}
.service-card:nth-child(10){}
.service-card:nth-child(11){}
.service-card:nth-child(12){}

.service-card:hover{
  transform:translateY(-10px);
  border-color:var(--primary);
  box-shadow:0 20px 50px rgba(220, 38, 38, 0.15);
}

.card-icon-box{
  font-size:56px;
  width:70px;
  height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
}

.gradient-red{
  background:linear-gradient(135deg, var(--primary) 0%, #be1e1e 100%);
}

.gradient-pink{
  background:linear-gradient(135deg, var(--secondary) 0%, #fb7185 100%);
}

.gradient-light{
  background:linear-gradient(135deg, #fecaca 0%, #fed7aa 100%);
}

.service-card h3{
  font-size:20px;
  font-weight:700;
  color:var(--dark);
  margin:0;
}

.service-card p{
  font-size:14px;
  color:var(--text);
  line-height:1.6;
  flex-grow:1;
  margin:0;
}

.card-link{
  color:var(--primary);
  text-decoration:none;
  font-weight:600;
  transition:all 0.3s ease;
  display:inline-block;
}

.card-link:hover{
  color:var(--secondary);
  transform:translateX(5px);
}

/* ========== FEATURED SERVICES CAROUSEL ========== */
.featured-services-section{
  padding:100px 20px;
  background:linear-gradient(135deg, var(--light) 0%, white 100%);
}

.featured-carousel{
  max-width:900px;
  margin:0 auto;
}

.featured-carousel-wrapper{
  position:relative;
  width:100%;
  min-height:500px;
}

.featured-slide{
  position:absolute;
  width:100%;
  opacity:0;
  transition:opacity 0.6s ease-in-out;
  left:0;
  top:0;
  min-height:500px;
}

.featured-slide.active{
  position:relative;
  opacity:1;
  min-height:auto;
}

.featured-card{
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 15px 40px rgba(220, 38, 38, 0.1);
  display:flex;
}

.featured-image{
  min-height:400px;
  width:50%;
  background-size:cover;
  background-position:center;
}

.featured-content{
  padding:50px 40px;
  width:50%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.featured-content h3{
  font-size:28px;
  font-weight:800;
  color:var(--dark);
  margin-bottom:15px;
}

.featured-content p{
  font-size:16px;
  color:var(--text);
  line-height:1.7;
  margin-bottom:25px;
}

.card-features{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:30px;
}

.card-features span{
  color:var(--primary);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:8px;
}

.btn-sm{
  padding:10px 20px;
  font-size:14px;
  width:auto;
  display:inline-block;
}

/* ========== HOMEPAGE HERO CAROUSEL ========== */
.hero-carousel-home{
  position:relative;
  height:700px;
  overflow:hidden;
  background:#000;
}

.home-carousel .carousel-wrapper{
  position:relative;
  width:100%;
  height:100%;
}

.home-carousel .carousel-slide{
  position:absolute;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 0.6s ease-in-out;
  display:flex;
  align-items:center;
  justify-content:center;
  background-size:cover;
  background-position:center;
}

.home-carousel .carousel-slide.active{
  opacity:1;
}

.carousel-container .hero-content{
  text-align:center;
  color:white;
  z-index:10;
  position:relative;
}

.carousel-container .hero-content .hero-badge{
  display:inline-block;
  background:rgba(255,255,255,0.2);
  color:white;
  padding:10px 20px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  margin-bottom:15px;
  backdrop-filter:blur(10px);
}

.carousel-container .hero-content .hero-title{
  font-size:56px;
  font-weight:800;
  margin-bottom:15px;
  text-shadow:0 4px 20px rgba(0,0,0,0.4);
  line-height:1.2;
}

.carousel-container .hero-content .hero-subtitle{
  font-size:20px;
  margin-bottom:35px;
  opacity:0.95;
  text-shadow:0 2px 10px rgba(0,0,0,0.3);
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}

/* ========== SERVICES CAROUSEL SECTION ========== */
.services-carousel-section{
  padding:100px 20px;
  background:white;
}

.services-carousel .carousel-wrapper{
  position:relative;
  width:100%;
  min-height:450px;
}

.services-carousel .carousel-slide{
  position:absolute;
  width:100%;
  opacity:0;
  transition:opacity 0.6s ease-in-out;
  padding:60px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-size:cover;
  background-position:center;
  min-height:450px;
}

.services-carousel .carousel-slide.active{
  position:relative;
  opacity:1;
}

.service-card-carousel{
  background:rgba(0,0,0,0.7);
  color:white;
  padding:50px 40px;
  border-radius:16px;
  max-width:500px;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.1);
  text-align:center;
}

.service-icon-large{
  font-size:72px;
  margin-bottom:20px;
  display:block;
}

.service-card-carousel h3{
  font-size:28px;
  margin-bottom:15px;
  font-weight:800;
}

.service-card-carousel p{
  font-size:16px;
  line-height:1.6;
  margin-bottom:30px;
  opacity:0.95;
}

.service-card-carousel .btn-sm{
  padding:12px 30px;
  font-size:14px;
}

/* ========== SERVICES GRID SECTION (Secondary) ========== */
.services-grid-section{
  padding:100px 20px;
  background:linear-gradient(135deg, var(--light) 0%, white 100%);
}

.services-grid-section .services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:30px;
}

/* ========== PORTFOLIO CAROUSEL SECTION ========== */
.portfolio-carousel-section{
  padding:100px 20px;
  background:white;
}

.portfolio-carousel .carousel-wrapper{
  position:relative;
  width:100%;
  min-height:550px;
}

.portfolio-slide{
  position:absolute;
  width:100%;
  opacity:0;
  transition:opacity 0.6s ease-in-out;
  left:0;
  top:0;
  min-height:550px;
}

.portfolio-slide.active{
  position:relative;
  opacity:1;
}

.portfolio-card{
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 15px 50px rgba(220, 38, 38, 0.1);
  display:grid;
  grid-template-columns:1fr 1fr;
}

.portfolio-image{
  height:100%;
  min-height:500px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.portfolio-content{
  padding:50px 40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:linear-gradient(135deg, white 0%, #fef2f2 100%);
}

.portfolio-content h3{
  font-size:32px;
  font-weight:800;
  color:var(--dark);
  margin-bottom:10px;
}

.portfolio-category{
  color:var(--primary);
  font-weight:600;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:15px;
}

.portfolio-content p{
  font-size:16px;
  color:var(--text);
  line-height:1.7;
  margin-bottom:25px;
}

.portfolio-stats{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-top:20px;
  border-top:2px solid var(--border);
}

.portfolio-stats span{
  color:var(--primary);
  font-weight:600;
  font-size:14px;
}

/* ========== TESTIMONIALS CAROUSEL SECTION ========== */
.testimonials-carousel-section{
  padding:100px 20px;
  background:linear-gradient(135deg, var(--light) 0%, white 100%);
}

.testimonials-carousel .carousel-wrapper{
  position:relative;
  width:100%;
  min-height:500px;
}

.testimonials-slide{
  position:absolute;
  width:100%;
  opacity:0;
  transition:opacity 0.6s ease-in-out;
  left:0;
  top:0;
  min-height:500px;
}

.testimonials-slide.active{
  position:relative;
  opacity:1;
}

.testimonial-card-large{
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(220, 38, 38, 0.12);
  display:grid;
  grid-template-columns:300px 1fr;
  gap:40px;
  padding:50px;
  align-items:center;
}

.testimonial-image{
  border-radius:16px;
  overflow:hidden;
  height:300px;
  flex-shrink:0;
}

.testimonial-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:var(--transition);
}

.testimonial-card-large:hover .testimonial-image img{
  transform:scale(1.05);
}

.testimonial-message{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.testimonial-message .stars{
  font-size:20px;
}

.testimonial-message p{
  font-size:16px;
  color:var(--text);
  line-height:1.8;
  font-style:italic;
  margin:15px 0;
}

.testimonial-message .testimonial-author{
  margin-top:15px;
  padding-top:15px;
  border-top:2px solid var(--border);
}

.testimonial-author h4{
  color:var(--dark);
  font-weight:700;
  font-size:16px;
  margin-bottom:5px;
}

.testimonial-author p{
  font-size:13px;
  color:var(--primary);
  font-weight:600;
  font-style:normal;
  margin:0;
}

/* ========== CAROUSEL NAVIGATION HOVER EFFECTS ========== */
.carousel-nav-large:hover,
.carousel-nav-portfolio:hover,
.carousel-nav-testimonials:hover{
  background:rgba(220, 38, 38, 0.8);
  transform:translateY(-50%) scale(1.2);
}

/* ========== ENHANCED HOVER ANIMATIONS ========== */
.service-card:hover .service-icon{
  color:var(--primary);
}

.service-card:hover{
  border-color:var(--primary);
}

.team-member:hover{
}

.team-member:hover .team-image-wrapper{
  transform:scale(1.1);
}

.team-overlay{
}

.trust-logo:hover{
}

.feature-item:hover{
  border-left-color:var(--secondary);
}

.feature-item:hover .feature-icon{
  transform:scale(1.2);
}

.testimonial-card:hover{
  transform:translateY(-8px);
  border-left-color:var(--secondary);
}

.process-step:hover{
}

.process-step:hover .step-number{
}

.comparison-cell:hover{
  background:rgba(220, 38, 38, 0.05);
}

/* Enhanced Highlights Section */
.highlights{
  background:linear-gradient(90deg, transparent 0%, rgba(220,38,38,0.05) 50%, transparent 100%);
}

.highlight-item{
  transition:all 0.4s ease;
}

.highlight-item:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 40px rgba(220, 38, 38, 0.15);
}

.highlight-number{
}

.highlight-item:hover .highlight-number{
  color:var(--primary);
}

/* Button Enhanced Effects */
.btn:hover{
  position:relative;
  overflow:hidden;
}

.btn::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
  transform:translate(-50%, -50%);
  transition:width 0.6s, height 0.6s;
}

.btn:hover::after{
  width:300px;
  height:300px;
}

/* ========== CARD STYLING ========== */
.service-card{
  /* No animation - static load for stability */
}

.feature-item{
  /* No animation - static load for stability */
}

.testimonial-card{
  /* No animation - static load for stability */
}

/* ========== SECTION ANIMATIONS ========== */
.section-title{
  position:relative;
  overflow:hidden;
  color:var(--dark);
  font-size:40px;
  font-weight:800;
  margin-bottom:15px;
}

.section-title::after{
  content:'';
  position:absolute;
  bottom:-3px;
  left:0;
  width:80px;
  height:4px;
  background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);
  border-radius:2px;
}

.section-subtitle{
  font-size:16px;
  color:var(--text);
  max-width:600px;
  margin:0 auto;
}

.carousel-dots .dot{
  cursor:pointer;
  transition:all 0.3s ease;
}

.carousel-dots .dot:hover{
  background:white;
  box-shadow:0 0 10px rgba(255,255,255,0.5);
}

/* ========== FOOTER ENHANCEMENT ========== */
.footer-content{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:50px;
  margin-bottom:40px;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  padding:0 20px;
}

.footer-section a{
  color:var(--secondary);
  text-decoration:none;
  transition:var(--transition);
  display:block;
  margin-bottom:8px;
}

.footer-section a:hover{
  color:white;
  text-decoration:underline;
}

/* ========== ADDITIONAL ANIMATIONS ========== */
@keyframes slideUp{
  from{
    opacity:0;
    transform:translateY(40px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fadeIn{
  from{opacity:0;}
  to{opacity:1;}
}

.carousel-slide.active .carousel-content{
}
footer{
  background:linear-gradient(135deg, var(--dark) 0%, #1e293b 100%);
  color:white;
  padding:70px 20px 30px;
  margin-top:80px;
}

.footer-content{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:50px;
  margin-bottom:40px;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}

.footer-section h4{
  font-size:16px;
  font-weight:700;
  margin-bottom:15px;
  color:white;
}

.footer-section p{
  font-size:14px;
  line-height:1.9;
  opacity:0.8;
}

.footer-section a{
  color:var(--secondary);
  transition:var(--transition);
}

.footer-section a:hover{
  color:white;
  text-decoration:underline;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:25px;
  text-align:center;
  font-size:13px;
  opacity:0.6;
  max-width:1200px;
  margin:0 auto;
}

/* ========== SERVICES DETAILED PAGE ========== */
.services-detailed{padding:80px 20px;}

.service-detail{
  margin-bottom:60px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.1);
}

.service-detail-header{
  padding:50px 40px;
  color:white;
  display:flex;
  align-items:center;
  gap:30px;
}

.service-detail-icon{
  font-size:72px;
  flex-shrink:0;
}

.service-detail-header h2{
  font-size:32px;
  font-weight:800;
}

.service-detail-full{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:stretch;
}

.service-detail-image{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
}

.service-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:var(--transition);
}

.service-detail detail:hover .service-detail-image img{
  transform:scale(1.05);
}

.service-detail-content{
  background:white;
  padding:45px;
}

.service-detail-content p{
  margin-bottom:20px;
  color:var(--text);
  line-height:1.8;
  font-size:15px;
}

.feature-list{
  list-style:none;
  margin-bottom:30px;
}

.feature-list li{
  padding:12px 0;
  color:var(--text);
  font-size:15px;
  display:flex;
  align-items:center;
  gap:12px;
}

.feature-list li:before{
  content:'\2713';
  color:var(--secondary);
  font-weight:bold;
  font-size:18px;
  flex-shrink:0;
}

/* ========== TESTIMONIALS SECTION ========== */
.testimonials-section{
  padding:100px 20px;
  background:linear-gradient(135deg, var(--light) 0%, white 100%);
}

.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:35px;
}

.testimonial-card{
  background:white;
  padding:35px;
  border-radius:16px;
  border:2px solid var(--border);
  box-shadow:0 5px 20px rgba(0,0,0,0.08);
  transition:var(--transition);
  animation:fadeInUp 0.6s ease-out both;
  position:relative;
}

.testimonial-card:nth-child(1){animation-delay:0.1s;}
.testimonial-card:nth-child(2){animation-delay:0.2s;}
.testimonial-card:nth-child(3){animation-delay:0.3s;}

.testimonial-card:hover{
  transform:translateY(-10px);
  border-color:var(--primary);
  box-shadow:0 15px 40px rgba(220, 38, 38, 0.2);
}

.testimonial-card .stars{
  font-size:18px;
  margin-bottom:15px;
}

.testimonial-card p{
  font-size:15px;
  color:var(--text);
  line-height:1.8;
  margin-bottom:20px;
  font-style:italic;
}

.testimonial-author{
  display:flex;
  align-items:center;
  gap:15px;
}

.testimonial-author img{
  width:50px;
  height:50px;
  border-radius:50%;
  object-fit:cover;
}

.testimonial-author h4{
  color:var(--dark);
  font-size:14px;
  font-weight:700;
  margin:0;
}

.testimonial-author p{
  font-size:12px;
  color:var(--primary);
  margin:5px 0 0 0;
  font-style:normal;
}

/* ========== FEATURES RICH SECTION ========== */
.features-rich-section{
  padding:100px 20px;
  background:white;
}

.features-list-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:35px;
}

.feature-item{
  background:linear-gradient(135deg, var(--light) 0%, #fff5f5 100%);
  padding:40px 30px;
  border-radius:16px;
  border-left:4px solid var(--primary);
  text-align:center;
  transition:var(--transition);
}

.feature-item:nth-child(1){}
.feature-item:nth-child(2){}
.feature-item:nth-child(3){}
.feature-item:nth-child(4){}
.feature-item:nth-child(5){}
.feature-item:nth-child(6){}

.feature-item:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 40px rgba(220, 38, 38, 0.15);
}

.feature-icon{
  font-size:56px;
  margin-bottom:15px;
}

.feature-item h3{
  font-size:18px;
  color:var(--dark);
  margin-bottom:12px;
  font-weight:700;
}

.feature-item p{
  color:var(--text);
  font-size:14px;
  line-height:1.6;
}

/* ========== PROCESS TIMELINE ========== */
.process-section{
  padding:100px 20px;
  background:linear-gradient(135deg, white 0%, var(--light) 100%);
}

.process-timeline{
  display:flex;
  align-items:center;
  gap:20px;
  overflow-x:auto;
  padding:40px 20px;
  flex-wrap:wrap;
  justify-content:center;
}

.process-step{
  background:white;
  padding:35px 25px;
  border-radius:16px;
  min-width:250px;
  text-align:center;
  border:2px solid var(--border);
  position:relative;
  transition:var(--transition);
  box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

.process-step:nth-child(1){}
.process-step:nth-child(3){}
.process-step:nth-child(5){}
.process-step:nth-child(7){}

.process-step:hover{
  transform:translateY(-8px);
  border-color:var(--primary);
  box-shadow:0 15px 40px rgba(220, 38, 38, 0.2);
}

.step-number{
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:20px;
  margin:0 auto 15px;
  box-shadow:0 5px 15px rgba(220, 38, 38, 0.3);
}

.process-step h3{
  font-size:18px;
  color:var(--dark);
  margin-bottom:10px;
  font-weight:700;
}

.process-step p{
  font-size:13px;
  color:var(--text);
  line-height:1.6;
}

.step-icon{
  font-size:36px;
  margin-top:15px;
}

.timeline-connector{
  width:40px;
  height:4px;
  background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);
  display:none;
}

@media(min-width:1024px){
  .timeline-connector{display:block;}
}

/* ========== TRUST SECTION ========== */
.trust-section{
  padding:80px 20px;
  background:white;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.trust-logos{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:30px;
}

.trust-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:120px;
  background:linear-gradient(135deg, var(--light) 0%, #fff5f5 100%);
  border-radius:12px;
  border:2px solid var(--border);
  transition:var(--transition);
}

.trust-logo:hover{
  border-color:var(--primary);
  box-shadow:0 10px 30px rgba(220, 38, 38, 0.15);
  transform:translateY(-5px);
}

.logo-placeholder{
  font-weight:700;
  color:var(--primary);
  font-size:14px;
  text-align:center;
}

/* ========== COMPARISON SECTION ========== */
.comparison-section{
  padding:100px 20px;
  background:linear-gradient(135deg, var(--light) 0%, white 100%);
}

.comparison-table{
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.1);
}

.comparison-row{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-bottom:1px solid var(--border);
}

.comparison-row:last-child{
  border-bottom:none;
}

.comparison-row.header-row{
  background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  color:white;
}

.comparison-cell{
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:500;
}

.comparison-row:nth-child(even) .comparison-cell:first-child{
  background:var(--light);
}

.comparison-row .comparison-cell:nth-child(2){
  color:var(--primary);
  font-weight:700;
}

/* ========== BENEFITS SECTION ========== */
.benefits-section{
  padding:100px 20px;
  background:white;
}

.benefits-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.benefits-image{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
}

.benefits-image img{
  width:100%;
  height:auto;
  transition:var(--transition);
}

.benefits-image:hover img{
  transform:scale(1.05);
}

.benefits-content{
}

.benefits-content h2{
  font-size:36px;
  font-weight:800;
  color:var(--dark);
  margin-bottom:30px;
  line-height:1.3;
}

.benefits-list{
  list-style:none;
}

.benefits-list li{
  padding:12px 0;
  color:var(--text);
  font-size:15px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--border);
}

.benefits-list li:last-child{
  border-bottom:none;
}

.benefits-list .check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  color:white;
  font-weight:bold;
  font-size:16px;
  flex-shrink:0;
}

@media(max-width:768px){
  .benefits-wrapper{grid-template-columns:1fr;}
  .comparison-row{grid-template-columns:1fr;}
  .process-timeline{gap:10px;}
  .trust-logos{grid-template-columns:repeat(2, 1fr);}

  .header-top{
    flex-direction:column;
    gap:15px;
    padding:12px 20px;
  }

  .phone-info{gap:6px;font-size:14px;}

  nav{flex-wrap:wrap;border-top:none;}

  nav ul{
    display:none;
    flex-direction:column;
    width:100%;
    background:#f9fafb;
  }

  nav ul.show{display:flex;}

  nav ul li a{
    padding:12px 20px;
    border-bottom:1px solid var(--border);
  }

  .hamburger{display:block;}

  .hero-title{font-size:36px;}
  .hero-subtitle{font-size:16px;}
  .hero-buttons{flex-direction:column;gap:15px;}
  .btn{width:100%;}

  .highlights .container{grid-template-columns:repeat(2, 1fr);gap:25px;}

  .service-detail-header{
    flex-direction:column;
    align-items:center;
    padding:30px 20px;
    text-align:center;
  }

  .service-detail-content{padding:25px;}
  
  .service-detail-full{grid-template-columns:1fr;gap:30px;}

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

  .section-title{font-size:32px;}

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

  .stats-wrapper{grid-template-columns:1fr;gap:40px;}

  .about-hero{grid-template-columns:1fr;gap:40px;}

  .contact-form-section{padding:30px 20px;}

  .cta-section h2{font-size:28px;}
  .cta-section p{font-size:16px;}

  .footer-content{gap:30px;}

  .page-header{padding:60px 20px;}
  .page-header h1{font-size:32px;}

  /* Responsive Carousels */
  .carousel-container{padding:20px 0;}
  
  /* Hero Carousel */
  .hero-carousel-home{height:500px;}
  .carousel-container .hero-content .hero-title{font-size:36px;}
  .carousel-container .hero-content .hero-subtitle{font-size:16px;}
  .carousel-container .hero-content .hero-buttons{flex-direction:column;gap:12px;}
  
  .hero-carousel-section .carousel-content h2{font-size:28px;}
  .hero-carousel-section .carousel-content p{font-size:14px;}
  
  /* Services Carousel */
  .services-carousel .carousel-slide{
    padding:30px;
    min-height:auto;
  }
  
  .service-card-carousel{
    padding:30px 20px;
    max-width:100%;
  }
  
  .service-icon-large{font-size:48px;}
  .service-card-carousel h3{font-size:22px;}
  .service-card-carousel p{font-size:14px;}
  
  /* Services Grid */
  .services-grid-main{grid-template-columns:1fr;}
  .services-grid-section .services-grid{grid-template-columns:1fr;}
  .service-card{padding:25px 20px;}
  .card-icon-box{font-size:40px;}
  
  /* Portfolio Carousel */
  .portfolio-card{
    grid-template-columns:1fr;
  }
  
  .portfolio-image{
    min-height:300px;
  }
  
  .portfolio-content{
    padding:30px 20px;
  }
  
  .portfolio-content h3{font-size:22px;}
  .portfolio-content p{font-size:14px;}
  
  /* Testimonials Carousel */
  .testimonial-card-large{
    grid-template-columns:1fr;
    gap:20px;
    padding:30px 20px;
  }
  
  .testimonial-image{
    height:250px;
  }
  
  .testimonial-message p{font-size:14px;}
  
  .featured-carousel .featured-card{flex-direction:column;}
  .featured-image{min-height:250px;width:100%;}
  .featured-content{padding:30px 20px;width:100%;}
  
  .carousel-nav{width:35px;height:35px;font-size:16px;}
  .carousel-nav-large{width:40px;height:40px;}
  
  .featured-content h3{font-size:22px;}
  .featured-content p{font-size:14px;}
}


.header-top {
  position: relative;
  text-align: center;
}

.logo {
  width: 275px;
  max-width: 50vw;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.logo:hover {
  transform: scale(1.1);
}

.phone-info {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 16px;
}

.phone-info a {
  text-decoration: none;
  color: inherit;
}

/* === MOBILE HEADER FIX === */
@media (max-width: 768px) {
    .header-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .phone-info {
        margin-top: 10px !important;
        text-align: center !important;
    }
}

@media (max-width: 768px) {
    .header-top {
        position: relative;  /* potrzebne, żeby absolut w środku był względny */
        flex-direction: column !important;
        align-items: center;
        gap: 10px;
    }

    .phone-info {
        position: static !important; /* wyłącz absolut */
        margin-top: 5px;
        text-align: center;
    }

    .logo {
        margin: 0 auto;
    }
}


/* === CHEESBURGER ICON === */
/* Domyślnie ukrywamy cheesburgera na dużych ekranach */
.cheesburger {
    display: inline-block; /* teraz widoczny na komputerze i telefonie */
    cursor: pointer;
    width: 30px;
    height: 22px;
    position: relative;
    z-index: 1100;
}
.cheesburger span {
    display: block;
    height: 4px;
    width: 100%;
    background: #000; /* czarne paski */
    margin: 4px 0;    /* pod sobą */
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* animacja burgera w X */
.cheesburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.cheesburger.active span:nth-child(2) {
    opacity: 0;
}
.cheesburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Cheesburger menu pod headerem */
#cheesburger-menu {
    position: absolute;
    top: 150px;  
    left: 50%;
    transform: translateX(-50%) scale(0);
    background-color: #f8f8f8;
    border-radius: 10px;
    padding: 20px 40px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    z-index: 699;
    text-align: center;
}

#cheesburger-menu.show {
    transform: translateX(-50%) scale(1);
    opacity: 1;
}

#cheesburger-menu ul li a {
    text-decoration: none;
    color: red; /* literki czerwone */
    font-size: 18px;
    font-weight: bold;
    transition: color 0.2s;
}
#cheesburger-menu ul li a:hover {
    color: #007BFF;
}

/* === MOBILE === */
@media (max-width: 768px) {
    .header-top {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .phone-info {
        text-align: center;
    }

    /* Pokazujemy cheesburgera tylko na mobile */
    .cheesburger {
        display: inline-block;
    }
}




/* ====== GŁÓWNA NAWIGACJA ====== */

.mod-menu {
    background: #111827;
    padding: 0 40px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.3);
}

.mod-menu > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    gap: 40px;
    margin: 0;
    padding: 0;
}

.mod-menu > ul > li {
    position: relative;
}

.mod-menu a {
    display: block;
    padding: 20px 0;
    text-decoration: none;
    color: #e2e8f0;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.5px;
    transition: 0.3s ease;
}

/* hover */
.mod-menu a:hover {
    color: #38bdf8;
}

/* aktywna strona */
.mod-menu .current > a {
    color: #38bdf8;
    position: relative;
}

.mod-menu .current > a::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #38bdf8;
}

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

.mod-menu .nav-child {
    position: absolute;
    top: 100%;
    left: 0;
    background: #1e293b;
    list-style: none;
    min-width: 220px;
    padding: 10px 0;
    border-radius: 6px;
    display: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.4);
}

.mod-menu .nav-child li a {
    padding: 12px 20px;
}

.mod-menu li:hover > .nav-child {
    display: block;
}

.mod-menu .nav-child a:hover {
    background: #334155;
    color: #38bdf8;
}

/* ====== RESPONSYWNOŚĆ ====== */

@media (max-width: 900px) {
    .mod-menu > ul {
        flex-direction: column;
        gap: 0;
    }

    .mod-menu a {
        padding: 15px 0;
    }

    .mod-menu .nav-child {
        position: static;
        box-shadow: none;
    }
}