/* Free tool: blue check of 2GIS (templates/site/galochka.html, mockups gpt/start/galochka_desktop.png, galochka_mobile.png).
   On top of the landing classes of site.css (.page-lp, .lp-*). Own classes: .gl-* */
.page-gl { --gl-navy: #03234A; --gl-blue: #1592E6; --gl-cyan: #2FCBFF; --gl-ok: #16A34A; --gl-warn: #E0383E; }
.page-gl .lp-wrap { max-width: 1240px; }

/* ---------- hero ---------- */
.gl-hero { position: relative; overflow: hidden; margin-top: calc(-1 * var(--header-h, 72px)); padding: calc(var(--header-h, 72px) + 40px) 0 64px; color: #DCE7F3;
  background: radial-gradient(ellipse 45% 60% at 78% 40%, rgba(18, 120, 230, .32), transparent 70%), radial-gradient(ellipse 35% 60% at 10% 70%, rgba(14, 90, 190, .22), transparent 70%),
    linear-gradient(180deg, #03234A 0%, #041C3C 70%, #03183A 100%); }
.gl-hero-in { display: grid; grid-template-columns: minmax(0, 590px) minmax(0, 1fr); gap: 56px; align-items: start; }
.gl-hero h1 { margin: 0; font-size: 50px; line-height: 1.04; font-weight: 800; letter-spacing: -.025em; color: #fff; }
.gl-h1b { display: block; color: var(--gl-cyan); }
.gl-lead { margin: 16px 0 0; max-width: 560px; font-size: 19px; line-height: 1.4; color: #E3ECF6; }

.gl-card { margin-top: 26px; padding: 22px; border-radius: 18px; background: #fff; color: var(--lp-ink); box-shadow: 0 24px 60px rgba(0, 10, 30, .35); }
.gl-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border-radius: 12px; background: #EEF3F9; margin-bottom: 16px; }
.gl-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 10px; border: 0; border-radius: 9px; background: none;
  font: 600 14.5px/1.2 var(--font); color: #3E5470; cursor: pointer; }
.gl-tabs button .lp-ico { width: 18px; height: 18px; flex: none; }
.gl-tabs button i { font-style: normal; }
.gl-tabs button[aria-selected="true"] { background: #fff; color: #0A6FC2; box-shadow: 0 2px 8px rgba(15, 40, 80, .10); }
.gl-tabs button:focus-visible { outline: 3px solid rgba(22, 146, 230, .5); outline-offset: 1px; }
.gl-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gl-f[hidden] { display: none; }
.gl-f label { font-size: 14px; font-weight: 700; color: var(--lp-ink); }
.gl-in { position: relative; }
.gl-in .lp-ico { position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: #6D7F95; pointer-events: none; }
.gl-in input { width: 100%; height: 50px; padding: 0 14px 0 44px; border: 1px solid #D3DEEA; border-radius: 11px; background: #fff; color: var(--lp-ink); font: 500 16px var(--font); }
.gl-in input::placeholder { color: #6A7C92; }
.gl-in input:focus { outline: 3px solid rgba(22, 199, 244, .5); outline-offset: 1px; border-color: #7CC8F5; }
.gl-hint { margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: #52667E; }
.gl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; align-items: end; }
.gl-card > .gl-hint { margin-top: 8px; }
.gl-niche { margin: 14px 0 0; padding: 0; border: 0; min-width: 0; }
.gl-niche legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: var(--lp-ink); }
.gl-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gl-chip { position: relative; cursor: pointer; }
.gl-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gl-chip span { display: flex; align-items: center; justify-content: center; gap: 6px; height: 44px; padding: 0 8px; border: 1px solid #D3DEEA; border-radius: 10px; background: #F7FAFD;
  font-size: 14px; font-weight: 600; color: #2A4262; white-space: nowrap; }
.gl-chip .lp-ico { width: 18px; height: 18px; flex: none; color: #1478D8; }
.gl-chip input:checked + span { border-color: #1470C8; background: #1470C8; color: #fff; box-shadow: 0 6px 16px rgba(30, 136, 229, .3); }
.gl-chip input:checked + span .lp-ico { color: #fff; }
.gl-chip input:focus-visible + span { outline: 3px solid rgba(22, 146, 230, .5); outline-offset: 1px; }
.gl-go { width: 100%; margin-top: 18px; height: 54px; font-size: 17px; }
.gl-go.is-busy { opacity: .8; cursor: progress; }
.gl-card .gl-err { margin-top: 10px; color: #C62828; font-weight: 600; }
.gl-note { display: flex; flex-wrap: wrap; justify-content: center; margin: 12px 0 0; font-size: 13.5px; color: #52667E; }
.gl-note > span:first-child::after { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 10px 3px; border-radius: 50%; background: currentColor; }

/* hero panel: the result as numbers and bars (desktop) */
.gl-panel { margin-top: 6px; padding: 26px 28px 28px; border-radius: 22px; color: #DCE7F3;
  background: linear-gradient(160deg, rgba(24, 82, 160, .55), rgba(5, 30, 66, .88)); border: 1px solid rgba(90, 170, 255, .35);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .03) inset, 0 30px 80px rgba(0, 20, 60, .45), 0 0 50px rgba(30, 140, 255, .18); }
.gl-pn-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gl-pn-head b { font-size: 17px; color: #fff; }
.gl-pn-badge { padding: 6px 12px; border-radius: 999px; background: rgba(34, 197, 94, .16); border: 1px solid rgba(74, 222, 128, .45); color: #86EFAC; font-size: 13px; font-weight: 700; }
.gl-pn-top { display: grid; grid-template-columns: 150px 1fr; gap: 28px; align-items: center; margin-top: 20px; padding: 20px; border-radius: 16px; background: rgba(3, 20, 48, .55); border: 1px solid rgba(90, 170, 255, .18); }
.gl-ring { position: relative; width: 150px; height: 150px; }
.gl-ring svg { transform: rotate(-90deg); }
.gl-ring circle { fill: none; stroke-width: 11; }
.gl-ring-bg { stroke: rgba(130, 170, 220, .22); }
.gl-ring-fg { stroke: var(--gl-cyan); stroke-linecap: round; stroke-dasharray: 21 100; transition: stroke-dasharray .6s; }
.gl-ring-t { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.gl-ring-t b { font-size: 34px; font-weight: 800; color: #fff; line-height: 1; }
.gl-ring-t small { margin-top: 6px; font-size: 14px; color: #B9CBE0; }
.gl-pn-thr small, .gl-pn-money small { font-size: 14px; color: #B9CBE0; }
.gl-bar { position: relative; height: 12px; margin-top: 10px; border-radius: 999px; background: rgba(130, 170, 220, .22); }
.gl-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: inherit; background: linear-gradient(90deg, #1AAEF5, #3DD5FF); transition: width .6s; }
.gl-bar em { position: absolute; top: -6px; bottom: -6px; width: 2px; margin-left: -1px; background: #fff; border-radius: 2px; }
.gl-pn-thr-l { display: flex; justify-content: space-between; margin: 10px 0 0; font-size: 14px; color: #B9CBE0; }
.gl-pn-thr-l b { font-size: 22px; color: #fff; }
.gl-pn-need { margin: 12px 0 0; font-size: 15px; font-weight: 700; color: #FFB4B4; }
.gl-panel.is-ok .gl-pn-need { color: #86EFAC; }
.gl-pn-gift { display: flex; align-items: center; gap: 14px; margin: 16px 0 0; padding: 18px 20px; border-radius: 16px; background: rgba(3, 20, 48, .55);
  border: 1px solid rgba(90, 170, 255, .18); font-size: 15.5px; line-height: 1.4; font-weight: 600; color: #EAF2FB; }
.gl-pn-gift .lp-ico { flex: none; width: 26px; height: 26px; color: #5AB0FF; }
.gl-pn-money { margin-top: 16px; padding: 20px; border-radius: 16px; background: rgba(3, 20, 48, .55); border: 1px solid rgba(90, 170, 255, .18); }
.gl-pn-sum { margin: 6px 0 0; font-size: 17px; color: #DCE7F3; }
.gl-pn-sum b { font-size: 30px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.gl-pn-vis { margin-top: 16px; display: grid; gap: 10px; }
.gl-pn-vis p { display: grid; grid-template-columns: 190px 1fr 84px; align-items: center; gap: 12px; margin: 0; font-size: 13.5px; color: #B9CBE0; }
.gl-pn-vis b { text-align: right; font-size: 15px; color: #fff; white-space: nowrap; }
.gl-pv { position: relative; height: 18px; border-radius: 6px; background: rgba(130, 170, 220, .14); overflow: hidden; }
.gl-pv em { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: #4F7BB3; transition: width .6s; }
.gl-pv--up em { background: linear-gradient(90deg, #1AAEF5, #3DD5FF); }
.gl-panel.is-manual .gl-pn-top { display: none; }

/* ---------- result ---------- */
.gl-res { padding: 56px 0 24px; }
.gl-res-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.gl-res-head h2 { font-size: 32px; }
.gl-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #E8F6EE; color: #15803D; font-size: 13.5px; font-weight: 700; }
.gl-pill .lp-ico { width: 16px; height: 16px; }
.gl-pill--blue { background: #E3F2FD; color: #0A62B0; }
.gl-res.is-real .gl-pill { background: #E3F2FD; color: #0A62B0; }
.gl-rc { display: grid; grid-template-columns: 1fr 1.3fr 270px; gap: 0; margin-top: 20px; padding: 24px 6px; border-radius: 18px; background: #fff;
  border: 1px solid #E4ECF4; box-shadow: 0 12px 34px rgba(15, 40, 80, .08); }
.gl-rc-col { display: flex; flex-direction: column; gap: 12px; padding: 4px 20px; min-width: 0; border-left: 1px solid #E8EEF5; }
.gl-rc-col:first-child, .gl-rc-col[hidden] + .gl-rc-col { border-left: 0; }
.gl-rc-col[hidden] { display: none; }
.gl-rc-ic { flex: none; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: #E3F2FD; color: #1478D8; }
.gl-rc-ic--warn { background: #FDECEC; color: #C62828; }
.gl-rc-ic--ok { background: #E8F6EE; color: #15803D; }
.gl-rc-ic--info { background: #E3F2FD; color: #1478D8; }
.gl-rc-ic > span { display: flex; }
.gl-rc-ic .gl-ic-c, .gl-rc-ic--ok .gl-ic-a { display: none; }
.gl-rc-ic--ok .gl-ic-c { display: flex; }
.gl-rc-cta .lp-btn { font-size: 15px; }
.gl-rc-body { min-width: 0; flex: 1; }
.gl-rc-label { margin: 0; font-size: 14px; font-weight: 600; color: #52667E; }
.gl-rc-big { margin: 4px 0 0; font-size: 18px; color: var(--lp-ink); }
.gl-rc-big b { font-size: 34px; font-weight: 800; }
.gl-bar--light { background: #E6EEF6; }
.gl-bar--light em { background: #0E2A4F; }
.gl-rc-scale { display: flex; justify-content: space-between; margin: 8px 0 0; font-size: 13px; color: #52667E; }
.gl-rc-scale span:first-child { font-weight: 800; color: #0A6FC2; }
.gl-rc-verdict { margin: 2px 0 0; font-size: 19px; line-height: 1.3; font-weight: 800; color: var(--lp-ink); }
.gl-rc-small { margin: 8px 0 0; font-size: 13.5px; line-height: 1.45; color: #52667E; }
.gl-rc-sum { margin: 4px 0 0; font-size: 15px; color: var(--lp-ink); }
.gl-rc-sum b { display: block; font-size: 26px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; }
.gl-rc-cta { flex-direction: column; justify-content: center; gap: 14px; }
.gl-rc-cta .lp-btn { width: 100%; white-space: normal; text-align: center; padding: 10px 16px; }
.gl-track { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: #0A62B0; text-decoration: underline; text-underline-offset: 3px; }
.gl-track .lp-ico { width: 18px; height: 18px; flex: none; }
.gl-link { margin-top: 16px; padding: 20px 22px; border-radius: 16px; background: #F3F8FD; border: 1px solid #DCE8F4; }
.gl-link[hidden] { display: none; }
.gl-link-t { margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--lp-ink); }
.gl-link-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.gl-link-row .gl-f { flex: 1 1 260px; }
.gl-link-go { height: 50px; }
.gl-link .gl-err { color: #C62828; font-weight: 600; }
.gl-link-out { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; }
.gl-link-out[hidden] { display: none; }
.gl-link-out a { font-weight: 700; color: #0A62B0; word-break: break-all; }
.gl-link-out .gl-rc-small { flex-basis: 100%; margin: 0; }

/* ---------- how we count ---------- */
.gl-how { padding: 48px 0 24px; }
.gl-how h2, .gl-cond h2 { font-size: 32px; }
.gl-chain { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px; list-style: none; margin: 24px 0 0; padding: 0; }
.gl-step { position: relative; padding: 20px 18px; border-radius: 16px; background: #fff; border: 1px solid #E4ECF4; box-shadow: 0 8px 24px rgba(15, 40, 80, .06); }
.gl-step b { display: block; margin-top: 14px; font-size: 18px; line-height: 1.2; font-weight: 800; color: var(--lp-ink); }
.gl-step p { margin: 8px 0 0; font-size: 13.5px; line-height: 1.45; color: #52667E; }
.gl-step-ic { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: #E3F2FD; color: #1478D8; }
.gl-step:nth-child(2) .gl-step-ic { background: #E8F6EE; color: #15803D; }
.gl-step:nth-child(3) .gl-step-ic { background: #EEF0FF; color: #4F46E5; }
.gl-step:nth-child(4) .gl-step-ic { background: #FFF4E0; color: #B45309; }
.gl-step:nth-child(5) .gl-step-ic { background: #F3EBFF; color: #7E22CE; }
.gl-step--sum { background: linear-gradient(160deg, #EAF6FF, #DDF0FE); border-color: #B9DEFA; }
.gl-step--sum .gl-step-ic { background: #1E88E5; color: #fff; }
.gl-op { position: absolute; right: -22px; top: 50%; width: 16px; transform: translateY(-50%); text-align: center; font-size: 24px; font-weight: 700; color: #1478D8; }
.gl-how-note { margin: 18px 0 0; max-width: 900px; font-size: 14.5px; line-height: 1.5; color: #3E5470; }
.gl-src { margin: 12px 0 0; padding: 0 0 0 18px; font-size: 13px; line-height: 1.5; color: #52667E; }
.gl-src li + li { margin-top: 4px; }
.gl-src a, .gl-cond-src a { color: #0A62B0; }

/* ---------- conditions ---------- */
.gl-cond { padding: 40px 0 24px; }
.gl-cond-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; }
.gl-cond-in { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; margin-top: 22px; }
.gl-cond-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; list-style: none; margin: 0; padding: 0; }
.gl-cond-grid li { display: flex; gap: 14px; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid #E4ECF4; box-shadow: 0 8px 24px rgba(15, 40, 80, .05); }
.gl-cond-grid b { font-size: 16.5px; line-height: 1.3; color: var(--lp-ink); }
.gl-cond-grid p { margin: 6px 0 0; font-size: 14px; line-height: 1.45; color: #52667E; }
.gl-ci { flex: none; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.gl-ci--g { background: #E8F6EE; color: #15803D; }
.gl-ci--b { background: #E3F2FD; color: #1478D8; }
.gl-ci--y { background: #FFF4E0; color: #B45309; }
.gl-ci--v { background: #F3EBFF; color: #7E22CE; }
.gl-cond-num { display: grid; gap: 14px; padding: 22px; border-radius: 18px; color: #DCE7F3; background: radial-gradient(ellipse 70% 60% at 70% 20%, rgba(30, 140, 255, .35), transparent 70%), #04214A; }
.gl-cond-num p { display: flex; align-items: center; gap: 16px; margin: 0; }
.gl-cond-num p + p { padding-top: 14px; border-top: 1px solid rgba(130, 170, 220, .25); }
.gl-cond-num b { flex: none; min-width: 96px; font-size: 48px; line-height: 1; font-weight: 800; color: var(--gl-cyan); }
.gl-cond-num span { font-size: 15px; line-height: 1.4; }
.gl-cond-src { margin: 14px 0 0; font-size: 13px; color: #52667E; }

/* ---------- disclaimer, final band ---------- */
.gl-disc { padding: 8px 0 40px; }
.gl-disc-box { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; border-radius: 14px; background: #EEF5FD; border: 1px solid #D5E6F8; }
.gl-disc-ic { flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1E88E5; color: #fff; }
.gl-disc-ic .lp-ico { width: 20px; height: 20px; }
.gl-disc-box b { font-size: 16px; color: var(--lp-ink); }
.gl-disc-box p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: #3E5470; }
.gl-final { padding: 40px 0; color: #DCE7F3; background: radial-gradient(ellipse 40% 80% at 20% 50%, rgba(18, 120, 230, .3), transparent 70%), linear-gradient(180deg, #03234A, #041C3C); }
.gl-final-in { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto 280px; gap: 28px; align-items: center; }
.gl-final-ic { width: 76px; height: 76px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--gl-cyan); background: rgba(40, 120, 220, .2);
  box-shadow: inset 0 0 0 1.5px rgba(80, 180, 255, .45), 0 0 24px rgba(40, 150, 255, .3); }
.gl-final-ic .lp-ico { width: 36px; height: 36px; }
.gl-final h2 { font-size: 28px; color: #fff; }
.gl-final-t p { margin: 8px 0 0; font-size: 16px; color: #7FD3FF; }
.gl-final .lp-btn { height: 56px; padding: 0 30px; font-size: 17px; }
.gl-final-pts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; color: #EAF2FA; }
.gl-final-pts li { display: flex; align-items: center; gap: 10px; }
.gl-final-pts .lp-ico { width: 18px; height: 18px; flex: none; color: #4ADE80; }

/* ---------- responsive ---------- */
@media (max-width: 1240px) {
  .gl-hero-in { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 36px; }
  .gl-hero h1 { font-size: 44px; }
  .gl-pn-vis p { grid-template-columns: 1fr 84px; }
  .gl-pn-vis p span { grid-column: 1 / -1; }
  .gl-rc { grid-template-columns: 1fr 1fr; gap: 22px 0; }
  .gl-rc-col:nth-child(3) { border-left: 0; }
  .gl-chain { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gl-step:nth-child(3) .gl-op { display: none; }
  .gl-final-in { grid-template-columns: 76px minmax(0, 1fr) auto; }
  .gl-final-pts { grid-column: 2 / -1; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1023px) {
  .gl-hero-in { grid-template-columns: 1fr; }
  .gl-panel { display: none; }
  .gl-copy { max-width: 640px; }
  .gl-cond-in { grid-template-columns: 1fr; }
  .gl-cond-num { grid-template-columns: 1fr 1fr; }
  .gl-cond-num p + p { padding-top: 0; border-top: 0; }
}
@media (max-width: 700px) {
  .gl-hero { padding: calc(var(--header-h, 64px) + 20px) 0 36px; }
  .gl-hero h1 { font-size: 32px; line-height: 1.08; }
  .gl-lead { font-size: 16px; }
  .gl-card { margin-top: 18px; padding: 14px; border-radius: 16px; }
  .gl-tabs button { font-size: 13.5px; padding: 0 6px; }
  .gl-tabs .gl-dm { display: none; }
  .gl-row { gap: 10px; }
  .gl-f label { font-size: 13px; }
  .gl-chips { grid-template-columns: 1fr 1fr; }
  .gl-res { padding-top: 32px; }
  .gl-res-head h2, .gl-how h2, .gl-cond h2 { font-size: 24px; }
  .gl-rc { grid-template-columns: 1fr; padding: 16px 2px; gap: 16px; }
  .gl-rc-col { flex-direction: row; border-left: 0; padding: 0 14px; }
  .gl-rc-cta { flex-direction: column; }
  .gl-rc-col + .gl-rc-col { padding-top: 16px; border-top: 1px solid #E8EEF5; }
  .gl-rc-col[hidden] + .gl-rc-col { border-top: 0; padding-top: 0; }
  .gl-rc-big b { font-size: 30px; }
  .gl-rc-sum b { font-size: 24px; }
  .gl-chain { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gl-op { display: none; }
  .gl-step { padding: 14px; }
  .gl-step b { font-size: 16px; margin-top: 10px; }
  .gl-cond-grid { grid-template-columns: 1fr; }
  .gl-cond-grid li { padding: 16px; }
  .gl-cond-num { grid-template-columns: 1fr; }
  .gl-cond-num b { font-size: 40px; min-width: 80px; }
  .gl-final-in { grid-template-columns: 1fr; gap: 18px; text-align: left; }
  .gl-final-ic { display: none; }
  .gl-final h2 { font-size: 24px; }
  .gl-final .lp-btn { width: 100%; }
  .gl-final-pts { grid-column: auto; grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .gl-row { grid-template-columns: 1fr; }
  .gl-chip span { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .gl-ring-fg, .gl-bar i, .gl-pv em { transition: none; } }
