:root{
    --bg:#f3f5f8;
    --white:#ffffff;
    --text:#1f2937;
    --muted:#5f6b7a;
    --line:#dbe2ea;
    --blue:#224f86;
    --blue-dark:#173a65;
    --yellow:#f2b705;
    --yellow-dark:#d79f00;
    --shadow:0 10px 30px rgba(14, 31, 77, 0.10);
    --radius:18px;
    --radius-sm:12px;
    --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.55;
}

img{max-width:100%;display:block;border:0}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

.container{
    width:min(var(--container), calc(100% - 32px));
    margin:0 auto;
}

.section{padding:34px 0}
.grid{display:grid;gap:24px}
ul {
    list-style-type: disc;
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 22px;
    border:none;
    border-radius:12px;
    background:var(--yellow);
    color:#111;
    font-weight:700;
    font-size:15px;
    text-decoration:none;
    cursor:pointer;
    transition:.2s ease;
    box-shadow:0 8px 18px rgba(242, 183, 5, .20);
}
.btn.btn-warning {
    gap: 7px;
    width: 100%;
}
.btn:hover{
    background:var(--yellow-dark);
    text-decoration:none;
    transform:translateY(-1px);
}

.btn--ghost{
    background:transparent;
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:none;
}

.btn--ghost:hover{background:rgba(255,255,255,.08)}

.badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:13px;
    border:1px solid rgba(255,255,255,.15);
}

.site-header{
    position:relative;
    z-index:100;
    background:#fff;
    box-shadow:0 4px 18px rgba(16, 34, 68, 0.05);
}
.site-header * {
    box-sizing: border-box;
}

.site-header a {
    text-decoration: none;
}
.site-header__top{border-bottom:1px solid var(--line)}

.site-header__top-inner{
    min-height:100px;
    display:grid;
    grid-template-columns:260px minmax(0, 1fr) auto;
    gap:28px;
    align-items:center;
    padding:14px 0;
}

.site-logo{display:flex;flex-direction:column;gap:8px;color:var(--text)}
.site-logo__mark{font-size:26px;font-weight:900;line-height:1;color:var(--blue);letter-spacing:.02em}
.site-logo__text{font-size:12px;line-height:1.4;color:var(--muted)}
.site-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}
.site-header__contacts{
    display:grid;
    grid-template-columns:repeat(4, auto);
    justify-content:end;
    align-items:center;
    gap:22px;
}

.site-header__contact-item{display:flex;flex-direction:column;gap:4px}
.site-header__contact-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.site-header__contact-value{font-size:14px;line-height:1.4;color:var(--text)}
.site-header__phone{font-size:24px;font-weight:800;line-height:1;color:var(--blue);white-space:nowrap}

.site-header__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:12px;
    background:var(--yellow);
    color:#111;
    font-size:15px;
    font-weight:800;
    transition:.2s ease;
    white-space:nowrap;
    box-shadow:0 10px 18px rgba(242, 183, 5, .2);
}

.site-header__cta:hover{background:var(--yellow-dark);text-decoration:none}
.site-header__nav-wrap{background:#fff}
.site-nav{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0}

.site-nav__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:12px;
    color:var(--text);
    font-size:15px;
    font-weight:700;
    transition:.2s ease;
}

.site-nav__link:hover{background:#eef4fb;color:var(--blue);text-decoration:none}
.site-nav__link--active{background:var(--blue);color:#fff}
.site-nav__link--active:hover{background:var(--blue-dark);color:#fff}

.burger{
    display:none;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    padding:0;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
}

.burger__line{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:.2s ease}
.burger.is-active .burger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-active .burger__line:nth-child(2){opacity:0}
.burger.is-active .burger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;border-top:1px solid var(--line);background:#fff}
.mobile-menu.is-open{display:block}
.mobile-menu__inner{width:min(var(--container), calc(100% - 32px));margin:0 auto;padding:18px 0 22px}
.mobile-nav{display:grid;gap:8px}

.mobile-nav__link{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 14px;
    border-radius:12px;
    color:var(--text);
    font-size:16px;
    font-weight:700;
    background:#f5f8fc;
}

.mobile-nav__link--active{background:var(--blue);color:#fff}

.breadcrumbs{
    padding:16px 0 4px;
    font-size:13px;
    color:#6c7a89;
}

.breadcrumbs a{color:#6c7a89}

.page-hero{
    position:relative;
    overflow:hidden;
    background:
            linear-gradient(180deg, rgba(13,27,46,.82), rgba(13,27,46,.88)),
            url('/assets/images/articles/razvmain1.webp') center/cover no-repeat;
    color:#fff;
    padding:56px 0 42px;
}
.page-hero .container:before, .page-hero .container:after {
    display: none;
    content: none;
}
.page-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:90px;
    background:linear-gradient(to bottom, rgba(243,245,248,0), var(--bg));
    pointer-events:none;
}
.site-header .container:before, .site-header .container:after,
.section .container:before, .section .container:after,
.site-footer .container:before, .site-footer .container:after,
.breadcrumbs.container:before, .breadcrumbs.container:after,
.articles-section .container:before, .articles-section .container:after {
    display: none;
    content: none;
}
#articles .container:before, #articles .container:after,
#services .container:before, #services .container:after {
    display: none;
    content: none;
}
.hero-wrap{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(320px, .75fr);
    gap:28px;
    align-items:start;
}

.hero-content h1{
    margin:14px 0 14px;
    font-size:44px;
    line-height:1.08;
    letter-spacing:-.02em;
}

.hero-content p{
    margin:0 0 18px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    max-width:760px;
}

.hero-points{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    margin:18px 0 26px;
}

.hero-point{
    padding:14px 16px;
    border-radius:14px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:15px;
}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px}

.hero-card{
    background:rgba(255,255,255,.96);
    color:var(--text);
    border-radius:22px;
    padding:22px;
    box-shadow:var(--shadow);
}

.hero-card__title{margin:0 0 8px;font-size:24px;line-height:1.15;color:var(--blue-dark)}
.hero-card__text{margin:0 0 16px;color:var(--muted);font-size:15px}
.hero-card__list{margin:0 0 18px;padding:0;list-style:none}

.hero-card__list li{
    position:relative;
    padding-left:22px;
    margin:0 0 10px;
    color:var(--text);
    font-size:15px;
}

.hero-card__list li::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--yellow);
}

