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

body{
font-family:Inter,sans-serif;
background:#fff;
color:#111;
transition:background 0.3s,color 0.3s;
position:relative;
}

/* Dark Theme */
[data-theme="dark"] body{
background:#111;
color:#fff;
}

/* Side Images */
.side-image{
position:fixed;
top:0;
bottom:0;
width:70vw;
z-index:-1;
pointer-events:none;
}

.side-image-left{
left:-35vw;
}

.side-image-right{
right:-35vw;
}

.side-image img{
width:100%;
height:100%;
object-fit:contain;
opacity:0.6;
}

@media(max-width:1200px){
.side-image{
width:80vw;
}

.side-image-left{
left:-40vw;
}

.side-image-right{
right:-40vw;
}

.container{
padding:0 120px 0 120px;
}
}

@media(max-width:768px){
.side-image{
display:none;
}

.container{
padding:0 15px !important;
max-width:100% !important;
width:100% !important;
}

html,
body{
margin:0 !important;
padding:0 !important;
overflow-x:hidden;
width:100%;
}

*{
box-sizing:border-box;
}

.header .container{
padding:0 15px !important;
}

.hero{
padding:100px 0 50px;
width:100%;
margin:0;
max-width:100%;
}

.services,
.advantages,
.steps,
.clients,
.methods,
.equipment,
.gallery,
.form,
.cta,
.video-section,
.offer,
.reviews,
.calculator,
.faq,
.cta-form{
padding:60px 0 !important;
background:transparent !important;
}

.video-section,
.offer,
.reviews,
.cta-form{
background:transparent !important;
}

.services .container,
.clients .container,
.methods .container,
.offer .container,
.reviews .container,
.steps .container,
.equipment .container,
.gallery .container,
.video-section .container,
.calculator .container,
.faq .container{
padding:0 15px !important;
}

.hero-content{
padding:0 15px;
}

.hero-form-card{
margin:20px auto 0;
max-width:calc(100% - 30px);
}

.hero-inner{
gap:20px !important;
}

.services-grid,
.clients-grid,
.methods-grid,
.offer-grid,
.reviews-grid,
.steps-grid{
padding:0 15px;
gap:10px;
}

.carousel-container{
padding:0 15px !important;
}

.equipment-carousel,
.gallery-carousel{
padding:0 15px;
}

.carousel-btn{
display:none;
}

.carousel-track{
overflow-x:auto;
scroll-snap-type:x mandatory;
justify-content:flex-start;
}

.carousel-track .card,
.equipment-card,
.gallery-track img{
position:relative;
left:auto;
margin-left:0;
transform:none;
opacity:1;
pointer-events:auto;
flex:0 0 auto;
scroll-snap-align:center;
}

.gallery-track img{
position:relative;
}

.service-card,
.client-card,
.method-card,
.offer-item,
.review-card,
.step-card{
border-radius:12px !important;
box-shadow:0 4px 12px rgba(0,0,0,0.08) !important;
background:#fff !important;
}

.service-card h3{
padding:20px 20px 15px !important;
}

.service-card p{
padding:0 20px 20px !important;
}

.service-list{
padding:0 20px 20px !important;
}

.service-card img,
.method-card img{
border-radius:12px 12px 0 0 !important;
}

.hero-form-card{
border-radius:16px !important;
box-shadow:0 8px 24px rgba(0,0,0,0.15) !important;
background:rgba(17,17,17,.55) !important;
}

.calculator-form{
border-radius:16px !important;
box-shadow:0 8px 24px rgba(0,0,0,0.08) !important;
background:#f9f9f9 !important;
}

.cta-form .container{
padding:0 15px !important;
}

.cta-form form{
padding:0 15px;
}
}

[data-theme="dark"] .header{
background:rgba(17,17,17,.95);
}

[data-theme="dark"] .logo{
color:#fff;
}

[data-theme="dark"] .phone-header{
color:#fff;
border-color:#FFD600;
}

[data-theme="dark"] .phone-header:hover{
background:#FFD600;
color:#111;
}

[data-theme="dark"] .hero{
background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.7)),url("img/main.jpeg") center/cover;
}

[data-theme="dark"] .card{
background:#1a1a1a;
}

[data-theme="dark"] .card p{
color:#999;
}

[data-theme="dark"] .steps-grid div{
background:#1a1a1a;
color:#fff;
}

[data-theme="dark"] .offer{
background:rgba(17,17,17,0.85);
}

[data-theme="dark"] .offer-item{
background:#1a1a1a;
}

[data-theme="dark"] .offer-item p{
color:#999;
}

[data-theme="dark"] .review-card{
background:#1a1a1a;
}

[data-theme="dark"] .review-card p{
color:#999;
}

