
:root{--navy:#06234a;--blue:#0ea5e9;--yellow:#ffd432;--bg:#f4f8fc;--line:#dce7f2;--muted:#5d718a;--green:#e9fff0}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#061b3a;background:var(--bg);line-height:1.5}.wrap{max-width:1180px;margin:auto;padding:0 22px}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--navy);text-decoration:none;font-size:20px}.brand img{width:44px;height:44px;border:2px solid #1686d9;border-radius:9px;padding:3px}.links{margin-left:auto;display:flex;gap:22px;align-items:center}.links a{color:var(--navy);text-decoration:none;font-weight:700}.btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 22px;border-radius:12px;background:var(--yellow);color:#071a36;text-decoration:none;font-weight:800;border:0}.btn.blue{background:#0ea5e9;color:#fff}.hero{padding:42px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.hero h1{font-size:44px;line-height:1.05;margin:10px 0 16px}.eyebrow{font-weight:800;color:#1675ba}.lead{font-size:18px;color:#415875}.actions{display:flex;gap:12px;margin:24px 0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fact{background:#f7fbff;border:1px solid var(--line);border-radius:14px;padding:14px}.fact b{display:block}.hero-art{min-height:340px;background:linear-gradient(135deg,#d7efff,#fff 55%,#e4f5ff);position:relative;overflow:hidden}.bus{position:absolute;left:8%;right:8%;bottom:12%;background:#fff;border:3px solid #0e8fd3;border-radius:28px 28px 14px 14px;height:135px;box-shadow:0 20px 45px #0c4d7a22}.bus:before{content:'ТЮМЕНЬ';position:absolute;left:34px;top:28px;font-weight:900;font-size:32px;color:#0b63a2}.bus:after{content:'';position:absolute;left:45px;right:45px;top:70px;height:26px;background:repeating-linear-gradient(90deg,#cbe8f8 0 50px,#fff 50px 58px);border-radius:6px}.wheel{position:absolute;width:36px;height:36px;border-radius:50%;background:#18304a;bottom:-18px}.w1{left:20%}.w2{right:20%}section{padding:24px 0 38px}h2{font-size:30px;margin:0 0 8px}.sub{color:var(--muted);margin-top:0}.widgetbox{overflow:hidden}.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.city{height:190px;border-radius:18px;overflow:hidden;position:relative;text-decoration:none;background:linear-gradient(145deg,#0b4773,#16a4dc);display:flex;align-items:end}.city .city-bg{position:absolute;inset:0;opacity:.32;background:radial-gradient(circle at 25% 30%,#fff8,transparent 30%),linear-gradient(25deg,#001d36aa,transparent)}.city .city-name{position:relative;color:#fff;font-size:21px;font-weight:900;padding:18px;text-shadow:0 2px 8px #000}.routegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.routeitem{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;text-decoration:none;color:var(--navy);display:flex;justify-content:space-between;gap:12px}.routeitem span{color:var(--muted);font-size:13px}.route-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px}.schedule-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.fresh{display:inline-flex;border:1px solid #74d995;background:var(--green);color:#08742c;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;white-space:nowrap}.table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.table th{background:#eaf6ff;text-align:left;font-size:12px;padding:12px}.table td{padding:14px 12px;border-top:1px solid var(--line)}.table .time{font-weight:900;font-size:17px}.side .card{margin-bottom:16px}.hotel,.exc{margin-top:20px}.footer{background:#061d3b;color:#fff;padding:42px 0 95px;margin-top:30px}.footer a{color:#fff}.sticky-buy{position:fixed;z-index:50;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:12px;display:flex;justify-content:center}.sticky-buy .btn{min-width:275px}.mobile-menu{display:none}.mobile-cards{display:none}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}@media(max-width:820px){.wrap{padding:0 14px}.links{display:none}.hero-grid,.route-layout{grid-template-columns:1fr}.hero h1{font-size:34px}.facts{grid-template-columns:1fr}.cities{grid-template-columns:repeat(2,1fr)}.routegrid{grid-template-columns:1fr}.schedule-head{display:block}.fresh{margin:8px 0 16px}.table{display:none}.mobile-cards{display:block}.ride{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}.ride-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px}.ride label{font-size:12px;color:#70839a;font-weight:800;display:block}.ride .time{font-size:23px;font-weight:900}.ride .btn{width:100%;margin-top:14px}.hero-art{min-height:260px}.actions{flex-wrap:wrap}.actions .btn{flex:1}.city{height:150px}}

/* City photos */
.city .city-bg{opacity:1;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.city:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,20,42,.82) 0%,rgba(0,20,42,.18) 58%,rgba(0,20,42,.04) 100%)}.city .city-name{z-index:2}.city:hover .city-bg{transform:scale(1.035)}.city .city-bg{transition:transform .3s ease}

