:root{
--primary:rgb(20,58,90);
--primary-dark:#10263c;
--primary-light:#244d73;
--accent:rgb(200,154,43);
--accent-light:#d6b36a;
--dark:#081828;
--text:#1f2937;
--text-light:#6b7280;
--white:#ffffff;
--light:#f7f9fc;
--line:#e7edf4;
--container:1320px;
--section:140px;
--radius:18px;
--radius-lg:28px;
--shadow-sm:0 10px 30px rgba(15,23,42,.05);
--shadow:0 20px 60px rgba(15,23,42,.08);
--shadow-lg:0 35px 90px rgba(15,23,42,.12);
--transition:.35s cubic-bezier(.4,0,.2,1);
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
font-size:16px;
scroll-behavior:smooth;
scroll-padding-top:100px;
}

body{
font-family:Inter,sans-serif;
background:var(--white);
color:var(--text);
line-height:1.8;
overflow-x:hidden;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

img{
display:block;
width:100%;
height:auto;
}

picture{
display:block;
}

a{
text-decoration:none;
color:inherit;
transition:var(--transition);
}

button{
font:inherit;
background:none;
border:none;
cursor:pointer;
}

input,
textarea{
font:inherit;
outline:none;
border:none;
}

ul{
list-style:none;
}

.container{
width:min(var(--container),calc(100% - 48px));
margin:auto;
}

.section{
padding:var(--section) 0;
position:relative;
}

.section-light{
background:var(--light);
}

.section-dark{
background:var(--primary);
color:#fff;
}

.flex{
display:flex;
}

.grid{
display:grid;
}

.align-center{
align-items:center;
}

.justify-between{
justify-content:space-between;
}

.justify-center{
justify-content:center;
}

.text-center{
text-align:center;
}

.badge{
display:inline-flex;
align-items:center;
gap:12px;
padding:10px 20px;
border-radius:999px;
background:rgba(200,154,43,.12);
color:var(--accent);
font-size:.82rem;
font-weight:700;
letter-spacing:.12em;
text-transform:uppercase;
}

.badge::before{
content:"";
width:8px;
height:8px;
border-radius:50%;
background:var(--accent);
}

.section-header{
max-width:760px;
margin:0 auto 70px;
text-align:center;
}

.section-title{
font-size:clamp(2.8rem,2vw,2.15rem);
line-height:1.08;
font-weight:800;
letter-spacing:-.05em;
margin:24px 0;
}

.section-title span{
color:var(--accent);
}

.section-desc{
font-size:1.08rem;
color:var(--text-light);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:14px;
height:58px;
padding:0 34px;
border-radius:999px;
font-weight:700;
transition:var(--transition);
white-space:nowrap;
}

.btn-primary{
background:var(--accent);
color:#fff;
box-shadow:0 18px 45px rgba(200,154,43,.28);
}

.btn-primary:hover{
transform:translateY(-5px);
box-shadow:0 24px 55px rgba(200,154,43,.35);
}

.btn-outline{
border:1px solid rgba(255,255,255,.28);
color:#fff;
backdrop-filter:blur(12px);
}

.btn-outline:hover{
background:#fff;
color:var(--primary);
}

.btn-dark{
background:var(--primary);
color:#fff;
}

.btn-dark:hover{
background:var(--primary-light);
transform:translateY(-5px);
}

header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
transition:background .3s ease,box-shadow .3s ease;
}

header.scrolled{
background:rgba(20,58,90,.92);
backdrop-filter:blur(20px);
box-shadow:0 12px 40px rgba(0,0,0,.08);
}

.header-inner{
height:88px;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
display:flex;
align-items:center;
gap:16px;
color:#fff;
}

.logo img{
width:260px;
height:auto;
}

nav ul{
display:flex;
align-items:center;
gap:42px;
}

nav a{
position:relative;
font-size:.96rem;
font-weight:600;
color:#fff;
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:-10px;
width:0;
height:2px;
background:var(--accent);
transition:var(--transition);
}

nav a:hover::after,
nav a.active::after{
width:100%;
}

.right-tools{
display:flex;
align-items:center;
gap:26px;
}

.lang-switch{
display:flex;
gap:12px;
font-size:.9rem;
}