[data-theme="dark"] .author{
color:#fff;
}

[data-theme="dark"] .faq-item{
background:#1a1a1a;
border-color:#333;
}

[data-theme="dark"] .faq-question{
background:#1a1a1a;
}

[data-theme="dark"] .faq-question:hover{
background:#252525;
}

[data-theme="dark"] .faq-question h3{
color:#fff;
}

[data-theme="dark"] .faq-answer p{
color:#999;
}

[data-theme="dark"] .timeline-content{
background:#1a1a1a;
}

[data-theme="dark"] .timeline-content::before{
border-right-color:#1a1a1a;
}

[data-theme="dark"] .timeline-content h3{
color:#fff;
}

[data-theme="dark"] .timeline-content p{
color:#999;
}

[data-theme="dark"] .video-section{
background:rgba(26,26,26,0.85);
}

[data-theme="dark"] .video-section p{
color:#999;
}

[data-theme="dark"] .reviews{
background:rgba(26,26,26,0.85);
}

[data-theme="dark"] .faq{
background:#111;
}

[data-theme="dark"] input,
[data-theme="dark"] textarea{
background:#1a1a1a;
border-color:#333;
color:#fff;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder{
color:#666;
}

[data-theme="dark"] h2{
color:#fff;
}

[data-theme="dark"] .stats span{
color:#FFD600;
}

[data-theme="dark"] .stats p{
color:#999;
}

[data-theme="dark"] .timeline::before{
background:#333;
}

[data-theme="dark"] .step-number{
color:#FFD600;
}

/* Theme Toggle Button */
.theme-toggle{
width:44px;
height:44px;
border:2px solid #e0e0e0;
border-radius:50%;
background:transparent;
color:#111;
font-size:18px;
cursor:pointer;
transition:all 0.3s;
display:flex;
align-items:center;
justify-content:center;
}

.theme-toggle:hover{
border-color:#FFD600;
color:#FFD600;
}

[data-theme="dark"] .theme-toggle{
border-color:#333;
color:#fff;
}

[data-theme="dark"] .theme-toggle:hover{
border-color:#FFD600;
color:#FFD600;
}

.container{
width:100%;
max-width:100%;
margin:auto;
padding:0 120px 0 120px;
box-sizing:border-box;
position:relative;
z-index:1;
}

.header{
position:fixed;
width:100%;
background:rgba(255,255,255,.95);
backdrop-filter:blur(12px);
padding:20px 0;
z-index:100;
}

.header .container{
display:flex;
justify-content:space-between;
align-items:center;
gap:15px;
flex-wrap:wrap;
row-gap:12px;
}

.main-nav{
display:flex;
align-items:center;
gap:28px;
}

.main-nav a{
color:#111;
text-decoration:none;
font-weight:600;
font-size:15px;
white-space:nowrap;
transition:color 0.3s;
}

.main-nav a:hover{
color:#FFD600;
}

[data-theme="dark"] .main-nav a{
color:#fff;
}

[data-theme="dark"] .main-nav a:hover{
color:#FFD600;
}

.header-actions{
display:flex;
align-items:center;
gap:15px;
}

.header-cta{
padding:12px 22px;
font-size:14px;
white-space:nowrap;
}

@media(max-width:1100px){
.main-nav{
display:none;
}
}

@media(max-width:600px){
.phone-header span{
display:none;
}

.phone-header{
padding:10px 14px;
}

.header-cta{
padding:10px 16px;
font-size:13px;
}
}

.logo{
display:flex;
align-items:center;
}

.logo-img{
height:50px;
width:auto;
display:block;
}

.logo-light{
display:block;
}

.logo-dark{
display:none;
}

[data-theme="dark"] .logo-light{
display:none;
}

[data-theme="dark"] .logo-dark{
display:block;
}

.phone{
text-decoration:none;
color:#111;
font-weight:600;
}

.email{
text-decoration:none;
color:#111;
font-weight:600;
display:flex;
align-items:center;
gap:8px;
}

