:root{
  --navy:#0b1f3a;
  --navy-2:#102b52;
  --red:#b31b2c;
  --gold:#d1aa5b;
  --gold-soft:#f6ebcf;
  --text:#122235;
  --muted:#5f6f83;
  --line:#dbe4ef;
  --bg:#f4f7fb;
  --card:#ffffff;
  --shadow:0 22px 56px rgba(14,38,72,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;border-radius:12px;z-index:120}

.topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.08))}
.brand b{display:block;font-size:18px;color:var(--navy);line-height:1.2}
.brand small{display:block;color:var(--muted);font-size:12px;line-height:1.3}
.nav{display:flex;gap:20px;align-items:center;font-weight:700}
.nav a{color:var(--navy)}
.nav a:hover{color:var(--red)}
.nav-cta{background:var(--red);color:#fff!important;padding:11px 16px;border-radius:999px;box-shadow:0 12px 30px rgba(179,27,44,.2)}
.burger{display:none;background:none;border:0;flex-direction:column;gap:5px;padding:6px;cursor:pointer}
.burger span{display:block;width:28px;height:3px;background:var(--navy);border-radius:3px}

.breadcrumbs{display:flex;gap:8px;align-items:center;padding:18px 0 0;color:var(--muted);font-size:14px;flex-wrap:wrap}
.breadcrumbs a{color:var(--navy)}

.hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(209,170,91,.18),transparent 26%),linear-gradient(135deg,var(--navy),#061424);color:#fff}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--hero-watermark);background-repeat:no-repeat;background-position:right -60px center;background-size:min(520px,45vw);opacity:.16;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,20,36,.06),rgba(6,20,36,.18));pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:84px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#f0d89b;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.hero h1,.inner-hero h1{font-size:clamp(34px,5vw,60px);line-height:1.04;margin:14px 0 16px}
.hero p{font-size:19px;color:#d7e1f0;max-width:760px}
.hero-actions,.cta-row,.official-links,.cta-banner__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800;border:2px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 16px 34px rgba(179,27,44,.2)}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff}
.centered{margin-top:28px}
.hero-bullets{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hero-bullet{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 14px;backdrop-filter:blur(6px)}
.hero-bullet strong{display:block;font-size:13px;color:#fff;margin-bottom:6px}
.hero-bullet span{display:block;font-size:14px;color:#d7e1f0;line-height:1.45}
.hero-card{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25);backdrop-filter:blur(10px)}
.hero-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(209,170,91,.36);border-radius:20px;pointer-events:none}
.hero-logo{position:relative;z-index:1;width:min(520px,100%);margin:0 auto 10px}
.hero-contact-mini{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.hero-contact-mini div{background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.hero-contact-mini span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.hero-contact-mini b{display:block;margin-top:6px;color:var(--navy);font-size:15px}

.notice{background:#fff;border-bottom:1px solid var(--line)}
.notice p{margin:0;padding:16px 0;color:var(--muted);font-size:14px}
.quick-contacts,.passport,.steps,.inner-hero,.article-page,.contact-box,.cta-banner{padding:70px 0}
.services,.articles-preview,.official-info{padding:70px 0}
.subtle-block{padding-top:0}
.section-head{text-align:center;max-width:900px;margin:0 auto 32px}.compact-head{margin-bottom:24px}
.section-head h2{font-size:clamp(28px,4vw,44px);margin:10px 0;color:var(--navy);line-height:1.12}.section-head p{color:var(--muted);font-size:18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card,.check-card,.step,.article-card,.contact-box,.contact-tile,.cta-banner__inner{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.card{padding:24px}.card h3,.article-card h3,.article-card h2,.step h3,.card h2{color:var(--navy);margin:0 0 10px}.card p,.article-card p,.step p{color:var(--muted);margin:0}.card a,.article-card a,.back{color:var(--red);font-weight:900;margin-top:14px;display:inline-block}
.passport-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.check-card{padding:18px;font-weight:800;color:var(--navy)}
.official-cards .card{background:linear-gradient(180deg,#fff,#f9fbff)}
.official-note{margin-top:24px;padding:22px;border-radius:22px;background:#fff7e7;border:1px solid #eedaa8;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.official-note p{margin:0;color:#624d1d}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:22px}
.faq-list{display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 18px;box-shadow:var(--shadow)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:800;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{padding:0 0 18px;margin:0;color:var(--muted)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.article-card{padding:24px}
.inner-hero{text-align:center}.inner-hero p{color:var(--muted);font-size:18px;max-width:760px;margin:auto}
.article-page{max-width:900px}.article-page h1{font-size:clamp(34px,5vw,54px);color:var(--navy);line-height:1.08;margin-bottom:12px}.lead{font-size:20px;color:var(--muted)}
.article-content{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;font-size:18px;box-shadow:var(--shadow)}
.article-cta{margin-top:26px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:24px;padding:30px}.article-cta p{color:#d7e1f0}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-grid-page{padding-bottom:8px}
.contact-tile{padding:22px;display:flex;flex-direction:column;gap:8px;color:var(--navy)}
.contact-tile strong{font-size:20px}.contact-tile span:last-child{color:var(--muted)}
.contact-tile__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--red));color:#fff}
.contact-tile__icon svg{width:24px;height:24px}
.contact-box{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:30px}.contact-box p{margin:0 0 8px}
.contact-stack{display:flex;flex-direction:column;gap:12px;min-width:min(320px,100%)}
.tiny-muted{font-size:13px;color:var(--muted)}
.cta-banner__inner{padding:30px 34px;background:linear-gradient(135deg,#fff,#f7faff);display:flex;justify-content:space-between;gap:24px;align-items:center}
.cta-banner__inner h2{margin:10px 0;color:var(--navy);font-size:clamp(26px,4vw,40px);line-height:1.1}.cta-banner__inner p{margin:0;color:var(--muted)}

.footer{background:#061424;color:#fff;padding:40px 0 120px}.footer p{color:#b8c2d1;font-size:14px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;align-items:start}.footer a{display:block;margin-bottom:10px;color:#fff}.footer-contacts{display:flex;flex-direction:column;gap:10px}.footer-link{padding:12px 16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.05)}

.floating-contact{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px;touch-action:none}
.floating-contact__toggle{position:relative;display:grid;place-items:center;width:72px;height:72px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--red),#e53d4d);color:#fff;box-shadow:0 22px 50px rgba(179,27,44,.35);cursor:grab;animation:phoneShake 2.2s infinite}
.floating-contact__toggle svg{width:30px;height:30px;position:relative;z-index:2}
.floating-contact__toggle:active{cursor:grabbing}
.floating-contact__ring{position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(255,255,255,.65);animation:pulseRing 1.8s infinite}
.floating-contact__panel{width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 70px rgba(14,38,72,.22);padding:18px}
.floating-contact__head strong{display:block;color:var(--navy);font-size:18px}.floating-contact__head span{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.floating-contact__list{display:grid;gap:10px;margin-top:14px}
.floating-contact__item{display:grid;grid-template-columns:48px 1fr;grid-template-areas:"icon title" "icon meta";gap:2px 12px;align-items:center;padding:12px;border-radius:16px;background:#f7faff;border:1px solid #e6edf6}
.floating-contact__item span{grid-area:icon;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--red));color:#fff}.floating-contact__item span svg{width:20px;height:20px}
.floating-contact__item b{grid-area:title;color:var(--navy)}.floating-contact__item small{grid-area:meta;color:var(--muted)}

.admin-body{background:#eef2f7}.admin-shell{max-width:1180px;margin:32px auto;padding:0 18px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px;margin-bottom:24px}.admin-panel h1,.admin-panel h2,.admin-panel h3{color:var(--navy)}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.admin-field label{font-weight:800;color:var(--navy)}.admin-field input,.admin-field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit}.admin-field textarea{min-height:110px}.admin-repeater{border:1px dashed #cbd5e1;border-radius:18px;padding:16px;margin-bottom:16px;background:#f8fafc}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.success{background:#eaf7ef;color:#1f7a3f;padding:12px 14px;border-radius:14px}.danger{background:#fff0f1;color:var(--red);padding:12px 14px;border-radius:14px}.add-btn{border:1px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.remove-btn{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}

@keyframes phoneShake{0%,100%{transform:rotate(0)}10%{transform:rotate(-10deg)}20%{transform:rotate(8deg)}30%{transform:rotate(-6deg)}40%{transform:rotate(4deg)}50%{transform:rotate(0)}80%{transform:rotate(0)}}
@keyframes pulseRing{0%{transform:scale(1);opacity:1}100%{transform:scale(1.35);opacity:0}}

@media (max-width:1100px){.hero-bullets,.hero-contact-mini{grid-template-columns:1fr}.cards,.article-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.passport-list{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.hero-grid,.footer-grid,.cta-banner__inner{grid-template-columns:1fr;display:grid}.nav{display:none;position:absolute;left:4%;right:4%;top:80px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);align-items:stretch}.nav.open{display:flex}.nav a{padding:10px 0}.burger{display:flex}.contact-box{flex-direction:column;align-items:flex-start}.contact-stack{min-width:0;width:100%}.admin-grid{grid-template-columns:1fr}}
@media (max-width:640px){.hero-grid{padding:56px 0}.hero p{font-size:17px}.btn{width:100%}.hero-actions .btn,.cta-row .btn,.cta-banner__actions .btn,.contact-stack .btn{width:100%}.cards,.article-grid,.passport-list,.timeline,.contact-grid{grid-template-columns:1fr}.brand small{display:none}.brand-logo{width:46px;height:46px}.hero-card{padding:20px}.section-head p,.inner-hero p{font-size:16px}.quick-contacts,.passport,.steps,.inner-hero,.article-page,.contact-box,.cta-banner,.services,.articles-preview,.official-info{padding:44px 0}.footer{padding-bottom:140px}.floating-contact{right:16px;bottom:16px}.floating-contact__toggle{width:64px;height:64px}}


/* FIX: плавающее окно контактов всегда открывается в видимой зоне */
.floating-contact{
  z-index:9999;
}
.floating-contact__panel{
  position:absolute;
  right:0;
  bottom:86px;
  top:auto;
  left:auto;
  max-height:calc(100vh - 120px);
  overflow:auto;
}
.floating-contact.panel-left .floating-contact__panel{
  right:auto;
  left:0;
}
.floating-contact.panel-down .floating-contact__panel{
  bottom:auto;
  top:86px;
}
.floating-contact.panel-up .floating-contact__panel{
  top:auto;
  bottom:86px;
}
@media(max-width:640px){
  .floating-contact__panel{
    width:min(320px, calc(100vw - 24px));
    bottom:76px;
  }
  .floating-contact.panel-down .floating-contact__panel{
    top:76px;
  }
}


/* FIX: убран серый квадрат фонового watermark на главном экране */
.hero::before{
  display:none!important;
  background-image:none!important;
}
.hero{
  background:
    radial-gradient(circle at 78% 18%, rgba(209,170,91,.13), transparent 23%),
    radial-gradient(circle at 88% 70%, rgba(179,27,44,.09), transparent 22%),
    linear-gradient(135deg,var(--navy),#061424)!important;
}


/* FIX: более тёмная тема сайта и улучшенная читаемость жёлтых заголовков */
body:not(.admin-body){
  background:#07111d;
  color:#eaf0f8;
}
body:not(.admin-body) .topbar{
  background:rgba(5,12,24,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body:not(.admin-body) .brand b,
body:not(.admin-body) .nav a,
body:not(.admin-body) .breadcrumbs a,
body:not(.admin-body) .breadcrumbs span{
  color:#f4f8fd!important;
}
body:not(.admin-body) .brand small,
body:not(.admin-body) .notice p,
body:not(.admin-body) .tiny-muted,
body:not(.admin-body) .card p,
body:not(.admin-body) .article-card p,
body:not(.admin-body) .step p,
body:not(.admin-body) .faq-item p,
body:not(.admin-body) .inner-hero p,
body:not(.admin-body) .section-head p,
body:not(.admin-body) .lead,
body:not(.admin-body) .contact-tile span:last-child,
body:not(.admin-body) .hero-bullet span,
body:not(.admin-body) .hero-contact-mini span{
  color:#b9c7d9!important;
}
body:not(.admin-body) .hero{
  background:
    radial-gradient(circle at 78% 18%, rgba(209,170,91,.14), transparent 23%),
    radial-gradient(circle at 88% 70%, rgba(179,27,44,.10), transparent 22%),
    linear-gradient(135deg,#050d18,#08192d)!important;
}
body:not(.admin-body) .eyebrow{
  color:#ffd874!important;
  text-shadow:0 1px 10px rgba(0,0,0,.35);
}
body:not(.admin-body) .section-head h2,
body:not(.admin-body) .inner-hero h1,
body:not(.admin-body) .article-page h1,
body:not(.admin-body) .card h2,
body:not(.admin-body) .card h3,
body:not(.admin-body) .article-card h2,
body:not(.admin-body) .article-card h3,
body:not(.admin-body) .step h3,
body:not(.admin-body) .faq-item summary,
body:not(.admin-body) .contact-tile strong,
body:not(.admin-body) .contact-box h2,
body:not(.admin-body) .cta-banner__inner h2,
body:not(.admin-body) .hero-contact-mini b,
body:not(.admin-body) .check-card{
  color:#f3f7fd!important;
}
body:not(.admin-body) .notice,
body:not(.admin-body) .quick-contacts,
body:not(.admin-body) .passport,
body:not(.admin-body) .services,
body:not(.admin-body) .steps,
body:not(.admin-body) .faq-section,
body:not(.admin-body) .articles-preview,
body:not(.admin-body) .official-info,
body:not(.admin-body) .contact-box,
body:not(.admin-body) .inner-hero,
body:not(.admin-body) .article-page,
body:not(.admin-body) .cta-banner,
body:not(.admin-body) .breadcrumbs{
  background:transparent!important;
}
body:not(.admin-body) .card,
body:not(.admin-body) .check-card,
body:not(.admin-body) .step,
body:not(.admin-body) .article-card,
body:not(.admin-body) .contact-box,
body:not(.admin-body) .contact-tile,
body:not(.admin-body) .cta-banner__inner,
body:not(.admin-body) .article-content,
body:not(.admin-body) .faq-item,
body:not(.admin-body) .hero-contact-mini div,
body:not(.admin-body) .official-note,
body:not(.admin-body) .floating-contact__panel,
body:not(.admin-body) .floating-contact__item{
  background:#0d1b2c!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.28)!important;
}
body:not(.admin-body) .official-cards .card,
body:not(.admin-body) .hero-card{
  background:rgba(13,27,44,.92)!important;
  border-color:rgba(255,255,255,.08)!important;
}
body:not(.admin-body) .contact-tile__icon,
body:not(.admin-body) .floating-contact__item span{
  background:linear-gradient(135deg,#c22a3a,#e24f5d)!important;
}
body:not(.admin-body) .article-content,
body:not(.admin-body) .contact-box p,
body:not(.admin-body) .floating-contact__head strong,
body:not(.admin-body) .floating-contact__item b,
body:not(.admin-body) .floating-contact__head span,
body:not(.admin-body) .floating-contact__item small,
body:not(.admin-body) .official-note p,
body:not(.admin-body) .footer p{
  color:#d7e1ee!important;
}
body:not(.admin-body) .official-note{
  background:#132335!important;
}
body:not(.admin-body) .footer{
  background:#040a13!important;
}
body:not(.admin-body) .footer a,
body:not(.admin-body) .footer-link{
  color:#f4f8fd!important;
}
body:not(.admin-body) .footer-link{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.09)!important;
}
body:not(.admin-body) .btn-outline{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.4)!important;
}
body:not(.admin-body) .btn-ghost{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.2)!important;
}
body:not(.admin-body) .nav.open{
  background:#0a1524!important;
  border-color:rgba(255,255,255,.08)!important;
}