.lang-switch a{
opacity:.85;
color:#fff;
font-weight:600;
}

.lang-switch a.active{
opacity:1;
}

.lang-switch .jm-so-switcher{
--jm-text:#fff;
--jm-text-muted:rgba(255,255,255,1);
--jm-primary:#fff;
--jm-border:rgba(255,255,255,.45);
}

.contact-btn{
height:42px;
padding:0 26px;
border-radius:999px;
background:#fff;
color:var(--primary);
font-size:.92rem;
font-weight:700;
display:inline-flex;
align-items:center;
justify-content:center;
white-space:nowrap;
line-height:1;
transition:.3s;
}
.contact-btn:hover{
background:var(--accent);
color:#fff;
}

.mobile-toggle{
display:none;
width:46px;
height:46px;
border-radius:14px;
background:rgba(255,255,255,.08);
align-items:center;
justify-content:center;
}

.mobile-toggle span{
position:relative;
width:22px;
height:2px;
background:#fff;
display:block;
}

.mobile-toggle span::before,
.mobile-toggle span::after{
content:"";
position:absolute;
left:0;
width:100%;
height:2px;
background:#fff;
}

.mobile-toggle span::before{
top:-7px;
}

.mobile-toggle span::after{
bottom:-7px;
}

.hero{
position:relative;
height:100vh;
min-height:720px;
max-height:1080px;
overflow:hidden;
background:#07131f;
}
.hero-slide{
position:absolute;
inset:0;
opacity:0;
visibility:hidden;
transition:opacity 1s ease;
}

.hero-slide.active{
opacity:1;
visibility:visible;
z-index:1;
}

.hero-slide img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}
.hero-slide picture{
display:block;
width:100%;
height:100%;
}
.hero-slide{
position:absolute;
inset:0;
opacity:0;
visibility:hidden;
transition:1.4s ease;
transform:scale(1.08);
}

.hero-slide.active{
opacity:1;
visibility:visible;
transform:scale(1);
}

.hero-slide::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(8,24,40,.55) 0%,rgba(8,24,40,.35) 60%,rgba(8,24,40,.25) 100%);
z-index:1;
}

.hero-slide img{
width:100%;
height:100%;
object-fit:cover;
animation:heroScale 14s linear infinite;
}

.hero-content{
position:relative;
z-index:5;
height:100%;
display:flex;
align-items:center;
padding-top:80px;
}

.hero-text{
max-width:760px;
color:#fff;
}

.hero-text h2{
font-size:clamp(2rem,3vw,3.25rem);
line-height:1.05;
font-weight:800;
letter-spacing:-.04em;
margin:26px 0 34px;
}

.hero-text p{
max-width:650px;
font-size:1.18rem;
color:rgba(255,255,255,.82);
margin-bottom:46px;
}

.hero-buttons{
display:flex;
gap:18px;
flex-wrap:wrap;
}
.hero-meta{
display:flex;
align-items:center;
gap:42px;
margin-top:80px;
padding-top:40px;
border-top:1px solid rgba(255,255,255,.12);
}

.hero-meta-item{
display:flex;
flex-direction:column;
gap:8px;
}

.hero-meta-item strong{
font-size:2rem;
font-weight:800;
color:#fff;
line-height:1;
}

.hero-meta-item span{
font-size:.9rem;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(255,255,255,.65);
}

.hero-progress{
position:absolute;
left:50%;
bottom:48px;
transform:translateX(-50%);
display:flex;
gap:14px;
z-index:10;
}

.hero-progress span{
width:58px;
height:3px;
background:rgba(255,255,255,.25);
border-radius:999px;
overflow:hidden;
position:relative;
cursor:pointer;
}

.hero-progress span.active{
background:rgba(255,255,255,.45);
}

.hero-progress span.active::after{
content:"";
position:absolute;
left:0;
top:0;
height:100%;
width:100%;
background:var(--accent);
transform-origin:left;
animation:progress 6s linear;
}

.about{
position:relative;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:90px;
align-items:center;
}

.about-image{
position:relative;
}

.about-main{
border-radius:28px;
overflow:hidden;
box-shadow:var(--shadow-lg);
}

.about-main img{
height:720px;
object-fit:cover;
}

