
:root{--blue:#0879c9;--blue2:#005ca4;--yellow:#ffd83d;--ink:#17202a;--muted:#607080;--bg:#f5f8fb;--card:#fff;--line:#dfe8ef;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.container{width:min(1180px,calc(100% - 32px));margin:auto}.top{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);box-shadow:0 3px 14px #14283a0b}.nav{min-height:72px;display:flex;align-items:center;gap:22px}.brand{font-weight:900;line-height:1.05;text-decoration:none;color:var(--ink);margin-right:auto}.brand small{display:block;color:var(--blue);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.menu{display:flex;gap:18px;align-items:center}.menu a{text-decoration:none;color:#283847;font-weight:700}.menu .buy{background:var(--yellow);padding:11px 15px;border-radius:11px;color:#111}.hamb{display:none;background:none;border:0;font-size:28px}.hero{background:linear-gradient(135deg,#056daf,#0b8ddd);color:#fff;padding:54px 0 48px}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:center}.eyebrow{text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.12em;opacity:.85}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.03;margin:8px 0 14px}.hero p{font-size:19px;max-width:760px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.fact{background:#ffffff18;border:1px solid #ffffff2c;border-radius:14px;padding:14px}.fact b{display:block;font-size:13px}.fact span{font-size:15px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:12px;font-weight:900;text-decoration:none}.btn.yellow{background:var(--yellow);color:#111}.btn.white{background:#fff;color:var(--blue2)}.hero-img{height:310px;border-radius:24px;overflow:hidden;box-shadow:0 16px 40px #004f8855;border:1px solid #ffffff55}.hero-img img{width:100%;height:100%;object-fit:cover}.section{padding:42px 0}.section h2{font-size:clamp(28px,3vw,40px);margin:0 0 10px}.section .lead{color:var(--muted);margin:0 0 22px}.widget-shell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 7px 25px #15334a0c}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.route-card{background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);border:1px solid var(--line);box-shadow:0 7px 22px #183a5210;transition:.18s}.route-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #173b591d}.route-card img{width:100%;height:180px;object-fit:cover;display:block}.route-card .pad{padding:16px}.route-card strong{font-size:19px;display:block}.route-card span{color:var(--blue);font-weight:800}.sea{background:#e8f7ff}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}.station-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.station{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.breadcrumbs{font-size:14px;color:var(--muted);margin-bottom:16px}.breadcrumbs a{color:var(--blue);text-decoration:none}.page-hero{padding:36px 0 22px}.page-hero h1{font-size:clamp(34px,4vw,52px);margin:0 0 10px}.city-cover{height:330px;border-radius:22px;overflow:hidden;margin-top:18px}.city-cover img{width:100%;height:100%;object-fit:cover}.schedule{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.schedule th,.schedule td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.schedule th{background:#edf6fc;font-size:13px;text-transform:uppercase}.schedule td:last-child a{font-weight:900;color:#0879c9}.note{background:#fff7d7;border:1px solid #f2d868;border-radius:14px;padding:16px}.footer{background:#132b3c;color:#eaf5fb;padding:36px 0 90px;margin-top:44px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{color:#dceef8}.sticky-buy{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:50;background:var(--yellow);color:#111;text-decoration:none;font-weight:950;border-radius:999px;padding:14px 26px;box-shadow:0 10px 30px #0004;border:1px solid #e4bf19}.updated{font-size:13px;color:var(--muted)}.all-grid{columns:3;column-gap:26px}.all-grid a{display:block;padding:8px 0;color:#135e92;text-decoration:none;border-bottom:1px dashed #dce7ee}.credits{font-size:12px;color:#8497a7;margin-top:22px}@media(max-width:850px){.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.hamb{display:block}.hero-grid,.info-grid,.footer-grid{grid-template-columns:1fr}.hero-img{height:250px}.facts{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.station-list{grid-template-columns:1fr 1fr}.all-grid{columns:2}}@media(max-width:560px){.cards,.station-list{grid-template-columns:1fr}.all-grid{columns:1}.route-card img{height:190px}.container{width:min(100% - 22px,1180px)}.hero{padding-top:34px}.sticky-buy{width:calc(100% - 28px)}}

.top{background:linear-gradient(90deg,#fff,#eef8ff);border-bottom:0;box-shadow:0 8px 28px #083c6514}.nav{min-height:84px}.brand-logo{display:flex;align-items:center;gap:12px;min-width:250px}.logo-mark{width:52px;height:52px;flex:0 0 52px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(145deg,#0b8fe0,#00549b);box-shadow:0 7px 18px #0879c936;border:2px solid #fff}.logo-mark:before{content:"";position:absolute;width:36px;height:36px;border-radius:50%;background:#ffd83d;right:-13px;top:-13px}.logo-road{position:absolute;width:11px;height:58px;background:#fff;left:20px;top:-3px;transform:rotate(16deg);border-radius:8px}.logo-road:after{content:"";position:absolute;left:4px;top:4px;width:3px;height:44px;background:repeating-linear-gradient(to bottom,#0879c9 0 7px,transparent 7px 13px)}.logo-bus{position:absolute;bottom:8px;left:8px;font-size:17px;color:#ffd83d}.logo-type{display:flex;flex-direction:column;line-height:1}.logo-type small{font-size:11px;letter-spacing:.16em;color:#0879c9;font-weight:950}.logo-type strong{font-size:22px;letter-spacing:-.03em;margin-top:2px}.logo-type em{font-style:normal;font-size:9px;color:#6b7d8c;margin-top:5px}.hamb{width:44px;height:44px;border-radius:12px;background:#f0f7fc;border:1px solid #d9e8f2;padding:10px}.hamb span{display:block;height:3px;background:#17364b;border-radius:3px;margin:4px 0}.page-hero h1{font-size:clamp(30px,3.5vw,46px);line-height:1.08;letter-spacing:-.035em;margin:0 0 8px;max-width:900px}.route-lead{margin-bottom:12px!important}.fresh-badge{display:inline-flex;gap:7px;background:#e8f8ef;color:#167347;border:1px solid #bde8ce;padding:7px 11px;border-radius:999px;font-size:13px;font-weight:850}.section-title-row{display:flex;justify-content:space-between;gap:18px;margin-bottom:16px}.schedule-wrap{overflow:auto;border-radius:16px}.schedule{min-width:820px}.schedule-source{font-size:13px;color:#607080}.schedule-summary{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.schedule-summary p{margin:5px 0 0;color:#607080}.schedule-summary-icon{font-size:30px}.eyebrow.blue{color:#0879c9;opacity:1}.station-hero{background:linear-gradient(180deg,#edf8ff,#f5f8fb)}.station-details,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.station-detail{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.station-num{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:linear-gradient(145deg,#0a8dd9,#0565ac);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950}.station-detail h3,.contact-card h3{margin:0 0 10px}.station-detail p,.contact-card p{margin:7px 0;color:#536777}.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.contact-address{color:#0879c9!important;font-weight:800}.contact-note{margin-top:18px}@media(max-width:850px){.nav{min-height:72px}.menu{top:72px}.brand-logo{min-width:0}.logo-mark{width:46px;height:46px;flex-basis:46px}.logo-type strong{font-size:19px}.logo-type em{display:none}.station-details,.contact-grid{grid-template-columns:1fr}}@media(max-width:560px){.page-hero{padding:22px 0 14px}.breadcrumbs{margin-bottom:10px;font-size:12px}.page-hero h1{font-size:30px;line-height:1.06;margin-bottom:7px}.page-hero .lead{font-size:15px;line-height:1.4}.city-cover{height:220px;margin-top:14px}.section{padding:28px 0}.section h2{font-size:26px;line-height:1.12}.section-title-row{display:block}.section-title-row .fresh-badge{margin-top:8px}.logo-type small{font-size:9px}.logo-type strong{font-size:18px}.brand-logo{gap:9px}.logo-mark{width:43px;height:43px;flex-basis:43px}}


/* v3 mobile repair */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
.brand-logo-image{display:flex;align-items:center;min-width:0}
.brand-logo-image img{display:block;width:300px;max-width:34vw;height:auto;object-fit:contain}
.schedule-wrap{max-width:100%}

@media (max-width: 850px){
  .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .nav{width:calc(100% - 24px)!important}
  .brand-logo-image img{width:245px;max-width:67vw}
  .page-hero,.section{overflow:hidden}
  .page-hero h1,.section h1,.section h2,.lead,p{
    max-width:100%;
    overflow-wrap:break-word;
    word-break:normal;
  }
}

@media (max-width: 560px){
  body{min-width:0!important}
  .top{position:relative}
  .nav{min-height:68px!important;gap:8px}
  .brand-logo-image{flex:1;max-width:calc(100% - 54px)}
  .brand-logo-image img{
    width:225px;
    max-width:100%;
    height:58px;
    object-fit:contain;
    object-position:left center;
  }
  .hamb{flex:0 0 44px}
  .menu{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
  }

  .page-hero{
    padding:18px 0 14px!important;
  }
  .breadcrumbs{
    font-size:12px!important;
    margin:0 0 9px!important;
    white-space:normal!important;
  }
  .page-hero h1{
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    margin:0 0 7px!important;
    width:auto!important;
  }
  .page-hero .lead,.route-lead{
    font-size:14px!important;
    line-height:1.4!important;
    margin:0 0 10px!important;
  }
  .fresh-badge{
    max-width:100%;
    white-space:normal!important;
    line-height:1.25;
    padding:7px 10px!important;
    font-size:12px!important;
  }

  .section{
    padding:24px 0!important;
  }
  .section h2{
    font-size:23px!important;
    line-height:1.15!important;
    margin-bottom:6px!important;
  }
  .section-title-row{
    display:block!important;
    margin-bottom:12px!important;
  }
  .section-title-row .lead{
    margin:0 0 8px!important;
    font-size:14px!important;
  }
  .section-title-row .fresh-badge{
    margin:0!important;
  }

  /* Turn desktop timetable into mobile route cards */
  .schedule-wrap{
    overflow:visible!important;
    border-radius:0!important;
    box-shadow:none!important;
    width:100%!important;
  }
  table.schedule{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    border:0!important;
    background:transparent!important;
  }
  .schedule thead{display:none!important}
  .schedule tbody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }
  .schedule tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    width:100%!important;
    background:#fff!important;
    border:1px solid #dbe7ef!important;
    border-radius:16px!important;
    overflow:hidden!important;
    box-shadow:0 5px 16px rgba(24,58,82,.06)!important;
  }
  .schedule td{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    width:auto!important;
    padding:11px 12px!important;
    border:0!important;
    border-bottom:1px solid #edf2f5!important;
    color:#20303d!important;
    font-size:14px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .schedule td:nth-child(odd){border-right:1px solid #edf2f5!important}
  .schedule td:nth-last-child(-n+2){border-bottom:0!important}
  .schedule td::before{
    display:block;
    margin-bottom:4px;
    font-size:10px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
    color:#7a8b99;
  }
  .schedule td:nth-child(1)::before{content:"Отправление"}
  .schedule td:nth-child(2)::before{content:"Прибытие"}
  .schedule td:nth-child(3)::before{content:"В пути"}
  .schedule td:nth-child(4)::before{content:"Дни"}
  .schedule td:nth-child(5)::before{content:"Откуда"}
  .schedule td:nth-child(6)::before{content:"Куда"}
  .schedule td:nth-child(1),
  .schedule td:nth-child(2){
    font-size:18px!important;
    font-weight:900!important;
  }
  .schedule td:nth-child(5),
  .schedule td:nth-child(6){
    grid-column:1/-1!important;
    border-right:0!important;
  }
  .schedule td:nth-child(5){border-bottom:1px solid #edf2f5!important}
  .schedule-source{
    margin:11px 0 0!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  .sticky-buy,.buy-sticky,.floating-buy{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
  }

  .widget-shell{
    max-width:100%!important;
    overflow:hidden!important;
  }
}


/* v4 — final mobile timetable alignment */
@media (max-width:560px){
  /* Never let the hero/header start outside the viewport */
  .page-hero > .container,
  .schedule-section > .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .page-hero h1{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important;
    text-indent:0!important;
    transform:none!important;
    font-size:27px!important;
    line-height:1.12!important;
    overflow:visible!important;
  }
  .page-hero .lead{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .page-hero .fresh-badge{
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Give timetable cards visible air on both sides */
  .schedule-section{
    overflow:visible!important;
  }
  .schedule-wrap{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  table.schedule,
  .schedule tbody{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
  }
  .schedule tbody{
    gap:14px!important;
  }
  .schedule tr{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* Seventh cell = ticket button */
  .schedule td.ticket-cell{
    grid-column:1/-1!important;
    display:block!important;
    padding:12px!important;
    border:0!important;
    background:#fff!important;
  }
  .schedule td.ticket-cell::before{
    content:none!important;
    display:none!important;
  }
  .route-ticket-btn{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    padding:11px 16px!important;
    border-radius:12px!important;
    background:#ffd633!important;
    color:#111!important;
    text-decoration:none!important;
    font-size:15px!important;
    line-height:1.1!important;
    font-weight:900!important;
    box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)!important;
  }
}
@media (min-width:561px){
  .route-ticket-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 12px;
    border-radius:10px;
    background:#ffd633;
    color:#111;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
  }
}


/* v5 — approved mobile spacing */
@media (max-width:560px){
  .page-hero > .container,
  .schedule-section > .container{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .page-hero h1,
  .page-hero .lead,
  .page-hero .fresh-badge{
    max-width:100%!important;
  }

  .schedule-wrap{
    margin-top:14px!important;
  }

  .schedule tr{
    margin-left:0!important;
    margin-right:0!important;
  }

  .schedule td{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* v6 — mobile containment for ticket widget + fixed CTA */
@media (max-width:560px){
  /* All regular section containers use safe mobile gutters */
  main > .section > .container,
  main > section > .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }

  main > .section > .container > h1,
  main > .section > .container > h2,
  main > section > .container > h1,
  main > section > .container > h2{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-wrap:break-word!important;
  }

  /* Partner search widget stays inside the same gutters */
  .widget-shell{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }
  .widget-shell iframe{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  /* Fixed bottom "Купить билет онлайн" — visible air on both sides */
  a.sticky-buy,
  a.buy-sticky,
  a.floating-buy,
  .sticky-buy,
  .buy-sticky,
  .floating-buy{
    box-sizing:border-box!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    max-width:calc(100vw - 40px)!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
    border-radius:18px!important;
  }
}

@media(max-width:560px){#dceef8{box-sizing:border-box!important;left:20px!important;right:20px!important;width:auto!important;max-width:calc(100vw - 40px)!important;transform:none!important;margin-left:0!important;margin-right:0!important;}}


/* v7 — mobile footer gutters */
@media (max-width:560px){
  footer,
  .footer{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  footer > .container,
  .footer > .container,
  footer .container,
  .footer .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }

  footer .footer-grid,
  .footer .footer-grid{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:24px!important;
    margin:0!important;
  }

  footer h2, footer h3, footer h4,
  .footer h2, .footer h3, .footer h4,
  footer p, .footer p,
  footer a, .footer a{
    max-width:100%!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  footer p, .footer p{
    line-height:1.5!important;
  }
}

/* Final approved header logo */
.brand-logo-image img{
  display:block;
  width:250px;
  max-width:30vw;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:850px){
  .brand-logo-image img{
    width:215px;
    max-width:64vw;
  }
}
@media(max-width:560px){
  .brand-logo-image img{
    width:195px;
    max-width:100%;
    height:auto;
  }
}

/* Main hero: Krasnodar bus stations */
.hero .station-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
.hero .station-facts .fact{min-height:92px;}
.hero .station-facts .fact span{display:block;}
.hero .station-facts .fact .fact-phone{margin-top:5px;font-weight:700;}
@media(max-width:700px){
  .hero .station-facts{grid-template-columns:1fr!important;}
  .hero .station-facts .fact{min-height:0;}
}

/* Compact "Актуально на..." badge */
.fresh-badge{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  align-items:center!important;
  align-self:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.fresh-badge::before{
  flex:0 0 auto!important;
}
@media(max-width:560px){
  .fresh-badge{
    width:auto!important;
    max-width:100%!important;
    padding:7px 11px!important;
    font-size:13px!important;
    white-space:normal!important;
  }
}


/* Final clean homepage hero: no duplicated UI baked into background */
.home-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 22%, rgba(54,145,220,.24) 0 12%, transparent 34%),
    radial-gradient(circle at 16% 78%, rgba(16,113,184,.18) 0 14%, transparent 36%),
    linear-gradient(118deg, #062b55 0%, #083f78 42%, #052d5a 100%) !important;
}
.home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 70% 42%, rgba(255,255,255,.06) 0 1px, transparent 1.6px);
  background-size:42px 42px,42px 42px,18px 18px;
  mask-image:linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
  opacity:.42;
}
.home-hero::before{
  content:"🚌";
  position:absolute;
  z-index:1;
  right:8%;
  top:11%;
  width:48%;
  height:74%;
  border:2px dashed rgba(255,255,255,.46);
  border-left-color:transparent;
  border-bottom-color:rgba(255,255,255,.28);
  border-radius:50%;
  color:#fff;
  font-size:28px;
  line-height:1;
  padding-top:2px;
  padding-left:18%;
  box-sizing:border-box;
  transform:rotate(-7deg);
  opacity:.82;
  pointer-events:none;
}
.home-hero > .container{
  position:relative;
  z-index:2;
}
.home-hero .station-facts .fact{
  background:rgba(14,72,122,.58)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 28px rgba(0,20,48,.12);
  backdrop-filter:blur(3px);
}
.home-hero .hero-media{
  position:relative;
  z-index:3;
}
@media(max-width:700px){
  .home-hero{
    background:
      radial-gradient(circle at 85% 15%, rgba(54,145,220,.18) 0 12%, transparent 33%),
      linear-gradient(180deg,#062b55 0%,#083f78 58%,#052d5a 100%) !important;
  }
  .home-hero::before{
    right:-22%;
    top:15%;
    width:88%;
    height:58%;
    opacity:.34;
    font-size:22px;
  }
  .home-hero::after{opacity:.26;}
}

/* Redesigned homepage: light information card and branded Krasnodar bus */
.home-hero{background:#f0f5fa!important;color:#0b2445!important;padding:30px 0 36px!important}
.home-hero::before,.home-hero::after{display:none!important}
.home-hero .hero-grid{grid-template-columns:1fr 1fr!important;gap:22px!important;align-items:stretch!important}
.home-hero .hero-grid>div:first-child{background:#fff;border:1px solid #dbe7f4;border-radius:22px;padding:28px;box-shadow:0 8px 26px rgba(14,47,86,.045)}
.home-hero .eyebrow{color:#0964bb;opacity:1}
.home-hero h1{font-size:clamp(31px,3.1vw,49px);line-height:1.1}
.home-hero p{font-size:16px;line-height:1.5;color:#536780}
.home-hero .station-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px;margin:18px 0!important}
.home-hero .station-facts .fact{background:#f3f7fc!important;border:1px solid #dbe7f4!important;color:#0b2445!important;box-shadow:none!important;backdrop-filter:none!important;min-height:92px!important;padding:13px!important}
.home-hero .station-facts .fact b{font-size:14px}
.home-hero .station-facts .fact span{font-size:13px;line-height:1.4}
.home-hero .station-facts .fact .fact-phone{font-size:13px;margin-top:5px}
.home-hero .hero-img{min-height:440px;border-radius:22px;overflow:hidden;position:relative}
.home-hero .hero-img img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center;display:block;border-radius:22px}
.home-hero .buttons .btn.white{background:#e7f3ff;color:#0759a8}
@media(max-width:850px){.home-hero .hero-grid{grid-template-columns:1fr!important}.home-hero .hero-img,.home-hero .hero-img img{min-height:260px;height:auto;max-height:440px}.home-hero .hero-grid>div:first-child{padding:22px}}
@media(max-width:560px){.home-hero .station-facts{grid-template-columns:1fr!important}.home-hero .hero-grid>div:first-child{padding:18px}.home-hero .hero-img img{height:260px;object-fit:cover}.home-hero .hero-img{min-height:260px}}

/* Homepage compact matching-height cards, 2026-10-09 */
@media(min-width:851px){
.home-hero .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:22px!important}
.home-hero .hero-grid>div:first-child{padding:22px 25px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:0!important}
.home-hero .eyebrow{font-size:12px!important;margin-bottom:8px!important}
.home-hero h1{font-size:clamp(30px,2.8vw,42px)!important;line-height:1.08!important;margin:0 0 9px!important}
.home-hero p{font-size:14px!important;line-height:1.4!important;margin:0 0 12px!important}
.home-hero .station-facts{gap:8px!important;margin:5px 0 13px!important}
.home-hero .station-facts .fact{min-height:0!important;padding:10px 12px!important;line-height:1.25!important}
.home-hero .station-facts .fact b{font-size:13px!important}
.home-hero .station-facts .fact span,.home-hero .station-facts .fact .fact-phone{font-size:12px!important;line-height:1.3!important;margin-top:3px!important}
.home-hero .buttons{gap:9px!important;margin:0!important}
.home-hero .buttons .btn{padding:12px 14px!important;font-size:14px!important}
.home-hero .hero-img{min-height:0!important;height:100%!important;max-height:475px!important;align-self:stretch!important}
.home-hero .hero-img img{height:100%!important;min-height:0!important;width:100%!important;object-fit:cover!important;object-position:center center!important}
}
@media(max-width:850px){.home-hero .hero-img{overflow:hidden!important}.home-hero .hero-img img{width:100%!important;object-fit:cover!important;object-position:center!important}}
