
:root{--ink:#15213a;--blue:#114c8d;--sky:#eaf4ff;--gold:#f2b233;--bg:#f7f9fc;--muted:#627086;--line:#dfe7f0;--card:#fff;--green:#137a58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.nav{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:800;line-height:1.05}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--blue),#087ebf);display:grid;place-items:center;color:#fff;font-size:21px}.brand small{display:block;font-weight:600;color:var(--muted);font-size:11px;margin-top:3px}.menu{margin-left:auto;display:flex;align-items:center;gap:18px}.menu a{text-decoration:none;color:var(--ink);font-weight:650;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#171717!important;text-decoration:none;font-weight:800;padding:12px 18px;border-radius:12px;border:0}.btn.blue{background:var(--blue);color:#fff!important}.hamb{display:none;margin-left:auto;border:0;background:#eef4fa;padding:9px 12px;border-radius:10px;font-size:20px}.hero{background:radial-gradient(circle at 80% 20%,#d8ecff 0,transparent 28%),linear-gradient(135deg,#f9fcff,#edf6ff);padding:58px 0 38px;border-bottom:1px solid var(--line)}.kicker{font-size:13px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.09em}.hero h1,.pagehead h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:10px 0 16px;letter-spacing:-.035em}.hero p{font-size:19px;color:var(--muted);max-width:760px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.fact b{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.section{padding:48px 0}.section h2{font-size:30px;margin:0 0 10px;letter-spacing:-.02em}.lead{color:var(--muted);max-width:820px;margin:0 0 24px}.ticketbox{background:#fff;border:1px solid #cfe1f3;border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(20,63,105,.08)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.route-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink);transition:.15s}.route-card:hover{transform:translateY(-2px);border-color:#a9c7e5;box-shadow:0 8px 24px rgba(20,63,105,.07)}.route-card b{display:block;font-size:17px}.route-card span{color:var(--muted);font-size:13px}.tag{display:inline-block;background:var(--sky);color:var(--blue);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:10px}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.info{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.info h3{margin-top:0}.notice{background:#fff8df;border:1px solid #f4d77f;border-radius:14px;padding:15px 17px;color:#644c0f}.good{background:#eaf8f2;border:1px solid #b9e4d3;border-radius:14px;padding:15px 17px;color:#175e48}.pagehead{padding:42px 0 24px;background:linear-gradient(135deg,#fbfdff,#edf6ff);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:12px}.breadcrumbs a{color:var(--blue);text-decoration:none}.route-intro{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{border-collapse:collapse;width:100%;min-width:620px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}tr:last-child td{border-bottom:0}.buylink{font-weight:800;color:var(--blue);text-decoration:none}.widget-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:18px}.widget-section h2{font-size:24px}.footer{background:#10213a;color:#d5dfec;margin-top:48px;padding:42px 0}.footer a{color:#fff;text-decoration:none}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px}.footer small{color:#99aac0}.route-list{columns:3;column-gap:28px}.route-list a{display:block;padding:7px 0;color:var(--blue);text-decoration:none;break-inside:avoid}.updated{font-size:12px;color:var(--muted);margin-top:7px}.map{border:0;width:100%;height:350px;border-radius:16px}.searchbox{margin:20px 0}.searchbox input{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:12px;font-size:16px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:9px 0}.faq summary{font-weight:750;cursor:pointer}@media(max-width:820px){.menu{display:none;position:absolute;left:16px;right:16px;top:66px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;flex-direction:column;align-items:stretch;box-shadow:0 10px 30px #10213a22}.menu.open{display:flex}.hamb{display:block}.hero{padding-top:38px}.facts,.cards,.grid2,.footer-grid{grid-template-columns:1fr}.route-list{columns:1}.section{padding:34px 0}}


/* Final visual refresh */
:root{--red:#c91f2a;--red-dark:#a9101b}
.brand{min-width:270px}
.brand-logo{display:block;width:270px;height:auto;max-height:58px}
.brand-mark,.brand-text{display:none!important}
.route-card-photo{position:relative;min-height:178px;overflow:hidden;padding:0;background:#17375e;border:0;display:flex;align-items:flex-end;isolation:isolate;box-shadow:0 8px 24px rgba(20,63,105,.09)}
.route-card-photo::before{content:"";position:absolute;inset:0;background-image:var(--route-img);background-size:cover;background-position:center;transition:transform .3s ease;z-index:-2}
.route-card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,43,.04) 15%,rgba(7,24,43,.88) 100%);z-index:-1}
.route-card-photo:hover::before{transform:scale(1.035)}
.route-card-photo .route-card-content{padding:18px;width:100%}
.route-card-photo b{color:#fff;font-size:18px;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.route-card-photo span:not(.tag){color:#dce8f5}
.route-card-photo .tag{background:rgba(255,255,255,.92);color:#0f477f}

.menu a[href*="unitiki.tpm"]{color:var(--red);font-weight:800}

@media(max-width:820px){
  .nav{height:66px;gap:14px}
  .brand{min-width:0;max-width:calc(100% - 62px)}
  .brand-logo{width:218px;max-width:100%;max-height:52px}
  .pagehead{padding:28px 0 19px}
  .pagehead h1{font-size:32px}
  .table-wrap{overflow:visible;border:0;background:transparent;border-radius:0}
  .table-wrap table{display:block;min-width:0;width:100%;border-collapse:separate}
  .table-wrap thead{display:none}
  .table-wrap tbody{display:grid;grid-template-columns:1fr;gap:12px}
  .table-wrap tr{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 5px 16px rgba(20,63,105,.06)}
  .table-wrap td{display:block;border:0!important;padding:0!important;min-width:0}
  .table-wrap td::before{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:2px}
  .table-wrap td:nth-child(1)::before{content:"Отправление"}
  .table-wrap td:nth-child(2)::before{content:"Прибытие"}
  .table-wrap td:nth-child(3)::before{content:"Дни"}
  .table-wrap td:nth-child(4)::before{content:"Билет"}
  .table-wrap td:nth-child(1){font-size:24px;font-weight:850;color:#12294c;line-height:1.15}
  .table-wrap td:nth-child(2),.table-wrap td:nth-child(3){font-size:14px;font-weight:650;color:#263955}
  .table-wrap td:nth-child(4){grid-column:1/-1;margin-top:2px}
  .table-wrap td:nth-child(4) .buylink{display:flex;width:100%;justify-content:center;align-items:center;background:linear-gradient(135deg,#df2b2b,#b81420);color:#fff;padding:11px 14px;border-radius:10px;text-decoration:none;font-size:14px;box-shadow:0 4px 12px rgba(180,20,32,.2)}
  .cards{grid-template-columns:1fr 1fr}
  .route-card-photo{min-height:155px}
  .route-card-photo .route-card-content{padding:14px}
}
@media(max-width:520px){
  .cards{grid-template-columns:1fr}
  .route-card-photo{min-height:170px}
}

.current-status{display:flex;align-items:center;gap:8px;margin:10px 0 14px;font-weight:700;color:#36536f}.status-dot{width:9px;height:9px;border-radius:50%;background:#22a447;box-shadow:0 0 0 4px rgba(34,164,71,.12);flex:0 0 auto}

/* New unified marathon header and Yaroslavl homepage */
.brand{min-width:0;gap:11px;white-space:nowrap}
.brand-favicon{width:42px;height:42px;object-fit:contain;flex:none}
.brand-title{font-size:18px;line-height:1.06;letter-spacing:-.025em;font-weight:850;color:#10213a}
.hero-home{background:#f1f6fb;padding:32px 0 38px}
.hero-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.hero-home-info{background:#fff;border:1px solid #d8e5f2;border-radius:22px;padding:30px;min-width:0}
.hero-home-info h1{font-size:clamp(31px,3vw,44px);margin:10px 0 14px;line-height:1.1}
.hero-home-info p{font-size:16px;line-height:1.5;margin:0;color:#506480}
.hero-home-info .facts{gap:10px;margin-top:22px}
.hero-home-info .fact{background:#f1f6fb;padding:12px 11px;border-radius:13px;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.hero-home-info .fact b{font-size:12px;color:#13213a;margin-bottom:5px}
.hero-home-info .fact a{color:#0877d8;text-decoration:none;font-weight:750}
.hero-home-info .hero-actions{margin-top:18px;gap:10px}
.hero-home-info .btn{padding:13px 17px}
.hero-home-visual{border-radius:22px;overflow:hidden;min-height:370px;background:#d7e9f8}
.hero-home-visual img{width:100%;height:100%;display:block;object-fit:cover}
@media(max-width:900px){.hero-home-grid{grid-template-columns:1fr}.hero-home-visual{min-height:300px;max-height:520px}.hero-home-info .facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.brand-title{font-size:16px}.brand-favicon{width:38px;height:38px}.hero-home{padding:20px 0}.hero-home-info{padding:20px}.hero-home-info .facts{grid-template-columns:1fr}.hero-home-info .hero-actions{flex-direction:column}.hero-home-info .btn{width:100%}.hero-home-visual{min-height:220px;aspect-ratio:1.44}}