.about-float{
position:absolute;
right:-40px;
bottom:40px;
width:280px;
background:#fff;
border-radius:24px;
padding:30px;
box-shadow:var(--shadow);
}

.about-float strong{
display:block;
font-size:1.5rem;
color:var(--primary);
line-height:1;
margin-bottom:10px;
}

.about-list{
display:grid;
gap:28px;
margin-top:50px;
}

.about-item{
display:grid;
grid-template-columns:64px 1fr;
gap:24px;
align-items:flex-start;
}

.about-icon{
width:64px;
height:64px;
border-radius:18px;
background:rgba(20,58,90,.06);
display:flex;
align-items:center;
justify-content:center;
}

.about-icon svg{
width:28px;
height:28px;
stroke:var(--primary);
stroke-width:1.8;
fill:none;
}

.about-item h3{
font-size:1.3rem;
margin-bottom:10px;
}

.about-item p{
color:var(--text-light);
}

.stats{
background:var(--light);
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:28px;
}

.stat-card{
background:#fff;
padding:48px;
border-radius:24px;
box-shadow:var(--shadow-sm);
transition:var(--transition);
}

.stat-card:hover{
transform:translateY(-8px);
box-shadow:var(--shadow);
}

.stat-card h3{
font-size:3.75rem;
line-height:1;
font-weight:800;
color:var(--primary);
margin-bottom:18px;
}

.stat-card p{
font-size:.92rem;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--text-light);
}

.services-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:34px;
}

.service-card{
padding:46px;
border-radius:28px;
background:#fff;
border:1px solid var(--line);
transition:var(--transition);
position:relative;
overflow:hidden;
}

.service-card::before{
content:"";
position:absolute;
left:0;
top:0;
width:5px;
height:0;
background:var(--accent);
transition:.45s;
}

.service-card:hover::before{
height:100%;
}

.service-card:hover{
transform:translateY(-10px);
box-shadow:var(--shadow);
}

.service-icon{
width:78px;
height:78px;
border-radius:22px;
background:rgba(20,58,90,.06);
display:flex;
align-items:center;
justify-content:center;
margin-bottom:32px;
}

.service-icon svg{
width:34px;
height:34px;
stroke:var(--primary);
stroke-width:1.8;
fill:none;
}

.service-card h3{
font-size:1.55rem;
margin-bottom:18px;
}

.service-card p{
color:var(--text-light);
margin-bottom:28px;
}

.service-link{
display:inline-flex;
align-items:center;
gap:12px;
font-weight:700;
color:var(--primary);
}

.service-link:hover{
gap:20px;
color:var(--accent);
}
.why{
background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
overflow:hidden;
}

.why-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:34px;
margin-top:70px;
}

.why-card{
position:relative;
padding:48px 42px;
background:#fff;
border:1px solid var(--line);
border-radius:28px;
transition:var(--transition);
overflow:hidden;
}

.why-card::before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:linear-gradient(90deg,var(--accent),transparent);
transform:scaleX(0);
transform-origin:left;
transition:.45s;
}

.why-card:hover::before{
transform:scaleX(1);
}

.why-card:hover{
transform:translateY(-12px);
box-shadow:var(--shadow);
}

.why-number{
font-size:2rem;
font-weight:800;
line-height:1;
color:rgba(20,58,90,.08);
margin-bottom:18px;
}

.why-card h3{
font-size:1.5rem;
margin-bottom:18px;
}

.why-card p{
color:var(--text-light);
}

.process{
background:var(--primary);
color:#fff;
position:relative;
overflow:hidden;
}

.process::before{
content:"";
position:absolute;
width:700px;
height:700px;
right:-260px;
top:-260px;
border-radius:50%;
background:rgba(255,255,255,.03);
}

.process-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:34px;
position:relative;
z-index:2;
margin-top:80px;
}

.process-item{
text-align:center;
}

.process-step{
width:86px;
height:86px;
border-radius:50%;
margin:0 auto 30px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
font-size:1.35rem;
font-weight:700;
color:var(--accent);
}

.process-item h3{
font-size:1.35rem;
margin-bottom:16px;
}

.process-item p{
color:rgba(255,255,255,.72);
}

.news-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:34px;
}