.phone-header{
text-decoration:none;
color:#111;
font-weight:600;
display:flex;
align-items:center;
gap:8px;
padding:12px 24px;
border:2px solid #FFD600;
border-radius:50px;
transition:all 0.3s;
background:linear-gradient(145deg,#FFD600,#FFA500);
box-shadow:0 6px 20px rgba(255,214,0,0.4),
0 3px 6px rgba(0,0,0,0.1),
inset 0 1px 0 rgba(255,255,255,0.3);
position:relative;
transform-style:preserve-3d;
}

.phone-header::before{
content:'';
position:absolute;
inset:0;
border-radius:50px;
background:linear-gradient(145deg,rgba(255,255,255,0.2),transparent);
pointer-events:none;
}

.phone-header:hover{
transform:translateY(-2px) scale(1.02);
box-shadow:0 8px 25px rgba(255,214,0,0.5),
0 4px 8px rgba(0,0,0,0.15),
inset 0 1px 0 rgba(255,255,255,0.4);
background:linear-gradient(145deg,#FFE033,#FFB833);
}

.hero{
min-height:100vh;
background:url("img/main.jpeg") center/cover;
position:relative;
padding:140px 0 60px;
width:100%;
}

.overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

.hero-inner{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:center;
gap:60px;
flex-wrap:wrap;
}

.hero-content{
color:white;
max-width:800px;
flex:1 1 420px;
text-align:center;
margin:0 auto;
}

.hero h1{
font-size:clamp(38px,5.5vw,64px);
line-height:1.2;
margin-bottom:30px;
}

.hero p{
font-size:clamp(16px,2.8vw,22px);
line-height:1.6;
}

.hero-form-card{
flex:0 1 400px;
width:100%;
max-width:400px;
background:rgba(17,17,17,.55);
backdrop-filter:blur(12px);
border:1px solid rgba(255,214,0,.35);
border-radius:24px;
padding:clamp(24px,4vw,40px);
color:white;
}

.hero-form-card h3{
font-size:clamp(20px,3vw,26px);
font-weight:800;
margin-bottom:24px;
text-transform:uppercase;
}

.hero-form{
display:flex;
flex-direction:column;
gap:16px;
}

.hero-form input{
padding:16px 18px;
border-radius:14px;
border:1px solid rgba(255,255,255,.3);
background:rgba(255,255,255,.08);
color:white;
font-size:15px;
}

.hero-form input::placeholder{
color:rgba(255,255,255,.6);
}

.file-upload{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
padding:14px 18px;
border:2px solid #FFD600;
border-radius:14px;
color:white;
font-weight:600;
font-size:14px;
cursor:pointer;
transition:all 0.3s;
}

.file-upload:hover{
background:#FFD600;
color:#111;
}

.hero-form button{
border-radius:14px;
width:100%;
text-align:center;
}

.form-note{
font-size:12px;
line-height:1.5;
color:rgba(255,255,255,.6);
text-align:center;
}

.form-note a{
color:#FFD600;
text-decoration:underline;
}

@media(max-width:768px){
.hero{
padding:120px 0 50px;
}

.hero .container{
padding:0 15px !important;
}

.hero-inner{
flex-direction:column;
text-align:center;
width:100%;
justify-content:center !important;
}

.hero-content{
max-width:100%;
width:100%;
flex:0 0 auto;
padding:0;
margin:0;
}

.hero-form-card{
width:100%;
margin:0 auto;
}
}

.btn{
padding:16px 28px;
border-radius:999px;
text-decoration:none;
font-weight:700;
font-size:clamp(14px,2vw,16px);
}

.btn-yellow{
background:#FFD600;
color:#111;
}

.btn-dark{
background:#111;
color:white;
}

.btn-bordered{
border:2px solid #FFD600;
}

.btn-bordered:hover{
background:#FFD600;
color:#111;
}

.services,
.advantages,
.steps,
.clients,
.methods,
.equipment,
.gallery,
.form,
.cta{
padding:clamp(60px,10vw,100px) 0;
}

h2{
font-size:clamp(32px,5vw,52px);
text-align:center;
margin-bottom:50px;
}

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

/* Services Grid */
.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.service-card{
background:white;
border-radius:24px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
opacity:0;
transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1);
}

.service-card.slide-left{
transform:translateX(-80px);
}

.service-card.slide-right{
transform:translateX(80px);
}

.service-card.slide-up{
transform:translateY(60px);
}

.service-card.animate{
opacity:1;
transform:translate(0,0);
}

.service-card:nth-child(2){transition-delay:0.1s;}
.service-card:nth-child(3){transition-delay:0.2s;}
.service-card:nth-child(4){transition-delay:0.3s;}
.service-card:nth-child(5){transition-delay:0.4s;}
.service-card:nth-child(6){transition-delay:0.5s;}

.service-card img{
width:100%;
height:clamp(180px,25vw,240px);
object-fit:cover;
}

.service-icon{
width:100%;
height:clamp(180px,25vw,240px);
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#FFD600,#FFA500);
}

.service-icon i{
font-size:clamp(48px,7vw,72px);
color:#111;
}

.service-card h3{
padding:25px 25px 15px;
}

.service-card p{
padding:0 25px 25px;
color:#666;
font-size:14px;
line-height:1.5;
}

.service-list{
list-style:none;
padding:0 25px 25px;
margin:0;
}

.service-list li{
padding:8px 0;
padding-left:20px;
position:relative;
font-size:13px;
color:#666;
line-height:1.4;
border-bottom:1px solid #f0f0f0;
}

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

.service-list li::before{
content:'✓';
position:absolute;
left:0;
color:#FFD600;
font-weight:bold;
font-size:14px;
}

.service-toggle{
width:calc(100% - 50px);
padding:12px;
margin:0 25px 25px;
background:transparent;
border:2px solid #FFD600;
border-radius:12px;
color:#111;
font-weight:600;
font-size:14px;
cursor:pointer;
transition:all 0.3s;
}

.service-toggle:hover{
background:#FFD600;
}

.service-item:nth-child(n+4){
display:none;
}

.service-card.expanded .service-item:nth-child(n+4){
display:block;
}

.service-card.expanded .service-toggle{
background:#FFD600;
}

[data-theme="dark"] .service-list li{
color:#999;
border-color:#333;
}

[data-theme="dark"] .service-list li::before{
color:#FFD600;
}

[data-theme="dark"] .service-card{
background:#1a1a1a;
}

[data-theme="dark"] .service-card h3{
color:#fff;
}

[data-theme="dark"] .service-card p{
color:#999;
}

@media(max-width:900px){
.services-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:600px){
.services-grid{
grid-template-columns:1fr;
}
}

@media(max-width:768px){
.service-card.slide-left,
.service-card.slide-right,
.service-card.slide-up{
transform:translateY(30px);
}
}

/* Carousel Styles */
.carousel-container{
position:relative;
overflow:hidden;
padding:40px 20px;
}

.carousel-track{
display:flex;
gap:20px;
transition:transform 0.5s ease-out;
scroll-behavior:smooth;
align-items:center;
justify-content:center;
}

.carousel-track .card{
flex:0 0 auto;
width:clamp(300px,60vw,800px);
transition:all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
opacity:0;
transform:scale(0.85);
position:absolute;
pointer-events:none;
background:white;
border-radius:24px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
left:50%;
margin-left:calc(clamp(300px,60vw,800px) / -2);
}

.carousel-track .card.active{
opacity:1;
transform:scale(1);
position:relative;
pointer-events:auto;
left:auto;
margin-left:0;
}

.carousel-track .card img{
width:100%;
height:clamp(225px,45vw,600px);
object-fit:cover;
}

.carousel-track .card h3{
padding:20px 20px 10px;
font-size:18px;
color:#111;
}

.carousel-track .card p{
padding:0 20px 20px;
color:#666;
font-size:14px;
line-height:1.5;
}

[data-theme="dark"] .carousel-track .card{
background:#1a1a1a;
}

[data-theme="dark"] .carousel-track .card h3{
color:#fff;
}

[data-theme="dark"] .carousel-track .card p{
color:#999;
}

.gallery-track{
gap:20px;
min-height:60vh;
}

.gallery-track img{
flex:0 0 auto;
width:clamp(300px,60vw,800px);
height:clamp(225px,45vw,600px);
object-fit:cover;
border-radius:20px;
transition:all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
opacity:0;
transform:scale(0.8);
position:absolute;
pointer-events:none;
}

.gallery-track img.active{
opacity:1;
transform:scale(1);
position:relative;
pointer-events:auto;
}

.carousel-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
width:50px;
height:50px;
border-radius:50%;
background:#FFD600;
border:none;
color:#111;
font-size:20px;
cursor:pointer;
z-index:10;
transition:all 0.3s;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 4px 15px rgba(0,0,0,0.2);
}