.block{
    background:var(--white);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:28px;
}

.section-title{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.12;
    color:var(--blue-dark);
    letter-spacing:-.02em;
}

.section-text{margin:0;color:var(--muted);font-size:17px;max-width:900px}

.anchors{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.anchor-link{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 14px;
    border-radius:999px;
    background:#eef3f8;
    color:var(--blue-dark);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:1px solid #dce5ee;
}

.anchor-link:hover{background:#e6edf6;text-decoration:none}

.blog-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 330px;
    gap:24px;
    align-items:start;
}

.article-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
}

.article-card{
    background:#fff;
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    border:1px solid rgba(219,226,234,.7);
}

.article-card__media{
    aspect-ratio:16/9;
    background:#dfe7f1;
    overflow:hidden;
}

.article-card__media img{width:100%;height:100%;object-fit:cover}

.article-card__body{
    padding:20px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.article-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
    color:var(--muted);
    font-size:13px;
}

.article-card__tag{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#eef3f8;
    color:var(--blue-dark);
    font-weight:700;
}

.article-card__title{
    margin:0 0 10px;
    font-size:23px;
    line-height:1.15;
    color:var(--blue-dark);
}

.article-card__text{
    margin:0 0 18px;
    color:var(--muted);
    font-size:15px;
}

.article-card__footer{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

.read-more{
    font-weight:800;
    color:var(--blue);
}

.read-time{
    color:var(--muted);
    font-size:13px;
    white-space:nowrap;
}

.sidebar{display:grid;gap:18px;position:sticky;top:18px}

.side-card{
    background:#fff;
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:22px;
    border:1px solid var(--line);
}

.side-card h3{margin:0 0 12px;font-size:22px;line-height:1.15;color:var(--blue-dark)}
.side-card p{margin:0 0 14px;color:var(--muted);font-size:15px}

.category-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}

.category-list a{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:12px;
    background:#f5f8fc;
    color:var(--text);
    font-weight:700;
    font-size:14px;
}