.news-card{
background:#fff;
border-radius:28px;
overflow:hidden;
box-shadow:var(--shadow-sm);
transition:var(--transition);
}

.news-card:hover{
transform:translateY(-10px);
box-shadow:var(--shadow);
}

.news-image{
overflow:hidden;
}

.news-image img{
height:260px;
object-fit:cover;
transition:.8s;
}

.news-card:hover img{
transform:scale(1.08);
}

.news-content{
padding:36px;
}

.news-tag{
display:inline-flex;
padding:8px 16px;
border-radius:999px;
background:rgba(200,154,43,.12);
color:var(--accent);
font-size:.78rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
margin-bottom:18px;
}

.news-content h3{
font-size:1.45rem;
line-height:1.35;
margin-bottom:16px;
}

.news-content p{
color:var(--text-light);
margin-bottom:24px;
}

.news-link{
display:inline-flex;
align-items:center;
gap:10px;
font-weight:700;
color:var(--primary);
}

.news-link:hover{
gap:18px;
color:var(--accent);
}

.cta{
padding:0 0 120px 0;
}

.cta-box{
position:relative;
overflow:hidden;
border-radius:36px;
padding:90px;
background:linear-gradient(135deg,var(--primary),#274d70);
display:flex;
justify-content:space-between;
align-items:center;
gap:60px;
}

.cta-box::before{
content:"";
position:absolute;
right:-180px;
top:-180px;
width:520px;
height:520px;
border-radius:50%;
background:rgba(255,255,255,.04);
}

.cta-content{
position:relative;
z-index:2;
max-width:760px;
color:#fff;
}

.cta-content h2{
font-size:clamp(1.4rem,2.5vw,2.4rem);
line-height:1.08;
margin:24px 0;
}

.cta-content p{
color:rgba(255,255,255,.78);
font-size:1.1rem;
}

.jm-friend-links{
padding:80px 0;
background:#f7f8fa;
}

.jm-friend-links .jm-section-title{
text-align:center;
margin-bottom:48px;
font-size:clamp(1.3rem,2.2vw,2rem);
}

.jm-friend-links__list{
list-style:none;
margin:0;
padding:0;
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:16px 40px;
}

.jm-friend-links__item a{
display:inline-block;
color:var(--primary);
text-decoration:none;
font-size:0.95rem;
font-weight:500;
transition:color .2s ease;
border-bottom:1px solid transparent;
padding-bottom:2px;
}

.jm-friend-links__item a:hover{
color:var(--accent);
border-bottom-color:var(--accent);
}

footer{
background:var(--dark);
padding:100px 0 40px;
color:rgba(255,255,255,.7);
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1.2fr;
gap:70px;
padding-bottom:70px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-brand img{
width:180px;
margin-bottom:28px;
}

.footer-brand p{
max-width:420px;
}

.footer-title{
font-size:1.05rem;
font-weight:700;
margin-bottom:24px;
color:#fff;
}

.footer-links{
display:grid;
gap:16px;
}

.footer-links a:hover{
padding-left:8px;
color:var(--accent);
}

.footer-contact{
display:grid;
gap:18px;
}

.footer-contact span{
display:block;
font-size:.82rem;
text-transform:uppercase;
letter-spacing:.08em;
color:rgba(255,255,255,.45);
margin-bottom:4px;
}

.footer-bottom{
display:flex;
justify-content:space-between;
align-items:center;
padding-top:34px;
font-size:.9rem;
}

.footer-social{
display:flex;
gap:14px;
}

.footer-social a{
width:42px;
height:42px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.08);
transition:var(--transition);
color:rgba(255,255,255,.6);
}

.footer-social a svg{
width:18px;
height:18px;
fill:rgba(255,255,255,.6);
transition:var(--transition);
}

.footer-social a:hover{
background:var(--accent);
border-color:var(--accent);
transform:translateY(-4px);
}

.footer-social a:hover svg{
fill:#fff;
}

.footer-wechat{
margin-top:20px;
display:flex;
flex-direction:column;
align-items:center;
width:fit-content;
}

.footer-wechat img{
width:100px;
height:100px;
border-radius:8px;
border:1px solid rgba(255,255,255,.1);
}

.footer-wechat span{
display:block;
margin-top:8px;
font-size:.8rem;
color:rgba(255,255,255,.5);
}

.brand-partners{
padding:0 0 140px 0;
background:var(--light);
}

.brands-strip{
display:grid;
grid-template-columns:repeat(5,1fr);
align-items:center;
gap:30px;
background:#fff;
border-radius:24px;
padding:54px 44px;
border:1px solid var(--line);
box-shadow:var(--shadow-sm);
}

.brand-logo{
display:flex;
align-items:center;
justify-content:center;
transition:var(--transition);
}

.brand-logo img{
max-height:80px;
max-width:100%;
width:auto;
height:auto;
object-fit:contain;
opacity:.6;
filter:grayscale(1);
transition:var(--transition);
}

.brand-logo:hover img{
opacity:1;
filter:grayscale(0);
}

@media (max-width:991px){
.brands-strip{
grid-template-columns:repeat(3,1fr);
}
}

@media (max-width:575px){
.brands-strip{
grid-template-columns:repeat(2,1fr);
gap:20px;
padding:36px 20px;
}
}

.to-top{
position:fixed;
right:28px;
bottom:28px;
width:54px;
height:54px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--accent);
color:#fff;
box-shadow:0 20px 50px rgba(200,154,43,.35);
opacity:0;
visibility:hidden;
transition:var(--transition);
z-index:999;
}

