:root{
  --bg:#FFFFFF;
  --bg-soft:#F0F4F9;
  --bg-soft-2:#E5ECF4;
  --line:#D7DEE8;
  --line-2:#C2CCDA;
  --ink:#0E1B33;
  --text:#1F2A44;
  --text-2:#445268;
  --muted:#6B7689;
  --blue:#1B4F8A;
  --blue-dark:#0D2B5C;
  --blue-light:#3B6FAB;
  --blue-soft:#E8EFF7;
  --red:#CC2200;
  --red-dark:#A11A00;
  --red-soft:#FDE9E5;
  --yellow:#FFD700;
  --green:#0F8A3E;
  --gold:#E8B339;
}
*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{
  font-family:"PT Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-size:15px;
  line-height:1.55;
}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
h1,h2,h3,h4{margin:0; font-weight:700; color:var(--ink); line-height:1.2}
p{margin:0}
::selection{background:var(--blue); color:#fff}

.wrap{max-width:1240px; margin:0 auto; padding:0 28px}
.narrow{font-family:"PT Sans Narrow", "PT Sans", sans-serif}

/* ===== TOP TRICOLOR INDICATOR ===== */
.ru-strip{
  height:4px;
  background:linear-gradient(90deg, var(--red) 0 33.33%, transparent 33.33%);
  position:relative;
}
.ru-strip::before{
  content:""; position:absolute; left:0; right:0; top:0; bottom:0;
  background:var(--red);
}

/* ===== SUPER TOP STRIP (mini info bar) ===== */
.infobar{
  background:var(--blue-dark); color:#D3DEEF;
  font-size:12px;
}
.infobar .wrap{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 28px; gap:24px;
}
.infobar .left, .infobar .right{display:flex; align-items:center; gap:18px}
.infobar a{color:#fff; transition:color .15s}
.infobar a:hover{color:var(--yellow)}
.infobar .lic{color:#9EB1D0}
.infobar .lic b{color:#fff; font-weight:700}
.infobar .sep{width:1px; height:14px; background:rgba(255,255,255,.18)}

/* ===== HEADER ===== */
.topbar{
  background:#fff; border-bottom:1px solid var(--line);
}
.topbar .wrap{
  display:grid; grid-template-columns:auto 1fr auto auto;
  align-items:center; gap:28px; padding:18px 28px;
}
.topbar .block,
.infobar .block{
  position:relative;
}
.brand{display:flex; align-items:center; gap:14px}
.brand .seal{
  width:54px; height:54px;
  background:var(--blue);
  border:2px solid var(--blue);
  display:grid; place-items:center;
  color:#fff; font-weight:700; font-size:22px; letter-spacing:-.04em;
  position:relative;
  border-radius:8px;
}
.brand .seal::after{
  content:""; position:absolute; left:-2px; bottom:-2px;
  width:18px; height:6px; background:var(--red);
  border-bottom-left-radius:8px;
}
.brand .seal::before{
  content:""; position:absolute; right:-2px; top:-2px;
  width:6px; height:18px; background:var(--red);
  border-top-right-radius:8px;
}
.brand .name{display:flex; flex-direction:column; line-height:1.15}
.brand .name b{
  font-weight:700; font-size:20px; color:var(--ink);
  letter-spacing:-.005em;
}
.brand .name small{
  font-size:12px; color:var(--muted); margin-top:3px;
}
.brand .name small em{font-style:normal; color:var(--blue); font-weight:700}

/* Badge — "Без выходных" yellow on blue */
.badge-hours{
  display:inline-flex; flex-direction:column;
  background:var(--blue); color:#fff;
  padding:9px 16px; border-radius:6px;
  position:relative; overflow:hidden;
  border-left:3px solid var(--yellow);
}
.badge-hours .lbl{
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--yellow); font-weight:700; line-height:1;
}
.badge-hours .val{
  font-size:14px; font-weight:700; color:#fff; line-height:1.2; margin-top:5px;
}

/* Phones — large red */
.phones{display:flex; gap:28px; align-items:flex-start}
.phones .pbx{display:flex; flex-direction:column; line-height:1.1; text-align:right}
.phones .ph{
  font-weight:700; font-size:22px; color:var(--red);
  letter-spacing:-.01em; font-variant-numeric:tabular-nums;
  transition:color .15s;
}
.phones .ph:hover{color:var(--red-dark)}
.phones .lbl{color:var(--muted); font-size:11px; margin-top:4px; line-height:1.3}

.btn-cta-top{
  background:var(--red); color:#fff; padding:14px 22px; border-radius:6px;
  font-weight:700; font-size:13.5px;
  border:0; cursor:pointer; transition:background .15s, transform .12s;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 4px 10px -2px rgba(204,34,0,.3);
}
.btn-cta-top:hover{background:var(--red-dark)}
.btn-cta-top:active{transform:translateY(1px)}

/* ===== NAV (deep blue) ===== */
nav.menu{
  background:var(--blue);
  border-bottom:3px solid var(--red);
}
nav.menu .wrap{
  display:flex; gap:0; align-items:stretch; padding:0 28px;
}
nav.menu a{
  flex:1; min-width:0;
  padding:14px 12px; text-align:center;
  font-size:12.5px; color:#fff; font-weight:400; line-height:1.3;
  border-left:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
nav.menu a:first-child{border-left:0}
nav.menu a:hover{background:var(--blue-dark)}
nav.menu a.cur{background:var(--blue-dark); font-weight:700}
nav.menu a.login{
  background:var(--red); flex:0 0 80px; font-weight:700;
}
nav.menu a.login:hover{background:var(--red-dark)}

/* ===== TRICOLOR DIVIDER ===== */
.tricolor{
  height:8px; display:flex;
}
.tricolor span{flex:1}
.tricolor span:nth-child(1){background:#fff; border-bottom:1px solid var(--line)}
.tricolor span:nth-child(2){background:#1B4F8A}
.tricolor span:nth-child(3){background:#CC2200}

/* ===== HERO BANNER ===== */
.hero{
  background:
    linear-gradient(135deg, var(--blue) 0%, #163F70 100%);
  color:#fff;
  padding:56px 0 64px;
  position:relative; overflow:hidden;
}
.hero::before{
  content:""; position:absolute; right:-200px; top:-200px;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(255,215,0,.08) 0%, transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:""; position:absolute; left:-100px; bottom:-150px;
  width:400px; height:400px;
  background:radial-gradient(circle, rgba(204,34,0,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hero .wrap{position:relative; z-index:1}
.hero-grid{display:grid; grid-template-columns:1.5fr auto; gap:48px; align-items:center}

.breadcrumb{
  font-size:12.5px; color:#B6C5DC; margin-bottom:18px;
  display:flex; gap:8px; align-items:center;
}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{color:rgba(255,255,255,.3)}
.breadcrumb .cur{color:#fff; font-weight:700}

.hero h1{
  color:#fff; font-size:clamp(30px, 4vw, 44px);
  font-weight:700; letter-spacing:-.015em; line-height:1.15;
  max-width:720px;
}
.hero h1 em{
  font-style:normal; color:var(--yellow);
}
.hero .lede{
  margin-top:18px; max-width:680px; font-size:16px;
  color:#D3DEEF; line-height:1.6;
}
.hero-cta{margin-top:28px; display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.btn-yellow{
  background:var(--yellow); color:var(--ink); font-weight:700;
  padding:14px 24px; border-radius:6px; font-size:14px;
  transition:background .15s; border:0; cursor:pointer;
  display:inline-flex; align-items:center; gap:10px;
}
.btn-yellow:hover{background:#FFC700}
.btn-white-line{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4);
  padding:13px 22px; border-radius:6px; font-size:14px; font-weight:700;
  transition:background .15s, border-color .15s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-white-line:hover{background:rgba(255,255,255,.08); border-color:#fff}

/* ГИБДД SEAL */
.seal-card{
  background:rgba(255,255,255,.06);
  border:1.5px dashed rgba(255,255,255,.25);
  border-radius:12px;
  padding:24px;
  width:240px; text-align:center;
  backdrop-filter:blur(4px);
}
.seal-circle{
  width:140px; height:140px; margin:0 auto;
  border-radius:50%;
  border:2.5px solid var(--yellow);
  background:rgba(255,215,0,.06);
  position:relative;
  display:grid; place-items:center;
}
.seal-circle::before{
  content:""; position:absolute; inset:6px;
  border:1px dashed var(--yellow); border-radius:50%;
  opacity:.5;
}
.seal-circle .star{
  position:absolute; top:14px; left:50%; transform:translateX(-50%);
  color:var(--yellow); font-size:14px;
}
.seal-circle .inner{
  text-align:center; padding:0 10px;
}
.seal-circle .inner .t1{
  font-size:9.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--yellow); font-weight:700; line-height:1;
}
.seal-circle .inner .t2{
  font-size:22px; font-weight:700; color:#fff;
  line-height:1; margin-top:6px; letter-spacing:-.01em;
}
.seal-circle .inner .t3{
  font-size:9.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--yellow); font-weight:700; margin-top:6px;
}
.seal-card .nlbl{
  margin-top:14px; font-size:11.5px; color:#D3DEEF; line-height:1.4;
}
.seal-card .nlbl b{color:#fff}

/* STATS in blue bordered boxes */
.stats-bar{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:28px 0;
}
.stats-bar .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.stat-box{
  background:#fff; border:1.5px solid var(--blue);
  border-radius:8px; padding:20px 22px;
  display:flex; flex-direction:column; gap:6px;
  position:relative;
  transition:box-shadow .2s, transform .2s;
}
.stat-box:hover{box-shadow:0 6px 16px -4px rgba(27,79,138,.18); transform:translateY(-2px)}
.stat-box::before{
  content:""; position:absolute; top:0; left:0; bottom:0; width:4px;
  background:var(--red);
}
.stat-box .v{
  font-weight:700; font-size:30px; color:var(--blue);
  letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1;
}
.stat-box .v small{color:var(--red); font-size:18px; margin-left:4px}
.stat-box .l{
  font-size:13px; color:var(--text-2); line-height:1.4;
}

/* ===== ABOUT TEXT BLOCK ===== */
.about{padding:56px 0 72px; background:var(--bg-soft)}
.about-grid{display:grid; grid-template-columns:1fr 2fr; gap:48px}
.about h2{
  font-size:30px; font-weight:700; color:var(--ink);
  letter-spacing:-.015em; line-height:1.15;
  border-left:4px solid var(--red);
  padding-left:16px;
}
.about h2 small{display:block; font-size:13px; color:var(--blue); font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px}
.about-aside{margin-top:24px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px; font-size:14px}
.about-aside h4{color:var(--blue); font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--line)}
.about-aside ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px}
.about-aside li{display:flex; align-items:flex-start; gap:10px; color:var(--text-2); line-height:1.45; font-size:13.5px}
.about-aside li svg{flex:0 0 16px; margin-top:2px; color:var(--green)}
.about-body{font-size:15px; line-height:1.7; color:var(--text-2)}
.about-body .first-para{
  font-size:16.5px; color:var(--ink); font-weight:400; line-height:1.55;
  padding:18px 22px; background:var(--blue-soft);
  border-left:4px solid var(--blue); border-radius:0 6px 6px 0;
  margin-bottom:22px;
}
.about-body p + p{margin-top:14px}

/* ===== INNER PAGE ===== */
.layout-content .page-title{
  font-size:32px;
  letter-spacing:-.015em;
  margin:28px 0 0;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.layout-content .page-title .field--name-title{
  display:inline;
}

/* ===== SVEDEN LAYOUT ===== */
main.wrap.main--with-sidebar{
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(0, 1fr);
  gap:32px;
  align-items:start;
  padding-top:24px;
  padding-bottom:48px;
}
.layout-sidebar-first{
  position:sticky;
  top:24px;
}
.sveden-sidebar{
  width:100%;
}
.sveden-menu-nav{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(14, 27, 51, 0.05);
}
.sveden_menu{
  list-style:none;
  margin:0;
  padding:0;
}
.sveden_menu .menu-item{
  border-bottom:1px solid var(--line);
}
.sveden_menu .menu-item:last-child{
  border-bottom:0;
}
.sveden_menu .menu-item a{
  display:block;
  padding:13px 18px 13px 15px;
  font-size:13.5px;
  line-height:1.45;
  color:var(--text);
  text-decoration:none;
  border-left:3px solid transparent;
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.sveden_menu .menu-item a:hover{
  color:var(--blue);
  background:var(--blue-soft);
  border-left-color:var(--blue-light);
}
.sveden_menu .menu-item.current-menu-item a,
.sveden_menu .menu-item a.is-active{
  color:var(--red);
  font-weight:700;
  background:var(--red-soft);
  border-left-color:var(--red);
}
.sveden_menu .menu-item.current-menu-item a:hover,
.sveden_menu .menu-item a.is-active:hover{
  color:var(--red-dark);
  background:var(--red-soft);
  border-left-color:var(--red-dark);
}

/* ===== SVEDEN PAGE CONTENT ===== */
.basic-info-content{
  min-width:0;
}
.right_side{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.sveden-row{
  display:grid;
  grid-template-columns:minmax(180px, 34%) minmax(0, 1fr);
  gap:0;
  border-bottom:1px solid var(--line);
}
.sveden-row:last-child{
  border-bottom:0;
}
.right_side .left_col{
  padding:16px 18px;
  background:var(--bg-soft);
  border-right:1px solid var(--line);
  font-size:13.5px;
  font-weight:700;
  color:var(--ink);
  line-height:1.45;
  word-break:break-word;
}
.right_side .right_col{
  padding:16px 18px;
  font-size:14px;
  line-height:1.6;
  color:var(--text-2);
}
.right_side .right_col p + p{
  margin-top:10px;
}
.right_side .right_col a{
  color:var(--blue);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.right_side .right_col a:hover{
  color:var(--red);
}
.right_side .right_col ol{
  margin:0;
  padding-left:20px;
}
.right_side .right_col ol li + li{
  margin-top:8px;
}
.sveden-text{
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  font-size:14px;
  line-height:1.6;
  color:var(--text-2);
}
.sveden-text:last-child{
  border-bottom:0;
}
.sveden-text h3{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:var(--ink);
}
.sveden-text hr{
  margin:0;
  border:0;
  border-top:1px solid var(--line);
}
.sveden-text p + p{
  margin-top:10px;
}

/* ===== SVEDEN INTRO ===== */
.sveden-intro-region{
  padding-top:24px;
}
.sveden-intro{
  padding:0 0 8px;
}
.sveden-intro__title{
  font-size:24px;
  font-weight:700;
  color:var(--ink);
  line-height:1.25;
  margin:24px 0 16px;
}
.sveden-intro__text{
  font-size:15px;
  line-height:1.7;
  color:var(--text-2);
  padding:18px 22px;
  background:var(--blue-soft);
  border-left:4px solid var(--blue);
  border-radius:0 6px 6px 0;
}
.sveden-intro__text p{margin:0}

/* ===== SECTION TITLE ===== */
.sec-title{
  text-align:center; margin-bottom:40px;
}
.sec-title h2{
  font-size:32px; font-weight:700; color:var(--ink); letter-spacing:-.015em;
  line-height:1.2; text-transform:uppercase;
}
.sec-title .div{
  margin:14px auto 12px; width:64px; height:3px;
  background:var(--red); position:relative;
}
.sec-title .div::before, .sec-title .div::after{
  content:""; position:absolute; top:0; width:32px; height:3px;
}
.sec-title .div::before{left:-40px; background:var(--blue)}
.sec-title .div::after{right:-40px; background:#fff; border-top:1px solid var(--line)}
.sec-title p{color:var(--muted); font-size:15px; margin-top:8px}

/* ===== PROGRAMS ===== */
.programs{padding:72px 0; background:#fff}

/* ===== SERVICES ===== */
.services{padding:72px 0; background:var(--bg-soft)}
.svcgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.svcard{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  padding:24px 22px; display:flex; flex-direction:column; gap:10px;
  min-height:100%; transition:box-shadow .25s, transform .25s, border-color .25s;
  position:relative; overflow:hidden;
}
.svcard::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--blue);
}
.svcard:hover{
  box-shadow:0 10px 28px -8px rgba(27,79,138,.14);
  transform:translateY(-3px); border-color:var(--blue-light);
}
.svcard h3{
  font-size:17px; font-weight:700; color:var(--ink); line-height:1.35;
  margin:0; padding-top:4px;
}
.svcard p{margin:0; font-size:14px; line-height:1.55; color:var(--text-2); flex:1}
.svcard .sprice{
  margin-top:6px; font-size:15px; font-weight:700; color:var(--red);
  font-variant-numeric:tabular-nums;
}

/* ===== PARTNERS ===== */
.partners{padding:56px 0 72px; background:#fff; border-top:1px solid var(--line)}
.ptgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.ptcard{
  display:flex; flex-direction:column; gap:8px;
  background:var(--bg-soft); border:1px solid var(--line); border-radius:10px;
  padding:24px 22px; min-height:100%;
  transition:box-shadow .25s, transform .25s, border-color .25s, background .25s;
}
.ptcard:hover{
  background:#fff; border-color:var(--blue-light);
  box-shadow:0 8px 24px -8px rgba(27,79,138,.16);
  transform:translateY(-3px);
}
.ptcard .ptname{font-size:20px; font-weight:700; color:var(--blue); line-height:1.2}
.ptcard .ptdesc{font-size:14px; color:var(--text-2); line-height:1.45}
.ptcard .ptlink{
  margin-top:auto; padding-top:8px;
  font-size:13px; font-weight:700; color:var(--red);
}

.pgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.pcard{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  display:flex; flex-direction:column; overflow:hidden;
  transition:box-shadow .25s, transform .25s, border-color .25s;
  position:relative;
}
.pcard:hover{
  box-shadow:0 10px 28px -8px rgba(27,79,138,.18);
  transform:translateY(-4px); border-color:var(--blue-light);
}
.pcard .phead{
  background:var(--blue); color:#fff;
  padding:18px 22px;
  display:flex; flex-direction:column; gap:4px;
  position:relative;
}
.pcard .phead .ptag{font-size:11.5px; color:#B6C5DC; letter-spacing:.05em}
.pcard .phead .pname{
  font-size:22px; font-weight:700; color:#fff;
  letter-spacing:-.01em; line-height:1.1;
}
.pcard.rec .phead{background:var(--blue-dark)}
.pcard.rec .ribbon{
  position:absolute; top:14px; right:-32px;
  background:var(--red); color:#fff; font-weight:700;
  font-size:11px; letter-spacing:.05em; padding:5px 40px;
  transform:rotate(45deg);
  text-transform:uppercase;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  z-index:2;
}
.pcard.rec .phead::before,
.pcard.rec .phead::after{display:none}
.pcard .pbody{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1}
.pcard .pprice{
  display:flex; align-items:baseline; gap:8px;
  padding-bottom:18px; border-bottom:1px dashed var(--line);
}
.pcard .pprice .v{
  font-weight:700; font-size:38px; color:var(--red);
  letter-spacing:-.025em; line-height:1; font-variant-numeric:tabular-nums;
}
.pcard .pprice .u{font-size:14px; color:var(--muted); font-weight:400}
.pcard .pprice .old{
  margin-left:auto; color:var(--muted); text-decoration:line-through;
  font-size:14px; padding-bottom:4px;
}

.feat{
  list-style:none; padding:0; margin:18px 0 22px;
  display:flex; flex-direction:column; gap:11px;
  flex:1;
}
.feat li{
  font-size:13.5px; line-height:1.5; color:var(--text);
  display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start;
}
.feat li .chk{
  flex:0 0 16px; width:16px; height:16px; border-radius:50%;
  background:var(--green); color:#fff;
  display:grid; place-items:center; font-size:9px; font-weight:700;
  margin-top:3px;
}
.feat li.strike{color:var(--red); font-weight:700}
.feat li.strike .chk{background:var(--red)}
.feat li.note{
  color:var(--muted); font-size:11.5px; font-style:italic;
  grid-template-columns:1fr; padding-top:6px; border-top:1px dashed var(--line); margin-top:6px;
}

.pcard .pcta .btn{
  width:100%; padding:14px; font-size:13.5px;
  background:var(--red); color:#fff; font-weight:700;
  border-radius:6px; border:0; cursor:pointer;
  transition:background .15s; text-transform:uppercase; letter-spacing:.04em;
  box-shadow:0 4px 10px -2px rgba(204,34,0,.25);
}
.pcard .pcta .btn:hover{background:var(--red-dark)}
.pcard.rec .pcta .btn{
  background:var(--red); border:0;
}

/* ===== INSTRUCTORS ===== */
.inst{padding:72px 0; background:var(--bg-soft)}
.igrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.icard{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .25s, transform .25s, border-color .25s;
}
.icard:hover{
  box-shadow:0 10px 28px -8px rgba(27,79,138,.18);
  transform:translateY(-4px); border-color:var(--blue-light);
}
.icard .ihead{
  background:var(--blue); color:#fff;
  padding:16px 22px;
  display:flex; justify-content:space-between; align-items:center;
}
.icard .ihead .iname{
  font-weight:700; font-size:17px; letter-spacing:-.01em; color:#fff;
}
.icard .ihead .icat{
  font-size:11px; padding:4px 8px; background:rgba(255,255,255,.15);
  border-radius:4px; letter-spacing:.05em;
}
.iphoto{
  aspect-ratio:5/4; position:relative;
  background:
    repeating-linear-gradient(135deg,#F0EFEA 0 12px,#E8E6DF 12px 24px);
  display:grid; place-items:center;
  border-bottom:1px solid var(--line);
}
.iphoto .ph{
  width:96px; height:96px; border-radius:50%;
  background:rgba(255,255,255,.7); border:2px dashed rgba(27,79,138,.3);
  display:grid; place-items:center; color:var(--muted);
  font-size:11px;
}
.iphoto .stazh-badge{
  position:absolute; bottom:12px; left:12px;
  background:#fff; color:var(--ink);
  padding:6px 12px; border-radius:6px;
  font-size:11.5px; font-weight:700;
  border:1.5px solid var(--blue);
  display:inline-flex; align-items:center; gap:6px;
}
.iphoto .stazh-badge svg{color:var(--blue)}
.iphoto .stazh-badge b{color:var(--red)}
.ibody{padding:18px 22px 22px; display:flex; flex-direction:column; gap:14px}
.stars{display:flex; gap:2px; align-items:center}
.stars .star{color:var(--gold); font-size:16px; line-height:1}
.stars .rate{margin-left:8px; color:var(--text-2); font-size:13px; font-weight:700}
.stars .rate small{color:var(--muted); font-weight:400; margin-left:4px}
.ibtn .btn{
  width:100%; padding:12px; font-size:13px; text-transform:uppercase;
  background:var(--red); color:#fff; font-weight:700; letter-spacing:.04em;
  border-radius:6px; border:0; cursor:pointer; transition:background .15s;
  box-shadow:0 4px 10px -2px rgba(204,34,0,.25);
}
.ibtn .btn:hover{background:var(--red-dark)}

/* ===== CARS ===== */
.cars{padding:72px 0; background:#fff}
.cgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.ccard{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .25s, transform .25s, border-color .25s;
}
.ccard:hover{
  box-shadow:0 10px 28px -8px rgba(27,79,138,.18);
  transform:translateY(-4px); border-color:var(--blue-light);
}
.cphoto{
  aspect-ratio:16/10; position:relative;
  background:
    radial-gradient(80% 60% at 50% 110%, rgba(27,79,138,.1), transparent 60%),
    linear-gradient(180deg,#F4F3EE 0%,#E5E3DB 100%);
  display:grid; place-items:center;
  border-bottom:1px solid var(--line);
}
.car-svg{width:75%; max-width:280px; height:auto}
.cphoto .tx{
  position:absolute; top:12px; right:12px;
  background:var(--red); color:#fff;
  padding:6px 12px; border-radius:6px;
  font-size:11.5px; font-weight:700; letter-spacing:.04em;
  box-shadow:0 4px 10px -2px rgba(204,34,0,.3);
  text-transform:uppercase;
}
.cphoto .yr{
  position:absolute; top:12px; left:12px;
  background:#fff; color:var(--blue);
  padding:6px 10px; border-radius:6px;
  font-size:11.5px; font-weight:700;
  border:1.5px solid var(--blue);
  font-variant-numeric:tabular-nums;
}
.cbody{padding:20px 22px 22px; display:flex; flex-direction:column; gap:12px}
.cbody .ctitle{
  font-size:20px; font-weight:700; color:var(--ink); letter-spacing:-.01em;
}
.cbody .csub{color:var(--muted); font-size:13.5px; line-height:1.45}
.cbody .cspecs{
  display:flex; gap:18px; padding:12px 0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}
.cbody .cspecs .s{display:flex; flex-direction:column; gap:3px}
.cbody .cspecs .k{font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:700}
.cbody .cspecs .vv{font-weight:700; font-size:13px; color:var(--ink)}
.cbody .cspecs .vv.tx{color:var(--red)}
.cbody .cbtn .btn{
  width:100%; padding:11px; font-size:13px; text-transform:uppercase;
  background:#fff; color:var(--blue); font-weight:700; letter-spacing:.04em;
  border-radius:6px; border:1.5px solid var(--blue); cursor:pointer;
  transition:background .15s, color .15s;
}
.cbody .cbtn .btn:hover{background:var(--blue); color:#fff}

/* ===== FOOTER ===== */
footer{
  background:var(--blue-dark); color:#C5D2E8;
  padding:56px 0 0; position:relative; margin-top:0;
}
footer::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--red);
}
.ftop{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px;
  padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.1);
}
footer h4{
  color:#fff; font-size:13px; font-weight:700;
  margin-bottom:18px; padding-bottom:10px;
  border-bottom:2px solid var(--red); display:inline-block;
  text-transform:uppercase; letter-spacing:.08em;
}
footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px}
footer ul a{color:#C5D2E8; font-size:13.5px; transition:color .15s}
footer ul a:hover{color:var(--yellow)}

.fbrand{display:flex; flex-direction:column; gap:14px}
.fbrand .brand .name b{color:#fff}
.fbrand .brand .name small{color:#9EB1D0}
.fbrand .brand .name small em{color:var(--yellow); font-style:normal}
.fbrand p{color:#9EB1D0; font-size:13px; line-height:1.55; max-width:340px; margin-top:6px}
.fbrand .socials{margin-top:14px}

.fcontact{display:flex; flex-direction:column; gap:14px}
.fcontact .freg{margin-top:8px}
.fcontact .ph{
  color:#fff; font-weight:700; font-size:18px;
  letter-spacing:-.01em; font-variant-numeric:tabular-nums; line-height:1.1; display:block;
}
.fcontact .ph + .lbl{color:#9EB1D0; font-size:11.5px; margin-top:4px; display:block}

.freg{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  padding:16px;
  font-size:12px; line-height:1.6;
}
.freg dl{margin:0; display:flex; flex-direction:column; gap:8px}
.freg dl > div{display:flex; justify-content:space-between; align-items:baseline; gap:10px}
.freg dt{color:#9EB1D0; letter-spacing:.04em}
.freg dd{margin:0; color:#fff; font-weight:700; font-variant-numeric:tabular-nums; font-family:"PT Sans Narrow",sans-serif}

.fbottom{
  padding:20px 0;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  font-size:12px; color:#9EB1D0;
}
.fbottom .copyr{flex:1}
.fbottom .back-top{color:#fff; font-weight:700; font-size:12px}
.socials{display:flex; gap:8px}
.socials a{
  width:38px; height:38px; border-radius:6px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  display:grid; place-items:center; color:#fff;
  transition:.15s background, .15s border-color, .15s color;
}
.socials a:hover{background:var(--red); border-color:var(--red); color:#fff}

/* ===== RESPONSIVE ===== */
@media (max-width:1080px){
  .infobar .lic{display:none}
  .topbar .wrap{grid-template-columns:auto 1fr auto; gap:18px}
  .topbar .badge-hours{display:none}
  .phones{gap:18px}
  .phones .pbx:nth-of-type(2){display:none}
  nav.menu .wrap{flex-wrap:wrap; padding:0 20px}
  nav.menu a{flex:1 1 25%; font-size:11.5px; padding:11px 8px; border-bottom:1px solid rgba(255,255,255,.1)}
  nav.menu a.login{flex:1 1 100%}
  .hero-grid{grid-template-columns:1fr; gap:32px}
  .seal-card{max-width:280px}
  .stats-bar .wrap{grid-template-columns:1fr 1fr; gap:14px}
  .about-grid{grid-template-columns:1fr; gap:24px}
  main.wrap.main--with-sidebar{
    grid-template-columns:1fr;
    gap:20px;
  }
  .layout-sidebar-first{
    position:static;
  }
  .sveden-row{
    grid-template-columns:1fr;
  }
  .right_side .left_col{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .pgrid, .igrid, .cgrid, .svcgrid, .ptgrid{grid-template-columns:1fr 1fr}
  .pcard:nth-child(3), .icard:nth-child(3), .ccard:nth-child(3){grid-column:span 2; max-width:560px; margin:0 auto; width:100%}
  .ftop{grid-template-columns:1fr 1fr; gap:32px}
  .fbrand{grid-column:span 2}
}
@media (max-width:680px){
  .wrap{padding:0 16px}
  .infobar .wrap{padding:6px 16px; flex-wrap:wrap; gap:8px; font-size:11px}
  .topbar .wrap{padding:14px 16px; grid-template-columns:auto auto}
  .topbar .phones{display:none}
  .topbar .btn-cta-top{padding:11px 16px; font-size:12px}
  .brand .seal{width:44px; height:44px; font-size:18px}
  .brand .name b{font-size:16px}
  nav.menu a{flex:1 1 50%}
  nav.menu a.login{flex:1 1 100%}
  .hero{padding:40px 0 48px}
  .hero h1{font-size:26px}
  .stats-bar .wrap{grid-template-columns:1fr 1fr; gap:10px}
  .stat-box{padding:14px 14px 14px 18px}
  .stat-box .v{font-size:24px}
  .pgrid, .igrid, .cgrid, .svcgrid, .ptgrid{grid-template-columns:1fr}
  .pcard:nth-child(3), .icard:nth-child(3), .ccard:nth-child(3){grid-column:auto; max-width:none}
  .ftop{grid-template-columns:1fr; gap:28px}
  .fbrand{grid-column:auto}
  .fbottom{flex-direction:column; align-items:flex-start; gap:14px}
}

body.path-frontpage #block-max-content {
  display:none !important;
}

.block-local-tasks-block ul.tabs {
  background: var(--blue);
  border-bottom: 3px solid var(--red);
  max-width: 1240px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 15px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  padding: 0;
}

.block-local-tasks-block ul.tabs a {
  color: #fff;
  display: block;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  text-transform: uppercase;
  padding-block: 10px;
  transition: all .35s ease;
}

.block-local-tasks-block ul.tabs a:hover {
  background: var(--red);
  color: #fff;
}

.user-login-form {
  padding-block: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.user-login-form label {
  display: none;
}

.user-login-form input {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: 14px;
  font-weight: 400;
  color: var(--text-2);
  background: #fff;
  transition: all .35s ease;
}

.user-login-form input:focus {
  border-color: var(--blue);
  outline: none;
}

.user-login-form input:focus::placeholder {
  color: var(--text-2);
}