/* =============== GLOBAL =============== */
* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #222;
  background: #f7f8fa;
  scroll-behavior: smooth;
}

/* Palette */
:root{
  --brand-blue: #00488C;
  --header-blue:#00468B;
  --text-dark:  #0e2956;
  --muted: rgba(0,0,0,.55);
  --footer-bg:#f3f4f6;
}

/* Universal wedge on top */
.slope-top{ position: relative; }
.slope-top::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-72px; height:72px;
  background: var(--section-bg, transparent);
  clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 -1px 0 rgba(0,0,0,.08);
  z-index: 1;
}

/* =============== HEADER =============== */
.header-bar{
  background: var(--header-blue);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 15px 30px;
  position: relative;
  z-index: 10;
  flex-wrap: wrap;
}
.header-left { display:flex; align-items:center; gap:10px; }
.logo{ height:40px; width:auto; }
.brand-name{ font-weight:700; font-size:16px; }
.brand-subtitle{ font-size:12px; opacity:.85; line-height:1; }

.header-nav{
  display:flex; gap:30px; flex:1 1 auto;
  justify-content:center; align-items:center;
}
.header-nav a{
  color:#fff; text-decoration:none; font-weight:500; transition:opacity .2s ease;
}
.header-nav a:hover{ opacity:.8; }