.to-top.show{
opacity:1;
visibility:visible;
}

@keyframes heroScale{
0%{
transform:scale(1);
}
100%{
transform:scale(1.12);
}
}

@keyframes progress{
from{
transform:scaleX(0);
}
to{
transform:scaleX(1);
}
}.page-hero{
position:relative;
height:520px;
display:flex;
align-items:flex-end;
padding-bottom:80px;
overflow:hidden;
background:var(--primary);
}

.page-hero::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(rgba(8,24,40,.72),rgba(8,24,40,.82));
z-index:1;
}

.page-hero picture,
.page-hero img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.page-hero-content{
position:relative;
z-index:2;
color:#fff;
transform:translateY(50px);
}

.page-hero .badge{
margin-bottom:30px;
}

.page-hero h2{
font-size:clamp(1.5rem,2.5vw,2.5rem);
line-height:1.1;
font-weight:800;
letter-spacing:-.04em;
margin-bottom:18px;
}

.page-hero p{
max-width:720px;
color:rgba(255,255,255,.8);
}

.breadcrumb{
display:flex;
gap:10px;
margin-top:26px;
font-size:.92rem;
color:rgba(255,255,255,.7);
}

.breadcrumb a:hover{
color:var(--accent);
}

.timeline{
position:relative;
margin-top:80px;
padding-left:36px;
}

.timeline::before{
content:"";
position:absolute;
left:10px;
top:0;
bottom:0;
width:2px;
background:var(--line);
}

.timeline-item{
position:relative;
padding:0 0 54px 46px;
}

.timeline-item:last-child{
padding-bottom:0;
}

.timeline-item::before{
content:"";
position:absolute;
left:-1px;
top:4px;
width:22px;
height:22px;
border-radius:50%;
background:var(--accent);
border:5px solid #fff;
box-shadow:0 0 0 1px var(--line);
}

.timeline-year{
font-size:.85rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--accent);
margin-bottom:10px;
}

.timeline-item h3{
margin-bottom:10px;
font-size:1.35rem;
}

.timeline-item p{
color:var(--text-light);
}

.contact-grid{
display:grid;
grid-template-columns:.9fr 1.1fr;
gap:70px;
align-items:stretch;
}

.contact-grid > div{
display:flex;
flex-direction:column;
}

.contact-card{
padding:36px;
border-radius:24px;
border:1px solid var(--line);
background:#fff;
box-shadow:var(--shadow-sm);
margin-bottom:22px;
}

.contact-card:last-child{
margin-bottom:0;
}

.contact-grid .form{
flex:1;
display:flex;
flex-direction:column;
}

.contact-grid .form textarea{
flex:1;
min-height:180px;
}

.contact-grid .badge{
align-self:flex-start;
}

.contact-card h3{
font-size:1.2rem;
margin-bottom:12px;
}

.contact-card p{
color:var(--text-light);
}

.form{
display:grid;
gap:22px;
}

