*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:#ffffff;
color:#111111;
line-height:1.6;
}

a{
color:inherit;
}

.site-header{
position:sticky;
top:0;
z-index:999;
background:#ffffff;
width:100%;
}

.header-container{
min-height:82px;
}

.logo-img{
height:58px;
width:auto;
object-fit:contain;
}

.navbar-nav .nav-link{
font-size:16px;
font-weight:800;
color:#111111;
padding:10px 15px;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
color:#d60000;
}

.call-btn,
.btn-main{
display:inline-block;
background:#d60000;
color:#ffffff;
padding:12px 22px;
border-radius:10px;
text-decoration:none;
font-weight:900;
transition:.25s ease;
border:2px solid #d60000;
}

.call-btn:hover,
.btn-main:hover{
background:#b00000;
border-color:#b00000;
color:#ffffff;
transform:translateY(-1px);
}

.btn-outline-custom{
display:inline-block;
color:#111111;
background:#ffffff;
padding:12px 22px;
border-radius:10px;
border:2px solid #111111;
text-decoration:none;
font-weight:900;
transition:.25s ease;
}

.btn-outline-custom:hover{
color:#ffffff;
background:#111111;
}

.hero-section{
padding:78px 0 70px;
background:radial-gradient(circle at 20% 20%,rgba(214,0,0,.12),transparent 30%),linear-gradient(135deg,#fff 0%,#f7f7f7 100%);
}

.eyebrow{
color:#d60000;
font-weight:900;
text-transform:uppercase;
letter-spacing:.06em;
font-size:13px;
margin-bottom:12px;
}

.eyebrow.light{
color:#ffffff;
opacity:.9;
}

h1{
font-size:clamp(34px,5vw,58px);
line-height:1.08;
font-weight:900;
letter-spacing:-.04em;
margin-bottom:22px;
}

h2{
font-size:clamp(27px,3.3vw,42px);
line-height:1.15;
font-weight:900;
letter-spacing:-.03em;
margin-bottom:18px;
}

h3{
font-size:21px;
font-weight:900;
margin-bottom:12px;
}

.hero-text{
font-size:19px;
max-width:760px;
color:#333333;
margin-bottom:28px;
}

.hero-buttons{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-bottom:24px;
}

.trust-list{
display:flex;
flex-wrap:wrap;
gap:12px;
}

.trust-list span{
background:#ffffff;
border:1px solid #eeeeee;
border-radius:999px;
padding:8px 14px;
font-weight:800;
box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.hero-card{
background:#111111;
color:#ffffff;
border-radius:26px;
padding:34px;
box-shadow:0 24px 55px rgba(0,0,0,.18);
}

.hero-card h2{
font-size:30px;
color:#ffffff;
}

.hero-card p{
color:#eeeeee;
}

.hero-card ul{
padding-left:20px;
margin:20px 0;
}

.hero-card li{
margin:8px 0;
}

.hero-phone{
display:block;
background:#d60000;
color:#ffffff;
text-align:center;
padding:13px 18px;
border-radius:12px;
text-decoration:none;
font-size:22px;
font-weight:900;
}

.hero-phone:hover{
background:#ffffff;
color:#d60000;
}

.section-padding{
padding:78px 0;
}

.section-title{
max-width:850px;
margin:0 auto 42px;
text-align:center;
}

.section-title p{
color:#555555;
font-size:18px;
}

.service-card{
height:100%;
background:#ffffff;
border:1px solid #eeeeee;
border-radius:22px;
padding:28px;
box-shadow:0 12px 30px rgba(0,0,0,.06);
transition:.25s ease;
}

.service-card:hover{
transform:translateY(-4px);
box-shadow:0 18px 42px rgba(0,0,0,.10);
border-color:#ffd0d0;
}

.service-icon{
font-size:42px;
margin-bottom:18px;
line-height:1;
}

.service-card p{
color:#555555;
margin:0;
}

.bg-light-custom{
background:#f7f7f7;
}

.repair-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.repair-grid article{
background:#ffffff;
border-radius:20px;
padding:26px;
border-left:5px solid #d60000;
box-shadow:0 10px 25px rgba(0,0,0,.06);
}

.repair-grid p{
margin:0;
color:#555555;
}

.steps-box{
background:#f7f7f7;
border-radius:24px;
padding:32px;
border:1px solid #eeeeee;
}

.step{
display:flex;
gap:16px;
align-items:flex-start;
margin-top:18px;
padding:16px;
background:#ffffff;
border-radius:16px;
}

.step strong{
display:flex;
align-items:center;
justify-content:center;
min-width:34px;
height:34px;
background:#d60000;
color:#ffffff;
border-radius:50%;
}

.red-section{
background:#d60000;
color:#ffffff;
}

.red-section p{
color:#ffffff;
opacity:.92;
font-size:18px;
}

.btn-light-custom{
display:inline-block;
background:#ffffff;
color:#d60000;
padding:14px 24px;
border-radius:12px;
text-decoration:none;
font-weight:900;
}

.btn-light-custom:hover{
background:#111111;
color:#ffffff;
}

.contact-card{
height:100%;
background:#f7f7f7;
border-radius:24px;
padding:32px;
border:1px solid #eeeeee;
}

.text-link{
color:#d60000;
font-weight:900;
text-decoration:none;
}

.text-link:hover{
text-decoration:underline;
}

.phone-big{
font-size:24px;
}

.opening-table{
width:100%;
background:#ffffff;
border-radius:16px;
overflow:hidden;
}

.opening-table td{
padding:13px 14px;
border-bottom:1px solid #eeeeee;
}

.opening-table tr:last-child td{
border-bottom:0;
}

.opening-table td:last-child{
text-align:right;
font-weight:900;
}

.footer{
background:#111111;
color:#ffffff;
padding:42px 0 34px;
}

.footer-top{
display:flex;
justify-content:space-between;
gap:28px;
flex-wrap:wrap;
border-bottom:1px solid rgba(255,255,255,.16);
padding-bottom:26px;
margin-bottom:26px;
}

.footer h2{
font-size:26px;
margin-bottom:10px;
color:#ffffff;
}

.footer p{
margin:0 0 8px;
color:rgba(255,255,255,.82);
}

.footer a{
color:#ffffff;
text-decoration:none;
}

.footer a:hover{
color:#ff4a4a;
}

.footer-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:22px;
margin-bottom:22px;
}

.footer-links a{
font-weight:800;
}

.footer-copy{
text-align:center;
font-size:14px;
color:rgba(255,255,255,.72);
}

.mobile-call-bar{
display:none;
}

@media(max-width:991px){
.logo-img{
height:50px;
}

.navbar-collapse{
padding-top:15px;
text-align:center;
}

.navbar-nav .nav-link{
font-size:18px;
padding:12px;
}

.hero-section{
padding:52px 0 54px;
}

.hero-card{
padding:26px;
}

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

@media(max-width:768px){
body{
padding-bottom:58px;
}

.section-padding{
padding:56px 0;
}

.hero-buttons a{
width:100%;
text-align:center;
}

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

.trust-list span{
width:100%;
text-align:center;
}

.footer-top{
text-align:center;
justify-content:center;
}

.footer-links{
flex-direction:column;
gap:14px;
text-align:center;
}

.mobile-call-bar{
display:block;
position:fixed;
left:0;
right:0;
bottom:0;
z-index:1000;
background:#d60000;
text-align:center;
box-shadow:0 -8px 20px rgba(0,0,0,.18);
}

.mobile-call-bar a{
display:block;
color:#ffffff;
text-decoration:none;
font-weight:900;
padding:15px 10px;
}
}