.carousel-btn:hover{
background:#111;
color:#FFD600;
transform:translateY(-50%) scale(1.1);
}

.carousel-prev{
left:10px;
}

.carousel-next{
right:10px;
}

[data-theme="dark"] .carousel-btn{
background:#FFD600;
color:#111;
}

[data-theme="dark"] .carousel-btn:hover{
background:#fff;
color:#111;
}

@media(max-width:768px){
.carousel-track .card{
width:280px;
}

.gallery-track img{
width:280px;
height:200px;
}

.carousel-btn{
width:40px;
height:40px;
font-size:16px;
}
}

.card{
background:white;
border-radius:24px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.card img{
width:100%;
height:clamp(180px,25vw,240px);
object-fit:cover;
}

.card h3{
padding:20px 20px 10px;
}

.card p{
padding:0 20px 20px;
color:#666;
font-size:14px;
}

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

.stats span{
font-size:clamp(36px,6vw,64px);
font-weight:800;
color:#FFD600;
}

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

.step-card{
background:#fff;
padding:25px 20px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
text-align:center;
position:relative;
overflow:hidden;
opacity:0;
transform:translateY(40px) scale(0.95);
transition:all 0.6s cubic-bezier(0.4,0,0.2,1);
}

.step-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#FFD600,#FFA500);
transform:scaleX(0);
transition:transform 0.4s ease-out;
}

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