.form-row{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:22px;
}

.form input,
.form textarea,
.form select{
width:100%;
padding:18px 20px;
border-radius:16px;
background:var(--light);
border:1px solid var(--line);
transition:var(--transition);
color:var(--text);
}

.form textarea{
min-height:190px;
resize:vertical;
}

.form input:focus,
.form textarea:focus,
.form select:focus{
border-color:var(--accent);
background:#fff;
}

.map{
margin-top:80px;
border-radius:30px;
overflow:hidden;
height:520px;
background:#dbe5ef;
}

.map iframe{
width:100%;
height:100%;
border:0;
}

.faq{
display:grid;
gap:18px;
margin-top:70px;
}

.faq-item{
border:1px solid var(--line);
border-radius:20px;
overflow:hidden;
background:#fff;
}

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
padding:24px 28px;
cursor:pointer;
font-weight:700;
}

.faq-answer{
display:none;
padding:0 28px 26px;
color:var(--text-light);
}

.faq-item.active .faq-answer{
display:block;
}

.news-list{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:34px;
}

.news-sidebar{
display:grid;
gap:28px;
}

.news-widget{
padding:34px;
background:#fff;
border:1px solid var(--line);
border-radius:24px;
}

.news-widget h4{
margin-bottom:20px;
font-size:1.2rem;
}

.news-widget ul{
display:grid;
gap:14px;
}

.news-widget a:hover{
color:var(--accent);
}

body.lang-en .hero-text h2{
font-size:clamp(2rem,3vw,3.25rem);
line-height:1.05;
letter-spacing:-.04em;
}

body.lang-en .page-hero h2{
font-size:clamp(3rem,3vw,3rem);
line-height:1.05;
letter-spacing:-.04em;
}

body.lang-en .cta-content h2{
font-size:clamp(2.4rem,3vw,4.8rem);
}

body.lang-en .stat-card h3{
font-size:3.5rem;
}

@media (max-width:1200px){

.container{
width:min(calc(100% - 40px),1320px);
}

.about-grid,
.contact-grid{
grid-template-columns:1fr;
}

.stats-grid,
.services-grid,
why-grid,
.process-grid,
.news-grid,
.news-list{
grid-template-columns:repeat(2,1fr);
}

.footer-grid{
grid-template-columns:repeat(2,1fr);
}

.cta-box{
padding:70px;
flex-direction:column;
align-items:flex-start;
}

.about-float{
position:static;
margin-top:24px;
width:100%;
}

}

@media (max-width:992px){

.header-inner{
height:80px;
}

.mobile-toggle{
display:flex;
}

nav{
position:fixed;
top:80px;
right:-100%;
width:320px;
height:calc(100svh - 80px);
background:var(--primary);
padding:36px;
transition:.35s;
}

nav.show{
right:0;
}

nav ul{
flex-direction:column;
align-items:flex-start;
gap:28px;
}

.right-tools .lang-switch,
.right-tools .contact-btn{
display:none;
}

.hero{
min-height:720px;
}

.hero-text h2{
font-size:2rem;
}

.hero-meta{
gap:24px;
flex-wrap:wrap;
}

.section{
padding:100px 0;
}

}

@media (max-width:768px){

.section{
padding:80px 0;
}

.section-header{
margin-bottom:50px;
}

.stats-grid,
.services-grid,
.why-grid,
.process-grid,
.news-grid,
.news-list,
.form-row,
.footer-grid{
grid-template-columns:1fr;
}

.hero{
min-height:640px;
}

.hero-text h2{
font-size:1.5rem;
}

.hero-buttons{
flex-direction:column;
align-items:flex-start;
}

.hero-meta{
display:grid;
grid-template-columns:repeat(2,1fr);
}

.about-main img{
height:460px;
}

.cta-box{
padding:50px 36px;
border-radius:28px;
}

.page-hero{
height:380px;
padding-bottom:50px;
}

.page-hero h2{
font-size:1.6rem;
}

.footer-bottom{
flex-direction:column;
gap:20px;
text-align:center;
}

}