.header-right{ display:flex; align-items:center; gap:14px; }
.country{ font-weight:600; letter-spacing:.5px; }
.icon{ color:#fff; text-decoration:none; font-size:18px; transition:color .2s; }
.icon:hover{ color:#ffdf5d; }

.burger{
  display:none; background:none; border:0; color:#fff;
  font-size:26px; cursor:pointer; z-index:11;
}

/* =============== HERO  =============== */
.hero-section{
  width:100%; height:500px;
  background:url('img/fon1.png') center/cover no-repeat;
  display:flex; align-items:center; justify-content:center;
}
.hero-content{
  background:rgba(0,0,0,.5);
  padding:30px;
  border-radius:12px;
  text-align:center;
  color:#fff;
}
.hero-content h1{ margin:0 0 18px; font-size:36px; }
.cta-btn{
  display:inline-block;
  background:#fff; color:var(--brand-blue);
  padding:12px 24px; border-radius:30px; font-weight:700;
  text-decoration:none; transition:.25s ease;
}
.cta-btn:hover{ background:var(--brand-blue); color:#fff; }

/* =============== QUICK FACTS  =============== */
.quick-facts{
  --section-bg:#ffffff;
  background: var(--section-bg);
  padding:60px 20px; text-align:center;
}
.container{ max-width:1100px; margin:0 auto; }
.intro{
  display:flex; align-items:center; justify-content:center;
  gap:20px; flex-wrap:wrap; margin-bottom:34px;
}
.profile-photo{
  width:90px; height:90px; border-radius:50%; object-fit:cover;
  border:3px solid var(--brand-blue);
}
.quick-facts h2{ font-size:30px; color:var(--brand-blue); margin:0 0 6px; font-weight:800; }
.quick-facts .subtitle{ color:var(--brand-blue); font-weight:600; font-size:18px; margin:0; }

.facts{
  display:flex; justify-content:center; gap:60px; flex-wrap:wrap; margin-top:24px;
}
.fact strong{ display:block; font-size:40px; color:var(--brand-blue); font-weight:800; margin-bottom:6px; }
.fact p{ margin:0; font-size:16px; font-weight:600; color:var(--brand-blue); line-height:1.35; }
.credentials{ text-align:left; }
.credentials p{ margin:0 0 6px; font-size:20px; font-weight:800; color:var(--brand-blue); }
.credentials ul{ margin:0; padding:0; list-style:none; color:var(--brand-blue); font-weight:600; line-height:1.6; }

/* =============== SERVICES  =============== */
.services-block{
  --section-bg: #00488C;
  background: var(--section-bg);
  color:#fff; text-align:center; padding:60px 20px;
}
.services-block h3{ font-size:28px; margin:0 0 10px; font-weight:800; }
.services-block .subtitle{ margin:0 0 36px; opacity:.95; }

.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:38px; justify-items:center; align-items:start;
}
.service{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.service img{ height:50px; margin-bottom:12px; }
.service p{ margin:0; font-weight:600; }

/* =============== FOOTER  =============== */
.site-footer{
  --section-bg: var(--footer-bg);
  background: var(--section-bg);
  position: relative;
  text-align: center;
  padding-top: 50px;
}

.footer-form-block{
  max-width: 600px;
  margin: 0 auto 40px;
  padding: 0 20px;
}
.footer-form-block h3{
  margin: 0 0 16px;
  color: var(--text-dark);
  font-size: 22px;
  font-weight: 800;
}
.footer-form{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
  padding: 22px;
  text-align: left;
}
.footer-form input,
.footer-form select,
.footer-form textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 12px;
  font-size: 14px;
  background: #fff;
  color: var(--text-dark);
}
.footer-form input:focus,
.footer-form select:focus,
.footer-form textarea:focus{
  outline: none;
  border-color: #9bc1ff;
  box-shadow: 0 0 0 3px rgba(0,72,140,.15);
}
.footer-form .agree{
  display:flex; align-items:center; gap:10px;
  margin: 6px 0 12px;
  font-size: 12px;
  color: var(--text-dark);
}
.footer-form .agree input{
  width:18px; height:18px; margin:0;
  accent-color: var(--brand-blue);
}
.footer-btn{
  width:100%;
  background: var(--brand-blue);
  color:#fff; border:0; border-radius: 12px;
  padding: 12px 18px; font-weight: 800;
  cursor:pointer; transition:.18s ease;
}
.footer-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.form-toast{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9); /* Идеально центрирует и готовит к плавному увеличению */
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
  background: #ffffff; /* Белый фон, чтобы контрастировать на фоне затемнения */
  color: var(--text-dark);
  padding: 16px 28px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  border: 1px solid rgba(0,72,140,.15);
  box-shadow: 0 10px 30px rgba(0,0,0,.15); /* Красивая мягкая тень */
  z-index: 9999; /* Чтобы всплывало поверх абсолютно всего на сайте */
  text-align: center;
}
.form-toast.show{
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1); /* Плавно увеличивается до нормального размера */
}
.footer-bottom .meta{
  display:flex; gap:20px; flex-wrap:wrap; justify-content:center;
  color: var(--text-dark);
}
.footer-bottom .meta a,
.footer-bottom .meta span,
.footer-bottom .meta div{
  color: inherit; text-decoration: none;
}
.footer-bottom .meta i{
  color: var(--brand-blue);
  margin-right: 6px;
}
.footer-bottom .copyright{
  text-align:center; color: var(--muted); font-size: 13px;
}
.back-to-top{
  color: var(--brand-blue);
  text-decoration: none;
  font-size: 18px;
  padding: 6px;
}
.back-to-top:hover{ opacity:.85; }

/* Social media */
.footer-bottom .social-icon{
  color: var(--brand-blue);
  font-size: 18px;
  margin-left: 10px;
  text-decoration: none;
  transition: color .3s;
}
.footer-bottom .social-icon:hover{ color:#ff4081; }

/* Accessibility */
.visually-hidden{
  position:absolute !important;
  clip:rect(1px,1px,1px,1px);
  clip-path: inset(50%);
  height:1px; width:1px; overflow:hidden; white-space:nowrap;
}

/* =============== ADAPTIVE =============== */
@media (max-width: 992px){
  .services-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px){
  .header-bar{ flex-direction:column; align-items:flex-start; }
  .burger{ display:block; position:absolute; top:18px; right:24px; }
  .header-nav{
    display:none; flex-direction:column; gap:14px; width:100%;
    padding:10px 0; background:var(--header-blue);
  }
  .header-nav.active{ display:flex; }
  .header-right{ order:3; width:100%; justify-content:center; margin-top:10px; flex-wrap:wrap; }
  .hero-content h1{ font-size:28px; }
}
@media (max-width: 560px){
  .services-grid{ grid-template-columns:1fr; }
}