.step-card:hover{
transform:translateY(-10px) scale(1.02);
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

.step-card.animate{
opacity:1;
transform:translateY(0) scale(1);
}

.step-icon{
width:55px;
height:55px;
background:linear-gradient(135deg,#FFD600,#FFA500);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 15px;
font-size:22px;
color:#111;
}

.step-number{
font-size:32px;
font-weight:800;
color:#FFD600;
line-height:1;
margin-bottom:10px;
opacity:0.3;
}

.step-card h3{
font-size:18px;
margin-bottom:10px;
color:#111;
}

.step-card p{
color:#666;
font-size:14px;
line-height:1.5;
}

[data-theme="dark"] .step-card{
background:#1a1a1a;
}

[data-theme="dark"] .step-card h3{
color:#fff;
}

[data-theme="dark"] .step-card p{
color:#999;
}

/* Timeline Styles */
.timeline{
max-width:900px;
margin:auto;
position:relative;
padding:40px 0;
}

.timeline::before{
content:'';
position:absolute;
left:50px;
top:0;
bottom:0;
width:4px;
background:#e0e0e0;
border-radius:2px;
}

.timeline-item{
display:flex;
align-items:flex-start;
gap:30px;
margin-bottom:60px;
position:relative;
opacity:0;
transform:translateY(40px);
transition:all 0.6s ease-out;
}

.timeline-item.animate{
opacity:1;
transform:translateY(0);
}

.timeline-item:last-child{
margin-bottom:0;
}

.timeline-marker{
width:24px;
height:24px;
background:#FFD600;
border:4px solid #fff;
border-radius:50%;
position:absolute;
left:40px;
top:10px;
z-index:2;
box-shadow:0 0 0 4px #FFD600;
transition:all 0.3s ease-out;
}

.timeline-item.animate .timeline-marker{
box-shadow:0 0 0 8px rgba(255,214,0,0.3);
}

.timeline-content{
flex:1;
margin-left:60px;
background:#fff;
padding:35px;
border-radius:20px;
box-shadow:0 10px 40px rgba(0,0,0,0.08);
position:relative;
transition:all 0.3s ease-out;
}

.timeline-content:hover{
transform:translateX(10px);
box-shadow:0 15px 50px rgba(0,0,0,0.12);
}

.timeline-content::before{
content:'';
position:absolute;
left:-10px;
top:25px;
width:0;
height:0;
border-top:10px solid transparent;
border-bottom:10px solid transparent;
border-right:10px solid #fff;
}

.timeline-content h3{
font-size:24px;
margin-bottom:12px;
color:#111;
}

.timeline-content p{
color:#666;
font-size:16px;
line-height:1.7;
}

@media(max-width:768px){
.timeline::before{
left:20px;
}

.timeline-marker{
left:10px;
}

.timeline-content{
margin-left:40px;
padding:25px;
}

.timeline-content::before{
left:-8px;
}

.timeline-content h3{
font-size:20px;
}
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
width:90%;
margin:auto;
}

@media(max-width:768px){
.gallery-grid{
grid-template-columns:1fr;
width:100%;
gap:15px;
}
}

@media(min-width:1920px){
.gallery-grid{
grid-template-columns:repeat(6,1fr);
max-width:1800px;
}
}

/* Clients Section */
.clients-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.client-card{
background:#fff;
padding:40px 30px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:all 0.3s ease-out;
}

.client-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.12);
}

.client-card i{
font-size:48px;
color:#FFD600;
margin-bottom:20px;
}

.client-card h3{
font-size:20px;
margin-bottom:15px;
color:#111;
}

.client-card p{
color:#666;
font-size:15px;
line-height:1.6;
}

[data-theme="dark"] .client-card{
background:#1a1a1a;
}

[data-theme="dark"] .client-card h3{
color:#fff;
}

[data-theme="dark"] .client-card p{
color:#999;
}

/* Methods Section */
.methods-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.method-card{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:all 0.3s ease-out;
position:relative;
overflow:hidden;
}

.method-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#FFD600,#FFA500);
transform:scaleX(0);
transition:transform 0.3s ease-out;
}

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