@media (max-width:576px){

.container{
width:calc(100% - 28px);
}

.hero{
min-height:600px;
}

.hero-text h2{
font-size:2.35rem;
}

.hero-text p{
font-size:1rem;
}

.hero-meta{
grid-template-columns:1fr;
gap:18px;
margin-top:50px;
}

.stat-card,
.service-card,
.why-card,
.news-content,
.contact-card,
.news-widget{
padding:28px;
}

.cta-content h2{
font-size:1.1rem;
}

.to-top{
width:48px;
height:48px;
right:18px;
bottom:18px;
}

nav{
width:100%;
}

}
@media(max-width:768px){
.hero{
height:auto;
min-height:760px;
}

.hero-content{
padding-top:110px;
padding-bottom:80px;
align-items:flex-start;
}

.hero-text{
width:100%;
}

.hero-text h2{
font-size:2.35rem;
line-height:1.25;
letter-spacing:-.03em;
}

.hero-text p{
font-size:1rem;
line-height:1.8;
}

.hero-buttons{
margin-top:35px;
gap:18px;
}

.hero-buttons .btn{
width:100%;
max-width:260px;
}

.hero-meta{
margin-top:50px;
padding-top:30px;
display:flex;
gap:25px;
flex-wrap:wrap;
}

.hero-meta-item{
min-width:90px;
}

.hero-meta-item strong{
font-size:2rem;
}

.hero-progress{
bottom:25px;
}
.hero-slide img{
object-position:center center;
transform:none;
}

}

/* ===== Single post (article) ===== */
.article-layout{
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
gap:48px;
align-items:start;
}

.article-content{
min-width:0;
}

.article-meta{
display:flex;
flex-wrap:wrap;
gap:14px;
align-items:center;
margin-bottom:24px;
color:#5b6b7f;
font-size:.9rem;
}

.article-meta a{
color:var(--accent,#d4af37);
font-weight:500;
}

.article-thumbnail{
margin-bottom:32px;
border-radius:18px;
overflow:hidden;
}

.article-thumbnail img{
width:100%;
height:auto;
display:block;
}

.article-body{
font-size:1.05rem;
line-height:1.85;
color:#2a3140;
}

.article-body h2,
.article-body h3,
.article-body h4{
margin-top:1.8em;
margin-bottom:.6em;
}

.article-body img{
max-width:100%;
height:auto;
border-radius:12px;
}

.article-body blockquote{
margin:1.6em 0;
padding:1em 1.4em;
border-left:4px solid var(--accent,#d4af37);
background:#f7f8fa;
color:#5b6b7f;
}

.article-body p{
margin-bottom:1.1em;
}

.article-tags{
margin-top:40px;
padding-top:24px;
border-top:1px solid #eef0f3;
font-size:.9rem;
}

.article-tags-label{
color:#5b6b7f;
margin-right:6px;
}

.article-tags a{
display:inline-block;
margin:4px 6px 0 0;
padding:4px 12px;
border-radius:999px;
background:#f1f3f6;
color:#2a3140;
font-size:.85rem;
}

.article-tags a:hover{
background:var(--accent,#d4af37);
color:#fff;
}

.article-nav{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
margin-top:48px;
}

.article-nav>span:empty{
visibility:hidden;
}

.article-nav-prev,
.article-nav-next{
display:flex;
flex-direction:column;
gap:6px;
padding:20px 24px;
border-radius:14px;
background:#f7f8fa;
color:#2a3140;
transition:background .2s ease;
}

.article-nav-next{
text-align:right;
align-items:flex-end;
}

.article-nav-prev:hover,
.article-nav-next:hover{
background:#eef0f3;
}

.article-nav-dir{
font-size:.85rem;
color:#5b6b7f;
}

.article-nav-title{
font-weight:600;
font-size:1rem;
}

.article-sidebar{
position:sticky;
top:100px;
}

.back-to-news{
display:inline-block;
padding:12px 20px;
border-radius:10px;
background:#f1f3f6;
color:#2a3140;
font-size:.9rem;
font-weight:500;
}

.back-to-news:hover{
background:var(--accent,#d4af37);
color:#fff;
}

.page-hero h1{
font-size:2rem;
line-height:1.2;
color:#fff;
margin:14px 0;
}

@media (max-width:992px){
.article-layout{
grid-template-columns:1fr;
}
.article-sidebar{
position:static;
margin-top:40px;
}
}