
:root{
--primary:#0a2f73;
--primary-dark:#061d4a;
--primary-light:#1f4ca8;
--background:#f3f6fb;
--white:#ffffff;
--text:#1f2937;
--shadow:0 10px 30px rgba(0,0,0,.08);
}

html{
scroll-behavior:smooth;
}

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

body{
font-family:'Inter',sans-serif;
background:var(--background);
color:var(--text);
line-height:1.7;
}

.container{
width:min(90%,1200px);
margin:auto;
}

.header{
position:sticky;
top:0;
z-index:1000;
background:rgba(255,255,255,.95);
backdrop-filter:blur(8px);
box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.nav-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 0;
}

.logo img{
height:75px;
display:block;
}

.nav-links{
display:flex;
gap:30px;
}

.nav-links a{
text-decoration:none;
font-weight:600;
color:var(--text);
position:relative;
transition:.3s;
}

.nav-links a:hover,
.nav-links a.active{
color:var(--primary);
}

.nav-links a.active::after{
content:'';
position:absolute;
bottom:-6px;
left:0;
width:100%;
height:2px;
background:var(--primary);
}

.header-phone{
background:var(--primary);
color:white;
padding:12px 20px;
border-radius:10px;
text-decoration:none;
font-weight:600;
}

.menu-toggle{
display:none;
font-size:2rem;
background:none;
border:none;
cursor:pointer;
}

.hero{
background:linear-gradient(135deg,var(--primary-dark),var(--primary));
color:white;
text-align:center;
padding:140px 20px;
}

.hero h1{
font-size:clamp(2.5rem,5vw,4rem);
margin-bottom:15px;
}

.hero-subtitle{
font-size:1.3rem;
margin-bottom:15px;
}

.hero-services{
max-width:800px;
margin:auto;
opacity:.95;
}

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

.btn{
padding:15px 28px;
border-radius:10px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn{
background:white;
color:var(--primary);
}

.btn:hover{
transform:translateY(-2px);
}

.btn-outline{
background:transparent;
border:2px solid white;
color:white;
}

.section{
padding:100px 0;
}

.section-light{
background:white;
}

.section h2{
text-align:center;
font-size:2rem;
margin-bottom:50px;
}

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

.service-card{
background:white;
padding:35px;
border-radius:16px;
box-shadow:var(--shadow);
text-align:center;
font-size:2rem;
transition:.3s;
}

.service-card h3{
margin-top:15px;
font-size:1.2rem;
}

.service-card:hover{
transform:translateY(-5px);
}

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

.process-step{
background:white;
padding:30px;
border-radius:16px;
box-shadow:var(--shadow);
text-align:center;
}

.process-step span{
font-size:2rem;
display:block;
margin-bottom:10px;
}

.narrow{
max-width:900px;
margin:auto;
text-align:center;
}

.contact-form{
max-width:750px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.contact-form input,
.contact-form textarea{
padding:16px;
border:1px solid #d1d5db;
border-radius:10px;
font-size:1rem;
}

.contact-form textarea{
min-height:180px;
resize:vertical;
}

.contact-form button{
background:var(--primary);
color:white;
border:none;
padding:16px;
border-radius:10px;
cursor:pointer;
font-size:1rem;
font-weight:600;
}

footer{
background:var(--primary-dark);
color:white;
padding:70px 20px;
text-align:center;
}

.footer-logo{
width:120px;
margin-bottom:20px;
background:white;
padding:10px;
border-radius:14px;
}

.footer-inner h3{
margin-bottom:10px;
}

.back-to-top{
position:fixed;
right:20px;
bottom:20px;
width:50px;
height:50px;
border:none;
border-radius:50%;
background:var(--primary);
color:white;
font-size:1.4rem;
cursor:pointer;
display:none;
box-shadow:var(--shadow);
}

.back-to-top.show{
display:block;
}

.reveal{
opacity:0;
transform:translateY(30px);
transition:all .7s ease;
}

.reveal.visible{
opacity:1;
transform:translateY(0);
}

@media(max-width:768px){

.menu-toggle{
display:block;
}

.nav-links{
display:none;
}

.nav-links.active{
display:flex;
flex-direction:column;
position:absolute;
top:100px;
left:0;
right:0;
background:white;
padding:20px;
box-shadow:var(--shadow);
}

.header-phone{
display:none;
}

.logo img{
height:60px;
}

.hero{
padding:110px 20px;
}

.section{
padding:70px 0;
}
}