.method-card:hover{
transform:translateY(-5px);
box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

.method-card img{
width:100%;
height:200px;
object-fit:cover;
border-radius:12px;
margin-bottom:20px;
}

.method-card h3{
font-size:22px;
margin-bottom:15px;
color:#111;
}

.method-card p{
color:#666;
font-size:15px;
line-height:1.6;
}

[data-theme="dark"] .method-card{
background:#1a1a1a;
}

[data-theme="dark"] .method-card h3{
color:#fff;
}

[data-theme="dark"] .method-card p{
color:#999;
}

/* Equipment Section */
.equipment-track{
gap:20px;
min-height:50vh;
}

.equipment-card{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
opacity:0;
transform:scale(0.85);
position:absolute;
pointer-events:none;
flex:0 0 auto;
width:clamp(300px,60vw,800px);
left:50%;
margin-left:calc(clamp(300px,60vw,800px) / -2);
}

.equipment-card.active{
opacity:1;
transform:scale(1);
position:relative;
pointer-events:auto;
left:auto;
margin-left:0;
}

.equipment-card img{
width:100%;
height:clamp(225px,45vw,600px);
object-fit:cover;
}

.equipment-card h3{
padding:20px 20px 10px;
font-size:20px;
color:#111;
}

.equipment-card p{
padding:0 20px 20px;
color:#666;
font-size:15px;
line-height:1.6;
}

[data-theme="dark"] .equipment-card{
background:#1a1a1a;
}

[data-theme="dark"] .equipment-card h3{
color:#fff;
}

[data-theme="dark"] .equipment-card p{
color:#999;
}

.gallery-grid img{
width:100%;
height:clamp(250px,35vw,400px);
object-fit:cover;
border-radius:20px;
}

.cta-form{
background:rgba(245,245,245,0.85);
color:#111;
text-align:center;
padding:clamp(60px,10vw,100px) 0;
}

[data-theme="dark"] .cta-form{
background:rgba(17,17,17,0.85);
color:white;
}

.cta-btn{
display:inline-flex;
align-items:center;
gap:10px;
margin-top:30px;
}

.cta-btn:hover{
transform:scale(1.05);
transition:transform 0.3s;
}

.form-separator{
font-size:18px;
color:#666;
margin:40px 0 30px;
font-weight:500;
}

[data-theme="dark"] .form-separator{
color:#999;
}

.cta-form form{
max-width:600px;
margin:0 auto;
}

form{
max-width:700px;
margin:auto;
display:flex;
flex-direction:column;
gap:20px;
}

input,
textarea{
padding:18px;
border:1px solid #ddd;
border-radius:16px;
font-size:16px;
}

button{
padding:18px;
background:#FFD600;
border:none;
border-radius:16px;
font-weight:700;
cursor:pointer;
}

footer{
background:#111;
color:white;
padding:60px 20px 30px;
}

.footer-content{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
margin-bottom:40px;
}

.footer-section h3{
margin-bottom:20px;
color:#FFD600;
}

.footer-section p{
margin-bottom:10px;
opacity:0.8;
}

.footer-services{
max-height:400px;
overflow-y:auto;
padding-right:10px;
}

.footer-services::-webkit-scrollbar{
width:6px;
}

.footer-services::-webkit-scrollbar-track{
background:rgba(255,255,255,0.1);
border-radius:3px;
}

.footer-services::-webkit-scrollbar-thumb{
background:#FFD600;
border-radius:3px;
}

.service-category{
margin-bottom:20px;
padding-bottom:15px;
border-bottom:1px solid rgba(255,255,255,0.1);
}

.service-category:last-child{
border-bottom:none;
margin-bottom:0;
}

.service-category h4{
font-size:15px;
margin-bottom:12px;
color:#FFD600;
font-weight:600;
}

.service-subcategory{
margin-bottom:12px;
}

.service-subcategory strong{
font-size:13px;
color:#fff;
display:block;
margin-bottom:5px;
}

.service-category p{
font-size:12px;
line-height:1.5;
margin-bottom:8px;
opacity:0.7;
}

.footer-section i{
margin-right:10px;
color:#FFD600;
}

.footer-logo{
margin-bottom:15px;
}

.footer-logo-img{
height:40px;
width:auto;
display:block;
}

.footer-logo-light{
display:block;
}

.footer-logo-dark{
display:none;
}

[data-theme="dark"] .footer-logo-light{
display:none;
}

[data-theme="dark"] .footer-logo-dark{
display:block;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,0.1);
padding-top:30px;
text-align:center;
opacity:0.6;
}

/* Video Section */
.video-section{
padding:100px 0;
background:rgba(249,249,249,0.85);
text-align:center;
}

.video-section p{
font-size:18px;
color:#666;
margin-bottom:30px;
}

.video-wrapper{
max-width:900px;
margin:auto;
border-radius:20px;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,0.15);
aspect-ratio:16/9;
}

.video-wrapper video{
width:100%;
height:100%;
object-fit:cover;
}

.videos-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
margin-top:40px;
}

.video-item{
border-radius:20px;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,0.15);
aspect-ratio:16/9;
}

.video-item video{
width:100%;
height:100%;
object-fit:cover;
}

/* Offer Section */
.offer{
padding:100px 0;
background:rgba(255,255,255,0.85);
}

