
:root {
  --bg: #f5f7fb;
  --card: #ffffff;
  --line: #e5eaf3;
  --text: #111111;
  --muted: #6b7280;
  --blue: #4f78f7;
  --blue-2: #7ea2ff;
  --green: #10A26F;
  --shadow: 0 8px 24px rgba(80, 111, 173, 0.08);
  --radius-xl: 28px;
  --radius-lg: 10px;
  --radius-md: 18px;
  --container: 1400px;
}
* { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; overflow-x: hidden; font-family: 'Montserrat', sans-serif; background: #ffffff; color: var(--text); }
img { max-width: 100%; display: block; }
a { color: inherit; }
button,input { font: inherit; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 16px; }
.topbar { background: #fff; position: sticky; top: 0; z-index: 20; padding-top: 14px;}
.top-strip { background: #fff; padding-bottom: 14px; }
.top-strip-inner { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.top-strip-links,.top-strip-actions { display: flex; align-items: center; gap: 10px; color: #111111; font-size: 12px; font-weight: 600; }
.top-strip-actions img { width: 20px; }
.language-select { position:relative; }
.language-toggle { display:flex; align-items:center; gap:8px; border:0; background:transparent; padding:4px 0; cursor:pointer; color:#111; }
.language-flag { width:20px; height:14px; border-radius:2px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); flex:0 0 auto; background-size:cover; background-position:center; }
.language-flag-ru { background-image:url("assets/flag.png"); }
.language-flag-en { background:linear-gradient(180deg,#b91c1c 0 14%,#fff 14% 28%,#b91c1c 28% 42%,#fff 42% 56%,#b91c1c 56% 70%,#fff 70% 84%,#b91c1c 84% 100%); position:relative; overflow:hidden; }
.language-flag-en::before { content:''; position:absolute; left:0; top:0; width:42%; height:54%; background:#1d4ed8; }
.language-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:150px; padding:8px; border:1px solid #e5eaf3; border-radius:12px; background:#fff; box-shadow:0 16px 38px rgba(23,39,84,.14); opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease, transform .18s ease; z-index:45; }
.language-select.open .language-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
.language-select.open .dropdown-arrow { transform:rotate(180deg); }
.language-option { width:100%; display:flex; align-items:center; gap:10px; border:0; background:transparent; border-radius:9px; padding:9px 10px; color:#111; cursor:pointer; text-align:left; font-size:13px; }
.language-option:hover,.language-option.active { background:#f1f4f9; color:var(--blue); }
.top-strip-links a { display: flex; align-items: center; column-gap: 10px; text-decoration: none; position: relative; font-size: 10px; font-weight: 500; }
.top-strip-links a .icon { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #5279F4; border-radius: 5px; }
.top-strip-links a .icon img { width: 20px; }
.course {
  display: flex; align-items: center; column-gap: 15px;
}
.course-list {
  display: flex; align-items: center; column-gap: 5px;
}
.course-item {
  font-size: 10px;
  font-weight: 500;
}
.course-item span {
  font-weight: bold;
}
.flag-mini { width: 18px; height: 12px; display: inline-block; border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); background: linear-gradient(180deg,#fff 0 33%,#2563eb 33% 66%,#dc2626 66%); }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; }
.brand { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.brand-mark { display: flex; width: auto; height: 58px; object-fit: contain; flex: 0 0 auto; transition: all 0.3s ease; }
.brand-mark:hover { opacity: 0.7; }
.brand-name { font-size: 20px; font-weight: 800; }
.footer-brand .brand-mark { width: 223px; }
.nav { display: flex; gap: 4px; background: #f1f4f9; padding: 6px 30px; border-radius: 999px; flex-wrap: wrap; justify-content: center; }
.nav a { text-decoration: none; color: #4b5563; padding: 4px 16px; border-radius: 999px; font-size: 13px; font-weight: 500; }
.nav a:hover { background: #fff; }
.header-actions { display: flex; align-items: center; gap: 12px; min-width: 120px; justify-content: flex-end; }
.lang { font-size: 10px; color: var(--muted); font-weight: 500; }
.dropdown-arrow img {
  width: 7px;
}
.login-btn,.primary-btn,.ghost-btn { transition: .2s ease; cursor: pointer; }
.login-btn:hover,.primary-btn:hover,.ghost-btn:hover { transform: translateY(-1px); }
.login-btn { display: flex; align-items: center; border: 1px solid #EDF2F5; background: #EDF2F5; border-radius: 999px; padding: 7px 18px; font-weight: 500; font-size: 14px; column-gap: 10px; }
main { padding: 50px 0 36px; }
.login-btn img { width: 20px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); overflow: hidden; position: relative; }
.hero { display: grid; grid-template-columns: 1.02fr 1.02fr .8fr .84fr; grid-template-rows: 240px 280px; gap: 14px; position: relative; }
.mini-card { padding: 18px; background: #edf2f7; }
.card-info {
  display: flex;
  column-gap: 13px;
}
.hero-card-before { 
  background: #557BF3;
  background: linear-gradient(180deg,#557af300 0%, #557BF3 100%); 
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0; 
  right: 0;
  top: 0;
  z-index: 1;
  }
.deposits-card { grid-column: 1; grid-row: 1; background-color: #C6D5DF; padding: 31px; }
.mortgage-card { grid-column: 2; grid-row: 1; background-color: #EDF2F5; padding: 31px 31px 31px 83px; }
.mini-icon { width: 48px; min-width: 48px; height: 48px; border-radius: 5px; background: var(--blue); color: white; display: grid; place-items: center; font-size: 13px; font-weight: 700; margin-bottom: 12px; box-shadow: 0 4px 4px rgba(0,0,0,.25); }
.mini-title { font-size: 32px; font-weight: 600; line-height: 1.1; margin-top: 16px; margin-bottom: 4px; color: #171717; }
.mini-subtitle { font-size: 14px; color: #171717; line-height: 1.35; font-weight: 500; }
.hero-main { grid-column: 1 / 3; grid-row: 2; background: linear-gradient(135deg, #7ca0ff 0%, #4f78f7 100%); color: white; padding: 24px 30px 24px 68px; display: flex; align-items: flex-end; }
.hero-man { position: absolute; left: 100px; bottom: 0px; width: 530px; z-index: 1; }
.hero-man-2 {
  width: 251px;
  position: absolute;
  top: -50px;
  right: 51px;
  z-index: 1;
}
.hero-main-content { max-width: 440px; position: relative; z-index: 2; }
.hero-card-icon { width: 97px; height: 97px; border-radius: 5px; background: #5279F4; display:grid; place-items:center; margin-bottom: 14px; font-size: 14px; box-shadow: 0 4px 4px rgba(0, 0, 0, .25); }
.hero-main h1 { font-size: 34px; line-height: 1.12; margin: 0 0 10px; }
.hero-main h1 span {
  color: #193399;
}
.hero-card-triangle {
  position: absolute;
  z-index: 1;
  bottom: 18px;
  right: 11px;
}
.hero-card-circle {
  position: absolute;
  right: 68px;
  top: 25px;
}
.hero-main p { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.92); }
.hero-travel { grid-column: 3; grid-row: 1 / 3; background: linear-gradient(180deg, #ffffff 0%, #557BF3 100%); padding: 30px; }
.hero-travel h2 { margin: 0; max-width: 190px; font-size: 20px; font-weight: 500; line-height: 1.15; position: relative; z-index: 2; }
.hero-travel-line {
  position: absolute;
  right: 0;
  top: 25px;
  z-index: 1;
  width: 100%;
}
.travel-image { position: absolute; bottom: 0; right: 0px; width: 205px; }
.accent {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  background: linear-gradient(-45deg, #ffffff 0%, #557BF3 100%)!important;
}
.accent .mini-title {
  font-size: 24px;
}
.accent .card-info {
  justify-content: flex-end;
}
.calc-card { grid-column: 4; grid-row: 1; padding: 18px; background: linear-gradient(135deg, #dfe8ff, #8faeff); }
.calc-illu { position: absolute; right: 20px; top: 18px; width: 96px; height: 96px; }
.calc-body { position: absolute; inset: 0 10px 0 0; background: linear-gradient(180deg,#2c72ea,#0f4ec5); border-radius: 16px; transform: rotate(18deg); box-shadow: 0 12px 25px rgba(31,88,208,.28); }
.calc-screen { position: absolute; top: 18px; right: 28px; width: 42px; height: 16px; background: rgba(255,255,255,.9); border-radius: 6px; transform: rotate(18deg); }
.insurance-card { grid-column: 4; grid-row: 2; padding: 18px; display: flex; justify-content: space-between; align-items: end; background: linear-gradient(120deg, #ffffff 0%, #557BF3 100%); }
.insurance-card img { width: 230px;
   position: absolute; right: 0; bottom: 0; }
.insurance-card { display: flex; align-items: start; }
.insurance-card .mini-title {
  font-size: 24px;
  margin-top: 0;
}
.insurance-card .mini-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.insurance-card .mini-icon img {
  position: relative;
  width: 33px;
  margin-right: 0;
}
.services { display: grid; grid-template-columns: repeat(9, 1fr); gap: 12px; margin-top: 16px; }
.service { display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 23px; background: white; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: 0 0 10px rgba(0, 0, 0, .15); text-align: center; padding: 14px 8px; max-width: 146px; min-height: 144px; transition: transform .2s ease, box-shadow .2s ease; cursor: pointer; }
.service span { display: block; font-size: 15px; font-weight: 500; line-height: 1.25; color: #111111; overflow-wrap: anywhere; }
.section-link { display: inline-block; margin-top: 25px; color: var(--blue); text-decoration: none; font-size: 18px; font-weight: 500; }
.section-link:hover {text-decoration: underline;}
.service:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(80, 111, 173, 0.13); }
.banners,.offers-grid,.reviews-grid,.double-promos,.seo-section { display:grid; gap:14px; }
.banners { grid-template-columns: repeat(3,1fr); margin-top: 50px; }
.banner,.promo-strip,.bot-banner { display:block; min-height: 142px; max-height: 280px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); background:white; text-decoration:none; transition: transform .2s ease, box-shadow .2s ease; }
.banner:hover,.promo-strip:hover,.bot-banner:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(80, 111, 173, 0.13); }
.banner:focus-visible,.promo-strip:focus-visible,.bot-banner:focus-visible { outline: 3px solid rgba(79,120,247,.35); outline-offset: 3px; }
.image-banner img { width:100%; height:100%; object-fit:cover; }
.rates-grid { display: grid; grid-template-columns: 1.8fr .9fr; gap: 14px; margin-top: 18px; }
.rates-card,.converter-card,.terms-card,.banks-list-card,.news-card { background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); padding: 30px 45px; }
.banks-list-card .section-link { font-size: 14px; }
.rates-title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.rates-title h3,.converter-card h3,.banks-list-card h3 { margin: 0; font-size: 20px; line-height: 1.15; letter-spacing: -0.03em; font-weight: 500;}
.rates-title h3 a {
  color: #5279F4;
  transition: all 0.3s ease;
}
.rates-title h3 a:hover {
  text-decoration: none;
}
.title-icon { 
  width: 48px;
  min-width: 48px;
  height: 48px;
  border-radius: 5px;
  background: var(--blue);
  color: white;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}
.title-icon img {
  height: 31px;
}
.rates-table,.terms-table { border-radius: 5px; overflow: hidden; }
.row { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; gap: 12px; padding: 14px 16px; font-size: 13px; align-items: center; }
.row:first-child,.terms-row:first-child { border-top:0; }
.row.head,.terms-row.head { color: #6C6C6C; font-weight: 500; font-size: 14px; }
.currency { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.flag { width: 16px; height: 16px; border-radius: 50%; border: 1px solid #d1d5db; flex: 0 0 auto; }
.flag.us { background: linear-gradient(180deg,#b91c1c 33%,#fff 33% 66%,#1d4ed8 66%); }
.flag.eu { background: #1d4ed8; }
.flag.cn { background: #dc2626; }
.converter-list { display: grid; gap: 10px; margin-top: 18px; }
.converter-row { display: flex; justify-content: space-between; align-items: center; border: 1px solid #e8edf5; border-radius: 14px; padding: 14px 16px; font-size: 13px; }
.converter-row strong { font-size: 14px; }
.section-head { display:flex; flex-direction: column; justify-content:space-between; gap:16px; align-items:start; margin-bottom:14px; flex-wrap:wrap; }
.section-head h2 { margin:0; font-size: 24px; letter-spacing: -0.03em; font-weight: 500; }
.section-head h2 span { font-weight: 600; color: #5279F4; }
.tabs { display:flex; gap:18px; flex-wrap:wrap; color:#6b7280; font-size:16px; font-weight:500; }
.tabs button { appearance:none; border:0; background:transparent; padding:0; color:inherit; font:inherit; cursor:pointer; }
.tabs button:hover { color: var(--blue); }
.tabs .active { color: var(--blue); }
.tabs.compact {
  margin-bottom: 30px;
}
.offers-section,.banks-section,.reviews-section,.news-section { margin-top:50px; }
.offers-panel,.bank-panel,.review-panel,.news-panel { display:none; }
.offers-panel.active,.bank-panel.active,.review-panel.active,.news-panel.active { display:block; }
.bank-panel { margin-top: 18px; }
.offers-grid { grid-template-columns: repeat(4,1fr); margin-top: 45px; }
.offers-placeholder { margin-top:45px; min-height:268px; border:1px dashed #c9d5ec; border-radius:10px; background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%); display:grid; place-items:center; text-align:center; padding:34px 22px; box-shadow:0 8px 30px rgba(36,78,170,.05); }
.offers-placeholder h3 { margin:12px 0 8px; font-size:22px; letter-spacing:-0.02em; }
.offers-placeholder p { max-width:460px; margin:0; color:#6b7280; font-size:15px; line-height:1.6; }
.placeholder-icon { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:#edf4ff; color:var(--blue); font-size:22px; font-weight:800; }
.bank-placeholder { margin-top:0; min-height:315px; }
.review-placeholder { margin-top:0; min-height:260px; }
.news-placeholder { margin-top:18px; min-height:330px; }
.offer-card { background:white; border-radius:10px; position: relative; }
.offer-label { background: var(--green); color:white; border-radius:5px; text-align:center; padding:8px 10px; font-size:16px; font-weight:500; min-height: 54px; display:grid; place-items:center; margin-left: 21px; margin-right: 21px; position: absolute; top: -27px; z-index: 1; width: calc(100% - 42px); }
.offer-bank { height: 180px; background-color: #F2F2F2; display:grid; place-items:center; font-size: 34px; font-weight:800; letter-spacing:-0.03em; border-radius: 10px; }
.offer-bank.alfa { color:#db2626; }
.offer-bank.sber { color:#16a34a; font-size:28px; }
.offer-bank.tinkoff { color:#111827; }
.offer-desc { padding: 15px 0 23px; color:#4b5563; font-size:16px; font-weight: 500; border-bottom: 1px solid #EEEEEE; margin-bottom: 10px; }
.offer-meta { display:flex; justify-content:space-between; gap:10px; padding: 9px 0; font-size:12px; color:#6b7280; }
.offer-meta strong { color: var(--text); text-align:right; }
.primary-btn { width:100%; border:0; background: var(--blue); color:white; border-radius:5px; padding:12px 14px; font-weight:500; margin-top:14px; }
.double-promos { grid-template-columns: 1fr 1fr; margin-top:50px; }
.promo-strip { min-height: 118px; max-height: 220px; }
.banks-grid-wide { display:grid; grid-template-columns: 1.8fr .9fr; gap:14px; }
.terms-row { display:grid; grid-template-columns: 1.2fr 1fr .8fr; gap:12px; padding:14px 0 14px 0; border-top:1px solid #EEEEEE; font-size:13px; }
.terms-row .bank {
  display: flex;
  align-items: center;
}
.terms-row>div:nth-child(2) {
  display: flex;
  align-items: center;
}
.terms-row>div:nth-child(3) {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.terms-row .bank img {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}
.terms-row div:last-child { text-align:right; font-weight:500; }
.compact-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 500;
  margin-top: 15px;
  color: #6C6C6C;
}
.compact-bottom a {
  color: #5279F4;
  text-decoration: none;
}
.compact-bottom a:hover {
  text-decoration: underline;
}
.banks-list-card input { width:100%; margin-top: 14px; border:1px solid #e8edf5; border-radius:14px; padding:12px 14px; }
.bank-tiles { display:grid; grid-template-columns: repeat(2,1fr); gap:12px; margin-top:14px; }
.bank-tile { display: flex; align-items: center; justify-content: center; border-radius:14px; padding:18px 10px; background:#ffffff; text-align:center; font-weight:800; font-size:14px; box-shadow: 0 0 10px rgba(0, 0, 0, .15); height: 84px; text-decoration:none; transition: transform .2s ease, box-shadow .2s ease; }
.bank-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(80,111,173,.13); }
.bank-tile:focus-visible { outline: 3px solid rgba(79,120,247,.35); outline-offset: 3px; }
.bank-tile[hidden] { display:none; }
.bank-empty { margin-top:14px; min-height:180px; border:1px dashed #c9d5ec; border-radius:14px; background:#f7faff; display:grid; place-items:center; text-align:center; padding:24px 16px; }
.bank-empty[hidden] { display:none; }
.bank-empty h4 { margin:10px 0 6px; font-size:18px; }
.bank-empty p { margin:0; color:#6b7280; font-size:13px; line-height:1.45; }
.bank-tile.green { color:#16a34a; }
.bank-tile.blue { color:#2563eb; }
.bank-tile.green2 { color:#65a30d; }
.bank-tile.red { color:#dc2626; }
.bank-tile.yellow { color:#ca8a04; }
.bank-tile.gray { color:#374151; }
.section-head-tight { display: flex; align-items: center; flex-direction: row; }
.section-head-tight .section-link { margin-top: 0; font-size: 16px; color: #111111; text-decoration: underline; }
.review-tabs { width:100%; border-bottom:1px solid #edf1f6; padding-bottom:0; gap:34px; }
.review-tabs button { position:relative; padding-bottom:14px; }
.review-tabs button.active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:999px; background:var(--blue); }
.reviews-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-areas: "one one two two three three" "stat stat wide wide wide wide" "four four five five five leave"; gap:24px; align-items:stretch; }
.review-card { background:white; border:1px solid var(--line); border-radius:10px; box-shadow:0 4px 18px rgba(18,32,66,.12); padding:26px 32px 24px; min-height: 250px; display:flex; flex-direction:column; position:relative; }
.review-one { grid-area:one; }
.review-two { grid-area:two; }
.review-three { grid-area:three; }
.review-four { grid-area:four; }
.review-five { grid-area:five; justify-self:start; width:100%; max-width:580px; }
.review-wide { grid-area:wide; min-height:230px; }
.review-top { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.review-top h4,.leave-review h4 { margin:0; font-size:16px; line-height:1.35; font-weight:600; color:#171717; }
.review-badge { width:50px; height:50px; border-radius:50%; background:#fff; border:1px solid #e5eaf3; display:grid; place-items:center; flex:0 0 auto; box-shadow:0 4px 10px rgba(18,32,66,.12); overflow:hidden; }
.review-badge img { width:100%; height:100%; object-fit:contain; padding:7px; }
.review-card p { font-size:16px; line-height:1.55; color:#171717; flex:1; margin:18px 0 0; }
.review-card .section-link { margin-top:8px; font-size:16px; font-weight:500; }
.review-bottom { display:flex; justify-content:space-between; align-items:center; gap:18px; color:#8b8f98; font-size:14px; margin-top:22px; }
.review-meta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size: 12px; }
.review-meta span { white-space:nowrap; }
.review-meta span:not(:first-child)::before { content:''; display:inline-block; width:14px; height:14px; margin-right:6px; background:center / contain no-repeat; vertical-align:-2px; opacity:.55; }
.review-meta span:nth-child(2)::before { background-image:url("assets/user.svg"); }
.review-meta span:nth-child(3)::before { background-image:url("assets/map.svg"); }
.review-score { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.score { width:34px; height:34px; border-radius:50%; background:#43a047; color:white; display:grid; place-items:center; font-size:18px; font-weight:800; }
.review-stat { grid-area:stat; min-height:250px; background:#5878ee; color:white; border-color:transparent; overflow:hidden; padding:42px 44px; justify-content:center; }
.stat-icon { position:absolute; right:38px; top:42px; width:82px; opacity:.95; filter: invert(1); pointer-events:none; }
.stat-line { display:flex; align-items:baseline; gap:10px; color:rgba(255,255,255,.95); font-size:20px; line-height:1.25; }
.stat-line + .stat-line { margin-top:16px; }
.stat-line strong { font-size:32px; line-height:1; letter-spacing:-0.04em; }
.ghost-btn { display:inline-flex; width:max-content; border:0; background:transparent; color:white; border-radius:0; padding:0 0 3px; font-weight:500; font-size:18px; margin-top:auto; text-decoration:underline; text-underline-offset:4px; }
.leave-review { grid-area:leave; justify-content:center; justify-self:end; width:100%; min-width: 300px; max-width:300px; min-height:250px; padding:36px; }
.leave-review p { color:#6b7280; margin:20px 0 28px; max-width:250px; }
.leave-review .primary-btn { margin-top:0; border-radius:5px; font-size:16px; padding:14px 18px; }
.leave-review h4 { font-size: 24px; }
.long-banner { margin-top:18px; min-height: 150px; }
.news-card { display:grid; grid-template-columns: 1.15fr 1fr .82fr; gap:24px; align-items:start; }
.news-feature h3 { margin:0 0 16px; font-size:34px; letter-spacing:-0.03em; }
.news-feature h4,.news-item h5 { margin:0; font-size:20px; line-height:1.2; font-weight: 600; }
.news-meta { margin-top:8px; color:#6C6C6C; font-size:12px; font-weight:500; }
.news-feature .section-link { margin-top: 10px; }
.news-feature p { font-size:16px; line-height:1.7; color:#111111; font-weight: 500; margin: 24px 0 0; }
.news-feature img { margin-top:14px; border-radius:18px; width:476px; height:272px; max-width:100%; object-fit:cover; }
.news-list { border-left:1px solid #edf1f6; border-right:1px solid #edf1f6; padding:55px 20px 0; }
.news-item { padding-bottom:25px; margin-bottom:25px; border-bottom:1px solid #edf1f6; }
.news-item:last-child { margin-bottom:0; }
.news-slider { display:flex; flex-direction:column; align-items:center; }
.news-slider-stack { position:relative; width:min(100%, 330px); aspect-ratio: .78 / 1; padding-top:42px; }
.slider-layer { position:absolute; left:0; width:100%; border-radius:18px; object-fit:cover; box-shadow:0 18px 34px rgba(22,35,63,.16); transition: opacity .24s ease, transform .24s ease; will-change: transform, opacity; }
.news-slider-stack .slider-layer { margin-top:0; }
.slider-layer-front { top:42px; height:calc(100% - 42px); z-index:3; }
.slider-layer-back { height:calc(100% - 42px); pointer-events:none; }
.slider-layer-back-one { top:20px; left:6%; width:88%; z-index:2; opacity:.95; animation: sliderBackFloat 5s ease-in-out infinite; }
.slider-layer-back-two { top:0; left:12%; width:76%; z-index:1; opacity:.55; animation: sliderBackFloat 6s ease-in-out infinite reverse; }
.news-slider-stack.is-next .slider-layer-front { animation: sliderFrontNext .46s cubic-bezier(.2,.75,.25,1) both; }
.news-slider-stack.is-prev .slider-layer-front { animation: sliderFrontPrev .46s cubic-bezier(.2,.75,.25,1) both; }
.news-slider-stack.is-next .slider-layer-back-one,.news-slider-stack.is-prev .slider-layer-back-one { animation: sliderBackOneSwap .46s cubic-bezier(.2,.75,.25,1) both; }
.news-slider-stack.is-next .slider-layer-back-two,.news-slider-stack.is-prev .slider-layer-back-two { animation: sliderBackTwoSwap .46s cubic-bezier(.2,.75,.25,1) both; }
@keyframes sliderFrontNext {
  0% { opacity:0; transform:translateX(34px) scale(.965); filter:blur(2px); }
  65% { opacity:1; transform:translateX(-4px) scale(1.01); filter:blur(0); }
  100% { opacity:1; transform:translateX(0) scale(1); filter:blur(0); }
}
@keyframes sliderFrontPrev {
  0% { opacity:0; transform:translateX(-34px) scale(.965); filter:blur(2px); }
  65% { opacity:1; transform:translateX(4px) scale(1.01); filter:blur(0); }
  100% { opacity:1; transform:translateX(0) scale(1); filter:blur(0); }
}
@keyframes sliderBackOneSwap {
  0% { transform:translateY(8px) scale(.97); opacity:.55; }
  100% { transform:translateY(0) scale(1); opacity:.95; }
}
@keyframes sliderBackTwoSwap {
  0% { transform:translateY(12px) scale(.94); opacity:.25; }
  100% { transform:translateY(0) scale(1); opacity:.55; }
}
@keyframes sliderBackFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
}
.slider-nav { display:flex; align-items:center; justify-content:space-between; gap:18px; width:min(100%, 330px); margin-top:28px; color:#111827; font-size:18px; }
.slider-arrow { appearance:none; border:0; background:transparent; color:#111827; font:inherit; cursor:pointer; padding:4px 0; line-height:1; }
.slider-arrow:hover { color:var(--blue); }
.slider-arrow:focus-visible { outline:3px solid rgba(79,120,247,.35); outline-offset:4px; border-radius:8px; }
.slider-count { color:#111827; font-weight:800; min-width:18px; text-align:center; }
.slider-bar { flex:1; max-width:92px; height:4px; background:#e5e7eb; border-radius:999px; overflow:hidden; }
.slider-bar i { display:block; width:20%; height:100%; background:var(--blue); transition:width .24s ease; }
.seo-section { grid-template-columns: 1fr 1.2fr; margin-top:24px; }
.seo-brand,.seo-copy { padding:24px; }
.seo-brand { min-height: 479px; display:flex; justify-content: center; align-items: center; flex-direction: column; row-gap: 22px; background: linear-gradient(180deg, #c6d6ff 0%, #87a4ff 100%); }
.seo-brand img { width:42%; max-height:220px; object-fit:contain; }
.seo-copy h2 { margin:0 0 14px; font-size: 32px; font-weight: 500; letter-spacing:-0.03em; }
.seo-copy p { color:#4b5563; font-size:16px; line-height:1.8; }
.logo-name {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  height: 24px;
  border-radius: 20px;
  width: 282px;
  font-weight: 700;
}
.logo-name span {
  color: #5279F4;
}
.site-footer { margin-top:50px; background:#eef3fb; border-top:1px solid #e3e8f1; }
.footer-wrap { display:grid; grid-template-columns: minmax(0, 1.65fr) minmax(360px, .9fr); gap:70px; padding:52px 16px 48px; align-items:start; }
.footer-brand { display:inline-flex; min-width:0; margin-bottom:34px; }
.footer-left { color:#4b5563; }
.footer-left p,.footer-right { color:#4b5563; font-size:16px; line-height:1.6; }
.footer-left p { max-width:810px; margin:0 0 12px; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; margin:18px 0 28px; }
.footer-links a { color:var(--blue); text-decoration:none; font-weight:500; }
.footer-links a:hover,.footer-support a:hover { text-decoration:underline; }
.footer-right { display:flex; flex-direction:column; align-items:stretch; min-height:260px; position:relative; }
.footer-socials { display:flex; justify-content:flex-end; align-items:center; gap:22px; margin-bottom:48px; }
.footer-socials a { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; transition:transform .2s ease, opacity .2s ease; }
.footer-socials a:hover { transform:translateY(-2px); opacity:.8; }
.footer-socials a:focus-visible { outline:3px solid rgba(79,120,247,.35); outline-offset:3px; }
.footer-socials img { max-width:28px; max-height:28px; }
.footer-support { display:grid; grid-template-columns: 1fr 1fr; gap:34px; align-items:start; color:#4b5563; }
.footer-support-main { display:flex; flex-direction:column; gap:12px; }
.footer-support a { color:#4b5563; text-decoration:none; }
.footer-support address { font-style:normal; line-height:1.55; }
.support-title { color:#171717; font-size:20px; font-weight:600; line-height:1.2; margin:0 0 25px; }
.footer-bottom-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:42px; }
.copy { margin:0; color:#4b5563; }
.age-badge { width:54px; height:54px; border:2px solid #a8b0bc; border-radius:50%; display:grid; place-items:center; color:#8b95a3; font-size:20px; font-weight:500; flex:0 0 auto; }

.menu-toggle { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.burger { display: none; width: 44px; height: 44px; border: 1px solid #EDF2F5; border-radius: 12px; background: #EDF2F5; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.burger span { width: 20px; height: 2px; border-radius: 999px; background: #111; transition: transform .2s ease, opacity .2s ease; }
.mobile-menu { display: contents; }
.mobile-login-btn { display: none; }
.menu-toggle:checked + .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle:checked + .burger span:nth-child(2) { opacity: 0; }
.menu-toggle:checked + .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1180px) {
  :root { --container: 1120px; }
  main { padding-top: 32px; }
  .hero { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .deposits-card,.mortgage-card,.hero-travel,.calc-card,.hero-main,.insurance-card { grid-column: auto; grid-row: auto; min-height: 220px; }
  .hero-main { grid-column: 1 / -1; min-height: 330px; }
  .hero-travel,.insurance-card { min-height: 330px; }
  .hero-man { width: 430px; left: 8%; }
  .hero-man-2 { width: 210px; top: 210px; right: 8%; }
  .services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service { max-width: none; }
  .banners,.offers-grid,.reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rates-grid,.banks-grid-wide,.news-card,.seo-section,.footer-wrap { grid-template-columns: 1fr; }
  .double-promos { grid-template-columns: 1fr 1fr; }
  .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "one two" "three stat" "wide wide" "four five" "leave leave"; }
  .footer-wrap { gap: 34px; }
  .footer-right { min-height: auto; }
  .footer-socials { justify-content: flex-start; margin-bottom: 28px; }
}

@media (max-width: 980px) {
  .topbar { padding-top: 8px; }
  .top-strip { padding-bottom: 8px; }
  .course-list { display: none; }
  .topbar-inner { position: relative; display: grid; grid-template-columns: 1fr auto auto; gap: 10px; padding: 10px 16px; }
  .brand { min-width: 0; }
  .brand-mark { height: 46px; }
  .burger { display: flex; position: absolute; right: 16px; z-index: 35; }
  .header-actions { display: none; grid-column: 3; grid-row: 1; min-width: 0; }
  .header-actions .login-btn { padding: 10px; width: 44px; height: 44px; justify-content: center; }
  .header-actions .login-btn img { width: 18px; }
  .header-actions .login-btn { font-size: 0; column-gap: 0; }
  .mobile-menu { display: block; position: absolute; left: 16px; right: 16px; top: calc(100% + 8px); padding: 12px; background: #fff; border: 1px solid #E5EAF3; border-radius: 16px; box-shadow: 0 18px 45px rgba(23, 39, 84, .14); opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; z-index: 30; }
  .menu-toggle:checked ~ .mobile-menu { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; background: transparent; border-radius: 0; }
  .nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; background: #F5F7FB; border-radius: 5px; color: #111; }
  .nav a:hover { background: #EDF2F5; }
  .mobile-login-btn { display: none; }
  .mini-title { font-size: 26px; }
  .hero-main h1 { font-size: 30px; }
  .section-head { gap: 10px; width:100%; min-width:0; }
  .tabs { width:100%; max-width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; padding-bottom:8px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .tabs::-webkit-scrollbar { display:none; }
  .tabs span,.tabs button { white-space: nowrap; flex:0 0 auto; scroll-snap-align:start; }
}

@media (max-width: 760px) {
  .container { padding: 0 12px; }
  body { background: #ffffff; }
  main { padding: 18px 0 28px; }
  .top-strip-inner { min-height: auto; }
  .top-strip-links { gap: 8px; }
  .top-strip-links a { column-gap: 6px; }
  .top-strip-links a .icon { width: 24px; height: 24px; }
  .top-strip-links a .icon img { width: 15px; }
  .top-strip-actions { gap: 6px; }
  .top-strip-actions img { width: 18px; }
  .brand-mark { height: 40px; }
  .burger,.header-actions .login-btn { width: 40px; height: 40px; border-radius: 10px; }
  .mobile-menu { left: 12px; right: 12px; }
  .nav { grid-template-columns: 1fr; }
  .mobile-login-btn { display: flex; margin-top: 10px; width: 100%; justify-content: center; border-radius: 5px; }
  .hero { grid-template-columns: 1fr; gap: 12px; }
  .deposits-card,.mortgage-card,.hero-travel,.calc-card,.hero-main,.insurance-card { min-height: 100px; padding: 20px; }
  .card-info { column-gap: 10px; }
  .mini-icon,.title-icon { width: 40px; min-width: 40px; height: 40px; }
  .mini-title,.accent .mini-title,.insurance-card .mini-title { font-size: 22px; margin-top: 8px; }
  .mini-subtitle { font-size: 13px; }
  .hero-main { min-height: 360px; padding: 22px; align-items: flex-end; }
  .hero-man { width: min(82vw, 360px); left: 50%; transform: translateX(-50%); bottom: 118px; }
  .hero-card-icon { width: 54px; height: 54px; margin-bottom: 10px; }
  .hero-main h1 { font-size: 26px; max-width: 310px; }
  .hero-main p { font-size: 13px; max-width: 320px; }
  .hero-card-circle { right: 24px; top: 24px; }
  .hero-card-triangle { width: 24px; }
  .hero-travel { min-height: 300px; }
  .travel-image { width: 190px; }
  .hero-man-2 { display: none; }
  .calc-card { min-height: 100px; }
  .accent { justify-content: flex-start; align-items: center; }
  .accent .card-info { justify-content: flex-start; width: 100%; align-items: center; }
  .calc-card .mini-icon { order: -1; margin-bottom: 0; }
  .calc-card .mini-title { margin-top: 0; margin-bottom: 0; }
  .insurance-card { min-height: 230px; }
  .insurance-card img { width: 170px; }
  .services,.banners,.offers-grid,.reviews-grid,.double-promos,.rates-grid,.banks-grid-wide,.news-card,.seo-section,.footer-wrap { grid-template-columns: 1fr; }
  .services { gap: 10px; }
  .service { min-height: 92px; row-gap: 10px; border-radius: 12px; }
  .service span { font-size: 13px; }
  .section-link { margin-top: 16px; font-size: 15px; }
  .banners { margin-top: 28px; }
  .banner,.promo-strip,.bot-banner { min-height: auto; aspect-ratio: 2.7 / 1; max-height: none; }
  .rates-card,.converter-card,.terms-card,.banks-list-card,.news-card { padding: 16px; border-radius: 14px; }
  .rates-title h3,.converter-card h3,.banks-list-card h3 { font-size: 20px; }
  .rates-table,.terms-table { border-radius: 5px; }
  .row,.terms-row { grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px; }
  .row.head,.terms-row.head { display: none; }
  .currency,.terms-row div:first-child { grid-column: 1 / -1; }
  .offers-grid { margin-top: 34px; gap: 36px; }
  .offer-bank { height: 138px; }
  .offers-placeholder { min-height: 220px; margin-top: 24px; padding: 28px 18px; }
  .bank-placeholder { min-height: 220px; margin-top: 0; }
  .review-placeholder { min-height: 220px; margin-top: 0; }
  .news-placeholder { min-height: 220px; margin-top: 14px; }
  .offers-placeholder h3 { font-size: 19px; }
  .offer-label { font-size: 14px; min-height: 46px; top: -23px; }
  .offer-desc { font-size: 14px; }
  .bank-tiles { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr; grid-template-areas: "one" "two" "three" "stat" "wide" "four" "five" "leave"; gap:16px; }
  .review-card { min-height: auto; border-radius: 10px; padding: 20px; }
  .leave-review { max-width: 100%; }
  .review-top h4,.leave-review h4 { font-size: 18px; }
  .review-badge { width: 44px; height: 44px; }
  .review-card p { font-size: 14px; }
  .review-bottom { align-items:flex-start; flex-direction:column; gap:10px; }
  .review-stat { padding: 28px; }
  .stat-line { font-size: 20px; }
  .stat-value { font-size: 34px; }
  .news-feature h3,.section-head h2,.seo-copy h2 { font-size: 24px; }
  .news-feature h4,.news-item h5 { font-size: 17px; }
  .news-list { border: 0; padding: 0; }
  .seo-brand { min-height: 220px; }
  .seo-brand img { width: 48%; }
  .footer-wrap { padding: 32px 12px; }
  .footer-brand { margin-bottom: 22px; }
  .footer-left p,.footer-right { font-size: 14px; }
  .footer-links { gap: 10px 16px; margin: 14px 0 20px; }
  .footer-support { grid-template-columns: 1fr; gap: 10px; }
  .footer-support address { margin: 6px 0 0; }
  .footer-bottom-row { padding-top: 24px; }
  .age-badge { width: 44px; height: 44px; font-size: 16px; }
  .footer-brand .brand-mark { width: auto; }
}

@media (max-width: 420px) {
  .top-strip-links .course { display: none; }
  .brand-mark { height: 36px; }
  .hero-main { min-height: 340px; }
  .hero-man { width: 300px; bottom: 248px; }
  .hero-main h1 { font-size: 23px; }
  .hero-man-2 { display: none; }
  .banner,.promo-strip,.bot-banner { aspect-ratio: 2.15 / 1; }
  .row,.terms-row { grid-template-columns: 1fr; }
  .offer-meta { flex-direction: column; gap: 4px; }
  .offer-meta strong { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .slider-layer,.slider-layer-back-one,.slider-layer-back-two { animation:none !important; transition:none !important; }
}
.nav a.active { background:#fff; color:var(--blue); font-weight:700; }
.card-lite { background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); }
.credits-page main,.credits-page { background:#fff; }
.credits-page .container > section { margin-top:50px; }
.credits-hero { display:grid; grid-template-columns:minmax(0, 1fr) 486px; gap:34px; align-items:center; margin-top:20px!important; }
.credits-hero h1 { margin:0; max-width:530px; font-size:34px; line-height:1.16; font-weight:700; letter-spacing:-.03em; }
.credits-hero h1 span:last-child { color:var(--blue); }
.credits-hero p { max-width:810px; margin:18px 0 0; color:#4b5563; font-size:15px; line-height:1.65; }
.title-icon-inline { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:6px; background:var(--blue); vertical-align:-2px; margin:0 4px; }
.title-icon-inline img { width:24px; filter:brightness(0) invert(1); }
.credits-hero-banner { display: flex; align-items: center; width: 486px; min-height:195px; max-height:195px; border-radius: 10px; overflow: hidden; }
.credit-filter { padding:0; border:0; box-shadow:none; margin-top:8px!important; }
.credit-filter h2 { margin:0 0 14px; font-size:24px; font-weight:600; }
.credit-filter-row { display:grid; grid-template-columns:1.25fr 1fr 1.35fr 180px; gap:12px; align-items:stretch; }
.credit-control { position:relative; display:flex; flex-direction:column; justify-content:center; gap:5px; min-height:64px; padding:10px 16px 12px; border:1px solid #e5eaf3; border-radius:5px; background:#fff; color:#a0a7b3; font-size:12px; box-shadow:0 3px 10px rgba(18,32,66,.08); }
.credit-control > span { line-height:1.1; }
.credit-filter input,.credit-filter select,.cards-filter-section .credit-control input,.cards-filter-section .credit-control select { width:100%; border:0; border-radius:0; margin:0; padding:0; color:#171717; background:transparent; font:inherit; font-size:15px; outline:0; }
.credit-filter select,.cards-filter-section .credit-control select { appearance:none; padding-right:22px; background-image:url("assets/arrow-bottom.svg"); background-repeat:no-repeat; background-position:right center; background-size:8px 8px; cursor:pointer; }
.credit-term-box { display:grid; grid-template-columns:1fr 58px; align-items:center; gap:12px; }
.credit-term-box select { height:28px; border-left:1px solid #d6dbe5; padding-left:16px; }
.credit-amount-range { --credit-progress:9%; position:absolute; left:0; right:0; bottom:0px; width:100%; height:4px; padding:0!important; accent-color:var(--blue); cursor:pointer; background:linear-gradient(90deg, var(--blue) 0 var(--credit-progress), #dbe4fb var(--credit-progress) 100%); }
.credit-amount-range::-webkit-slider-runnable-track { height:3px; background:transparent; }
.credit-amount-range::-webkit-slider-thumb { appearance:none; width:8px; height:8px; margin-top:-6px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 2px var(--blue); }
.credit-amount-range::-moz-range-track { height:3px; background:transparent; }
.credit-amount-range::-moz-range-thumb { width:8px; height:8px; border:0; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 2px var(--blue); }
.credit-filter-row .primary-btn { height:64px; margin:0; border-radius:5px; }
.credit-tags { display:grid; grid-template-columns:1fr 1fr minmax(235px, 1.65fr) 1fr 1fr .75fr; gap:14px; margin-top:22px; }
.credit-tags button { display: flex; align-items: center; justify-content: center; border: 0; background:#fff; border-radius:10px; min-height:50px; max-height: 50px; padding:0 14px; color:#171717; white-space:nowrap; cursor:pointer; box-shadow: 0 0 5px rgba(0, 0, 0, .15); transition: all 0.3s ease; }
.credit-tags button:hover { box-shadow: 0 0 5px #5279F4; }
.credit-tags button img { width:8px; height:8px; margin-left:5px; object-fit:contain; vertical-align:middle; }
.credit-best-list { background:#F3FAF8; border-radius:10px; padding:30px 0; }
.credit-best-row,.credit-offer-row,.credit-table-head { display:grid; grid-template-columns:2fr .9fr 1fr .85fr 225px; gap:16px; align-items:center; padding:15px 60px; }
.credit-best-row + .credit-best-row { border-top:1px solid #eeeeee; }
.credit-bank { display:flex; flex-direction: column; align-items:flex-start; gap:10px; min-width:0; }
.credit-bank__info { display: flex; align-items: center; column-gap: 23px; }
.credit-bank img { width:42px; height:42px; object-fit:contain; }
.credit-bank strong { display:block; font-size:15px; color:#171717; font-weight: 500; }
.credit-bank span,.credit-offer-row small,.credit-offer-row p { display:block; color:#A9A9A9; font-size:12px; line-height:1.35; font-weight: 400; }
.credit-bank em,.credit-bank__bottom em { display:inline-block; padding:4px 8px; border-radius:5px; background:#17a66d; color:#fff; font-style:normal; font-size:10px; }
.credit-bank__bottom em.marketing { background-color: #5279F4; }
.credit-best-row .credit-bank__bottom { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px; margin-top:-4px; }
.credit-best-row b,.credit-offer-row b { font-size:16px; }
.credit-best-row > span,.credit-offer-row > span { color:#374151; font-size:14px; }
.credit-best-row b small,.credit-best-row > span small { display:block; margin-top:3px; color:#A9A9A9; font-size:10px; line-height:1.25; font-weight:400; }
.credit-best-row .primary-btn,.credit-offer-row .primary-btn { margin:0; text-align:center; text-decoration:none; padding:12px 39px; font-size:16px; }
.credit-table-toolbar { display:grid; grid-template-columns:minmax(0, 1fr) 180px; gap:18px; align-items:stretch; }
.credit-table-head { display:grid; grid-template-columns:1.35fr .9fr 1.15fr .75fr 1fr; align-items:center; min-height:50px; max-height: 50px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; color:#8b8f98; font-size:13px; box-shadow:0 4px 14px rgba(18,32,66,.04); overflow:hidden; }
.credit-table-head span { display:flex; align-items:center; justify-content:center; padding:0 12px; border-right:1px solid #d6dbe5; }
.credit-table-head span:last-child { border-right:0; }
.credit-table-head span img { width:10px; height:10px; margin-left:5px; object-fit:contain; }
.credit-compare-btn { display:inline-flex; align-items:center; justify-content:center; gap:5px; margin:0; padding:0 18px; background:#39a978; font-size:13px; min-height:50px; max-height: 50px; border-radius: 10px; }
.credit-compare-btn img { width:14px; height:14px; object-fit:contain; }
.credit-table-list { display:grid; gap:18px; margin-top:18px; }
.credit-offer-row { grid-template-columns:1.35fr .9fr 1.15fr .75fr 1fr 160px; min-height:114px; border:1px solid #edf0f6; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(18,32,66,.10); padding:20px 32px; }
.credit-bank--table { gap:14px; }
.credit-bank--table .credit-bank__info { column-gap:18px; }
.credit-bank--table img { width:48px; height:48px; }
.credit-more,.credit-action button { display: flex; align-items: center; border:0; background:transparent; color:#8b8f98; font:inherit; font-size:12px; padding:0; cursor:pointer; }
.credit-more img,.credit-action button img { width:8px; height:8px; margin-left:5px; object-fit:contain; vertical-align:middle; }
.credit-action { display:flex; flex-direction:column; align-items:center; gap:7px; color:#8b8f98; font-size:12px; }
.credit-action small { color:#8b8f98; font-size:12px; line-height:1.2; }
.credit-action .primary-btn { width:100%; padding:10px 12px; font-size:12px; }
.show-more-btn { width:100%; margin-top:14px; min-height:40px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; color:#6b7280; cursor:pointer; }
.credit-reviews-slider { position:relative; }
.credit-review-viewport { overflow:hidden; }
.credit-review-track { --review-gap:24px; display:flex; gap:var(--review-gap); transition:transform .36s ease; will-change:transform; }
.credit-review-track .review-card { flex:0 0 calc((100% - (var(--review-gap) * 2)) / 3); min-height:230px; padding:22px; }
.credit-review-arrow { position:absolute; padding: 0; top:50%; z-index:2; width:50px; height:50px; border:0; border-radius:50%; background:#fff; display:grid; place-items:center; cursor:pointer; transform:translateY(-50%); }
.credit-review-arrow img { width:50px; height:50px; display:block; }
.credit-review-arrow--prev { left:-25px; }
.credit-review-arrow--prev img { transform:rotate(180deg); }
.credit-review-arrow--next { right:-25px; }
.credit-review-arrow[disabled] { opacity:.45; cursor:default; }
.credit-leave-review { display:grid; grid-template-columns:220px 1fr 240px; align-items:center; gap:24px; margin-top:18px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; box-shadow:var(--shadow); padding:22px 28px; max-width: 900px; }
.credit-leave-review h3 { margin:0; font-size:24px; }
.credit-leave-review p { margin:0; color:#6b7280; }
.credit-leave-review .primary-btn { margin:0; }
.credit-seo { padding:34px 38px; margin-top: 50px; }
.credit-seo h2 { margin:0 0 18px; font-size:24px; }
.credit-seo p { color:#4b5563; line-height:1.75; }
.credit-question h2 { margin:0 0 18px; font-size:22px; }
.credit-question { padding:0; border:0; box-shadow:none; }
.question-card { display:grid; grid-template-columns:400px 545px 400px; align-items:center; min-height:148px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(18,32,66,.10); overflow:hidden; padding: 0 25px; }
.question-card__label { display:flex; align-items:center; justify-content:center; height:94px; padding:0 75px; text-align:center; border-right:1px solid #d6dbe5; }
.expert { display:grid; grid-template-columns:82px 289px; column-gap:22px; align-items:center; height:94px; padding:0 75px; border-right:1px solid #d6dbe5; max-width: 545px; }
.expert img { width:82px; height:82px; border-radius:50%; object-fit:cover; object-position:top; }
.expert strong { display:block; color:var(--blue); font-weight: 500; margin-bottom: 10px; }
.expert span { display:block; color:#6b7280; font-size:13px; }
.question-card__action { display:flex; align-items:center; justify-content:center; padding:0 75px; }
.question-card .primary-btn { width:100%; margin:0; }
@media (max-width: 980px) {
  .credits-hero { grid-template-columns:1fr; }
  .credits-hero-banner { max-width:420px; width: 100%; }
  .credit-filter-row,.credit-table-toolbar,.credit-table-head,.credit-best-row,.credit-offer-row,.credit-leave-review,.question-card { grid-template-columns:1fr; }
  .credit-tags { display:flex; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .credit-tags::-webkit-scrollbar { display:none; }
  .credit-tags button { flex:0 0 auto; padding:0 18px; }
  .credit-table-head { display:none; }
  .credit-compare-btn { min-height:44px; }
  .credit-action { align-items:stretch; }
  .credit-action button { text-align:center; }
  .question-card { overflow:visible; }
  .question-card__label,.expert { height:auto; padding:20px; border-right:0; border-bottom:1px solid #e5eaf3; }
  .expert { grid-template-columns:64px 1fr; }
  .expert img { width:64px; height:64px; }
  .question-card__action { padding:20px; }
  .credit-best-row,.credit-offer-row { gap:10px; padding:18px; }
  .credit-review-track .review-card { flex-basis:100%; }
  .credit-review-arrow--prev { left:-12px; }
  .credit-review-arrow--next { right:-12px; }
}
@media (max-width: 760px) {
  .credits-hero h1 { font-size:28px; }
  .title-icon-inline { width:32px; height:32px; }
  .credits-page .container > section { margin-top:28px; }
  .credit-seo { padding:22px; }
}

/* Cards page */
.cards-page .credits-hero { grid-template-columns:minmax(0, 1fr) 486px; }
.cards-hero-banner img { width:100%; height:100%; object-fit:cover; }
.cards-open-purpose,.cards-filter-section { margin-top:26px!important; }
.cards-open-purpose h2,.cards-filter-section h2,.cards-list-section h2 { margin:0 0 14px; font-size:22px; font-weight:600; }
.cards-purpose-layout { display:grid; grid-template-columns:minmax(0, 1fr) 486px; gap:18px; align-items:stretch; }
.cards-purpose-buttons { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); min-height:82px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; overflow:hidden; box-shadow:0 3px 10px rgba(18,32,66,.06); }
.cards-purpose-buttons button,.cards-filter-line button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; border:0; border-right:1px solid #e5eaf3; background:#fff; color:#171717; font:inherit; cursor:pointer; font-size: 16px; padding: 0 34px; }
.cards-purpose-buttons button:last-child { border-right:0; }
.radio-dot { flex:0 0 auto; width:16px; height:16px; border-radius:50%; border:2px solid #e6eaf2; background:#fff; box-shadow:0 2px 7px rgba(18,32,66,.10); }
.cards-purpose-buttons button.active .radio-dot,.cards-filter-line button.active .radio-dot { border:4px solid #fff; background:var(--blue); box-shadow:0 0 0 2px #e6eaf2; }
.cards-purpose-buttons img,.cards-filter-line img { width:8px; height:8px; margin-left:5px; }
.cards-quick-apply { display:grid; gap:10px; align-content:center; min-height:82px; padding:12px 64px; border-radius:6px; background:#f5f5f5; text-align:center; color:#171717; font-size:13px; }
.cards-quick-apply .primary-btn { margin:0; min-height:38px; }
.cards-filter-row { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.cards-filter-section .credit-control { min-height:74px; }
.cards-filter-line { display:grid; gap:12px; margin-top:16px; align-items:center; }
.cards-bank-line { grid-template-columns:auto 160px 160px 160px 160px minmax(260px, 1fr); }
.cards-tag-line { display: flex; }
.cards-filter-line > span { color:#171717; font-weight:600; }
.cards-filter-line button { border:1px solid #e5eaf3; border-radius:8px; white-space:nowrap; box-shadow:0 3px 10px rgba(18,32,66,.05); }
.cards-filter-line button.active { border:1px solid #5279F4; }
.cards-filter-line .primary-btn { margin:0; border:0; color:#fff; background-color: #5279F4; }
.cards-bank-search { width:100%; min-height:50px; border:1px solid #e5eaf3; border-radius:8px; padding:0 24px; color:#171717; box-shadow:0 3px 10px rgba(18,32,66,.05); outline:0; }
.cards-bank-search::placeholder { color:#c4c8d1; }
.cards-section-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; }
.cards-section-head h2 { margin:0; font-size:22px; font-weight: 500; }
.cards-section-head h2 span { color:var(--blue); font-weight: 700; }
.cards-compare { display:inline-flex; align-items:center; gap:6px; min-height:50px; padding:0 53px; border-radius:8px; background:#fff; color:#6b7280; font:inherit; cursor:pointer; border: 0; box-shadow: 0 0 10px rgba(0, 0, 0, .15); }
.cards-compare img { width:20px; height:20px; }
.cards-best-list { background:#f3faf8; border-radius:10px; padding:24px 42px; }
.cards-best-row { display:grid; gap:18px; padding:24px 0 18px; border-bottom:1px solid #e4f0ea; }
.cards-best-row:first-child { padding-top:0; }
.cards-best-row:last-child { border-bottom:0; padding-bottom:0; }
.cards-best-top { display:grid; grid-template-columns:minmax(260px, 1fr) 220px 170px 150px; gap:20px; align-items:center; }
.cards-best-metrics { display:grid; grid-template-columns:1fr 1.2fr .8fr 1fr 1.35fr 1fr; gap:28px; align-items:start; }
.cards-product { display:flex; align-items:center; gap:14px; min-width:0; }
.cards-product img { width:92px; height:auto; object-fit:contain; border-radius:4px; }
.cards-product strong { display:block; color:#171717; font-size:14px; }
.cards-product span { display:block; color:#a9a9a9; font-size:11px; }
.cards-product em { display:inline-block; margin-top:4px; padding:3px 10px; border-radius:5px; background:#5279f4; color:#fff; font-style:normal; font-size:10px; }
.cards-best-compare { display:flex; align-items:center; gap:16px; }
.cards-best-compare button { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#a9a9a9; font:inherit; font-size:12px; padding:0; cursor:pointer; white-space:nowrap; }
.cards-best-compare button.active { color:var(--blue); }
.cards-best-compare img { width:20px; height:20px; object-fit:contain; }
.cards-best-row b,.cards-table-row b { font-size:15px; }
.cards-best-row b small { display:block; margin-top:4px; color:#a9a9a9; font-size:11px; font-weight:400; line-height:1.2; }
.cards-best-row > span,.cards-table-row > span { color:#171717; font-size:13px; }
.cards-details-btn,.cards-table-row > a:not(.primary-btn) { display:inline-flex; align-items:center; justify-content:center; min-height:40px; border:1px solid #aeb7c5; border-radius:5px; color:#4b5563; text-decoration:none; font-size:14px; background:#fff; }
.cards-best-row .primary-btn,.cards-table-row .primary-btn { display: flex; justify-content: center; text-decoration: none; margin:0; padding:11px 12px; font-size:14px; }
.cards-banners { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.cards-banners a { display:block; min-height:150px; max-height: 247px; border-radius:10px; overflow:hidden; }
.cards-banners img { width:100%; height:100%; object-fit:cover; }
.cards-table-list { display:grid; gap:18px; }
.cards-table-row { position:relative; display:grid; grid-template-columns:1.8fr .95fr 1fr 1.05fr 140px 160px; column-gap:22px; row-gap:8px; align-items:center; min-height:118px; padding:22px 30px; border:1px solid #e5eaf3; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(18,32,66,.10); }
.cards-table-row.is-highlighted { background:#eef4ff; border-color:#dbe6ff; }
.cards-row-badge { position:absolute; top:0px; left:50%; transform:translateX(-50%); min-width:190px; padding:3px 18px; border-radius:0 0 8px 8px; background:#52b47e; color:#fff; text-align:center; font-size:12px; }
.cards-table-row .cards-product { grid-column:1; grid-row:1 / span 2; }
.cards-table-row .cards-table-metric { grid-row:1; }
.cards-table-row .cards-product + .cards-table-metric { grid-column:2; }
.cards-table-row .cards-product + .cards-table-metric + .cards-table-metric { grid-column:3; }
.cards-table-row .cards-product + .cards-table-metric + .cards-table-metric + .cards-table-metric { grid-column:4; }
.cards-table-row .cards-details-btn { grid-column:5; grid-row:1 / span 2; }
.cards-table-row .primary-btn { grid-column:6; grid-row:1 / span 2; }
.cards-table-row .cards-product img { width:80px; }
.cards-table-metric b { display:block; color:#171717; font-size:18px; line-height:1.15; }
.cards-table-metric small { display:block; margin-top:4px; color:#a9a9a9; font-size:11px; line-height:1.2; }
.cards-info { display:inline-grid; place-items:center; width:15px; height:15px; margin-left:4px; border:1px solid #9bb7ff; border-radius:50%; background:#fff; color:var(--blue); font-size:10px; line-height:1; vertical-align:2px; cursor:pointer; }
.cards-mini-tags { grid-column:2 / 5; grid-row:2; display:flex; flex-wrap:wrap; gap:6px; margin-top:0; align-self:start; }
.cards-mini-tags em { display:inline-block; padding:3px 10px; border-radius:999px; background:#bde7d3; color:#3c8c65; font-style:normal; font-size:10px; line-height:1; white-space:nowrap; }
.cards-mini-tags em.is-blue { background:#dfe8ff; color:#6d82c5; }
.cards-table-row .cards-details-btn,.cards-table-row .primary-btn { min-height:40px; }
@media (max-width: 980px) {
  .cards-page .credits-hero,.cards-purpose-layout,.cards-filter-row,.cards-bank-line,.cards-tag-line,.cards-best-top,.cards-best-metrics,.cards-table-row { grid-template-columns:1fr; }
  .cards-table-row .cards-product,.cards-table-row .cards-table-metric,.cards-table-row .cards-details-btn,.cards-table-row .primary-btn,.cards-mini-tags { grid-column:auto; grid-row:auto; }
  .cards-purpose-buttons { grid-template-columns:1fr; }
  .cards-purpose-buttons button { border-right:0; border-bottom:1px solid #e5eaf3; }
  .cards-purpose-buttons button:last-child { border-bottom:0; }
  .cards-filter-line { display:flex; overflow-x:auto; padding-bottom:8px; }
  .cards-filter-line button { flex:0 0 auto; padding:0 18px; }
  .cards-bank-search { flex:0 0 260px; }
  .cards-banners { grid-template-columns:1fr; }
}

/* Loans page */
.loans-page .credits-hero { grid-template-columns:minmax(0, 1fr) 486px; align-items:start; gap:38px; }
.loans-page .credits-hero-banner { display:block; min-height:190px; max-height:190px; border-radius:8px; overflow:hidden; }
.loans-page .credits-hero-banner img { width:100%; height:100%; object-fit:cover; }
.loan-filter { margin-top:60px; padding:0; }
.loan-filter h2,.loan-conditions-section h2,.loan-mfo-section h2,.loan-rating-section h2 { margin:0 0 14px; font-size:18px; font-weight:600; }
.loan-filter h2 span,.loan-rating-section h2 span { color:var(--blue); }
.loan-filter-row { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:14px; align-items:end; }
.loan-filter-row .credit-control { min-height:56px; box-shadow:0 4px 14px rgba(18,32,66,.06); }
.loan-filter-row .loan-field { justify-content:center; min-height:58px; padding:0 22px; border-color:#e8edf5; border-radius:5px; box-shadow:0 4px 14px rgba(18,32,66,.05); }
.loan-filter-row .loan-field > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.loan-filter-row .loan-field input { width:100%; border:0; outline:0; background:transparent; color:#171717; font:inherit; font-size:14px; }
.loan-filter-row .loan-field input::placeholder { color:#b7bec9; }
.loans-hero-side { display:grid; gap:18px; }
.loans-hero-cta { display:grid; gap:14px; align-content:center; min-height:96px; padding:13px 70px; border-radius:5px; background:#f5f5f5; text-align:center; color:#171717; font-size:16px; }
.loans-hero-cta .primary-btn { margin:0; min-height:42px; }
.loan-top-grid,.loan-catalog-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.loan-top-section { padding:39px 33px 21px; border-radius:10px; background:#eafaf4; }
.loan-card { display:grid; gap:10px; padding:18px; border:1px solid #e5eaf3; border-radius:8px; background:#fff; box-shadow:0 4px 14px rgba(18,32,66,.08); }
.loan-logo { display:inline-flex; align-items:center; width:max-content; min-height:26px; font-weight:700; font-size:13px; letter-spacing:0; color:#171717; }
.loan-logo::before { content:""; width:16px; height:16px; margin-right:6px; border-radius:50%; background:#f2ca32; }
.loan-logo--purple::before { background:#7a4bb8; }
.loan-logo--orange::before { background:#ff7a22; }
.loan-logo--black::before { background:#171717; }
.loan-card strong { color:#171717; font-size:15px; }
.loan-card p { margin:0; color:#8c94a3; font-size:12px; }
.loan-line { display:flex; justify-content:space-between; gap:10px; color:#8c94a3; font-size:12px; }
.loan-line b { color:#171717; font-size:12px; }
.loan-card .primary-btn { margin:0; min-height:34px; padding:8px 10px; font-size:12px; text-decoration:none; }
.loan-secondary { display:flex; justify-content:center; align-items:center; min-height:30px; border-radius:4px; background:#17b67a; color:#fff; text-decoration:none; font-size:11px; }
.loan-banners { display:grid; grid-template-columns:1fr 1fr 1fr; gap:15px; }
.loan-banners a { display:block; height:247px; border-radius:10px; overflow:hidden; }
.loan-banners img { width:100%; height:100%; object-fit:cover; }
.loan-tags { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.loan-tags button { min-height:42px; padding:0 22px; border:0; border-radius:6px; background:#fff; color:#171717; font:inherit; cursor:pointer; box-shadow:0 0px 5px rgba(0,0,0,.15); }
.loan-tags button.active { color:#5279f4; box-shadow:0 0px 10px #5279f4; }
.loan-catalog-grid { margin-top:0; }
.loan-conditions-grid { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:12px; }
.loan-conditions-grid a { display:grid; place-items:center; gap:8px; min-height:82px; padding:12px; border:1px solid #e5eaf3; border-radius:6px; background:#fff; color:#171717; text-decoration:none; font-size:12px; box-shadow:0 3px 10px rgba(18,32,66,.05); }
.loan-conditions-grid img { width:24px; height:24px; object-fit:contain; }
.loan-mfo-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.loan-mfo-grid article { display:grid; gap:10px; padding:18px; border:1px solid #e5eaf3; border-radius:8px; background:#fff; box-shadow:0 4px 14px rgba(18,32,66,.08); }
.loan-mfo-grid .primary-btn { margin:0; min-height:34px; padding:8px 10px; font-size:12px; text-decoration:none; }
.loan-mfo-grid span { color:#17a875; font-size:11px; text-align:center; }
.loan-rating-table { overflow:hidden; border:1px solid #e5eaf3; border-radius:8px; background:#fff; box-shadow:0 4px 14px rgba(18,32,66,.06); }
.loan-rating-head,.loan-rating-row { display:grid; grid-template-columns:1.15fr 1fr .9fr 1fr 1fr 1.6fr; gap:14px; align-items:center; padding:14px 18px; border-bottom:1px solid #eef2f7; }
.loan-rating-head { color:#8c94a3; font-size:12px; background:#fbfcfe; }
.loan-rating-row:last-child { border-bottom:0; }
.loan-rating-row a { color:#5279f4; font-weight:600; text-decoration:none; }
.loan-rating-row span,.loan-rating-row p { margin:0; color:#4b5563; font-size:12px; }
.loan-rating-row b { color:#171717; font-size:13px; }
@media (max-width: 980px) {
  .loans-page .credits-hero,.loan-filter-row,.loan-banners { grid-template-columns:1fr; }
  .loans-hero-cta { padding:16px 24px; }
  .loan-top-grid,.loan-catalog-grid,.loan-mfo-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .loan-conditions-grid { display:flex; overflow-x:auto; padding-bottom:8px; }
  .loan-conditions-grid a { flex:0 0 130px; }
  .loan-rating-table { overflow-x:auto; }
  .loan-rating-head,.loan-rating-row { min-width:900px; }
}
@media (max-width: 620px) {
  .loan-top-grid,.loan-catalog-grid,.loan-mfo-grid { grid-template-columns:1fr; }
  .loan-tags { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; }
  .loan-tags button { flex:0 0 auto; }
}

.loan-offer-card { padding:0; gap:0; overflow:hidden; border-radius:8px; }
.loan-card-head { display:grid; place-items:center; gap:8px; min-height:92px; padding:18px 12px 12px; border-bottom:1px solid #dfe6ee; text-align:center; }
.loan-card-head img { max-width:150px; max-height:50px; object-fit:contain; }
.loan-card-head span { color:#a7adb8; font-size:12px; line-height:1.2; }
.loan-card-body { display:grid; gap:8px; padding:16px 16px 14px; }
.loan-card-body strong { margin-bottom:2px; font-size:18px; }
.loan-badges { display:flex; flex-wrap:wrap; gap:6px; min-height:20px; }
.loan-badges em { display:inline-flex; align-items:center; min-height:18px; padding:2px 10px; border-radius:999px; background:#bde7d3; color:#3c8c65; font-style:normal; font-size:11px; line-height:1; }
.loan-badges em.ad { background:#6283f4; color:#fff; }
.loan-offer-card .loan-line { font-size:14px; line-height:1.2; }
.loan-offer-card .loan-line span { display: flex; align-items: center; color:#a7adb8; }
.loan-offer-card .loan-line b { color:#171717; font-size:13px; text-align:right; }
.loan-offer-card .loan-line i { display:inline-grid; place-items:center; width:14px; height:14px; margin-left:3px; border:1px solid #9bb7ff; border-radius:50%; color:#5279f4; font-style:normal; font-size:9px; vertical-align:1px; }
.loan-offer-card .primary-btn { display: flex; justify-content: center; min-height:33px; margin-top:4px; font-size:14px; }
.loan-offer-card .loan-secondary { min-height:20px; font-size:10px; }
.loan-offer-card { overflow:visible; }
.loan-offer-card .loan-card-head,.loan-offer-card .loan-card-body { background:#fff; }
.loan-offer-card .loan-card-head { border-radius:8px 8px 0 0; }
.loan-offer-card .loan-card-body { border-radius:0 0 8px 8px; }
.loan-info { position:relative; cursor:help; }
.loan-info::before { content:attr(data-tooltip); position:absolute; left:50%; bottom:calc(100% + 16px); z-index:20; width:160px; padding:15px 10px; border-radius:8px; background:#fff; color:#a7a7a7; font-size:10px; font-weight:400; line-height:1.25; text-align:left; box-shadow:0 6px 18px rgba(18,32,66,.18); transform:translateX(-50%) translateY(6px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.loan-info::after { content:""; position:absolute; left:50%; bottom:calc(100% + 7px); z-index:21; width:18px; height:18px; background:#fff; box-shadow:4px 4px 10px rgba(18,32,66,.08); transform:translateX(-50%) rotate(45deg) translateY(6px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.loan-info:hover::before,.loan-info:focus::before,.loan-info:hover::after,.loan-info:focus::after { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.loan-info:hover::after,.loan-info:focus::after { transform:translateX(-50%) rotate(45deg) translateY(0); }
@media (max-width: 620px) {
  .loan-info::before { left:0; width:220px; transform:translateX(-20px) translateY(6px); }
  .loan-info:hover::before,.loan-info:focus::before { transform:translateX(-20px) translateY(0); }
  .loan-info::after,.loan-info:hover::after,.loan-info:focus::after { left:8px; transform:rotate(45deg); }
}

.loan-conditions-grid { grid-template-columns:repeat(6, minmax(0, 1fr)); gap:14px; }
.loan-conditions-grid a { min-height:84px; gap:10px; border:0; border-radius:8px; color:#171717; font-size:14px; font-weight:600; box-shadow:0 4px 14px rgba(18,32,66,.12); }
.loan-conditions-grid img { width:34px; height:34px; }
.loan-conditions-grid span { display:block; text-align:center; }
.loan-mfo-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:32px; }
.loan-mfo-card { display:grid; gap:18px; padding:36px 36px 24px; border:1px solid #e8edf5; border-radius:8px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.12); }
.loan-mfo-top { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:42px; }
.loan-mfo-top img { max-width:150px; max-height:38px; object-fit:contain; }
.loan-mfo-rating { display:flex; align-items:baseline; gap:6px; white-space:nowrap; }
.loan-mfo-rating b { color:#5279f4; font-size:14px; }
.loan-mfo-rating span { color:#8c94a3; font-size:12px; }
.loan-mfo-card .primary-btn { min-height:33px; margin:4px 0 0; font-size:14px; text-decoration:none; display:flex; justify-content:center; }
.loan-mfo-license { color:#b0b0b0; text-align:center; font-size:14px; }
.loan-mfo-offers { display:flex; align-items:center; justify-content:center; min-height:20px; border-radius:5px; background:#45a774; color:#fff; font-size:11px; }
@media (max-width: 980px) {
  .loan-conditions-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); overflow:visible; }
  .loan-conditions-grid a { flex:auto; }
  .loan-mfo-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
}
@media (max-width: 620px) {
  .loan-conditions-grid,.loan-mfo-grid { grid-template-columns:1fr; }
}

.loan-rating-section h2 { font-size:24px; font-weight:500; }
.loan-rating-table { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.loan-rating-head { display:grid; grid-template-columns:1.15fr 1fr .9fr 1fr 1fr 1.6fr; gap:14px; align-items:center; min-height:58px; margin-bottom:24px; padding:0 56px; border:0; border-radius:8px; background:#fff; color:#8c94a3; font-size:13px; box-shadow:0 4px 16px rgba(18,32,66,.12); }
.loan-rating-head span { display:flex; align-items:center; justify-content:center; min-height:34px; border-right:1px solid #d7dce5; }
.loan-rating-head span:last-child { border-right:0; }
.loan-rating-body { padding:28px 56px; border:1px solid #e8edf5; border-radius:8px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.10); }
.loan-rating-row { display:grid; grid-template-columns:1.15fr 1fr .9fr 1fr 1fr 1.6fr; gap:14px; align-items:center; min-height:92px; padding:18px 0; border-bottom:1px solid #9f9f9f; }
.loan-rating-row:last-child { border-bottom:0; }
.loan-rating-name { display:grid; gap:6px; }
.loan-rating-name span { color:#686868; font-size:15px; }
.loan-rating-name a { color:#5279f4; font-size:15px; font-weight:700; text-decoration:none; }
.loan-rating-row > span,.loan-rating-row p { margin:0; color:#686868; font-size:15px; line-height:1.25; }
.loan-rating-row b { color:#686868; font-size:15px; font-weight:700; }
@media (max-width: 980px) {
  .loan-rating-head,.loan-rating-row { min-width:980px; }
  .loan-rating-table { overflow-x:auto; padding-bottom:8px; }
  .loan-rating-body { min-width:980px; padding:22px 36px; }
  .loan-rating-head { padding:0 36px; }
}


/* Deposits page */
.deposits-page .container > section { margin-top:34px; }
.deposits-hero { display:grid; grid-template-columns:minmax(0, 1fr) 520px; gap:38px; align-items:start; }
.deposits-hero h1 { margin:0 0 24px; max-width:550px; font-size:42px; line-height:1.14; font-weight:700; letter-spacing:0; }
.deposits-hero h1 > span:not(.title-icon-inline),.deposit-list-section h2 span,.deposit-month-section h2 span { color:var(--blue); }
.deposits-hero p { max-width:760px; margin:0; color:#4b5563; font-size:16px; line-height:1.55; }
.deposits-hero-banner { display:block; height:195px; border-radius:8px; overflow:hidden; }
.deposits-hero-banner img { width:100%; height:100%; object-fit:cover; }

.deposit-filter-section { margin-top:22px!important; }
.deposit-filter-section .credit-control > input { color:#171717; }
.deposit-filter-section .credit-control > span { color:#b8bec8; }
.deposit-bank-line button,.deposit-bank-line input,.deposit-checks,.deposit-rate-card { border-color:#e8edf5; }
.deposit-checks .radio-dot,.deposit-bank-line .radio-dot,.deposit-product-group .radio-dot { width:17px; height:17px; border-width:2px; }
.deposit-checks .info-dot { margin-left:auto; }
.deposit-checks button .radio-dot { margin-left:0; }
.deposit-filter-section h2,.deposit-list-section h2,.deposit-month-section h2,.deposit-special-section h2 { margin:0 0 18px; font-size:24px; font-weight:600; }
.deposit-filter-main { display:grid; grid-template-columns:390px 250px minmax(420px, 1fr) 230px; gap:14px; align-items:stretch; }
.deposit-filter-main .credit-control { min-height:74px; border-radius:6px; border-color:#e8edf5; box-shadow:0 4px 14px rgba(18,32,66,.06); }
.deposit-amount-control { display:grid; grid-template-columns:1fr 72px; column-gap:0; padding-right:0; }
.deposit-amount-control > span { grid-column:1 / -1; }
.deposit-amount-control select { height:48px; margin-top:6px; border-left:1px solid #d6dbe5; text-align:center; color:#171717; }
.deposit-product-group { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:28px 22px 14px; }
.deposit-product-group > span { position:absolute; top:14px; left:20px; color:#b8bec8; font-size:12px; }
.deposit-product-group button,.deposit-bank-line button,.deposit-checks button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; background:transparent; color:#171717; font:inherit; cursor:pointer; white-space:nowrap; }
.deposit-product-group button { justify-content: start; }
.deposit-submit { min-height:74px; margin:0; border-radius:5px; font-size:16px; }
.deposit-bank-line { display:grid; grid-template-columns:68px repeat(4, 178px) minmax(260px, 1fr); gap:12px; align-items:center; margin-top:18px; }
.deposit-bank-line > span { color:#171717; font-size:18px; font-weight:500; }
.deposit-bank-line button,.deposit-bank-line input,.deposit-checks,.deposit-rate-card,.deposit-category-row button,.deposit-category-row a { border:1px solid #e8edf5; border-radius:8px; background:#ffffff; box-shadow:0 4px 14px rgba(18,32,66,.06);
 }

.deposit-bank-line button { min-height:54px; font-size:18px; }
.deposit-bank-line input { min-height:54px; padding:0 28px; outline:0; color:#171717; font:inherit; }
.deposit-bank-line input::placeholder { color:#c2c7d0; }
.deposit-bank-line button.active,.deposit-product-group button.active,.deposit-checks button.active,.deposit-category-row button.active { color:var(--blue); }
.deposit-radio-group button.active .radio-dot,.deposit-checks button.active .radio-dot { border:4px solid #fff; background:var(--blue); box-shadow:0 0 0 2px #e6eaf2; }
.deposit-options-row { display:grid; grid-template-columns:minmax(0, 1.48fr) minmax(430px, 1fr); gap:14px; margin-top:18px; }
.deposit-checks { display:grid; grid-template-columns:1fr 1fr; column-gap:38px; row-gap:12px; min-height:132px; padding:26px 28px; }
.deposit-checks button { justify-content:flex-start; font-size:16px; min-width:0; }
.info-dot { display:inline-grid; place-items:center; width:16px; height:16px; border:1px solid #9bb7ff; border-radius:50%; color:var(--blue); font-size:10px; font-style:normal; }
.deposit-rate-card { display:grid; place-items:center; align-content:center; gap:14px; min-height:132px; padding:20px 42px; background:#e9f7f2; text-align:center; }
.deposit-rate-card strong { font-size:20px; font-weight:500; }
.deposit-rate-card span { max-width:420px; color:#4b5563; font-size:16px; line-height:1.45; }
.deposit-category-row { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)) 66px; gap:14px; margin-top:20px; }
.deposit-category-row button { display:grid; grid-template-columns:1fr auto; grid-template-areas:"name count" "sub sub"; align-items:center; min-height:78px; padding:14px 22px; color:#6b7280; font:inherit; cursor:pointer; }
.deposit-category-row span { grid-area:name; font-size:16px; }
.deposit-category-row b { grid-area:count; min-width:64px; padding:2px 12px; border-radius:999px; background:var(--blue); color:#fff; font-size:15px; font-weight:500; }
.deposit-category-row small { grid-area:sub; margin-top:4px; color:#a9a9a9; font-size:12px; text-align:center; }
.deposit-category-row a { display:grid; place-items:center; min-height:78px; background-color: #5279F4; }
.deposit-category-row img { width:45px; height:45px; object-fit:contain; }
.deposit-table-head,.deposit-row { display:grid; grid-template-columns:1.35fr 1.2fr 1.1fr .9fr .95fr 1fr; gap:18px; align-items:center; }
.deposit-table-head { min-height:58px; margin-bottom:24px; padding:0 34px; border:1px solid #e8edf5; border-radius:8px; background:#fff; color:#8b8f98; box-shadow:0 4px 16px rgba(18,32,66,.08); }
.deposit-table-head span { display:flex; align-items:center; justify-content:center; min-height:36px; border-right:1px solid #d6dbe5; }
.deposit-table-head span:last-child { border-right:0; }
.deposit-table-head img { width:10px; height:10px; margin-left:5px; }
.deposit-list { display:grid; gap:16px; }
.deposit-row { position:relative; min-height:112px; padding:24px 34px; border:1px solid #e8edf5; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.08); }
.deposit-row.is-featured { background:#f3faf8; }
.deposit-bank { display:grid; gap:16px; }
.deposit-bank img { max-width:150px; max-height:44px; object-fit:contain; justify-self:start; }
.deposit-bank button { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#8b8f98; font:inherit; font-size:12px; padding:0; cursor:pointer; }
.deposit-bank button img { width:8px; height:8px; }
.deposit-name strong { display:block; color:#171717; font-size:16px; font-weight:500; }
.deposit-name em,.deposit-rate span { display:inline-block; margin-top:6px; padding:3px 12px; border-radius:999px; background:#ccefe0; color:#3c8c65; font-style:normal; font-size:11px; }
.deposit-rate { display:grid; justify-items:center; gap:8px; text-align:center; }
.deposit-rate span { position:absolute; top:9px; transform:translateY(-50%); min-width:210px; background:#5279f4; color:#fff; border-radius:0 0 7px 7px; margin-top: 0; }
.deposit-row b { color:#171717; font-size:20px; font-weight:600; }
.deposit-rate a { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:3px 14px; border-radius:5px; background:#45a774; color:#fff; text-decoration:none; font-size:11px; }
.deposit-action { display:grid; justify-items:center; gap:10px; }
.deposit-action small { color:#a9a9a9; font-size:12px; }
.deposit-action .primary-btn { display: flex; align-items: center; justify-content: center; width:100%; min-height:40px; margin:0; padding:10px 14px; text-decoration:none; font-size:13px; }
.deposit-list-section .show-more-btn { display:flex; align-items:center; justify-content:center; gap:8px; }
.deposit-list-section .show-more-btn img { width:9px; height:9px; }
.deposit-banners { display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
.deposit-banners a { display:block; height:250px; border-radius:10px; overflow:hidden; }
.deposit-banners img { width:100%; height:100%; object-fit:cover; }
.deposit-month-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.deposit-month-grid article { display:grid; gap:16px; padding:24px 34px; border:1px solid #e8edf5; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.10); }
.deposit-month-grid article > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.deposit-month-grid article > div:first-child img { max-width:140px; max-height:32px; object-fit:contain; }
.deposit-month-grid p { margin:0; color:#a9a9a9; }
.deposit-month-grid em { display:flex; justify-content:center; min-height:24px; padding:4px 14px; border-radius:0 0 8px 8px; background:#45a774; color:#fff; font-style:normal; font-size:12px; text-align:center; }
.deposit-month-grid article > div:nth-of-type(2) { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.deposit-month-grid b { font-size:16px; }
.deposit-month-grid small { display:block; margin-top:4px; color:#a9a9a9; font-size:12px; font-weight:400; }
.deposit-month-grid .primary-btn { margin:0; text-decoration:none; text-align:center; }
.deposit-special-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:22px; }
.deposit-special-grid article { overflow:hidden; border:1px solid #e8edf5; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.10); }
.deposit-special-grid article > img { width:100%; height:180px; object-fit:cover; }
.deposit-special-grid article > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:18px; }
.deposit-special-grid article > div > img { grid-column:1 / -1; max-width:140px; max-height:34px; object-fit:contain; }
.deposit-special-grid p { grid-column:1 / -1; min-height:40px; margin:0; color:#a9a9a9; font-size:13px; }
.deposit-special-grid b { font-size:15px; }
.deposit-special-grid small { display:block; margin-top:4px; color:#a9a9a9; font-size:12px; font-weight:400; }
.deposit-special-grid .primary-btn { grid-column:1 / -1; margin:0; text-decoration:none; text-align:center; }
@media (max-width: 1180px) {
  .deposits-hero,.deposit-filter-main,.deposit-options-row { grid-template-columns:1fr; }
  .deposits-hero-banner { max-width:520px; }
  .deposit-bank-line { grid-template-columns:auto repeat(2, minmax(140px, 1fr)); }
  .deposit-bank-line input { grid-column:2 / -1; }
  .deposit-category-row,.deposit-month-grid,.deposit-special-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .deposit-category-row a { display:none; }
}
@media (max-width: 980px) {
  .deposit-table-head { display:none; }
  .deposit-row { grid-template-columns:1fr; gap:12px; }
  .deposit-rate { justify-items:start; text-align:left; }
  .deposit-rate span { position:static; transform:none; }
  .deposit-action { justify-items:stretch; }
  .deposit-banners { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .deposits-hero h1 { font-size:30px; }
  .deposit-filter-section h2,.deposit-list-section h2,.deposit-month-section h2,.deposit-special-section h2 { font-size:21px; }
  .deposit-product-group { grid-template-columns:1fr; padding-top:34px; }
  .deposit-bank-line,.deposit-checks,.deposit-category-row,.deposit-month-grid,.deposit-special-grid { grid-template-columns:1fr; }
  .deposit-bank-line { display:flex; overflow-x:auto; padding-bottom:8px; }
  .deposit-bank-line > span { flex:0 0 auto; align-self:center; }
  .deposit-bank-line button { flex:0 0 140px; }
  .deposit-bank-line input { flex:0 0 240px; }
  .deposit-rate-card { padding:20px; }
}


/* Deposits filter polish */
.deposits-page .deposit-filter-section { margin-top:24px!important; }
.deposits-page .deposit-filter-section h2 { margin-bottom:16px; font-size:24px; line-height:1.2; color:#171717; }
.deposits-page .deposit-filter-main { grid-template-columns:390px 250px minmax(420px, 1fr) 230px; gap:14px; }
.deposits-page .deposit-filter-main .credit-control,
.deposits-page .deposit-bank-line button,
.deposits-page .deposit-bank-line input,
.deposits-page .deposit-checks,
.deposits-page .deposit-rate-card { border:1px solid #edf1f6; border-radius:6px; background:#fff; box-shadow:0 2px 12px rgba(18,32,66,.07); }
.deposits-page .deposit-filter-main .credit-control { min-height:74px; padding:14px 20px 12px; justify-content:flex-start; gap:5px; overflow: visible; }
.deposits-page .deposit-filter-section .credit-control > span { color:#b9b9b9; font-size:12px; line-height:1.15; }
.deposits-page .deposit-filter-section .credit-control input,
.deposits-page .deposit-filter-section .credit-control select { color:#171717; font-size:16px; font-weight:400; }
.deposits-page .deposit-amount-control { grid-template-columns:1fr 72px; padding-right:0!important; }
.deposits-page .deposit-amount-control input[type="text"] { 
  width: 100%;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  color: #171717;
  background: transparent;
  font: inherit;
  font-size: 15px;
  outline: 0;
 }
 .deposits-page .deposit-amount-control input[type="range"] { padding: 0; margin: 0; }
.deposits-page .deposit-amount-control select { align-self:center; height:44px; margin:0; padding:0 28px 0 14px; border: 0; background-position:right 15px center; }
.deposits-page .deposit-amount-control .credit-amount-range { left:0; right:72px; bottom:-1px; height:4px; }
.deposits-page .deposit-product-group { min-height:74px; padding:30px 22px 14px; align-items:center; gap:26px; }
.deposits-page .deposit-product-group > span { top:14px; left:20px; color:#b9b9b9; }
.deposits-page .deposit-product-group button { flex:0 0 auto; gap:8px; color:#171717!important; font-size:16px; margin-right: 20px; }
.deposits-page .deposit-bank-line { grid-template-columns:68px repeat(4, 178px) minmax(280px, 1fr); gap:12px; margin-top:18px; }
.deposits-page .deposit-bank-line > span { font-size:18px; font-weight:500; color:#171717; }
.deposits-page .deposit-bank-line button { min-height:54px; padding:0 20px; color:#171717!important; font-size:18px; }
.deposits-page .deposit-bank-line input { min-height:54px; padding:0 28px; color:#171717; font-size:14px; }
.deposits-page .deposit-bank-line input::placeholder { color:#c9c9c9; }
.deposits-page .deposit-checks .radio-dot,
.deposits-page .deposit-bank-line .radio-dot,
.deposits-page .deposit-product-group .radio-dot { width:17px; height:17px; border:2px solid #edf1f6; background:#fff; box-shadow:0 2px 8px rgba(18,32,66,.08); }
.deposits-page .deposit-radio-group button.active .radio-dot,
.deposits-page .deposit-checks button.active .radio-dot { border:4px solid #fff; background:var(--blue); box-shadow:0 0 0 2px #edf1f6, 0 2px 8px rgba(18,32,66,.08); }
.deposits-page .deposit-options-row { grid-template-columns:minmax(0, 1.48fr) minmax(430px, 1fr); gap:14px; margin-top:18px; }
.deposits-page .deposit-checks { min-height:132px; grid-template-columns:1fr 1fr; row-gap:12px; column-gap:40px; padding:26px 28px; }
.deposits-page .deposit-checks button { justify-content:flex-start; gap:7px; min-width:0; color:#171717!important; font-size:16px; line-height:1.25; }
.deposits-page .deposit-checks button .radio-dot { margin-left:auto; }
.deposits-page .deposit-checks .info-dot { margin:0; flex:0 0 auto; width:16px; height:16px; font-size:10px; }
.deposits-page .deposit-rate-card { min-height:132px; border-color:#e6f3ee; background:#e9f7f2; box-shadow:none; }
.deposits-page .deposit-rate-card strong { font-size:20px; font-weight:500; color:#171717; }
.deposits-page .deposit-rate-card span { max-width:440px; color:#4b5563; font-size:16px; line-height:1.45; }
@media (max-width: 1180px) {
  .deposits-page .deposit-filter-main,
  .deposits-page .deposit-options-row { grid-template-columns:1fr; }
  .deposits-page .deposit-bank-line { grid-template-columns:auto repeat(2, minmax(140px, 1fr)); }
}
@media (max-width: 760px) {
  .deposits-page .deposit-product-group { align-items:flex-start; flex-wrap:wrap; }
  .deposits-page .deposit-bank-line { display:flex; overflow-x:auto; }
  .deposits-page .deposit-bank-line button { flex:0 0 145px; }
  .deposits-page .deposit-bank-line input { flex:0 0 260px; }
  .deposits-page .deposit-checks { grid-template-columns:1fr; }
}

/* Deposits filter final match */
.deposits-page .deposit-filter-section { margin-top:24px!important; }
.deposits-page .deposit-filter-section h2 { margin:0 0 16px; font-size:24px; line-height:1.2; font-weight:600; color:#171717; }
.deposits-page .deposit-filter-main { display:grid; grid-template-columns:390px 250px minmax(420px, 1fr) 230px; gap:14px; align-items:stretch; }
.deposits-page .deposit-filter-main .credit-control,
.deposits-page .deposit-bank-line button,
.deposits-page .deposit-bank-line input,
.deposits-page .deposit-checks,
.deposits-page .deposit-rate-card { border:1px solid #edf1f6; border-radius:6px; background:#fff; box-shadow:0 2px 10px rgba(18,32,66,.07); }
.deposits-page .deposit-filter-main .credit-control { min-height:74px; padding:13px 20px 12px; justify-content:flex-start; gap:5px; }
.deposits-page .deposit-filter-section .credit-control > span { color:#b8b8b8; font-size:12px; line-height:1.1; }
.deposits-page .deposit-filter-section input,
.deposits-page .deposit-filter-section select,
.deposits-page .deposit-filter-section button { font-family:'Montserrat', sans-serif; }
.deposits-page .deposit-filter-section select { appearance:none; background-image:url("assets/arrow-bottom.svg"); background-repeat:no-repeat; background-position:right 18px center; background-size:8px 8px; }
.deposits-page .deposit-filter-section .credit-control input:not([type="range"]),
.deposits-page .deposit-filter-section .credit-control select { width:100%; border:0; outline:0; background-color:transparent; color:#171717; font-size:16px; font-weight:400; }
.deposits-page .deposit-amount-control { display:grid; grid-template-columns:minmax(0, 1fr) 72px; grid-template-rows:auto 1fr; column-gap:0; padding:13px 0 0 20px!important; overflow:hidden; }
.deposits-page .deposit-amount-control > span { grid-column:1; grid-row:1; }
.deposits-page .deposit-amount-control input[type="text"] { grid-column:1; grid-row:2; align-self:start; padding:3px 12px 0 0!important; }
.deposits-page .deposit-amount-control select { grid-column:2; grid-row:1 / 3; align-self:stretch; height:auto; margin:0; border-left:1px solid #d8d8d8!important; background-position:right 15px center; }
.deposits-page .deposit-amount-control .credit-amount-range { left:0; right:72px; bottom:-1px; height:4px; }
.deposits-page .deposit-amount-control .credit-amount-range::-webkit-slider-thumb { margin-top:-2px; }
.deposits-page .deposit-filter-main > .credit-control:not(.deposit-amount-control):not(.deposit-product-group) { padding-top:14px; }
.deposits-page .deposit-product-group { display:grid; grid-template-columns:auto auto auto; align-content:end; align-items:center; justify-content:start; column-gap:44px; min-height:74px; padding:30px 20px 14px; position:relative; }
.deposits-page .deposit-product-group > span { position:absolute; left:20px; top:14px; color:#b8b8b8; font-size:12px; }
.deposits-page .deposit-product-group button,
.deposits-page .deposit-bank-line button,
.deposits-page .deposit-checks button { border:0; background:transparent; box-shadow:none; padding:0; color:#171717!important; font-size:16px; font-weight:400; line-height:1.2; }
.deposits-page .deposit-product-group button,
.deposits-page .deposit-bank-line button { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:8px; white-space:nowrap; }
.deposits-page .deposit-submit { min-height:74px; margin:0; border-radius:5px; box-shadow:none; background:#5279f4; color:#fff; font-size:16px; }
.deposits-page .deposit-bank-line { display:grid; grid-template-columns:68px repeat(4, 178px) minmax(280px, 1fr); gap:12px; align-items:center; margin-top:18px; }
.deposits-page .deposit-bank-line > span { color:#171717; font-size:18px; font-weight:500; }
.deposits-page .deposit-bank-line button { min-height:54px; padding:0 18px; font-size:18px; }
.deposits-page .deposit-bank-line input { min-height:54px; padding:0 28px; outline:0; color:#171717; font-size:14px; }
.deposits-page .deposit-bank-line input::placeholder { color:#c7c7c7; }
.deposits-page .deposit-checks .radio-dot,
.deposits-page .deposit-bank-line .radio-dot,
.deposits-page .deposit-product-group .radio-dot { flex:0 0 auto; width:17px; height:17px; border:2px solid #edf1f6; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(18,32,66,.08); }
.deposits-page .deposit-radio-group button.active .radio-dot,
.deposits-page .deposit-checks button.active .radio-dot { border:4px solid #fff; background:#5279f4; box-shadow:0 0 0 2px #edf1f6, 0 2px 8px rgba(18,32,66,.08); }
.deposits-page .deposit-options-row { display:grid; grid-template-columns:minmax(0, 1.48fr) minmax(430px, 1fr); gap:14px; margin-top:18px; }
.deposits-page .deposit-checks { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); row-gap:12px; column-gap:40px; min-height:132px; padding:26px 28px; }
.deposits-page .deposit-checks button { display:grid; grid-template-columns:auto minmax(0, max-content) auto; align-items:center; justify-content:start; column-gap:7px; min-width:0; text-align:left; }
.deposits-page .deposit-checks button:not(:has(.info-dot)) { grid-template-columns:minmax(0, max-content) auto; }
.deposits-page .deposit-checks button:not(:has(.info-dot)) .radio-dot { margin-left:0; }
.deposits-page .deposit-checks .info-dot { display:inline-grid; place-items:center; width:16px; height:16px; margin:0; border:1px solid #9bb7ff; border-radius:50%; color:#5279f4; font-size:10px; font-style:normal; }
.deposits-page .deposit-rate-card { min-height:132px; padding:22px 40px; border-color:#e6f3ee; background:#e9f7f2; box-shadow:none; text-align:center; }
.deposits-page .deposit-rate-card strong { color:#171717; font-size:20px; font-weight:500; line-height:1.25; }
.deposits-page .deposit-rate-card span { max-width:450px; color:#4b5563; font-size:16px; line-height:1.45; }
@media (max-width: 1180px) {
  .deposits-page .deposit-filter-main,
  .deposits-page .deposit-options-row { grid-template-columns:1fr; }
  .deposits-page .deposit-bank-line { grid-template-columns:auto repeat(2, minmax(140px, 1fr)); }
  .deposits-page .deposit-bank-line input { grid-column:2 / -1; }
}
@media (max-width: 760px) {
  .deposits-page .deposit-product-group { grid-template-columns:1fr; row-gap:14px; }
  .deposits-page .deposit-bank-line { display:flex; overflow-x:auto; padding-bottom:8px; }
  .deposits-page .deposit-bank-line > span { flex:0 0 auto; }
  .deposits-page .deposit-bank-line button { flex:0 0 145px; }
  .deposits-page .deposit-bank-line input { flex:0 0 260px; }
  .deposits-page .deposit-checks { grid-template-columns:1fr; }
}


/* Insurance page */
.insurance-page .container > section { margin-top:34px; }
.insurance-hero { display:grid; grid-template-columns:minmax(0, 1fr) 520px; gap:42px; align-items:start; }
.insurance-hero h1 { max-width:720px; margin:0 0 24px; color:#171717; font-size:42px; line-height:1.14; font-weight:700; letter-spacing:0; }
.insurance-hero h1 > span:not(.title-icon-inline) { color:var(--blue); }
.insurance-hero p { max-width:880px; margin:0; color:#4b5563; font-size:16px; line-height:1.55; }
.insurance-hero-banner { display:block; height:210px; overflow:hidden; border-radius:8px; }
.insurance-hero-banner img { width:100%; height:100%; object-fit:cover; }
.insurance-tabs { display:grid; grid-template-columns:260px 330px 390px; gap:20px; margin-top:36px!important; }
.insurance-tabs button { min-height:58px; border:1px solid #e5eaf3; border-radius:8px; background:#fff; box-shadow:0 3px 12px rgba(18,32,66,.08); color:#171717; font:inherit; font-size:17px; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease, color .2s ease; }
.insurance-tabs button.active { border-color:#c7d6ff; box-shadow:0 0 0 1px #c7d6ff, 0 3px 12px rgba(18,32,66,.08); color:#171717; }
.insurance-main-grid { display:grid; grid-template-columns:minmax(0, 1fr) 450px; gap:28px; align-items:start; margin-top:22px!important; }
.insurance-products { display:grid; gap:22px; }
.insurance-product-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.insurance-product-card { position:relative; min-height:350px; overflow:hidden; padding:34px 36px; border-radius:10px; background:linear-gradient(135deg, #557bf3 0%, #cad6ff 100%); box-shadow:0 4px 16px rgba(18,32,66,.1); color:#fff; }
.insurance-product-card.is-active { box-shadow:0 0 0 2px #b7ead2, 0 4px 16px rgba(18,32,66,.1); }
.insurance-product-card h2 { margin:0 0 16px; font-size:32px; line-height:1; font-weight:700; }
.insurance-product-card p { max-width:340px; margin:0; font-size:20px; line-height:1.25; font-weight:600; }
.insurance-product-car { position:absolute; left:30px; bottom:26px; width:190px; height:190px; object-fit:contain; }
.insurance-product-icon { position:absolute; right:34px; bottom:34px; width:58px; height:58px; background-color: #5279F4; border-radius:6px; box-shadow:0 5px 10px rgba(18,32,66,.18); padding: 10px 0; }
.insurance-number-form { display:grid; grid-template-columns:280px minmax(0, 1fr) 170px; gap:14px; align-items:center; min-height:94px; padding:22px 34px; border:1px solid #edf1f6; border-radius:8px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.08); }
.insurance-number-form label { color:#4b5563; font-size:16px; }
.insurance-number-form input { min-height:50px; padding:0 24px; border:1px solid #edf1f6; border-radius:8px; outline:0; color:#171717; font:inherit; }
.insurance-number-form input::placeholder { color:#a9a9a9; }
.insurance-number-form .primary-btn { min-height:50px; margin:0; }
.insurance-company-card { padding:32px; border:1px solid #edf1f6; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.1); }
.insurance-company-card h2 { margin:0 0 24px; color:#171717; font-size:20px; line-height:1.25; font-weight:600; }
.insurance-company-card h2 span { color:var(--blue); }
.insurance-company-search { width:100%; min-height:52px; padding:0 20px; border:1px solid #edf1f6; border-radius:8px; outline:0; box-shadow:0 4px 12px rgba(18,32,66,.06); color:#171717; font:inherit; }
.insurance-company-search::placeholder { color:#9ca3af; }
.insurance-company-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.insurance-company-grid a { display:grid; place-items:center; min-height:82px; padding:14px; border:1px solid #edf1f6; border-radius:8px; background:#fff; box-shadow:0 4px 14px rgba(18,32,66,.08); color:#171717; text-align:center; text-decoration:none; }
.insurance-company-grid img { max-width:145px; max-height:52px; object-fit:contain; }
.insurance-company-grid span { color:#6d39b8; font-size:18px; font-weight:700; }
.insurance-company-grid small { color:#8b8f98; font-size:11px; }
.insurance-company-empty { margin-top:14px; padding:22px; border:1px dashed #c7d6ff; border-radius:8px; color:#6b7280; text-align:center; }
.insurance-company-card .section-link { display:inline-block; margin-top:20px; text-decoration:none; }
.insurance-banners { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.insurance-banners a { display:block; height:220px; overflow:hidden; border-radius:8px; }
.insurance-banners img { width:100%; height:100%; object-fit:cover; }
.insurance-special-section h2 { margin:0 0 18px; color:#171717; font-size:24px; line-height:1.2; font-weight:600; }
.insurance-special-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:28px; }
.insurance-special-grid article { overflow:hidden; border:1px solid #edf1f6; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.1); }
.insurance-special-grid article > img { width:100%; height:160px; object-fit:cover; }
.insurance-special-grid article > div { padding:20px; }
.insurance-special-grid strong { display:block; color:#1f63d1; font-size:17px; line-height:1.1; font-weight:700; }
.insurance-special-grid strong span { color:#5279f4; font-weight:500; }
.insurance-special-grid p { min-height:34px; margin:10px 0 12px; color:#a9a9a9; font-size:13px; line-height:1.3; }
.insurance-special-grid dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 18px; }
.insurance-special-grid dt { color:#171717; font-size:14px; line-height:1.2; font-weight:600; }
.insurance-special-grid .primary-btn { display:flex; align-items: center; justify-content:center; margin:0; text-align:center; text-decoration:none; height: 33px; font-size: 16px; padding: 0 24px; }
@media (max-width:1180px) {
  .insurance-hero,
  .insurance-main-grid { grid-template-columns:1fr; }
  .insurance-hero-banner { max-width:520px; }
  .insurance-tabs { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .insurance-company-card { max-width:520px; }
}
@media (max-width:980px) {
  .insurance-product-cards,
  .insurance-banners,
  .insurance-special-grid { grid-template-columns:1fr 1fr; }
  .insurance-number-form { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .insurance-hero h1 { font-size:30px; }
  .insurance-tabs { display:flex; overflow-x:auto; padding-bottom:8px; }
  .insurance-tabs button { flex:0 0 250px; }
  .insurance-product-cards,
  .insurance-banners,
  .insurance-special-grid,
  .insurance-company-grid { grid-template-columns:1fr; }
  .insurance-product-card { min-height:300px; }
}

/* Insurance tab variants */
.insurance-products.is-mortgage,
.insurance-products.is-life { gap:16px; }
.insurance-product-cards--mortgage { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.insurance-product-cards--mortgage .insurance-product-card { min-height:300px; padding:28px; }
.insurance-product-cards--mortgage .insurance-product-card h2 { max-width:220px; font-size:26px; line-height:1.08; }
.insurance-product-cards--mortgage .insurance-product-card p { max-width:220px; font-size:16px; line-height:1.25; }
.insurance-product-cards--mortgage .insurance-product-car { left:50%; bottom:22px; width:155px; height:155px; transform:translateX(-50%); }
.insurance-product-cards--mortgage .insurance-product-icon { right:24px; bottom:28px; width:54px; height:54px; }
.insurance-mortgage-form { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 170px; gap:10px; padding:18px; border:1px solid #edf1f6; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.08); }
.insurance-mortgage-form label { display:grid; align-content:center; min-height:58px; padding:9px 14px; border:1px solid #edf1f6; border-radius:8px; background:#fff; }
.insurance-mortgage-form label span { margin-bottom:3px; color:#c1c1c1; font-size:12px; line-height:1.1; }
.insurance-mortgage-form input,
.insurance-mortgage-form select { width:100%; border:0; outline:0; background:transparent; color:#171717; font:inherit; font-size:15px; }
.insurance-mortgage-form select { appearance:none; padding-right:18px; background-image:url("assets/arrow-bottom.svg"); background-repeat:no-repeat; background-position:right center; background-size:8px 8px; }
.insurance-mortgage-form > .primary-btn { grid-column:6; grid-row:1 / 3; align-self:end; min-height:50px; margin:0; }
.insurance-form-tags { grid-column:1 / 6; display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.insurance-form-tags > span { flex:0 0 100%; color:#c1c1c1; font-size:12px; }
.insurance-form-tags button { min-height:32px; padding:0 22px; border:0; border-radius:18px; background:#d7e0ff; color:#4b5563; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.insurance-form-tags button.active { background:#5279f4; color:#fff; }
.insurance-product-cards--life { grid-template-columns:repeat(6, minmax(0, 1fr)); gap:16px; }
.insurance-product-cards--life .insurance-product-card { min-height:240px; padding:28px; }
.insurance-product-cards--life .insurance-product-card--wide { grid-column:span 3; }
.insurance-product-cards--life .insurance-product-card--small { grid-column:span 2; }
.insurance-product-cards--life .insurance-product-card h2 { max-width:270px; font-size:26px; line-height:1.08; }
.insurance-product-cards--life .insurance-product-card p { max-width:270px; font-size:16px; line-height:1.25; }
.insurance-product-cards--life .insurance-product-car { left:auto; right:28px; bottom:18px; width:135px; height:135px; border-radius:8px; object-fit:contain; }
.insurance-product-cards--life .insurance-product-card--small .insurance-product-car { width:112px; height:112px; }
.insurance-product-cards--life .insurance-product-icon { top:26px; right:24px; bottom:auto; width:42px; height:42px; }
.insurance-card-btn { position:absolute; left:28px; bottom:28px; min-width:126px; min-height:34px; border:0; border-radius:4px; background:#5279f4; color:#fff; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
@media (max-width:1180px) {
  .insurance-product-cards--mortgage,
  .insurance-product-cards--life { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .insurance-product-cards--life .insurance-product-card--wide,
  .insurance-product-cards--life .insurance-product-card--small { grid-column:span 1; }
  .insurance-mortgage-form { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .insurance-mortgage-form > .primary-btn,
  .insurance-form-tags { grid-column:1 / -1; grid-row:auto; }
}
@media (max-width:760px) {
  .insurance-product-cards--mortgage,
  .insurance-product-cards--life { grid-template-columns:1fr; }
  .insurance-mortgage-form { grid-template-columns:1fr; }
  .insurance-mortgage-form > .primary-btn,
  .insurance-form-tags { grid-column:auto; }
}

/* Insurance companies reuse banks list */
.insurance-company-list h3 span { color:var(--blue); }
.insurance-company-list .bank-tile img { max-width:150px; max-height:54px; object-fit:contain; }

/* Education page */
.education-page .container > section { margin-top:42px; }
.education-hero { display:grid; grid-template-columns:minmax(0, 1fr) 520px; gap:48px; align-items:center; }
.education-hero h1 { max-width:600px; margin:0 0 26px; color:#171717; font-size:40px; line-height:1.14; font-weight:700; letter-spacing:0; }
.education-hero h1 > span:not(.title-icon-inline) { color:var(--blue); }
.education-hero p { max-width:870px; margin:0; color:#4b5563; font-size:16px; line-height:1.55; }
.education-hero-banner { min-height:195px; border-radius:5px; overflow:hidden; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:16px; color:#fff; text-decoration:none; background:linear-gradient(105deg, rgba(20,30,54,.95), rgba(73,92,145,.75)), url("assets/logo-seo.png") center right 22px / 190px auto no-repeat; box-shadow:0 5px 18px rgba(18,32,66,.1); }
.education-hero-banner span { max-width:260px; font-size:28px; line-height:1.05; font-weight:800; text-transform:uppercase; }
.education-hero-banner b { max-width:260px; font-size:13px; font-weight:600; }
.education-hero-banner button { min-height:38px; padding:0 22px; border:0; border-radius:18px; background:#fff; color:#5279f4; font:inherit; font-size:13px; font-weight:700; }
.education-top-section .section-head,
.education-programs-section .section-head { display: flex; justify-content: space-between; flex-direction: row; align-items: center; margin-bottom: 20px; }
.education-top-section .section-head .section-link,
.education-programs-section .section-head .section-link { margin-top: 0; font-size: 16px; font-weight: 500; text-decoration: underline; color: #111111; }
.education-courses-slider { position:relative; }
.education-course-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:18px; }
.education-course-card { overflow:hidden; border:1px solid #edf1f6; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.09); }
.education-course-card .course-media { position:relative; min-height:210px; padding:16px 18px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; background:#101114; color:#fff; }
.education-course-card .course-media span { position:relative; z-index:1; align-self:flex-start; padding:7px 16px; border-radius:17px; background:#5279f4; font-size:12px; font-weight:600; }
.education-course-card .course-media b { position:relative; z-index:1; font-size:42px; line-height:.9; text-transform:uppercase; opacity:.92; }
.education-course-card .course-media i { position:absolute; right:14px; bottom:14px; z-index:1; padding:5px 10px 5px 24px; border-radius:8px; background:#fff; color:#5279f4; font-style:normal; font-size:13px; font-weight:500; }
.education-course-card .course-media i::before { content:'★'; position:absolute; left:8px; color:#5279f4; }
.education-course-card h3 { min-height:84px; margin:0; padding:16px 18px 8px; color:#171717; font-size:15px; line-height:1.45; font-weight:500; }
.course-tags { display:flex; gap:8px; flex-wrap:wrap; padding:0 18px 16px; }
.course-tags span { padding:6px 14px; border:1px solid #6b7280; border-radius:16px; color:#171717; font-size:12px; line-height:1; }
.course-price { min-height:36px; padding:0 18px 14px; color:#171717; font-size:20px; font-weight:700; }
.course-price del { margin-left:12px; color:#6b7280; font-size:16px; font-weight:400; }
.education-course-card .primary-btn { display:flex; justify-content:center; min-height:30px; margin:0 17px 17px 17px; border-radius:5px; text-decoration:none; font-size: 15px; padding: 8px 20px; width: auto; font-weight: 500; }
.course-pmp .course-media { background:radial-gradient(circle at 70% 20%, #313236, #101114 60%); }
.course-ux .course-media { background:linear-gradient(135deg, #9fc7ff, #1f2838); }
.course-design .course-media { background:linear-gradient(135deg, #050505, #2d2d2d); }
.course-landing .course-media { background:linear-gradient(135deg, #080808, #111827); }
.course-psy .course-media { background:linear-gradient(135deg, #d8f1e3, #a685ff); }
.education-arrow { position:absolute; top:170px; z-index:2; width:38px; height:38px; border:0; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(18,32,66,.15); color:#171717; cursor:pointer; }
.education-arrow--prev { left:-20px; }
.education-arrow--next { right:-20px; }
.education-categories-section h2,
.education-programs-section h2 { color:#171717; font-size:24px; line-height:1.2; font-weight:600; }
.education-category-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:16px; }
.education-category-grid button { min-height:74px; padding:0 24px; border:1px solid #edf1f6; border-radius:7px; background:#fff; box-shadow:0 3px 12px rgba(18,32,66,.06); color:#171717; font:inherit; font-size:16px; line-height:1.25; text-align:left; cursor:pointer; }
.education-category-grid button.active { background:#5279f4; color:#fff; }
.education-program-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.education-program-card { position:relative; min-height:330px; padding:24px 22px 18px; border-radius:10px; background:#f4f4f4; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 4px 14px rgba(18,32,66,.08); }
.education-program-card h3 { max-width:220px; min-height:70px; margin:0 0 12px; color:#171717; font-size:16px; line-height:1.2; font-weight:500; }
.education-program-card > div:first-child span { display:inline-flex; min-height:28px; padding:0 18px; align-items:center; border-radius:16px; background:#3fa36d; color:#fff; font-size:12px; font-weight:600; }
.program-icon { position:absolute; right:24px; top:26px; width:108px; height:108px; border-radius:22px; display:grid; place-items:center; color:#fff; font-size:42px; font-weight:800; box-shadow:0 10px 20px rgba(18,32,66,.16); }
.program-python { background:#29323f; }
.program-bootstrap { background:linear-gradient(135deg, #7545db, #351a80); transform:rotate(-12deg); }
.program-arduino { background:#41a5a6; border-radius:50%; }
.program-cloud { background:linear-gradient(135deg, #92d5ff, #e7f7ff); color:#5279f4; }
.program-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:64px; }
.program-tags span { padding:7px 15px; border-radius:16px; background:#fff; color:#6b7280; font-size:12px; line-height:1; }
.education-program-card .primary-btn { display:flex; justify-content:center; margin:22px 0 0; min-height:30px; border-radius:5px; text-decoration:none; font-size: 15px; padding: 8px 20px; }
.education-banners { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.education-banners a { min-height:220px; padding:38px; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; justify-content:center; color:#335078; text-decoration:none; background:linear-gradient(100deg, #d8f2ff, #89c8f7); position:relative; }
.education-banners a:nth-child(2) { color:#fff; background:linear-gradient(100deg, #2f8eff, #7559f1); }
.education-banners span { max-width:430px; font-size:32px; line-height:1.05; font-weight:800; text-transform:uppercase; }
.education-banners b { margin-top:16px; max-width:280px; padding:10px 20px; border-radius:7px; background:rgba(255,255,255,.32); font-size:16px; text-transform:uppercase; }
@media (max-width:1180px) {
  .education-hero { grid-template-columns:1fr; }
  .education-hero-banner { max-width:560px; }
  .education-course-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .education-category-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .education-program-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:760px) {
  .education-hero h1 { font-size:30px; }
  .education-course-grid { display:flex; overflow-x:auto; padding-bottom:10px; }
  .education-course-card { flex:0 0 260px; }
  .education-arrow { display:none; }
  .education-category-grid,
  .education-program-grid,
  .education-banners { grid-template-columns:1fr; }
  .education-banners span { font-size:24px; }
}

/* Education speciality cards: Figma image layout */
.education-course-card .course-media {
  min-height: 205px;
  padding: 0;
  display: block;
  background: #f3f6fb;
}
.education-course-card .course-media > img {
  width: 100%;
  height: 205px;
  display: block;
  object-fit: cover;
}
.education-course-card .course-media span {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border-radius: 15px;
  background: #5279f4;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
}
.education-course-card .course-media b {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  width: 82px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 15px;
  background: #fff;
  opacity: 1;
}
.education-course-card .course-media b img {
  max-width: 60px;
  max-height: 18px;
  display: block;
  object-fit: contain;
}
.education-course-card .course-media i {
  right: 14px;
  bottom: 14px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px 0 27px;
  border-radius: 5px;
  box-shadow: 0 2px 9px rgba(18, 32, 66, .14);
  font-size: 12px;
}
.education-course-card .course-media i::before {
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
}
.education-course-card h3 {
  min-height: 90px;
  padding-top: 14px;
}
.education-category-grid button {
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.education-category-grid button:hover,
.education-category-grid button:focus-visible {
  border-color: rgba(82, 121, 244, .55);
  box-shadow: 0 5px 16px rgba(18,32,66,.1);
}
.education-category-grid button:focus-visible {
  outline: 2px solid rgba(82, 121, 244, .28);
  outline-offset: 2px;
}
.education-category-grid button.active {
  border-color: #5279f4;
  box-shadow: 0 6px 16px rgba(82,121,244,.24);
}
@media (max-width: 760px) {
  .education-course-card .course-media,
  .education-course-card .course-media > img {
    min-height: 190px;
    height: 190px;
  }
}

/* Education programs cards with image assets */
.education-program-card {
  min-height: 315px;
  padding: 20px 16px;
  background: #f4f4f4;
}
.education-program-card .program-card-head {
  position: relative;
  z-index: 1;
  min-height: 108px;
}
.education-program-card h3 {
  max-width: 180px;
  min-height: 0;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.18;
}
.education-program-card .program-card-head span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 16px;
  background: #3fa36d;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}
.program-icon-img {
  position: absolute;
  right: 22px;
  top: 24px;
  width: 112px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 9px 14px rgba(18,32,66,.14));
}
.program-icon-img--wide {
  width: 132px;
  height: 122px;
  right: 14px;
  top: 20px;
}
.education-program-card .program-tags {
  margin-top: 20px;
  padding-top: 0;
  gap: 7px 7px;
}
.education-program-card .program-tags span {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 15px;
  border-radius: 16px;
  background: #fff;
  color: #6b7280;
  font-size: 12px;
  line-height: 1;
}
.education-program-card .primary-btn {
  min-height: 30px;
  margin-top: auto;
  font-size: 15px;
  padding: 8px 20px;
}
.education-banners {
  align-items: stretch;
}
.education-banners a {
  min-height: 220px;
  padding: 0;
  display: block;
  background: none;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(18,32,66,.08);
}
.education-banners img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  border-radius: 8px;
}
@media (max-width: 760px) {
  .education-program-card {
    min-height: 300px;
  }
  .program-icon-img {
    width: 96px;
    height: 96px;
  }
  .program-icon-img--wide {
    width: 112px;
    height: 104px;
  }
  .education-banners img,
  .education-banners a {
    min-height: 150px;
  }
}

/* Education top specialities slider behavior */
.education-courses-slider {
  overflow: visible;
}
.education-course-grid {
  transition: transform .35s ease;
  will-change: transform;
}
.education-arrow:disabled {
  opacity: .45;
  cursor: default;
  transform: none;
}
@media (max-width: 1180px) {
  .education-courses-slider {
    overflow: hidden;
    padding: 0 2px 2px;
  }
  .education-course-grid {
    display: flex;
    gap: 18px;
  }
  .education-course-card {
    flex: 0 0 calc((100% - 36px) / 3);
  }
}
@media (max-width: 760px) {
  .education-course-grid {
    overflow-x: visible;
    padding-bottom: 0;
  }
  .education-course-card {
    flex-basis: min(300px, 86vw);
  }
  .education-arrow {
    display: grid;
    place-items: center;
    top: 154px;
  }
  .education-arrow--prev { left: 4px; }
  .education-arrow--next { right: 4px; }
}

/* Education top specialities desktop track */
.education-courses-slider {
  overflow: hidden;
  padding: 0 2px 2px;
}
.education-course-grid {
  display: flex;
  gap: 18px;
}
.education-course-card {
  flex: 0 0 calc((100% - 72px) / 5);
}
@media (max-width: 1180px) {
  .education-course-card {
    flex-basis: calc((100% - 36px) / 3);
  }
}
@media (max-width: 760px) {
  .education-course-card {
    flex-basis: min(300px, 86vw);
  }
}

/* Education slider arrows like reviews */
.education-arrow {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #edf1f6;
  background: #fff;
  box-shadow: 0 5px 14px rgba(18, 32, 66, .12);
  color: transparent;
}
.education-arrow img {
  width: 50px;
  height: 50px;
  display: block;
  pointer-events: none;
}
.education-arrow--prev img {
  transform: rotate(180deg);
}
.education-arrow--prev { left: -25px; }
.education-arrow--next { right: -25px; }
.education-arrow:disabled {
  opacity: .55;
}
@media (max-width: 760px) {
  .education-arrow--prev { left: 0; }
  .education-arrow--next { right: 0; }
}

/* Online courses catalog page */
.education-catalog-page { padding: 50px 0 42px; }
.education-catalog-page .container > section { margin-top: 42px; }
.catalog-hero { display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 42px; align-items: end; }
.catalog-hero h1 { max-width: 760px; margin: 0 0 20px; color: #171717; font-size: 40px; line-height: 1.14; font-weight: 700; letter-spacing: 0; }
.catalog-hero h1 > span:not(.title-icon-inline) { color: var(--blue); }
.catalog-hero p { max-width: 820px; margin: 0; color: #4b5563; font-size: 16px; line-height: 1.55; }
.catalog-search { padding: 22px; border: 1px solid #edf1f6; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(18,32,66,.08); }
.catalog-search label { display: block; margin-bottom: 10px; color: #171717; font-size: 16px; font-weight: 600; }
.catalog-search-field { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 12px; }
.catalog-search-field input,
.catalog-toolbar select { width: 100%; min-height: 48px; border: 1px solid #edf1f6; border-radius: 7px; background: #fff; color: #171717; padding: 0 18px; outline: 0; box-shadow: 0 3px 12px rgba(18,32,66,.05); }
.catalog-search-field input:focus,
.catalog-toolbar select:focus { border-color: rgba(82,121,244,.55); box-shadow: 0 0 0 3px rgba(82,121,244,.14); }
.catalog-search-field .primary-btn { min-height: 48px; border: 0; border-radius: 7px; }
.catalog-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.catalog-filters { position: sticky; top: 126px; padding: 24px; }
.catalog-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.catalog-filter-head h2 { margin: 0; color: #171717; font-size: 24px; line-height: 1.2; }
.catalog-filter-head button { border: 0; background: transparent; color: var(--blue); cursor: pointer; font-size: 14px; font-weight: 600; }
.catalog-filter-group { padding: 20px 0; border-top: 1px solid #edf1f6; }
.catalog-filter-group h3 { margin: 0 0 14px; color: #171717; font-size: 16px; line-height: 1.25; }
.catalog-filter-group label { display: flex; align-items: center; gap: 10px; min-height: 34px; color: #4b5563; font-size: 14px; cursor: pointer; }
.catalog-filter-group input { width: 16px; height: 16px; accent-color: #5279f4; }
.catalog-content { min-width: 0; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.catalog-toolbar h2 { margin: 0; color: #171717; font-size: 24px; line-height: 1.2; }
.catalog-toolbar h2 span { color: var(--blue); }
.catalog-toolbar select { max-width: 230px; min-height: 44px; }
.catalog-course-list { display: grid; gap: 16px; }
.catalog-course-card { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 0; overflow: hidden; border: 1px solid #edf1f6; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(18,32,66,.08); }
.catalog-course-card.is-hidden { display: none; }
.catalog-course-media { position: relative; min-height: 210px; overflow: hidden; display: block; color: #fff; text-decoration: none; background: #f3f6fb; }
.catalog-course-media img { width: 100%; height: 100%; min-height: 210px; object-fit: cover; }
.catalog-course-media span { position: absolute; left: 14px; top: 14px; min-height: 28px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 15px; background: #5279f4; color: #fff; font-size: 12px; font-weight: 600; }
.catalog-course-media i { position: absolute; right: 14px; bottom: 14px; min-height: 28px; display: inline-flex; align-items: center; padding: 0 10px 0 27px; border-radius: 5px; background: #fff; color: #5279f4; box-shadow: 0 2px 9px rgba(18,32,66,.14); font-style: normal; font-size: 12px; font-weight: 700; }
.catalog-course-media i::before { content: '★'; position: absolute; left: 9px; top: 50%; transform: translateY(-50%); color: #5279f4; }
.catalog-course-body { padding: 22px 24px; display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 14px 22px; align-items: center; }
.catalog-course-top h3 { margin: 0 0 8px; color: #171717; font-size: 20px; line-height: 1.25; font-weight: 600; }
.catalog-course-top > span { color: #9ca3af; font-size: 14px; }
.catalog-course-tags { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / 2; }
.catalog-course-tags span { min-height: 28px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid #d6dae2; border-radius: 16px; color: #171717; font-size: 12px; }
.catalog-course-meta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 4px; }
.catalog-course-meta div { min-height: 58px; padding: 12px 14px; border-radius: 7px; background: #f7f9fc; }
.catalog-course-meta b { display: block; margin-bottom: 4px; color: #171717; font-size: 16px; line-height: 1.1; }
.catalog-course-meta span { color: #9ca3af; font-size: 12px; }
.catalog-course-body .primary-btn { grid-column: 2; grid-row: 1 / 3; min-height: 44px; align-self: center; justify-content: center; border-radius: 5px; text-decoration: none; }
.catalog-empty { min-height: 180px; display: grid; place-items: center; text-align: center; border: 1px dashed #c8d5f4; border-radius: 12px; background: #f6f9ff; color: #6b7280; }
.catalog-empty b { display: block; margin-bottom: 8px; color: #171717; font-size: 22px; }
.catalog-load-more { width: 100%; min-height: 46px; margin-top: 16px; border: 1px solid #edf1f6; border-radius: 8px; background: #fff; color: var(--blue); box-shadow: 0 4px 14px rgba(18,32,66,.06); cursor: pointer; font: inherit; font-weight: 600; }
.catalog-load-more[hidden] { display: none; }
@media (max-width: 1180px) {
  .catalog-hero { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-filters { position: static; }
}
@media (max-width: 760px) {
  .catalog-hero h1 { font-size: 30px; }
  .catalog-search-field,
  .catalog-course-card,
  .catalog-course-body,
  .catalog-course-meta { grid-template-columns: 1fr; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-toolbar select { max-width: none; }
  .catalog-course-body .primary-btn { grid-column: 1; grid-row: auto; }
  .catalog-course-media,
  .catalog-course-media img { min-height: 190px; }
}

/* Online course catalog: filters + 4-column course grid */
.education-catalog-page { padding: 46px 0 42px; }
.education-catalog-page .container > section.catalog-page-head,
.education-catalog-page .container > section.catalog-layout-grid { margin-top: 0; }
.catalog-page-head {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 260px;
  align-items: center;
  gap: 24px;
  margin: 42px 0 22px;
}
.catalog-page-head h1 {
  margin: 0;
  color: #171717;
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}
.catalog-top-search {
  position: relative;
  margin: 0;
}
.catalog-top-search::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  border: 2px solid #aeb6c2;
  border-radius: 50%;
  pointer-events: none;
}
.catalog-top-search::after {
  content: "";
  position: absolute;
  left: 36px;
  top: calc(50% + 6px);
  width: 7px;
  height: 2px;
  transform: rotate(45deg);
  border-radius: 2px;
  background: #aeb6c2;
  pointer-events: none;
}
.catalog-top-search input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cfd4dc;
  border-radius: 999px;
  padding: 0 22px 0 58px;
  background: #fff;
  color: #171717;
  font-size: 14px;
  outline: 0;
}
.catalog-top-search input:focus {
  border-color: rgba(82, 121, 244, .72);
  box-shadow: 0 0 0 3px rgba(82, 121, 244, .14);
}
.catalog-total {
  color: #171717;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
}
.catalog-layout-grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.catalog-filter-panel {
  position: sticky;
  top: 126px;
  padding: 18px 18px 22px;
  border: 0;
  border-radius: 10px;
  background: #edf3f8;
  box-shadow: none;
}
.catalog-filter-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.catalog-filter-title-row h2,
.catalog-filter-range h2,
.catalog-filter-block h2 {
  margin: 0;
  color: #171717;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
}
.catalog-filter-title-row button {
  min-height: 22px;
  border: 0;
  border-radius: 12px;
  padding: 0 10px;
  background: #6387f5;
  color: #fff;
  font-size: 12px;
  cursor: pointer;
}
.catalog-filter-title-row .filter-clear {
  display: flex;
  align-items: center;
  justify-content: center; 
  width: 12px;
  height: 12px;
  max-height: 12px;
  min-width: 12px;
  padding: 0;
  border-radius: 50%;
  line-height: 1;
}
.range-caption {
  margin: 12px 0;
  color: #4b5563;
  font-size: 16px;
}
.fake-range {
  position: relative;
  height: 16px;
  margin-bottom: 22px;
}
.fake-range::before {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 7px;
  height: 3px;
  border-radius: 999px;
  background: #6387f5;
}
.fake-range::after,
.fake-range i {
  content: "";
  position: absolute;
  top: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #6387f5;
}
.fake-range::after { right: 0; }
.fake-range i { left: 0; }
.catalog-filter-block { margin-top: 22px; }
.filter-search {
  position: relative;
  display: block !important;
  min-height: auto !important;
  margin: 12px 0 8px;
}
.filter-search input {
  width: 100%;
  min-height: 28px;
  border: 1px solid #d5dce6;
  border-radius: 999px;
  padding: 0 30px 0 16px;
  background: #fff;
  color: #171717;
  font-size: 13px;
  outline: 0;
}
.filter-search span::before {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  border: 1.5px solid #aeb6c2;
  border-radius: 50%;
}
.filter-search span::after {
  content: "";
  position: absolute;
  right: 9px;
  top: calc(50% + 5px);
  width: 6px;
  height: 1.5px;
  transform: rotate(45deg);
  border-radius: 2px;
  background: #aeb6c2;
}
.catalog-filter-block > label:not(.filter-search) {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 26px;
  color: #4b5563;
  font-size: 14px;
  cursor: pointer;
}
.catalog-filter-block input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #6387f5;
}
.filter-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 13px;
  cursor: pointer;
  padding: 0;
}
.filter-more img { width: 9px; }
.catalog-toggle-list {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.catalog-toggle-list label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #171717;
  font-size: 16px;
}
.catalog-toggle-list input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.catalog-toggle-list span {
  position: relative;
  width: 38px;
  height: 20px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #d5d8dc;
}
.catalog-toggle-list span::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.15);
  transition: .2s;
}
.catalog-toggle-list input:checked + span { background: #6387f5; }
.catalog-toggle-list input:checked + span::before { transform: translateX(18px); }
.catalog-grid-content { min-width: 0; }
.catalog-grid-content .catalog-course-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 18px;
}
.catalog-grid-card { min-width: 0; }
.catalog-grid-card.is-hidden { display: none !important; }
.catalog-grid-content .education-course-card {
  height: 100%;
  box-shadow: 0 3px 12px rgba(18,32,66,.12);
}
.catalog-grid-content .education-course-card .course-media,
.catalog-grid-content .education-course-card .course-media > img {
  height: 230px;
  min-height: 230px;
}
.catalog-grid-content .education-course-card h3 {
  min-height: 96px;
  font-size: 16px;
}
.catalog-grid-content .education-course-card .primary-btn { font-size: 15px; }
.catalog-grid-content .catalog-empty { grid-column: 1 / -1; }
.catalog-grid-content .catalog-load-more { margin-top: 26px; }
@media (max-width: 1280px) {
  .catalog-page-head { grid-template-columns: 220px minmax(0, 1fr); }
  .catalog-total { grid-column: 2; }
  .catalog-grid-content .catalog-course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .catalog-page-head,
  .catalog-layout-grid { grid-template-columns: 1fr; }
  .catalog-total { grid-column: auto; }
  .catalog-filter-panel { position: static; }
}
@media (max-width: 760px) {
  .catalog-page-head h1 { font-size: 26px; }
  .catalog-grid-content .catalog-course-grid { grid-template-columns: 1fr; }
  .catalog-grid-content .education-course-card .course-media,
  .catalog-grid-content .education-course-card .course-media > img {
    height: 210px;
    min-height: 210px;
  }
}

/* Catalog filter additions */
.catalog-filter-title-row .filter-clear img,
.catalog-filter-title-row button[data-catalog-reset] img {
  width: 10px;
  height: 10px;
  display: block;
}
.catalog-filter-title-row button[data-catalog-reset] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.catalog-filter-plain h2 {
  margin-bottom: 12px;
}
.catalog-filter-panel input[type="checkbox"] {
  border-radius: 2px;
}
.catalog-grid-content .catalog-load-more {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #5279f4;
  color: #fff;
  box-shadow: none;
  font-size: 15px;
  font-weight: 600;
}

/* Course detail page */
.course-detail-page { padding: 44px 0 0; }
.course-detail-page .container > section,
.course-detail-page #courseDetail > section { margin-top: 42px; }
.course-detail-page #courseDetail > section:first-child { margin-top: 0; }
.course-detail-hero { display:grid; grid-template-columns:minmax(0, 1fr) 560px; gap:44px; align-items:center; margin-top:52px; }
.course-detail-copy h1 { margin:0 0 24px; color:#171717; font-size:32px; line-height:1.16; font-weight:600; letter-spacing:0; max-width: 600px; }
.course-detail-copy p { max-width:720px; margin:0 0 28px; color:#4b5563; font-size:16px; line-height:1.5; }
.course-detail-media { overflow:hidden; border-radius:8px; background:#151515; }
.course-detail-media img { width:100%; height:364px; display:block; object-fit:cover; }
.course-price-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:20px; }
.course-price-box { min-height:84px; padding:16px 22px; border-radius:8px; background:#edf2f6; }
.course-price-box span { display:block; margin-bottom:8px; color:#171717; font-size:20px; font-weight:500; }
.course-price-box b { color:#5279f4; font-size:22px; font-weight:500; }
.course-price-box del { margin-left:10px; color:#6b7280; font-size:14px; }
.course-hero-actions { display:flex; align-items:center; gap:14px; }
.course-hero-actions .primary-btn {display: flex; align-items: center; justify-content: center; min-width:240px; max-width: 255px; min-height:40px; border-radius:5px; text-decoration:none; font-size:16px; margin-top: 0; }
.course-favorite { display: flex; align-items: center; justify-content: center; width:44px; height:44px; border:1px solid #edf1f6; border-radius:50%;  background-color: #EDF2F5; color:#5279f4; font-size:30px; line-height:1; cursor:pointer; }
.course-rating { display:inline-flex; align-items:center; gap:8px; color:#5279f4; font-size:17px; }
.course-rating img { width:28px; height:28px; }
.course-detail-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) 560px; gap:44px; align-items:start; }
.course-learn-card, .course-characteristics-card { border:1px solid #edf1f6; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.08); }
.course-learn-card { padding:34px 36px; }
.course-learn-card h2, .course-teachers-block h2, .course-characteristics-card h2, .course-reviews-section h2, .course-recommend-section h2 { margin:0; color:#171717; font-size:32px; line-height:1.2; font-weight:700; }
.course-reviews-section h2 { font-size: 24px; font-weight: 600; margin-bottom: 10px; }
.course-learn-card h2 { margin-bottom:26px; }
.course-learn-card ol { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.course-learn-card li { display:grid; grid-template-columns:58px minmax(0,1fr); gap:10px; align-items:start; color:#4b5563; font-size:16px; line-height:1.35; }
.course-learn-card li span { color:#5279f4; font-size:30px; line-height:1; font-weight:700; }
.course-teachers-block h2 { margin-bottom:26px; font-size: 32px; font-weight: 600; }
.course-teachers-block { border-right:2px solid rgba(82,121,244,.65); padding-right:24px; }
.course-teacher-card { display:grid; grid-template-columns:132px minmax(0,1fr); gap:24px; align-items:center; padding:18px 24px; border-radius:8px; background:#edf2f6; }
.course-teacher-card + .course-teacher-card { margin-top:22px; }
.course-teacher-card img { width:128px; height:128px; object-fit:contain; align-self:end; border-radius: 5px; }
.course-teacher-card h3 { margin:0 0 8px; color:#171717; font-size:20px; font-weight:500; }
.course-teacher-card p { margin:0; color:#171717; font-size:14px; line-height:1.42; }
.course-characteristics-card { padding:36px; }
.course-characteristics-card h2 { margin-bottom:22px; }
.course-characteristics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 54px; }
.course-characteristics-grid div { display:grid; grid-template-columns:auto minmax(40px,1fr) auto; gap:12px; align-items:end; color:#4b5563; font-size:16px; }
.course-characteristics-grid i { border-bottom:2px dotted rgba(82,121,244,.65); transform:translateY(-4px); }
.course-characteristics-grid b { color:#4b5563; font-weight:500; text-align:right; }
.course-characteristics-grid a { display:block; color:#5279f4; font-size:12px; text-decoration:none; margin-bottom: -16px; }
.course-reviews-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.course-review-score { color:#171717; font-size:26px; line-height:1.1; }
.course-review-score span { color:#5279f4; letter-spacing:2px; }
.course-review-score em { color:#d1d5db; font-size:15px; font-style:normal; }
.course-write-review { color:#171717; text-decoration:none; font-size:16px; }
.course-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom: 30px; }
.course-review-card { min-height:250px; padding:28px; border-radius:8px; background:#fff; box-shadow:0 4px 16px rgba(18,32,66,.06); }
.course-review-top { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:14px; align-items:center; margin-bottom:26px; }
.course-review-top img { width:58px; height:58px; border-radius:50%; padding:14px; background:#f2f2f2; }
.course-review-top h3 { margin:0 0 4px; font-size:16px; color:#171717; }
.course-review-top span { color:#d1d5db; font-size:13px; }
.course-review-top b { color:#5279f4; font-size:28px; letter-spacing:2px; white-space:nowrap; }
.course-review-card p { margin:0 0 54px; color:#777; font-size:15px; }
.course-review-card a { float:right; color:#777; text-decoration:none; border-bottom:1px dotted #5279f4; }
.course-all-reviews { width:240px; min-height:48px; margin-top:26px; border-radius:7px; text-decoration:none; }
.course-recommend-grid { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-top:22px; }
.course-recommend-grid .education-course-card { min-width:0; }
@media (max-width:1180px) {
  .course-detail-hero, .course-detail-intro-grid { grid-template-columns:1fr; }
  .course-detail-media img { height:320px; }
  .course-recommend-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .course-detail-page { padding-top:24px; }
  .course-detail-copy h1 { font-size:30px; }
  .course-price-row, .course-characteristics-grid, .course-review-grid { grid-template-columns:1fr; }
  .course-characteristics-grid div { grid-template-columns:auto minmax(30px,1fr) auto; }
  .course-recommend-grid { grid-template-columns:1fr; }
  .course-hero-actions { flex-wrap:wrap; }
}

/* Course teachers scroll */
.course-teachers-block {
  border-right: 0;
  padding-right: 0;
}
.course-teachers-list {
  max-height: 338px;
  overflow-y: auto;
  padding-right: 24px;
  scrollbar-width: thin;
  scrollbar-color: #5279f4 #edf2f6;
}
.course-teachers-list::-webkit-scrollbar {
  width: 3px;
}
.course-teachers-list::-webkit-scrollbar-track {
  background: #edf2f6;
  border-radius: 999px;
}
.course-teachers-list::-webkit-scrollbar-thumb {
  background: #5279f4;
  border-radius: 999px;
}
@media (max-width: 860px) {
  .course-teachers-list {
    max-height: 338px;
    padding-right: 14px;
  }
}

/* Realty page */
.realty-page { padding: 44px 0 0; }
.realty-page .container > section { margin-top: 50px; }
.realty-page .container > section:first-child { margin-top: 0; }
.realty-page h2 { color: #171717; font-size: 24px; line-height: 1.2; font-weight: 500; }
.realty-hero { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 54px; align-items: center; }
.realty-hero-copy h1 { margin: 0 0 26px; color: #171717; font-size: 42px; line-height: 1.14; font-weight: 800; }
.realty-hero-copy h1 > span:not(.title-icon-inline) { color: #5279f4; }
.realty-hero-copy p { max-width: 820px; margin: 0; color: #4b5563; font-size: 17px; line-height: 1.55; }
.realty-hero-banner { display: block; height: 218px; border-radius: 8px; overflow: hidden; }
.realty-hero-banner img { width: 100%; height: 100%; object-fit: cover; }
.realty-search-card { padding: 28px 36px; border: 1px solid #e7edf5; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(18,32,66,.08); }
.realty-mode-row { display: flex; gap: 8px; margin-bottom: 12px; }
.realty-mode { min-width: 86px; height: 24px; border: 1px solid #5279f4; border-radius: 999px; background: #fff; color: #5279f4; font: inherit; font-size: 13px; cursor: pointer; }
.realty-mode.active { background: #5279f4; color: #fff; }
.realty-search-row { display: grid; grid-template-columns: 260px 190px 170px minmax(0, 1fr) 210px; border: 2px solid #5279f4; border-radius: 8px; overflow: hidden; }
.realty-field { min-height: 54px; display: flex; align-items: center; padding: 0 22px; border-right: 1px solid #e4e9f2; background: #fff; color: #171717; font-size: 16px; }
.realty-field-select::after { content: ''; width: 8px; height: 8px; margin-left: auto; border-right: 1px solid #4b5563; border-bottom: 1px solid #4b5563; transform: rotate(45deg) translateY(-3px); }
.realty-field-search { gap: 12px; color: #9ca3af; }
.realty-field-search img { width: 18px; height: 18px; opacity: .55; }
.realty-field-search input { width: 100%; border: 0; outline: 0; font: inherit; color: #171717; }
.realty-search-row .primary-btn { min-height: 54px; border-radius: 0; margin-top: 0; }
.realty-newbuild-grid { display: grid; grid-template-columns: 1fr 2.06fr 1.15fr; gap: 18px; align-items: stretch; }
.realty-blue-card { position: relative; display: block; overflow: hidden; border-radius: 8px; background: linear-gradient(135deg, #5279f4 0%, #b8c7fb 100%); color: #fff; text-decoration: none; }
.realty-blue-card h3 { margin: 0; color: #fff; font-size: 20px; line-height: 1.15; font-weight: 600; margin-bottom: 10px; }
.realty-blue-card p, .realty-blue-card span { color: rgba(255,255,255,.95); }
.realty-newbuild-tall { min-height: 520px; padding: 31px; }
.realty-newbuild-tall p { margin: 10px 0 0; font-size: 14px; }
.realty-newbuild-tall span { display: inline-block; margin-top: 10px; text-decoration: underline; font-size: 14px; }
.realty-newbuild-tall img { position: absolute; right: -42px; bottom: 0; object-fit: contain; }
.realty-newbuild-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.realty-image-card, .realty-commercial-card { position: relative; display: block; min-height: 250px; overflow: hidden; border-radius: 8px; text-decoration: none; background: transparent; color: #fff; }
.realty-commercial-card { background-color: transparent; }
.realty-image-card img, .realty-commercial-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.realty-image-card::after, .realty-commercial-card::after { content: ''; position: absolute; inset: 0; }
.realty-image-card span { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; padding: 20px; }
.realty-image-card b { color: #fff; font-size: 24px; line-height: 1.15; }
.realty-image-card em { color: #fff; font-style: normal; font-size: 14px; text-decoration: underline; }
.realty-builder-card { min-height: 250px; padding: 34px; }
.realty-builder-card img { position: absolute; right: -50px; bottom: 0; width: 223px; height: 223px; object-fit: contain; }
.realty-builder-card i, .realty-catalog-card i, .realty-realtor-card i { position: absolute; left: 34px; bottom: 32px; display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 5px; background: #5279f4; box-shadow: 0 5px 14px rgba(37,69,168,.24); }
.realty-builder-card i { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; }
.realty-builder-card i img, .realty-catalog-card i img, .realty-realtor-card i img { object-fit: contain; position: relative; right: auto; }
.realty-builder-card i img { width: 33px; min-width: 33px; height: auto; position: relative; right: inherit;
 }
.realty-map-card { min-height: 520px; display: flex; align-items: center; justify-content: center; border-radius: 8px; overflow: hidden; text-decoration: none; background: linear-gradient(rgba(255,255,255,.68), rgba(255,255,255,.68)), url('assets/map.png') center/cover; color: #171717; text-align: center; }
.realty-map-card h3 { margin: 0 0 8px; font-size: 22px; font-weight: 600; }
.realty-map-card p { width: 260px; margin: 0 0 18px; color: #4b5563; font-size: 12px; }
.realty-map-card span { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; height: 34px; border: 1px solid #5279f4; border-radius: 999px; color: #5279f4; font-size: 12px; font-weight: 500; }
.realty-picked-section { padding: 36px 44px; border-radius: 8px; background: #eef3f7; }
.realty-picked-grid, .realty-interest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.realty-complex-card, .realty-flat-card { overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 4px 16px rgba(18,32,66,.06); }
.realty-complex-card img, .realty-flat-card img { width: 100%; height: 168px; object-fit: cover; display: block; border-radius: 10px; }
.realty-complex-card div, .realty-flat-card div { padding: 18px; }
.realty-complex-card h3 { display: inline; margin: 0; color: #5279f4; font-size: 16px; font-weight: 500; }
.realty-complex-card span { float: right; padding: 4px 14px; border-radius: 999px; background: #5279f4; color: #fff; font-size: 12px; }
.realty-complex-card p { clear: both; margin: 12px 0 6px; color: #171717; }
.realty-complex-card b, .realty-flat-card b { display: block; color: #171717; font-size: 18px; }
.realty-complex-card small, .realty-flat-card small { color: #6b7280; }
.realty-request-card { position: relative; overflow: hidden; border-radius: 8px; min-height: 292px; padding: 121px 44px 24px; background: #5279f4; color: #fff; }
.realty-request-card img { position: absolute; inset: 0; width: 256px; object-fit: cover; opacity: .45; }
.realty-request-card h3, .realty-request-card button { position: relative; z-index: 1; }
.realty-request-card h3 { margin: 0 0 22px; font-size: 18px; line-height: 1.15; font-weight: 500; }
.realty-request-card button, .realty-realtor-card button { display: block; margin: auto; min-height: 34px; border: 0; border-radius: 5px; padding: 0 28px; background: #fff; color: #171717; font: inherit; cursor: pointer; }
.realty-flat-card img { height: 205px; }
.realty-flat-card p { margin: 10px 0 8px; color: #171717; }
.realty-wide-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.realty-wide-banners a { height: 220px; overflow: hidden; border-radius: 8px; }
.realty-wide-banners img { width: 100%; height: 100%; object-fit: cover; display: block; }
.realty-commercial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 22px; }
.realty-commercial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.realty-commercial-card { min-height: 250px; }
.realty-commercial-card span { position: absolute; left: 45px; top: 70px; z-index: 1; min-width: 185px; padding: 17px 12px; border-radius: 8px; background: rgba(82,121,244,.82); color: #fff; }
.realty-commercial-card b { display: block; margin-bottom: 8px; color: #fff; font-size: 17px; font-weight: 600; }
.realty-commercial-card em { display: inline-block; margin-right: 18px; color: #fff; font-style: normal; font-size: 12px; }
.realty-commercial-aside { display: grid; gap: 18px; }
.realty-catalog-card { min-height: 385px; padding: 44px 34px; }
.realty-catalog-card img { position: absolute; right: 16px; bottom: 0; width: 82%; max-height: 70%; object-fit: contain; }
.realty-mortgage-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 22px; }
.realty-mortgage-card { padding: 32px 44px; }
.realty-house-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 32px 0; }
.realty-house-grid div { min-height: 150px; display: flex; align-items: center; justify-content: center; text-align: center; color: #4b5563; background: linear-gradient(90deg, transparent 11px, #8aa2ff 12px, transparent 13px) left top/24px 100% no-repeat, linear-gradient(#8aa2ff,#8aa2ff) left top/100% 2px no-repeat; clip-path: polygon(0 32%, 18% 32%, 18% 18%, 43% 18%, 43% 0, 72% 18%, 72% 32%, 100% 32%, 100% 100%, 0 100%); border: 2px solid #8aa2ff; border-top: 0; }
.realty-house-grid b { color: #171717; font-size: 26px; }
.realty-house-grid span { margin-left: 4px; }
.realty-mortgage-card .primary-btn { min-width: 330px; margin: 0 auto; }
.realty-realtor-card { min-height: 320px; padding: 42px 34px; }
.realty-realtor-card img { position: absolute; right: 0; bottom: 0; width: 70%; max-height: 100%; object-fit: contain; }
.realty-realtor-card button { position: absolute; left: 34px; bottom: 32px; background: #5279f4; color: #fff; }
.realty-state-section { padding: 32px 44px; }
.realty-state-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin-bottom: 28px; }
.realty-state-grid article { position: relative; min-height: 270px; overflow: hidden; border-radius: 8px; padding: 28px; background: linear-gradient(135deg, #5279f4, #c4d0fb); color: #fff; }
.realty-state-grid b { display: block; color: #fff; font-size: 38px; line-height: 1; }
.realty-state-grid span { display: block; margin-top: 10px; color: #fff; font-size: 17px; font-weight: 600; }
.realty-state-grid img { position: absolute; right: 0; bottom: 0; width: 80%; max-height: 62%; object-fit: contain; }
.realty-state-section .primary-btn { display: flex; justify-content: center; align-items: center; max-width: 256px; margin: 0 auto; font-size: 12px; height: 30px; padding: 0 12px; }
@media (max-width: 1180px) {
  .realty-hero, .realty-mortgage-layout, .realty-commercial-layout { grid-template-columns: 1fr; }
  .realty-hero-banner { height: 240px; }
  .realty-search-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .realty-search-row .primary-btn { grid-column: 1 / -1; }
  .realty-newbuild-grid { grid-template-columns: 1fr; }
  .realty-map-card, .realty-newbuild-tall { min-height: 360px; }
  .realty-picked-grid, .realty-interest-grid, .realty-state-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .realty-page { padding-top: 24px; }
  .realty-page .container > section { margin-top: 30px; }
  .realty-hero-copy h1 { font-size: 32px; }
  .realty-hero { gap: 24px; }
  .realty-search-card, .realty-picked-section, .realty-mortgage-card, .realty-state-section { padding: 20px; }
  .realty-search-row, .realty-newbuild-mini-grid, .realty-picked-grid, .realty-interest-grid, .realty-wide-banners, .realty-commercial-grid, .realty-state-grid, .realty-house-grid { grid-template-columns: 1fr; }
  .realty-field { border-right: 0; border-bottom: 1px solid #e4e9f2; }
  .realty-commercial-aside { grid-template-columns: 1fr; }
  .realty-mortgage-card .primary-btn { min-width: 0; width: 100%; }
}

/* Realty search refinements */
.realty-search-card { padding: 28px 38px 46px; }
.realty-mode-row { gap: 10px; margin-bottom: 10px; }
.realty-mode { min-width: 86px; height: 18px; padding: 0 16px; border-radius: 999px; font-size: 12px; line-height: 16px; }
.realty-search-row { grid-template-columns: 330px 210px 170px minmax(0, 1fr) 210px; min-height: 46px; border-radius: 7px; }
.realty-field { min-height: 46px; height: 46px; padding: 0 24px; font-size: 16px; }
.realty-field-select { position: relative; padding: 0; }
.realty-field-select::after { content: ''; position: absolute; right: 24px; top: 50%; width: 8px; height: 8px; margin: 0; border-right: 1px solid #4b5563; border-bottom: 1px solid #4b5563; transform: translateY(-65%) rotate(45deg); pointer-events: none; }
.realty-field-select select { width: 100%; height: 100%; padding: 0 46px 0 24px; border: 0; outline: 0; appearance: none; -webkit-appearance: none; background: transparent; color: #171717; font: inherit; cursor: pointer; }
.realty-field-search { padding: 0 18px; }
.realty-field-search img { width: 17px; height: 17px; }
.realty-field-search input::placeholder { color: #c2c7cf; }
.realty-search-row .primary-btn { min-height: 46px; height: 46px; border-radius: 0 5px 5px 0; font-size: 16px; }
@media (max-width: 1180px) {
  .realty-search-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .realty-search-row .primary-btn { border-radius: 0; }
}
@media (max-width: 860px) {
  .realty-search-card { padding: 20px; }
  .realty-search-row { grid-template-columns: 1fr; min-height: auto; }
  .realty-field { height: 46px; }
}

/* Realty search exact heights */
.realty-mode { box-sizing: border-box; height: 18px; line-height: 16px; }
.realty-search-row { box-sizing: border-box; height: 46px; min-height: 46px; }
.realty-field { box-sizing: border-box; min-height: 0; height: 42px; }
.realty-field-select select { box-sizing: border-box; }
.realty-search-row .primary-btn { box-sizing: border-box; min-height: 0; height: 42px; }
@media (max-width: 860px) {
  .realty-search-row { height: auto; min-height: 0; }
  .realty-field, .realty-search-row .primary-btn { height: 46px; }
}

/* Realty picked slider */
.realty-picked-section { position: relative; padding: 36px 44px 34px; overflow: visible; }
.realty-picked-section h2 { margin-bottom: 18px; }
.realty-picked-viewport { overflow: hidden; }
.realty-picked-grid { display: flex; grid-template-columns: none; gap: 18px; transition: transform .38s ease; will-change: transform; }
.realty-picked-grid > * { flex: 0 0 calc((100% - 54px) / 4); }
.realty-picked-section .realty-complex-card,
.realty-picked-section .realty-request-card { min-height: 286px; }
.realty-picked-section .realty-complex-card img { height: 155px; border-radius: 8px 8px 0 0; border-radius: 10px; }
.realty-picked-section .realty-complex-card div { padding: 18px 22px 20px; }
.realty-picked-section .realty-complex-card span { min-width: 108px; text-align: center; }
.realty-request-card { background: linear-gradient(180deg, #b8c7ff 0%, #5279f4 58%, #5279f4 100%); padding: 162px 44px 24px; }
.realty-request-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(82,121,244,.92) 0%, rgba(82,121,244,.78) 46%, rgba(82,121,244,.2) 100%); pointer-events: none; }
.realty-request-card img { inset: 0 auto 0 0; width: 100%; height: 100%; object-fit: contain; object-position: right bottom; opacity: .95; }
.realty-request-card h3,
.realty-request-card button { z-index: 2; }
.realty-request-card h3 { max-width: 210px; color: #fff; font-size: 18px; line-height: 1.12; font-weight: 600; }
.realty-request-card button { width: 210px; height: 36px; margin: 0; }
.realty-picked-arrow { position: absolute; top: 58%; z-index: 4; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 4px 16px rgba(18,32,66,.14); cursor: pointer; transform: translateY(-50%); padding: 0; }
.realty-picked-arrow img { width: 35px; height: 35px; }
.realty-picked-arrow--prev { left: 22px; }
.realty-picked-arrow--prev img { transform: rotate(180deg); }
.realty-picked-arrow--next { right: 22px; }
.realty-picked-arrow:disabled { opacity: 0; pointer-events: none; }
@media (max-width: 1180px) {
  .realty-picked-grid > * { flex-basis: calc((100% - 18px) / 2); }
}
@media (max-width: 860px) {
  .realty-picked-section { padding: 22px; }
  .realty-picked-grid > * { flex-basis: 100%; }
  .realty-picked-arrow--prev { left: 4px; }
  .realty-picked-arrow--next { right: 4px; }
}


/* Realty commercial aside and mortgage polish */
.realty-commercial-layout { grid-template-columns: minmax(0, 1fr) 392px; gap: 18px; align-items: start; }
.realty-commercial-aside { display: grid; gap: 18px; align-self: stretch; }
.realty-commercial-aside .realty-catalog-card { min-height: 393px; padding: 50px 40px; border-radius: 8px; background: linear-gradient(135deg, #5279f4 0%, #b8c7fb 100%); }
.realty-commercial-aside .realty-catalog-card h3 { position: relative; z-index: 2; max-width: 230px; font-size: 22px; line-height: 1.12; font-weight: 600; }
.realty-commercial-aside .realty-catalog-card > img { right: -4px; bottom: -3px; width: 88%; max-height: 73%; object-fit: contain; object-position: right bottom; }
.realty-commercial-aside .realty-catalog-card i { left: 40px; bottom: 58px; width: 58px; height: 58px; border-radius: 7px; }
.realty-commercial-aside .realty-catalog-card:nth-child(2) i { left: auto; right: 42px; top: 36px; bottom: auto; }
.realty-mortgage-layout { grid-template-columns: minmax(0, 1fr) 392px; gap: 18px; align-items: stretch; }
.realty-mortgage-card.card-lite { display: flex; min-height: 337px; flex-direction: column; justify-content: space-between; padding: 34px 46px 32px; border-radius: 8px; }
.realty-mortgage-card h2 { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 600; }
.realty-house-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 38px; margin: 26px 0 26px; align-items: end; }
.realty-house-grid div { position: relative; display: flex; min-height: 155px; align-items: center; justify-content: center; padding: 22px 8px 18px; text-align: center; background: none; border: 0; clip-path: none; color: #4b5563; }
.realty-house-grid div img { position: absolute; inset: auto 50% 0 auto; width: 150px; height: 133px; max-width: 100%; object-fit: contain; transform: translateX(50%); z-index: 0; }
.realty-house-grid div:nth-child(2) img { width: 165px; height: 147px; }
.realty-house-grid div:nth-child(3) img { width: 165px; height: 147px; }
.realty-house-grid div:nth-child(4) img { width: 165px; height: 147px; }
.realty-house-grid span { position: relative; z-index: 1; margin: 18px 0 0; color: #4b5563; white-space: nowrap; font-size: 14px; }
.realty-house-grid b { display: inline; color: #171717; font-size: 28px; line-height: 1; font-weight: 800; }
.realty-mortgage-card .primary-btn { display: flex; width: 344px; min-width: 0; height: 34px; min-height: 0; align-items: center; justify-content: center; margin: 0 auto; border-radius: 5px; font-size: 14px; }
.realty-realtor-card { min-height: 337px; padding: 44px 34px; border-radius: 8px; background: linear-gradient(135deg, #5279f4 0%, #b8c7fb 100%); }
.realty-realtor-card h3 { position: relative; z-index: 2; margin-top: 168px; font-size: 24px; line-height: 1.05; }
.realty-realtor-card img { right: -6px; bottom: 0; width: 78%; max-height: 100%; object-position: right bottom; }
.realty-realtor-card i { left: 34px; top: 34px; bottom: auto; width: 58px; height: 58px; border-radius: 7px; }
.realty-realtor-card button { left: 34px; bottom: 30px; min-height: 30px; padding: 0 22px; border-radius: 5px; font-size: 12px; }
@media (max-width: 1180px) {
  .realty-commercial-layout, .realty-mortgage-layout { grid-template-columns: 1fr; }
  .realty-commercial-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .realty-commercial-aside, .realty-house-grid { grid-template-columns: 1fr; }
  .realty-commercial-aside .realty-catalog-card, .realty-realtor-card { min-height: 320px; }
  .realty-mortgage-card.card-lite { min-height: 0; padding: 22px; }
  .realty-house-grid { gap: 18px; }
  .realty-house-grid span { white-space: normal; }
  .realty-mortgage-card .primary-btn { width: 100%; }
}


/* Realty newbuild cards overlay */
.realty-newbuild-mini-grid .realty-image-card::after {
  z-index: 0;
  background: linear-gradient(100deg, rgba(85, 123, 243, .96) 0%, rgba(85, 123, 243, .76) 48%, rgba(85, 123, 243, .14) 100%);
}
.realty-newbuild-mini-grid .realty-image-card span {
  z-index: 1;
}
.realty-newbuild-mini-grid .realty-image-card img {
  z-index: -1;
}


/* Realty search results page */
.realty-results-page {
  padding-top: 42px;
}

.realty-results-page .realty-search-section {
  margin-top: 0;
}

.realty-results-section {
  margin-top: 44px;
}

.realty-results-section h1 {
  margin: 0 0 26px;
  font-size: 34px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: 0;
  color: #171717;
}

.realty-results-list {
  display: grid;
  gap: 22px;
}

.realty-result-card {
  display: grid;
  grid-template-columns: minmax(420px, 48%) minmax(300px, 1fr) 306px;
  min-height: 292px;
  background: #fff;
  border: 1px solid #e5ebf3;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(34, 50, 84, 0.08);
  overflow: hidden;
}

.realty-result-gallery {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 8px;
  min-height: 292px;
  padding: 0;
  overflow: hidden;
}

.realty-result-main-img,
.realty-result-thumbs img,
.realty-result-more-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.realty-result-label {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  padding: 5px 17px;
  border-radius: 999px;
  background: #557bf3;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.realty-result-gallery-icon {
  position: absolute;
  top: 18px;
  right: 164px;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #6385f4;
  box-shadow: 0 4px 10px rgba(85, 123, 243, 0.35);
}

.realty-result-gallery-icon img {
  width: 19px;
  height: 19px;
  filter: brightness(0) invert(1);
}

.realty-result-thumbs {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 8px;
}

.realty-result-more-photo {
  position: relative;
  padding: 0;
  border: 0;
  color: #fff;
  font: inherit;
  cursor: pointer;
  overflow: hidden;
}

.realty-result-more-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(85, 123, 243, 0.72);
}

.realty-result-more-photo span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 600;
}

.realty-result-info {
  padding: 24px 28px;
  color: #171717;
}

.realty-result-info h2 {
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: 0;
}

.realty-result-subtitle {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 600;
}

.realty-result-info p {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.35;
}

.realty-result-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 25px;
  margin-bottom: 18px;
  padding: 3px 18px;
  border-radius: 999px;
  background: #4baa78;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.realty-result-complex {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 15px;
  color: #557bf3;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

.realty-result-complex img {
  width: 20px;
  height: 20px;
}

.realty-result-metro span {
  display: inline-grid;
  place-items: center;
  margin-right: 6px;
  color: #8d35bf;
  font-size: 15px;
  font-weight: 800;
}

.realty-result-address {
  max-width: 520px;
}

.realty-result-contact {
  display: flex;
  flex-direction: column;
  padding: 24px 24px 22px;
  border-left: 1px solid #e0e4ea;
}

.realty-result-price-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e3e7ed;
}

.realty-result-price-row strong {
  display: block;
  margin-bottom: 4px;
  font-size: 25px;
  line-height: 1.1;
  font-weight: 800;
  white-space: nowrap;
}

.realty-result-price-row span,
.realty-result-developer span,
.realty-result-schedule {
  color: #a3a8b1;
}

.realty-result-price-row time {
  flex: 0 0 auto;
  padding: 4px 12px;
  border-radius: 999px;
  background: #6385f4;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.realty-result-developer {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 22px;
}

.realty-result-logo {
  width: 70px;
  height: 70px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  border: 5px solid #f1effb;
  color: #4d4258;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}

.realty-result-developer b {
  display: block;
  margin-top: 4px;
  font-size: 16px;
}

.realty-result-phone {
  margin-top: auto;
  padding-top: 20px;
  font-size: 17px;
  font-weight: 800;
}

.realty-result-schedule {
  margin: 5px 0 15px;
  font-size: 13px;
}

.realty-result-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.realty-result-actions a {
  height: 34px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.realty-result-actions .secondary-btn {
  background: #b6c5fb;
  color: #344064;
}

.realty-results-banners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 4px 0;
}

.realty-results-banners a {
  display: block;
  min-height: 226px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(34, 50, 84, 0.08);
}

.realty-results-banners img {
  width: 100%;
  height: 100%;
  min-height: 226px;
  object-fit: cover;
  display: block;
}

.realty-results-more {
  width: 100%;
  height: 44px;
  margin-top: 28px;
  border-radius: 999px;
}

@media (max-width: 1180px) {
  .realty-result-card {
    grid-template-columns: 1fr;
  }

  .realty-result-contact {
    border-left: 0;
    border-top: 1px solid #e0e4ea;
  }
}

@media (max-width: 760px) {
  .realty-results-section h1 {
    font-size: 26px;
  }

  .realty-result-gallery {
    grid-template-columns: 1fr;
  }

  .realty-result-thumbs {
    display: none;
  }

  .realty-result-gallery-icon {
    right: 18px;
  }

  .realty-result-info,
  .realty-result-contact {
    padding: 18px;
  }

  .realty-results-banners {
    grid-template-columns: 1fr;
  }
}


/* Realty results fidelity pass */
.realty-results-page .container {
  max-width: 1510px;
}

.realty-results-page .realty-search-card {
  padding: 26px 34px 30px;
}

.realty-results-section {
  margin-top: 48px;
}

.realty-results-section h1 {
  margin-bottom: 28px;
  font-size: 36px;
}

.realty-results-list {
  gap: 24px;
}

.realty-result-card {
  grid-template-columns: minmax(520px, 42.6%) minmax(390px, 1fr) 342px;
  min-height: 300px;
  border-color: #e3e8f1;
  border-radius: 11px;
  box-shadow: 0 5px 16px rgba(33, 45, 76, 0.09);
}

.realty-result-gallery {
  grid-template-columns: minmax(0, 1fr) 152px;
  min-height: 300px;
  gap: 7px;
}

.realty-result-label {
  top: 17px;
  left: 18px;
  min-height: 22px;
  padding: 3px 17px;
  font-size: 13px;
}

.realty-result-gallery-icon {
  top: 17px;
  right: 166px;
  width: 35px;
  height: 35px;
  border-radius: 5px;
}

.realty-result-thumbs {
  gap: 7px;
}

.realty-result-info {
  padding: 22px 30px 20px;
}

.realty-result-info h2 {
  margin-bottom: 7px;
  font-size: 25px;
  line-height: 1.12;
}

.realty-result-subtitle {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.2;
}

.realty-result-tag {
  min-height: 24px;
  margin-bottom: 19px;
  padding: 3px 20px;
  font-size: 13px;
}

.realty-result-complex {
  margin-bottom: 14px;
}

.realty-result-info p {
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 1.27;
}

.realty-result-contact {
  padding: 22px 24px 20px;
}

.realty-result-price-row {
  gap: 10px;
  padding-bottom: 19px;
}

.realty-result-price-row strong {
  font-size: 24px;
}

.realty-result-price-row time {
  margin-top: 2px;
  min-width: 102px;
  text-align: center;
  padding: 4px 10px;
}

.realty-result-developer {
  margin-top: 22px;
}

.realty-result-logo {
  width: 74px;
  height: 74px;
  border-width: 6px;
  font-size: 12px;
}

.realty-result-phone {
  margin-top: 24px;
  padding-top: 0;
}

.realty-result-actions {
  gap: 9px;
}

.realty-result-actions a {
  height: 35px;
  gap: 7px;
  font-size: 15px;
}

.realty-result-actions a::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background: currentColor;
  opacity: .85;
  -webkit-mask: radial-gradient(circle at 35% 35%, transparent 0 3px, #000 3.4px 7px, transparent 7.4px) center/100% 100% no-repeat;
  mask: radial-gradient(circle at 35% 35%, transparent 0 3px, #000 3.4px 7px, transparent 7.4px) center/100% 100% no-repeat;
}

.realty-result-actions .primary-btn::before {
  -webkit-mask: none;
  mask: none;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50% 50% 50% 10%;
  transform: rotate(-35deg);
  background: transparent;
}

.realty-results-banners {
  gap: 18px;
  margin: 6px 0 4px;
}

.realty-results-banners a,
.realty-results-banners img {
  min-height: 236px;
}

.realty-results-more {
  height: 43px;
  margin-top: 30px;
}

@media (max-width: 1280px) {
  .realty-result-card {
    grid-template-columns: minmax(420px, 44%) minmax(300px, 1fr) 310px;
  }
}


/* Realty results exact card pass */
.realty-results-page .container {
  max-width: 1400px;
}

.realty-results-page .realty-search-card {
  padding: 24px 34px 28px;
}

.realty-results-section {
  margin-top: 42px;
}

.realty-results-section h1 {
  margin-bottom: 24px;
  font-size: 34px;
  line-height: 1.15;
}

.realty-results-list {
  gap: 24px;
}

.realty-result-card {
  grid-template-columns: 450px minmax(0, 1fr) 292px;
  height: 271px;
  min-height: 271px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(33, 45, 76, 0.08);
}

.realty-result-gallery {
  grid-template-columns: minmax(0, 1fr) 118px;
  min-height: 271px;
  height: 271px;
  gap: 6px;
}

.realty-result-label {
  top: 15px;
  left: 16px;
  min-height: 20px;
  padding: 3px 14px;
  font-size: 12px;
  line-height: 1.15;
}

.realty-result-gallery-icon {
  top: 15px;
  right: 130px;
  width: 32px;
  height: 32px;
}

.realty-result-gallery-icon img {
  width: 17px;
  height: 17px;
}

.realty-result-thumbs {
  gap: 6px;
}

.realty-result-more-photo span {
  font-size: 13px;
}

.realty-result-info {
  padding: 19px 23px 16px;
}

.realty-result-info h2 {
  margin-bottom: 6px;
  font-size: 22px;
  line-height: 1.12;
}

.realty-result-subtitle {
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.2;
}

.realty-result-tag {
  min-height: 22px;
  margin-bottom: 14px;
  padding: 3px 17px;
  font-size: 12px;
}

.realty-result-complex {
  gap: 6px;
  margin-bottom: 11px;
  font-size: 14px;
}

.realty-result-complex img {
  width: 17px;
  height: 17px;
}

.realty-result-info p {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.22;
}

.realty-result-metro span {
  margin-right: 5px;
  font-size: 13px;
}

.realty-result-contact {
  padding: 19px 20px 17px;
}

.realty-result-price-row {
  gap: 8px;
  padding-bottom: 15px;
}

.realty-result-price-row strong {
  font-size: 20px;
  line-height: 1.12;
  font-weight: 600;
}

.realty-result-price-row span {
  font-size: 13px;
}

.realty-result-price-row time {
  min-width: 90px;
  margin-top: 1px;
  padding: 3px 9px;
  font-size: 11px;
}

.realty-result-developer {
  gap: 12px;
  margin-top: 18px;
}

.realty-result-logo {
  width: 61px;
  height: 61px;
  border-width: 4px;
  overflow: hidden;
}

.realty-result-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.realty-result-developer span {
  font-size: 13px;
}

.realty-result-developer b {
  margin-top: 3px;
  font-size: 14px;
}

.realty-result-phone {
  margin-top: 15px;
  font-size: 14px;
}

.realty-result-schedule {
  margin: 4px 0 12px;
  font-size: 11px;
}

.realty-result-actions {
  gap: 7px;
}

.realty-result-actions a {
  height: 31px;
  gap: 6px;
  padding: 0 10px;
  font-size: 13px;
  margin-top: 0;
}

.realty-result-actions a::before {
  content: none;
}

.realty-result-actions a img {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.realty-result-actions .primary-btn img {
  filter: brightness(0) invert(1);
}

.realty-results-banners {
  gap: 18px;
}

.realty-results-banners a,
.realty-results-banners img {
  min-height: 214px;
}

@media (max-width: 1180px) {
  .realty-result-card {
    height: auto;
    min-height: 0;
  }

  .realty-result-gallery {
    height: 271px;
  }
}

/* Realty object detail */
.realty-object-page {
  padding-bottom: 72px;
}

.realty-object-page .container {
  max-width: 1400px;
}

.realty-object-layout {
  display: grid;
  grid-template-columns: minmax(0, 800px) 500px;
  gap: 46px;
  align-items: start;
}

.realty-object-hero h1 {
  margin: 0 0 18px;
  font-size: 32px;
  line-height: 1.18;
  font-weight: 600;
  color: #171717;
}

.realty-object-hero h1 a {
  color: #557bf3;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.realty-object-address {
  margin: 0 0 14px;
  color: #333;
  font-size: 15px;
  font-weight: 500;
}

.realty-object-metro {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
  margin-bottom: 26px;
  color: #2f2f35;
  font-size: 14px;
  font-weight: 600;
}

.realty-object-metro span::before {
  content: url("assets/metro.svg");
  display: inline-block;
  width: 14px;
  margin-right: 6px;
}

.realty-object-metro .metro-green { color: #171717; font-weight: 500; font-size: 14px; }
.realty-object-metro .metro-gray { color: #171717; font-weight: 500; font-size: 14px; }
.realty-object-metro .metro-purple { color: #171717; font-weight: 500; font-size: 14px; }

.object-gallery-main {
  position: relative;
  overflow: hidden;
  height: 428px;
  border-radius: 8px;
  background: #eef3ff;
}

.object-gallery-main-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.object-plan-button,
.object-full-button,
.object-gallery-main-arrow,
.object-gallery-edge,
.realty-similar-arrow {
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

.object-plan-button {
  position: absolute;
  top: 22px;
  left: 28px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-height: 38px;
  padding: 8px 15px 8px 18px;
  border-radius: 4px;
  background: #557bf3;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

.object-plan-button img,
.object-full-button img,
.object-actions img,
.object-call-button img,
.object-message-button img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.object-full-button {
  position: absolute;
  top: 22px;
  right: 28px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 4px;
  background: #557bf3;
}

.object-full-button img { filter: brightness(0) invert(1); }

.object-gallery-main-arrow {
  position: absolute;
  top: 50%;
  right: 92px;
  z-index: 2;
  transform: translateY(-50%);
  background: transparent;
  color: rgba(255, 255, 255, .45);
  font-size: 96px;
  line-height: 1;
}

.object-gallery-thumbs-wrap {
  position: relative;
  margin-top: 14px;
}

.object-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.object-gallery-thumb {
  position: relative;
  overflow: hidden;
  height: 128px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  background: #eef3ff;
  cursor: pointer;
}

.object-gallery-thumb.is-active {
  border-color: #557bf3;
}

.object-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.object-thumb-badge {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(85, 123, 243, .48);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

.object-gallery-edge,
.realty-similar-arrow {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  color: #171717;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .16);
}

.object-gallery-edge {
  top: 50%;
  transform: translateY(-50%);
}

.object-gallery-edge-left { left: -19px; }
.object-gallery-edge-right { right: -19px; }

.realty-object-sidebar {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.object-price-card,
.object-agency-card,
.realty-object-section {
  border: 1px solid #e2e7f0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .08);
}

.object-price-card,
.object-agency-card {
  padding: 28px 30px;
}

.object-price-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.object-price-head > strong {
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
}

.object-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.object-actions button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 9px;
  border: 0;
  border-radius: 3px;
  background: #edf2f7;
  color: #737985;
  font-size: 12px;
  cursor: pointer;
}

.realtor-help-box {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 8px;
  overflow: hidden;
  min-height: 108px;
  margin-bottom: 22px;
  border-radius: 6px;
  background: #edf3f7;
  position: relative;
}

.realtor-help-box div { padding: 16px 0 14px 16px; }
.realtor-help-box strong { display: block; margin-bottom: 4px; font-size: 14px; }
.realtor-help-box p { margin: 0 0 8px; color: #616774; font-size: 13px; line-height: 1.25; }
.realtor-help-box button { height: 24px; padding: 0 17px; border: 0; border-radius: 3px; background: #557bf3; color: #fff; font-size: 12px; }
.realtor-help-box img { object-fit: cover; position: absolute; width: 200px; right: 0; bottom: -20px; }

.object-price-params { margin: 0 0 26px; }
.object-price-params div { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 8px 0; border-bottom: 1px dashed #d9dee8; }
.object-price-params dt { color: #171717; font-size: 15px; }
.object-price-params dd { margin: 0; color: #171717; font-size: 16px; font-weight: 600; }

.object-contact-row { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.object-contact-row strong { display: block; margin-bottom: 3px; font-size: 15px; }
.object-contact-row span { color: #a0a4ac; font-size: 12px; }
.object-status { display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.object-status span { color: #171717; font-size: 12px; }
.object-status span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; vertical-align: middle; }
.object-status .is-offline::before { background: #ec3c3c; }
.object-status .is-online::before { background: #3fb45b; }

.object-call-button,
.object-message-button,
.object-agency-card button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 38px;
  border: 0;
  border-radius: 4px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.object-call-button { gap: 8px; margin-bottom: 10px; background: #557bf3; color: #fff; height: 30px; font-size: 16px; font-weight: 500; }
.object-message-button { gap: 8px; background: #aabcf8; color: #1d2740; height: 30px; font-size: 16px; font-weight: 500; }

.agency-card-head { display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: center; margin-bottom: 20px; }
.agency-card-head img { width: 72px; height: 72px; border-radius: 50%; object-fit: contain; background: #fff; box-shadow: 0 0 0 1px #e5e9f2; }
.agency-card-head span { display: block; margin-bottom: 5px; color: #a0a4ac; font-size: 15px; }
.agency-card-head strong { display: block; margin-bottom: 5px; font-size: 16px; }
.agency-card-head small { color: #557bf3; font-size: 12px; }
.agency-card-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; padding: 12px 16px; border-radius: 7px; background: #edf3f7; }
.agency-card-stats span { display: block; color: #a0a4ac; font-size: 12px; }
.agency-card-stats strong { font-size: 16px; }
.object-agency-card button { background: #557bf3; color: #fff; font-size: 14px; }

.object-location-card h2,
.realty-similar-section h2,
.realty-flat-info h2 {
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 800;
}
.realty-similar-section h2 {
  font-size: 24px;
  font-weight: 600;
}
.object-location-card img { width: 100%; min-height: 320px; border-radius: 8px; object-fit: cover; }

.realty-object-section { margin-top: 28px; padding: 24px 38px 30px; }
.flat-features-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 34px; margin-bottom: 28px; }
.flat-feature { display: grid; grid-template-columns: 36px 1fr; gap: 4px 14px; align-items: center; }
.flat-feature img { grid-row: span 2; width: 34px; height: 34px; object-fit: contain; }
.flat-feature span { color: #a0a4ac; font-size: 13px; }
.flat-feature strong { color: #171717; font-size: 15px; }
.flat-description { color: #3b3f48; font-size: 15px; line-height: 1.28; }
.flat-description p { margin: 0 0 16px; }
.flat-description p:last-child { margin-bottom: 0; }

.realty-similar-section { position: relative; margin-top: 24px; }
.realty-similar-wrap { position: relative; }
.realty-similar-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 4); gap: 20px; overflow: hidden; scroll-behavior: smooth; }
.realty-object-similar-card { overflow: hidden; border: 1px solid #e2e7f0; border-radius: 8px; background: #fff; box-shadow: 0 4px 14px rgba(17, 24, 39, .08); }
.realty-object-similar-card img { display: block; width: 100%; height: 180px; object-fit: cover; }
.realty-object-similar-card div { padding: 14px 16px 18px; }
.realty-object-similar-card strong { display: block; margin-bottom: 7px; font-size: 18px; }
.realty-object-similar-card p { margin: 0 0 7px; font-size: 15px; font-weight: 600; }
.realty-object-similar-card span { color: #777d88; font-size: 14px; }
.realty-similar-arrow { top: 50%; transform: translateY(-50%); }
.realty-similar-prev { left: -19px; }
.realty-similar-next { right: -19px; }

@media (max-width: 1180px) {
  .realty-object-layout { grid-template-columns: 1fr; }
  .realty-object-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .object-location-card { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .realty-object-hero h1 { font-size: 28px; }
  .object-gallery-main { height: 300px; }
  .object-gallery-thumbs { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .object-gallery-thumb { flex: 0 0 160px; height: 96px; }
  .realty-object-sidebar { display: flex; }
  .object-price-head, .object-contact-row { flex-direction: column; align-items: flex-start; }
  .realtor-help-box { grid-template-columns: 1fr; }
  .realtor-help-box img { display: none; }
  .flat-features-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .realty-object-section { padding: 20px; }
  .realty-similar-track { grid-auto-columns: 82%; }
}
.realty-result-info h2 a {
  color: inherit;
  text-decoration: none;
}
.realty-result-info h2 a:hover {
  color: #557bf3;
}

/* Realty object detail polish */
.realty-object-page .container {
  max-width: 1400px;
}

.realty-object-layout {
  grid-template-columns: minmax(0, 800px) 500px;
  gap: 42px;
}

.object-gallery-thumbs {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.object-gallery-thumbs::-webkit-scrollbar,
.realty-similar-track::-webkit-scrollbar {
  display: none;
}

.object-gallery-thumb {
  flex: 0 0 calc((100% - 36px) / 4);
  min-width: 0;
}

.object-thumb-badge {
  display: none;
}

.realty-similar-section {
  margin-top: 30px;
}

.realty-similar-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}

.realty-object-similar-card {
  flex: 0 0 calc((100% - 60px) / 4);
  scroll-snap-align: start;
}

.realty-object-similar-card img {
  height: 184px;
}

.realty-similar-arrow {
  top: 46%;
}

.object-full-button {
  transition: background .2s ease, transform .2s ease;
}

.object-full-button:hover,
.object-plan-button:hover,
.object-call-button:hover,
.object-message-button:hover,
.object-agency-card button:hover {
  transform: translateY(-1px);
}

@media (max-width: 1180px) {
  .realty-object-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .realty-object-similar-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 760px) {
  .object-gallery-thumb {
    flex-basis: 160px;
  }

  .realty-object-similar-card {
    flex-basis: 82%;
  }
}

/* Operators rating page */
.operators-page .container {
  max-width: 1400px;
}

.operators-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 520px;
  align-items: center;
  gap: 72px;
  margin: 70px 0 54px;
}

.operators-hero h1 {
  margin: 0 0 26px;
  color: #171717;
  font-size: 42px;
  line-height: 1.17;
  font-weight: 800;
  letter-spacing: 0;
}

.operators-title-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  margin: 0 6px;
  align-items: center;
  justify-content: center;
  vertical-align: -7px;
  border-radius: 8px;
  background: #5a7cf4;
  box-shadow: 0 5px 10px rgba(85, 123, 243, .28);
}

.operators-title-icon img {
  width: 27px;
  height: 27px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.operators-hero p {
  max-width: 760px;
  margin: 0;
  color: #555a64;
  font-size: 18px;
  line-height: 1.55;
}

.operators-hero-banner {
  display: block;
  overflow: hidden;
  border-radius: 8px;
}

.operators-hero-banner img {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.operators-rating-section h2,
.operators-tariffs-section h2 {
  margin: 0 0 18px;
  color: #171717;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
}

.operators-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 54px;
}

.operator-card {
  display: flex;
  min-height: 500px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e3e7ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .08);
}

.operator-card-top {
  padding: 24px 18px 10px;
}

.operator-logo-wrap {
  display: flex;
  height: 58px;
  align-items: center;
  justify-content: center;
}

.operator-logo-wrap img {
  max-width: 210px;
  max-height: 54px;
  object-fit: contain;
}

.operator-facts {
  margin: 18px 0 0;
  color: #a0a4ac;
  font-size: 13px;
  line-height: 1.6;
}

.operator-facts div {
  display: flex;
  gap: 4px;
  margin-bottom: 3px;
}

.operator-facts dt,
.operator-facts dd {
  margin: 0;
}

.operator-facts dd {
  color: #171717;
  font-weight: 600;
}

.operator-card-label {
  display: flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.operator-card-label.blue {
  background: #557bf3;
  border-radius: 0 0 10px 10px;
}

.operator-card-label.green {
  background: #48a978;
  border-radius: 0 0 10px 10px;
}

.operator-list {
  margin: 0;
  padding: 14px 18px 16px 26px;
  color: #343944;
  font-size: 13px;
  line-height: 1.45;
}

.operator-list li {
  margin-bottom: 9px;
}

.operator-list-short {
  min-height: 92px;
}

.operator-card-button,
.tariff-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #557bf3;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.operator-card-button:hover,
.tariff-button:hover {
  background: #456de8;
  transform: translateY(-1px);
}

.operator-card-button {
  height: 34px;
  margin: auto 14px 14px;
  font-size: 14px;
}

.operators-tariffs-section {
  margin-bottom: 58px;
}

.operators-tariffs-title-row {
  margin-bottom: 18px;
}

.operators-tariffs-title-row h2 {
  margin-bottom: 0;
  font-weight: 600;
  font-size: 24px;
}

.operator-tariff-head-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 28px;
  align-items: center;
  margin-bottom: 14px;
}

.operator-tariff-head-row p {
  margin: 0;
  color: #343944;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 500;
}

.operator-tariff-head {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr) 250px;
  height: 58px;
  align-items: center;
  margin-bottom: 0;
  border: 1px solid #e4e8f0;
  border-radius: 8px;
  background: #fff;
  color: #7f8591;
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(17, 24, 39, .06);
}

.operator-tariff-head span {
  display: flex;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #d7dce6;
}

.operator-tariff-head span:last-child {
  border-right: 0;
}

.operator-tariff-group {
  display: flex;
  width: 410px;
  max-width: 100%;
  height: 34px;
  align-items: center;
  justify-content: center;
  margin: 16px 0 12px;
  border-radius: 5px;
  background: #557bf3;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

.operator-tariff-card {
  display: grid;
  grid-template-columns: 56px 220px minmax(320px, 1fr) 210px 220px;
  gap: 18px;
  min-height: 116px;
  align-items: center;
  margin-bottom: 14px;
  padding: 18px 28px 18px 88px;
  border: 1px solid #e4e8f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .08);
}

.tariff-logo img {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.tariff-name {
  color: #343944;
  font-size: 18px;
  line-height: 1.25;
}

.tariff-terms {
  margin: 0;
  padding-left: 18px;
  color: #171717;
  font-size: 14px;
  line-height: 1.42;
  font-weight: 600;
}

.tariff-terms li {
  margin-bottom: 5px;
  font-weight: 500;
}

.tariff-price {
  color: #343944;
  font-size: 22px;
  line-height: 1.2;
  text-align: center;
}

.tariff-button {
  width: 220px;
  height: 38px;
  justify-self: end;
  font-size: 14px;
}

@media (max-width: 1180px) {
  .operators-hero {
    grid-template-columns: 1fr;
    gap: 26px;
    margin-top: 44px;
  }

  .operators-hero-banner img {
    height: auto;
    max-height: 240px;
  }

  .operators-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operators-tariffs-section {
    overflow-x: auto;
    padding-bottom: 6px;
  }

.operator-tariff-head-row {
  min-width: 1328px;
}

.operator-tariff-card {
  min-width: 1040px;
}

  .operator-tariff-card {
    padding-left: 44px;
  }
}

@media (max-width: 760px) {
  .operators-hero h1 {
    font-size: 30px;
  }

  .operators-hero p {
    font-size: 15px;
  }

  .operators-title-icon {
    width: 34px;
    height: 34px;
    vertical-align: -5px;
  }

  .operators-title-icon img {
    width: 21px;
    height: 21px;
  }

  .operators-grid {
    grid-template-columns: 1fr;
  }

  .operator-card {
    min-height: auto;
  }

  .operators-tariffs-title-row {
    grid-template-columns: 1fr;
  }
}

/* Auto page */
.auto-page{padding-bottom:0}.auto-page .container{max-width:1388px}.auto-hero{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:34px;align-items:center;padding:36px 0 26px}.auto-hero h1{margin:0 0 18px;font-size:45px;line-height:1.08;font-weight:800;letter-spacing:-.045em;color:#15171c}.auto-hero h1 span:last-child{color:#5577f5}.auto-title-icon{width:45px;height:45px;background:#597cf4;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;vertical-align:-6px}.auto-title-icon img{width:28px;height:28px;filter:brightness(0) invert(1)}.auto-hero p{max-width:780px;margin:0;color:#343844;font-size:17px;line-height:1.65}.auto-hero-banner{display:block;border-radius:8px;overflow:hidden}.auto-hero-banner img{display:block;width:100%;height:auto}.auto-filter-section{margin-top:12px}.auto-filter-section h2,.auto-recommend-section h2,.auto-dealer-section h2,.auto-section-row h2{margin:0 0 18px;font-size:27px;letter-spacing:-.035; font-weight: 500;}.auto-filter-card{background:#fff}.auto-filter-grid{display:grid;grid-template-columns:1.12fr 1.12fr 1.12fr 64px;gap:12px}.auto-field{height:62px;border:1px solid #e8ebf1;border-radius:6px;padding:12px 18px;background:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;box-shadow:0 2px 7px rgba(20,34,68,.04)}.auto-field span{font-size:13px;color:#a2a7b1;margin-bottom:0px}.auto-field select,.auto-field input{border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:#373b45;width:100%;appearance:none}.auto-field-select:after{content:'⌄';position:absolute;right:18px;bottom:18px;color:#8d95a5}.auto-split{display:grid;grid-template-columns:1fr 1px 1fr;grid-template-rows:auto auto;column-gap:18px}.auto-split span{grid-column:1/-1}.auto-split i{width:1px;background:#cfd5df;height:28px;align-self:center}.auto-checkbox{align-items:center;flex-direction:row;gap:12px}.auto-checkbox span{font-size:16px;color:#373b45;margin:0}.auto-checkbox input{width:14px}.auto-plus{border:0;border-radius:6px;background:#eef3f8;position:relative}.auto-plus:before,.auto-plus:after{content:'';position:absolute;left:50%;top:50%;width:30px;height:1.5px;background:#2d3340;transform:translate(-50%,-50%)}.auto-plus:after{transform:translate(-50%,-50%) rotate(90deg)}.auto-reset{display:flex;align-items:center;padding:0 18px;color:#5577f5;text-decoration:none;font-weight:500}.auto-filter-actions{display:grid;grid-template-columns:1fr 240px;align-items:center;margin-top:24px}.auto-filter-actions .primary-btn{height:64px;font-size:16px;border-radius:4px}.auto-advanced{display:inline-flex;align-items:center;gap:8px;color:#5577f5;text-decoration:none;font-weight:500}.auto-advanced img{width:12px}.auto-brands-section{margin-top:20px}.auto-brands-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.auto-brands-grid a,.auto-brands-grid button{height:69px;border:1px solid #e9edf3;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;color:#171a20;font-size:20px;font-weight:700;box-shadow:0 2px 8px rgba(20,34,68,.04)}.auto-brands-grid img{max-width:72px;max-height:32px;object-fit:contain}.auto-brands-grid button{font-size:14px;color:#5577f5;font-weight:500;cursor:pointer}.auto-brands-grid button img{width:12px}.auto-slider-section{margin-top:30px}.auto-section-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.auto-section-row a{color:#5577f5;text-decoration:none;font-size:15px}.auto-specials-track{display:grid;grid-auto-flow:column;grid-auto-columns:282px;gap:14px;overflow:hidden}.auto-deal-card{height:296px;border-radius:8px;overflow:hidden;position:relative;background:#a9bdfa}.auto-deal-card img{width:100%;height:236px;object-fit:cover;display:block}.auto-deal-card b{position:absolute;left:13px;bottom:61px;background:#4774ff;color:#fff;border-radius:3px;padding:6px 12px;font-size:15px}.auto-deal-card div{background:#a9bdfa;padding:9px 14px 11px}.auto-deal-card h3{margin:0 0 4px;font-size:15px}.auto-deal-card p{margin:0;color:#24314a;font-size:13px}.auto-recommend-section{margin-top:32px}.auto-catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 18px}.auto-catalog-grid article img{width:100%;aspect-ratio:1.01/1;object-fit:cover;border-radius:8px;display:block;margin-bottom:14px}.auto-catalog-grid h3{font-size:16px;margin:20px 0 8px;font-weight:700}.auto-catalog-grid b{font-size:16px;font-weight:500}.auto-catalog-grid p{margin:7px 0 0;color:#5c6371;font-size:13px}.auto-catalog-grid span{display:inline-block;background:#23b56b;color:#fff;border-radius:12px;font-size:11px;padding:3px 9px;margin-left:7px;vertical-align:1px}.auto-banners-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0}.auto-banners-row img{width:100%;border-radius:8px;display:block}.auto-dealer-section{margin:24px 0 34px}.auto-dealer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.auto-dealer-grid article{height:218px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#4f77f7 0%,#91a8ff 52%,#f7f9ff 100%);position:relative;color:#fff;padding:30px 32px}.auto-dealer-grid h3{margin:0 0 4px;font-size:22px}.auto-dealer-grid p{margin:0;font-size:15px}.auto-dealer-grid img{position:absolute;right:-8px;bottom:-55px;width:78%;height:auto}.auto-blog-section{margin-top:22px}.auto-reviews-section{margin-top:34px}
@media (max-width: 1024px){.auto-hero{grid-template-columns:1fr}.auto-hero-banner{max-width:560px}.auto-filter-grid{grid-template-columns:1fr 1fr}.auto-plus{height:62px}.auto-filter-actions{grid-template-columns:1fr}.auto-brands-grid{grid-template-columns:repeat(3,1fr)}.auto-catalog-grid,.auto-dealer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 640px){.auto-hero h1{font-size:34px}.auto-filter-grid,.auto-brands-grid,.auto-catalog-grid,.auto-dealer-grid,.auto-banners-row{grid-template-columns:1fr}.auto-specials-track{grid-auto-columns:82%}.auto-section-row{display:block}.auto-section-row a{display:inline-block;margin-bottom:12px}.auto-dealer-grid article{height:190px}}

/* Auto page refinements */
.auto-field,
.auto-plus,
.auto-brands-grid a,
.auto-brands-grid button,
.auto-deal-card,
.auto-catalog-grid a {
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.auto-field:hover,
.auto-field:focus-within {
  border-color: #d9e0ee;
  box-shadow: 0 10px 26px rgba(31, 45, 78, .10);
}

.auto-field-select:after { content: none; }
.auto-field-select select {
  cursor: pointer;
  padding-right: 26px;
  background-image: url('assets/arrow-down.svg');
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 12px 12px;
}

.auto-plus:hover {
  background: #e5edf8;
  box-shadow: 0 10px 24px rgba(31, 45, 78, .10);
  transform: translateY(-1px);
}

.auto-brands-grid a,
.auto-brands-grid button,
.auto-catalog-grid a,
.auto-deal-card { cursor: pointer; }

.auto-brands-grid a:hover,
.auto-brands-grid button:hover {
  border-color: #dce4f2;
  box-shadow: 0 12px 28px rgba(31, 45, 78, .12);
  transform: translateY(-2px);
}

.auto-specials-slider {
  position: relative;
  margin-left: calc((100vw - 100%) / -2);
  margin-right: calc((100vw - 100%) / -2);
  padding-left: calc((100vw - 100%) / 2);
  overflow: hidden;
}

.auto-specials-viewport {
  overflow: visible;
}

.auto-specials-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 282px;
  gap: 14px;
  width: max-content;
  overflow: visible;
  transition: transform .32s ease;
  will-change: transform;
}

.auto-deal-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.auto-deal-card:hover {
  box-shadow: 0 16px 32px rgba(31, 45, 78, .16);
  transform: translateY(-3px);
}

.auto-deal-card:hover img { filter: saturate(1.05); }

.auto-slider-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 34px;
  height: 34px;
  border: 1px solid #e4e8f1;
  border-radius: 50%;
  background: #fff;
  color: #333946;
  box-shadow: 0 8px 22px rgba(31, 45, 78, .14);
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity .2s ease, box-shadow .2s ease, transform .2s ease;
}

.auto-slider-arrow:hover:not(:disabled) {
  box-shadow: 0 12px 28px rgba(31, 45, 78, .18);
  transform: translateY(-50%) scale(1.04);
}

.auto-slider-arrow:disabled { opacity: .45; cursor: default; }
.auto-slider-arrow--prev { left: calc((100vw - 100%) / 2 - 18px); }
.auto-slider-arrow--next { right: 22px; }

.auto-catalog-grid a {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
}

.auto-catalog-grid a:hover {
  transform: translateY(-3px);
}

.auto-catalog-grid a:hover img {
  box-shadow: 0 14px 30px rgba(31, 45, 78, .14);
}

@media (max-width: 640px) {
  .auto-specials-track { grid-auto-columns: 82vw; }
  .auto-specials-slider { margin-left: 0; margin-right: 0; padding-left: 0; }
  .auto-slider-arrow--prev { left: 6px; }
  .auto-slider-arrow--next { right: 6px; }
}


/* Auto page requested fixes */
.auto-field-fuel,
.auto-reset {
  width: 249px;
  box-sizing: border-box;
}

.auto-reset {
  min-height: 62px;
  align-self: stretch;
}

.auto-specials-slider {
  padding-right: 0;
}

.auto-specials-viewport {
  padding: 0 64px 10px 0;
}

.auto-specials-track {
  grid-auto-columns: 282px;
}

.auto-slider-arrow {
  top: 50%;
}

.auto-slider-arrow--prev {
  left: calc((100vw - 100%) / 2 - 18px);
}

.auto-slider-arrow--next {
  right: 28px;
}

@media (min-width: 1440px) {
  .auto-specials-track {
    grid-auto-columns: 296px;
  }
}

@media (max-width: 1024px) {
  .auto-field-fuel,
  .auto-reset {
    width: auto;
  }
}

.auto-field-fuel,
.auto-reset,
.auto-field-kpp,
.auto-field-photo {
  width: 249px;
  box-sizing: border-box;
}

.auto-field-photo,
.auto-reset {
  min-height: 62px;
}

.auto-field-select:after {
  content: none;
}

.auto-field-select select {
  cursor: pointer;
  padding-right: 26px;
  background-image: url("assets/arrow-down.svg");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 12px 12px;
}

.auto-brands-grid a,
.auto-brands-grid button,
.auto-catalog-grid a,
.auto-deal-card,
.auto-banners-row a {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  cursor: pointer;
}

.auto-brands-grid a:hover,
.auto-brands-grid button:hover {
  transform: translateY(-2px);
  border-color: #dce4f2;
  box-shadow: 0 12px 28px rgba(31, 45, 78, .12);
}

.auto-catalog-grid a {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
}

.auto-catalog-grid a:hover {
  transform: translateY(-3px);
}

.auto-catalog-grid a:hover img {
  box-shadow: 0 14px 30px rgba(31, 45, 78, .14);
}

.auto-banners-row a {
  display: block;
  border-radius: 8px;
  overflow: hidden;
}

.auto-banners-row a:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(31, 45, 78, .14);
}

.auto-specials-slider {
  position: relative;
  margin-left: calc((100vw - 100%) / -2);
  margin-right: calc((100vw - 100%) / -2);
  padding-left: calc((100vw - 100%) / 2);
  padding-right: calc((100vw - 100%) / 2);
  overflow: hidden;
}

.auto-specials-viewport {
  overflow: visible;
  padding: 0 54px 12px 54px;
  margin: 0 -54px;
}

.auto-specials-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 282px;
  gap: 14px;
  width: max-content;
  overflow: visible;
  transition: transform .32s ease;
  will-change: transform;
}

.auto-deal-card {
  display: block;
  color: inherit;
  text-decoration: none;
}

.auto-deal-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(31, 45, 78, .16);
}

.auto-slider-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 34px;
  height: 34px;
  border: 1px solid #e4e8f1;
  border-radius: 50%;
  background: #fff;
  color: #333946;
  box-shadow: 0 8px 22px rgba(31, 45, 78, .14);
  cursor: pointer;
  transform: translateY(-50%);
}

.auto-slider-arrow--prev {
  left: calc((100vw - 100%) / 2 - -40px);
}

.auto-slider-arrow--next {
  right: calc((100vw - 100%) / 2 - -40px);
}

@media (max-width: 1024px) {
  .auto-field-fuel,
  .auto-reset,
  .auto-field-kpp,
  .auto-field-photo {
    width: auto;
  }

  .auto-slider-arrow--prev {
    left: calc((100vw - 100%) / 2 - -20px);
  }

  .auto-slider-arrow--next {
    right: calc((100vw - 100%) / 2 - -20px);
  }
}

/* Auto filter final fix */
.auto-filter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .62fr) minmax(0, .62fr) 64px;
  gap: 12px;
  align-items: stretch;
}

/* 1 строка: Марка / Модель / Поколение / плюс */
.auto-filter-grid > .auto-field:nth-child(1) {
  grid-column: 1;
}

.auto-filter-grid > .auto-field:nth-child(2) {
  grid-column: 2;
}

.auto-filter-grid > .auto-field:nth-child(3) {
  grid-column: 3 / 5;
}

.auto-filter-grid > .auto-plus {
  grid-column: 5;
}

/* 2 строка: Цена / Год / КПП / Топливо */
.auto-filter-grid > .auto-field:nth-child(5) {
  grid-column: 1;
}

.auto-filter-grid > .auto-field:nth-child(6) {
  grid-column: 2;
}

.auto-filter-grid > .auto-field:nth-child(7) {
  grid-column: 3;
}

.auto-filter-grid > .auto-field:nth-child(8) {
  grid-column: 4 / 6;
}

/* 3 строка: Объем / Привод / С фото / Сбросить */
.auto-filter-grid > .auto-field:nth-child(9) {
  grid-column: 1;
}

.auto-filter-grid > .auto-field:nth-child(10) {
  grid-column: 2;
}

.auto-filter-grid > .auto-checkbox {
  grid-column: 3;
}

.auto-filter-grid > .auto-reset {
  grid-column: 4 / 6;
}

/* убираем принудительные ширины, из-за них блок уезжал вправо */
.auto-field-fuel,
.auto-reset,
.auto-field-kpp,
.auto-field-photo,
.auto-checkbox {
  width: auto !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

/* С фото — визуально как radio/checkbox с синей точкой */
.auto-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 12px;
  padding: 0 18px;
  cursor: pointer;
}

.auto-checkbox span {
  margin: 0;
  font-size: 16px;
  color: #373b45;
}

.auto-checkbox input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.auto-checkbox i {
  width: 16px;
  height: 16px;
  border: 1px solid #dfe4ec;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(20, 34, 68, .14);
  position: relative;
  flex: 0 0 auto;
}

.auto-checkbox input:checked + i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5577f5;
  transform: translate(-50%, -50%);
}

@media (max-width: 980px) {
  .auto-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .auto-filter-grid > * {
    grid-column: auto !important;
  }
}

@media (max-width: 640px) {
  .auto-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* === Reviews: uniform text truncation + "read full" popup === */
.review-card p{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.review-card.review-wide p{-webkit-line-clamp:3;line-clamp:3;}
.review-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(18,32,66,.55);}
.review-modal.open{display:flex;}
.review-modal__box{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:85vh;overflow:auto;padding:28px;box-shadow:0 24px 70px rgba(18,32,66,.35);position:relative;}
.review-modal__close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:none;border-radius:10px;background:#eef2fb;color:#4b5563;font-size:20px;line-height:1;cursor:pointer;}
.review-modal__close:hover{background:#e5eaf3;}
.review-modal__head{display:flex;align-items:center;gap:12px;padding-right:36px;}
.review-modal__head img{width:44px;height:44px;object-fit:contain;border-radius:8px;}
.review-modal__title{font-size:18px;font-weight:800;color:#171717;letter-spacing:-.3px;}
.review-modal__stars{color:#f7a600;font-size:16px;margin-top:2px;}
.review-modal__text{margin:18px 0;font-size:15px;line-height:1.6;color:#171717;white-space:pre-line;}
.review-modal__meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#7a6e58;border-top:1px solid #e5eaf3;padding-top:14px;}
.review-modal__meta b{color:#171717;font-weight:700;}

/* === Card details popup (cards.html) === */
.card-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(18,32,66,.55);}
.card-modal.open{display:flex;}
.card-modal__box{background:#fff;border-radius:16px;max-width:520px;width:100%;max-height:85vh;overflow:auto;padding:28px;box-shadow:0 24px 70px rgba(18,32,66,.35);position:relative;}
.card-modal__close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:none;border-radius:10px;background:#eef2fb;color:#4b5563;font-size:20px;line-height:1;cursor:pointer;}
.card-modal__close:hover{background:#e5eaf3;}
.card-modal__head{display:flex;align-items:center;gap:14px;padding-right:36px;margin-bottom:18px;}
.card-modal__head img{width:64px;height:42px;object-fit:contain;}
.card-modal__title{font-size:18px;font-weight:800;color:#171717;letter-spacing:-.3px;}
.card-modal__subtitle{font-size:13px;color:#7a6e58;margin-top:2px;}
.card-modal__grid{display:flex;flex-direction:column;gap:0;border:1px solid #e5eaf3;border-radius:12px;overflow:hidden;}
.card-modal__row{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;font-size:14px;}
.card-modal__row:nth-child(odd){background:#f7f9fe;}
.card-modal__row span{color:#7a6e58;}
.card-modal__row b{color:#171717;text-align:right;}
.card-modal__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.card-modal__tags em{font-style:normal;font-size:12px;font-weight:600;color:#5279f4;background:#eaf0ff;border-radius:999px;padding:4px 10px;}
.card-modal__actions{margin-top:20px;}
.card-modal__actions .primary-btn{width:100%;margin:0;text-align:center;text-decoration:none;padding:13px;display:block;}

/* Simple equal grid for МФО/Инвестиции review tabs (cards styled like Банки) */
.reviews-grid-simple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
@media (max-width:900px){.reviews-grid-simple{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.reviews-grid-simple{grid-template-columns:1fr;}}

/* === Currency page === */
.currency-page{padding:32px 0 64px;}
.currency-hero h1{font-size:30px;font-weight:800;letter-spacing:-.5px;color:#171717;margin:14px 0 8px;}
.currency-hero h1 span{color:#4f78f7;}
.currency-hero p{color:#7a6e58;font-size:15px;max-width:680px;margin:0 0 24px;}
.currency-head{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:0 22px 10px;color:#7a6e58;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.currency-list{display:flex;flex-direction:column;gap:12px;}
.currency-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:center;background:#fff;border:1px solid #e5eaf3;border-radius:14px;padding:18px 22px;box-shadow:0 4px 18px rgba(18,32,66,.06);}
.currency-name{display:flex;align-items:center;gap:14px;}
.currency-flag{width:42px;height:42px;border-radius:50%;background:#eef2fb;display:grid;place-items:center;font-size:20px;font-weight:800;color:#4f78f7;overflow:hidden;flex:0 0 auto;}
.currency-flag img{width:100%;height:100%;object-fit:cover;}
.currency-name strong{display:block;font-size:16px;color:#171717;}
.currency-name span{font-size:13px;color:#7a6e58;}
.currency-metric b{display:block;font-size:16px;font-weight:800;color:#171717;}
.currency-metric small{font-size:12px;color:#7a6e58;}
@media (max-width:700px){.currency-head{display:none;}.currency-row{grid-template-columns:1fr 1fr;row-gap:12px;}.currency-name{grid-column:1 / -1;}}

/* МФО/Инвестиции: stat plate at bottom-left, cards fill the grid */
.reviews-grid-simple{grid-auto-rows:1fr;}
.reviews-grid-simple .review-card{height:100%;}
.reviews-grid-simple .review-stat{grid-column:1;}

/* === User cabinet === */
.cabinet-main{max-width:var(--container);margin:28px auto 64px;padding:0 16px;}
.cabinet-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start;}
.cabinet-side{background:#fff;border:1px solid #e5eaf3;border-radius:16px;padding:18px;position:sticky;top:20px;}
.cabinet-user{font-size:13px;color:#7a6e58;margin-bottom:14px;}
.cabinet-user strong{display:block;color:#171717;font-size:15px;}
.cab-nav{display:block;padding:10px 12px;border-radius:10px;color:#4b5563;text-decoration:none;font-weight:600;font-size:14px;margin-bottom:4px;}
.cab-nav.active,.cab-nav:hover{background:#eef2fb;color:#4f78f7;}
.cabinet-logout{margin-top:14px;width:100%;border:1px solid #d6dbe5;background:#fff;border-radius:10px;padding:9px;font:inherit;font-weight:600;color:#4b5563;cursor:pointer;}
.cabinet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px;flex-wrap:wrap;}
.cabinet-head h1{font-size:24px;font-weight:800;color:#171717;margin:0;}
.cabinet-head .primary-btn{width:auto;margin:0;text-decoration:none;padding:11px 20px;}
@media (max-width:800px){.cabinet-layout{grid-template-columns:1fr;}.cabinet-side{position:static;}}

/* ===== Currency page: hero banner + offices list ===== */
.currency-hero-split{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.currency-hero-split .currency-hero-copy{flex:1 1 420px;min-width:280px;}
.currency-hero-banner{flex:0 0 auto;display:block;border-radius:18px;overflow:hidden;width:486px;height:190px;max-width:100%;}
.currency-hero-banner img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px;}
.offices-section{margin-top:14px;}
.offices-title{font-size:22px;font-weight:800;letter-spacing:-.4px;color:#383935;margin:0 0 16px;}
.offices-title span{color:#F7982B;}
.offices-list{display:flex;flex-direction:column;gap:12px;}
.offices-empty{padding:26px;text-align:center;color:#7A6E58;background:#fff;border:1px solid #EBDFCD;border-radius:14px;}
.office-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid #EBDFCD;border-radius:16px;padding:18px 22px;text-decoration:none;color:inherit;transition:.15s;box-shadow:0 4px 16px rgba(18,32,66,.05);}
.office-card:hover{border-color:#F7982B;box-shadow:0 8px 22px rgba(247,152,43,.14);transform:translateY(-1px);}
.office-main{flex:1 1 240px;min-width:200px;}
.office-main h3{margin:0 0 4px;font-size:18px;font-weight:800;color:#383935;}
.office-address{color:#7A6E58;font-size:14px;font-weight:600;}
.office-rates{display:flex;gap:14px;flex-wrap:wrap;}
.office-rate{font-size:13px;font-weight:700;color:#383935;background:#FBF6EE;border:1px solid #EBDFCD;border-radius:10px;padding:6px 10px;}
.office-rate b{color:#F7982B;margin-right:4px;}
.office-go{flex:0 0 auto;color:#F7982B;font-weight:700;font-size:14px;}

/* ===== Office detail page ===== */
.office-detail{display:flex;flex-direction:column;gap:22px;}
.office-head h1{margin:0 0 6px;font-size:28px;font-weight:900;letter-spacing:-.5px;color:#383935;}
.office-head .office-address{font-size:15px;}
.office-phone{display:inline-block;margin-top:8px;color:#F7982B;font-weight:700;text-decoration:none;}
.office-map-wrap{display:flex;flex-direction:column;gap:14px;}
.office-map{width:100%;height:380px;border:1px solid #EBDFCD;border-radius:16px;}
.office-route{width:auto;align-self:flex-start;margin:0;padding:13px 24px;font-size:15px;}
@media (max-width:600px){ .office-map{height:300px;} .office-card{padding:16px;} }

/* Offer card CTA rendered as <a> — match the original button look (no underline) */
.offer-card .primary-btn { display:block; text-align:center; text-decoration:none; }

@media (max-width:560px){ .news-feature img{ width:100%; height:auto; } }

/* ===== Insurance special popup ===== */
.ins-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;}
.ins-modal[hidden]{display:none;}
.ins-modal-overlay{position:absolute;inset:0;background:rgba(18,32,66,.55);}
.ins-modal-box{position:relative;z-index:1;background:#fff;border-radius:18px;max-width:520px;width:100%;padding:28px;box-shadow:0 24px 70px rgba(18,32,66,.35);max-height:90vh;overflow:auto;}
.ins-modal-close{position:absolute;top:14px;right:16px;border:0;background:transparent;font-size:28px;line-height:1;color:#7A6E58;cursor:pointer;}
.ins-modal-media{border-radius:14px;overflow:hidden;margin-bottom:16px;background:#FBF6EE;}
.ins-modal-media img{display:block;width:100%;height:200px;object-fit:cover;}
.ins-modal-box strong{display:block;font-size:20px;font-weight:800;color:#383935;letter-spacing:-.3px;}
.ins-modal-box>p{margin:6px 0 14px;color:#383935;font-size:15px;font-weight:600;}
.ins-modal-meta{display:flex;gap:24px;margin:0 0 14px;padding:14px 0;border-top:1px solid #EBDFCD;border-bottom:1px solid #EBDFCD;}
.ins-modal-meta dt{font-size:14px;font-weight:700;color:#383935;}
.ins-modal-detail{color:#5b5142;font-size:14px;line-height:1.7;white-space:pre-line;margin-bottom:18px;}
.ins-modal-box .primary-btn{display:inline-block;width:auto;text-decoration:none;text-align:center;padding:12px 26px;}

/* ===== Legal pages (terms / privacy / security) ===== */
.legal-page{padding:8px 0 64px;}
.legal-card{max-width:860px;margin:14px 0 0;background:#fff;border:1px solid #EBDFCD;border-radius:18px;padding:40px 44px;box-shadow:0 6px 22px rgba(18,32,66,.05);}
.legal-card h1{margin:0 0 18px;font-size:30px;font-weight:900;letter-spacing:-.5px;color:#383935;}
.legal-card h2{margin:26px 0 8px;font-size:19px;font-weight:800;color:#383935;}
.legal-card p{margin:0 0 12px;font-size:15px;line-height:1.7;color:#5b5142;}
@media (max-width:600px){ .legal-card{padding:26px 20px;} .legal-card h1{font-size:24px;} }