.category-list a:hover{background:#eef3f8;color:var(--blue);text-decoration:none}
.category-list span{color:var(--muted);font-weight:700}

.contacts-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.contacts-list li{color:var(--muted);font-size:15px}
.contacts-list strong{display:block;color:var(--blue-dark);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}

.services-strip{
    background:#e9edf3;
    padding:30px 0;
}

.services-wrap{
    display:grid;
    grid-template-columns:220px minmax(0, 1fr);
    gap:24px;
    align-items:start;
}

.services-title{
    margin:0;
    color:var(--blue-dark);
    font-size:22px;
    line-height:1.2;
}

.service-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.service-link{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 14px;
    background:#fff;
    border:1px solid var(--line);
    border-left:3px solid var(--blue);
    border-radius:4px;
    color:var(--blue);
    font-size:14px;
    font-weight:700;
    box-shadow:0 6px 16px rgba(14,31,77,.06);
}

.service-link:hover{text-decoration:none;background:#f9fbff}

.cta-band{
    background:
            linear-gradient(180deg, rgba(23,58,101,.92), rgba(23,58,101,.92)),
            url('/assets/images/articles/razvmain2.webp') center/cover no-repeat;
    color:#fff;
    border-radius:26px;
    padding:34px;
    box-shadow:var(--shadow);
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:18px;
    align-items:center;
}

.cta-band h2{margin:0 0 8px;font-size:34px;line-height:1.1;color:#fff}
.cta-band p{margin:0;color:rgba(255,255,255,.86);font-size:17px;max-width:760px}

.form-wrap{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:24px;
    align-items:start;
}

.form-card{
    background:#fff;
    border-radius:22px;
    box-shadow:var(--shadow);
    padding:28px;
}

.form-card h2{margin:0 0 10px;font-size:34px;line-height:1.1;color:var(--blue-dark)}
.form-card p{margin:0 0 18px;color:var(--muted);font-size:16px}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-size:14px;font-weight:700;color:var(--blue-dark)}
.input-group-addon {
    display: none;
}
.field input:not(#bottomPolitics),
.field textarea,
.field select{
    width:100%;
    margin-bottom: 15px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:12px;
    min-height:50px;
    padding:12px 14px;
    font-size:15px;
    color:var(--text);
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.field textarea{min-height:130px;resize:vertical;padding-top:14px}

.field input:focus,
.field textarea:focus,
.field select:focus{
    border-color:#8bb2df;
    box-shadow:0 0 0 4px rgba(34,79,134,.10);
}
.input-group {
    width: 100%;
}
.form-side{display:grid;gap:16px}

.mini-card{
    background:#fff;
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:22px;
    border:1px solid var(--line);
}

.mini-card h3{margin:0 0 10px;font-size:21px;color:var(--blue-dark)}
.mini-card p,.mini-card li{color:var(--muted);font-size:15px}
.mini-card ul{margin:0;padding-left:18px}

.content-text{color:var(--muted);font-size:16px}
.content-text h2{margin:0 0 14px;font-size:32px;line-height:1.12;color:var(--blue-dark)}
.content-text h3{margin:24px 0 10px;font-size:22px;color:var(--blue-dark)}
.content-text p{margin:0 0 14px}

.site-footer{
    background:#111923;
    color:#fff;
    padding:34px 0;
    margin-top:26px;
}

.site-footer__grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:24px;
    align-items:start;
}

.site-footer p{margin:0 0 8px;color:rgba(255,255,255,.72);font-size:14px}
.site-footer a{color:#fff;font-weight:700}

@media (max-width:1140px){
    .site-header__top-inner{grid-template-columns:240px minmax(0, 1fr)}
    .site-header__contacts{grid-template-columns:repeat(2, auto);gap:16px 22px}
    .hero-wrap,.blog-layout,.form-wrap{grid-template-columns:1fr}
    .sidebar{position:static}
}

@media (max-width:920px){
    .site-header__top-inner{grid-template-columns:1fr auto;gap:16px;min-height:84px}
    .site-header__contacts,.site-header__nav-wrap{display:none}
    .burger{display:inline-flex}
    .site-logo{max-width:250px}
    .site-logo__text{display:none}
}

@media (max-width:760px){
    .container{width:min(var(--container), calc(100% - 20px))}
    .page-hero{padding:34px 0 24px}
    .hero-content h1,.section-title,.form-card h2,.cta-band h2,.content-text h2{font-size:30px}
    .hero-content p,.section-text,.cta-band p{font-size:16px}
    .hero-points,.article-grid,.form-grid,.services-wrap,.site-footer__grid{grid-template-columns:1fr}
    .block,.form-card,.mini-card,.hero-card,.cta-band{padding:22px}
    .hero-actions{flex-direction:column;align-items:stretch}
    .btn,.btn--ghost{width:100%}
    .cta-band{grid-template-columns:1fr}
    .article-card__footer{align-items:flex-start;flex-direction:column}
}
@media (max-width: 640px) {
    .site-logo {
        max-width: 210px;
    }
}
.mobile-menu__contact a, .mobile-menu__contact span {
    color: var(--header-text);
    font-size: 15px;
    line-height: 1.45;
}
.mobile-menu__label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--header-muted);
    letter-spacing: .04em;
}
.mobile-menu__contacts {
    display: grid;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--header-line);
    margin-bottom: 18px;
}
.mobile-menu__contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
@media (max-width: 480px) {
    .form-wrap {
        display: flex;
        width: 100%;
        flex-direction: column;
    }
    .form-card {
        width: 100%;
    }
    .form-grid {
        display: flex;
        flex-direction: column;
        max-width: 100%;
    }
    .cta-band {
        display: flex;
        flex-wrap: wrap;
    }
}
.articles-pagination {
    margin-top: 30px;
}

.articles-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.articles-pagination li {
    margin: 0;
    padding: 0;
}

.articles-pagination a,
.articles-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--ap-line);
    color: var(--ap-blue-dark);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(14, 31, 77, 0.06);
}

.articles-pagination a:hover {
    background: #eef3f8;
    color: var(--ap-blue);
    text-decoration: none;
}

.articles-pagination .is-active {
    background: var(--ap-blue);
    border-color: var(--ap-blue);
    color: #fff;
}
.category-list a.is-active {
    background: #93afd3;
    color: #fff;
}

.category-list a.is-active span {
    color: rgba(255, 255, 255, 0.75);
}