.offer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:50px;
}

.offer-item{
padding:40px 30px;
background:#f9f9f9;
border-radius:20px;
text-align:center;
transition:transform 0.3s,box-shadow 0.3s;
}

.offer-item:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.offer-item i{
font-size:48px;
color:#FFD600;
margin-bottom:20px;
}

.offer-item h3{
margin-bottom:15px;
font-size:20px;
}

.offer-item p{
color:#666;
font-size:15px;
line-height:1.6;
}

/* Reviews Section */
.reviews{
padding:100px 0;
background:rgba(249,249,249,0.85);
}

.reviews-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
margin-top:50px;
}

.review-card{
background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:all 0.3s ease-out;
position:relative;
z-index:10;
cursor:pointer;
}

.review-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

.review-image-wrapper{
position:relative;
width:100%;
aspect-ratio:3/4;
overflow:hidden;
background:#f5f5f5;
}

.review-image{
width:100%;
height:100%;
object-fit:cover;
transition:transform 0.5s ease-out;
}

.review-card:hover .review-image{
transform:scale(1.05);
}

.review-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.3);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:opacity 0.3s ease-out;
pointer-events:none;
}

.review-card:hover .review-overlay{
opacity:1;
}

.review-overlay i{
color:white;
font-size:32px;
}

.review-badge{
position:absolute;
top:15px;
right:15px;
background:rgba(255,255,255,0.95);
backdrop-filter:blur(10px);
padding:8px 12px;
border-radius:12px;
display:flex;
gap:4px;
box-shadow:0 4px 15px rgba(0,0,0,0.1);
z-index:2;
}

.review-badge i{
color:#FFD600;
font-size:14px;
}

.review-info{
padding:25px;
text-align:center;
}

.review-info h3{
font-size:20px;
font-weight:700;
color:#111;
margin-bottom:8px;
}

.review-info p{
color:#666;
font-size:15px;
margin:0;
}

[data-theme="dark"] .review-card{
background:#1a1a1a;
}

[data-theme="dark"] .review-info h3{
color:#fff;
}

[data-theme="dark"] .review-info p{
color:#999;
}

[data-theme="dark"] .review-badge{
background:rgba(26,26,26,0.95);
}

/* Calculator Section */
.calculator{
padding:100px 0;
background:rgba(255,255,255,0.85);
text-align:center;
}

.calculator p{
text-align:center;
color:#666;
font-size:18px;
margin-bottom:30px;
}

.calculator-form{
max-width:600px;
margin:50px auto 0;
background:#f9f9f9;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
text-align:left;
}

.calc-field{
margin-bottom:25px;
}

.calc-field label{
display:block;
margin-bottom:10px;
font-weight:600;
color:#111;
}

.calc-field select,
.calc-field input{
width:100%;
padding:15px;
border:1px solid #ddd;
border-radius:12px;
font-size:16px;
background:white;
}

.checkbox-group label{
display:flex;
align-items:center;
gap:10px;
margin-bottom:10px;
font-weight:400;
cursor:pointer;
}

.checkbox-group input[type="checkbox"]{
width:auto;
}

.calc-result{
margin:30px 0;
padding:20px;
background:#FFD600;
border-radius:12px;
text-align:center;
}

.calc-result p{
margin:0 0 10px;
font-weight:600;
color:#111;
}

.calc-result span{
font-size:32px;
font-weight:800;
color:#111;
}

.calculator-form button{
display:block;
margin:30px auto 0;
width:100%;
max-width:300px;
}

[data-theme="dark"] .calculator{
background:rgba(17,17,17,0.85);
}

[data-theme="dark"] .calculator-form{
background:#1a1a1a;
}

[data-theme="dark"] .calc-field label{
color:#fff;
}

[data-theme="dark"] .calc-field select,
[data-theme="dark"] .calc-field input{
background:#1a1a1a;
border-color:#333;
color:#fff;
}

[data-theme="dark"] .calc-result{
background:#FFD600;
}

/* FAQ Section */
.faq{
padding:100px 0;
background:white;
}

.faq-list{
max-width:800px;
margin:auto;
}

.faq-item{
margin-bottom:15px;
border:1px solid #e0e0e0;
border-radius:12px;
overflow:hidden;
}

.faq-question{
padding:25px 30px;
background:white;
cursor:pointer;
display:flex;
justify-content:space-between;
align-items:center;
transition:background 0.3s;
}

.faq-question:hover{
background:#f9f9f9;
}

.faq-question h3{
margin:0;
font-size:18px;
font-weight:600;
}

.faq-question i{
transition:transform 0.3s;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height 0.3s ease-out;
}

.faq-answer p{
padding:25px 30px;
margin:0;
color:#666;
line-height:1.6;
}