/* Tyumen homepage hero */
.hero-grid{grid-template-columns:1fr 1.08fr;align-items:stretch}
.hero-grid>.card:first-child{padding:36px 38px}
.hero-photo{border-radius:22px;overflow:hidden;min-height:100%;background:#dcecf7;box-shadow:0 12px 34px rgba(4,35,74,.08)}
.hero-photo img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.hero .eyebrow{display:inline-block;background:#eaf6ff;border-radius:999px;padding:7px 13px;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.hero .facts{margin-top:20px}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-grid>.card:first-child{padding:24px}.hero-photo img{min-height:240px}.hero-photo{min-height:240px}}

/* Compact homepage hero */
@media(min-width:821px){
  .hero{padding:30px 0 24px}
  .hero-grid{grid-template-columns:1fr 1.08fr;gap:26px;align-items:stretch}
  .hero-grid>.card:first-child{padding:24px 30px}
  .hero h1{font-size:40px;margin:8px 0 12px}
  .hero .lead{font-size:17px;line-height:1.45;margin:0}
  .hero .actions{margin:18px 0;gap:12px}
  .hero .actions .btn{padding:12px 20px}
  .hero .facts{margin-top:14px;gap:10px}
  .hero .fact{padding:10px 12px;min-height:82px}
  .hero-photo{height:356px;min-height:356px}
  .hero-photo img{height:356px;min-height:0;object-fit:cover;object-position:center}
}

/* Refined header logo: lighter typography like the reference sites */
.brand{gap:11px;font-size:20px;font-weight:700;line-height:1.15}
.brand span{display:block;font-weight:700;letter-spacing:-.15px}
.brand small{display:block;margin-top:4px;font-size:13px;line-height:1.2;font-weight:400;color:var(--muted);letter-spacing:0}
.brand img{flex:0 0 auto}

/* Mobile overflow guard + timetable alignment */
html,body{max-width:100%;overflow-x:hidden}.wrap,.card,.route-layout,.route-layout>*,main,section{min-width:0;max-width:100%}img,iframe,script+div{max-width:100%}.widgetbox{max-width:100%;overflow:hidden}.widgetbox iframe{max-width:100%!important}.fresh{margin-left:auto}.ride,.ride *{min-width:0}.ride .btn{box-sizing:border-box;max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
@media(max-width:820px){.nav{height:auto;min-height:68px}.brand{min-width:0}.brand>span{min-width:0}.route-layout,.card{width:100%;max-width:100%}.card{padding:18px}.schedule-head{display:flex;flex-direction:column;align-items:stretch}.schedule-head .fresh{align-self:flex-end;margin:8px 0 16px}.mobile-cards{width:100%;max-width:100%;overflow:hidden}.ride{width:100%;max-width:100%;overflow:hidden}.ride-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ride .btn{display:flex;width:100%;max-width:100%;padding-left:12px;padding-right:12px}.widgetbox{width:100%;max-width:100%;overflow:hidden}.widgetbox>*,.widgetbox iframe{max-width:100%!important}.route-layout .side{min-width:0}}

/* Desktop content width restoration */
.wrap{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
@media(max-width:820px){.wrap{max-width:100%;padding-left:14px;padding-right:14px}}

/* Header logo: single blue frame, matching the reference sites */
.brand img{width:46px;height:46px;border:0!important;border-radius:0!important;padding:0!important;object-fit:contain}

/* Final desktop hero alignment */
@media(min-width:821px){
  .hero-grid{align-items:stretch}
  .hero-grid>.card:first-child{height:348px;padding:22px 28px;display:flex;flex-direction:column;justify-content:center}
  .hero h1{font-size:39px;margin:7px 0 10px}
  .hero .lead{font-size:16.5px;line-height:1.42;margin:0}
  .hero .actions{margin:16px 0;gap:12px;flex-wrap:nowrap}
  .hero .actions .btn{height:48px;padding:0 18px;white-space:nowrap;line-height:1;font-size:16px;flex:1}
  .hero .facts{margin-top:0;gap:9px}
  .hero .fact{padding:9px 11px;min-height:76px}
  .hero-photo{height:348px;min-height:348px}
  .hero-photo img{height:348px;min-height:0;width:100%;object-fit:cover;object-position:center}
}

/* October 11: balanced padding in the Tyumen hero */
@media (min-width:821px) {
  .hero-grid > .card:first-child {
    height:auto; min-height:348px; padding:24px 28px 26px;
    justify-content:center; box-sizing:border-box;
  }
  .hero-grid {align-items:stretch}
  .hero-photo {height:auto; min-height:348px}
  .hero-photo img {height:100%; min-height:348px; object-fit:cover}
  .hero .eyebrow {margin-top:2px; margin-bottom:4px}
  .hero .facts {margin-bottom:2px}
}
@media (max-width:820px) {
  .hero-grid > .card:first-child {padding:24px 20px 26px}
  .hero .eyebrow {margin-top:2px}
  .hero .facts {margin-bottom:2px}
}