.faq-item.active .faq-answer{
max-height:200px;
}

.faq-item.active .faq-question i{
transform:rotate(180deg);
}

/* Floating Buttons */
.floating-buttons{
position:fixed;
bottom:20px;
right:20px;
display:flex;
flex-direction:column;
gap:12px;
z-index:1000;
}

.float-btn{
width:clamp(50px,8vw,60px);
height:clamp(50px,8vw,60px);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:clamp(18px,4vw,24px);
text-decoration:none;
box-shadow:0 5px 20px rgba(0,0,0,0.3);
transition:transform 0.3s,box-shadow 0.3s;
}

.float-btn:hover{
transform:scale(1.1);
box-shadow:0 8px 25px rgba(0,0,0,0.4);
}

.phone-btn{
background:#25D366;
color:white;
}

.email-btn{
background:#0088cc;
color:white;
}

.scroll-top-btn{
background:#FFD600;
color:#111;
border:none;
cursor:pointer;
opacity:0;
visibility:hidden;
transition:opacity 0.3s,visibility 0.3s;
}

.scroll-top-btn.visible{
opacity:1;
visibility:visible;
}

/* Scroll Animations */
.card,
.offer-item,
.review-card,
.faq-item,
.timeline-item,
.client-card,
.method-card,
.equipment-card,
.gallery-grid img{
opacity:0;
transform:translateY(30px);
transition:opacity 0.6s,transform 0.6s;
}

.card.animate,
.offer-item.animate,
.review-card.animate,
.faq-item.animate,
.timeline-item.animate,
.client-card.animate,
.method-card.animate,
.equipment-card.animate,
.gallery-grid img.animate{
opacity:1;
transform:translateY(0);
}

/* Improved Hero */
.hero{
background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.7)),url("img/main.jpeg") center/cover;
}

.hero-content{
animation:fadeInUp 1s ease-out;
}

@keyframes fadeInUp{
from{
opacity:0;
transform:translateY(30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

.btn{
transition:transform 0.3s,box-shadow 0.3s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 30px rgba(0,0,0,0.2);
}

@media(max-width:900px){

.hero h1{
font-size:42px;
}

.grid,
.stats,
.steps-grid,
.gallery-grid{
grid-template-columns:1fr;
}

.floating-buttons{
bottom:20px;
right:20px;
}

.float-btn{
width:50px;
height:50px;
font-size:20px;
}

.footer-content{
grid-template-columns:1fr;
}
}

@media(max-width:768px){
.carousel-container{
padding:20px 0;
}

.calculator-form{
padding:25px 15px;
margin:30px 15px 0;
}

.cta-form form{
padding:0 15px;
}

.clients-grid,
.methods-grid{
grid-template-columns:1fr;
gap:15px;
}

.videos-grid{
grid-template-columns:1fr;
gap:15px;
}

.services-grid{
gap:15px;
}

.service-card,
.client-card,
.method-card,
.offer-item,
.review-card{
border-radius:12px;
}

.service-card h3,
.service-card p,
.service-list{
padding-left:15px;
padding-right:15px;
}

.step-card{
padding:20px 15px;
}

.hero-form-card{
border-radius:16px;
margin:0 auto;
}

.gallery{
padding:60px 0;
}

.gallery .carousel-container{
padding:20px 0;
}

.offer-grid{
gap:15px;
}

.offer-item{
padding:30px 20px;
}

.reviews-grid{
gap:15px;
}

.review-info{
padding:20px 15px;
}

.footer-section{
padding:0 15px;
}

.timeline{
max-width:100%;
padding:40px 0;
}

.timeline-content{
margin-left:50px;
padding:25px 0;
}

form{
max-width:100%;
margin:0;
}

.video-wrapper{
max-width:100%;
margin:0;
}

.faq-list{
max-width:100%;
padding:0;
}

.calculator-form{
padding:25px 0;
margin:30px 0 0;
}

.cta-form form{
padding:0;
}

.footer-section{
padding:0;
}

.service-card h3,
.service-card p,
.service-list{
padding-left:0;
padding-right:0;
}

.step-card{
padding:20px 0;
}

.offer-item{
padding:30px 0;
}

.review-info{
padding:20px 0;
}
}

/* Lightbox Styles */
.lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,0.95);
z-index:10000;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
visibility:hidden;
transition:opacity 0.3s,visibility 0.3s;
}

.lightbox.active{
opacity:1;
visibility:visible;
}

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

.lightbox-close:hover{
background:rgba(255,255,255,0.4);
}

.lightbox-image{
max-width:90%;
max-height:90vh;
object-fit:contain;
border-radius:10px;
box-shadow:0 20px 60px rgba(0,0,0,0.5);
}