/* RadarČeska Public Shell v1.0.1
   /zive visual parity + safe CSS brand + unified 1344px grid + footer.
*/
:root{
  --rc-public-max:1344px;
  --rc-public-gutter:18px;
  --rc-public-green:#08bfa0;
  --rc-public-green-dark:#087a67;
  --rc-public-ink:#173a43;
  --rc-public-muted:#71878b;
  --rc-public-line:#dce8e5;
  --rc-public-bg:rgba(249,252,251,.96);
  --rc-public-pill:#ffffff;
}

/* ---------- HEADER ---------- */
.rc-public-shell{
  position:sticky;
  top:0;
  z-index:900;
  width:100%;
  border-bottom:1px solid var(--rc-public-line);
  background:var(--rc-public-bg);
  -webkit-backdrop-filter:blur(14px) saturate(1.12);
  backdrop-filter:blur(14px) saturate(1.12);
  box-shadow:0 1px 0 rgba(22,72,64,.025);
}
.rc-public-shell-inner{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  min-height:84px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:22px;
}

/* CSS-only canonical RadarČeska target mark.
   No SVG/circle DOM = legacy station CSS cannot corrupt it. */
.rc-public-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--rc-public-ink);
  text-decoration:none;
  flex:0 0 auto;
  -webkit-tap-highlight-color:transparent;
}
.rc-public-brand-mark{
  position:relative;
  display:inline-block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:2px solid var(--rc-public-green);
  border-radius:50%;
}
.rc-brand-ring{
  position:absolute;
  border:2px solid var(--rc-public-green);
  border-radius:50%;
  pointer-events:none;
}
.rc-brand-ring-a{inset:6px}
.rc-brand-ring-b{inset:13px}
.rc-brand-dot{
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  margin:-2.5px 0 0 -2.5px;
  border-radius:50%;
  background:var(--rc-public-green);
}
.rc-brand-hand{
  position:absolute;
  left:20px;
  top:18px;
  width:14px;
  height:2px;
  border-radius:999px;
  background:var(--rc-public-green);
  transform:rotate(-43deg);
  transform-origin:left center;
}
.rc-public-brand-name{
  display:inline-flex;
  align-items:baseline;
  min-width:0;
  white-space:nowrap;
  letter-spacing:-.03em;
}
.rc-public-brand-text{
  color:var(--rc-public-ink);
  font-size:21px;
  line-height:1;
  font-weight:850;
}
.rc-public-brand-domain{
  margin-left:1px;
  color:#687f84; /* deliberately dark/neutral everywhere */
  font-size:12px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.01em;
}

/* /zive-like pill navigation */
.rc-public-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
}
.rc-public-nav a{
  min-height:46px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #d8e6e3;
  border-radius:14px;
  background:var(--rc-public-pill);
  color:#416168;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:820;
  box-shadow:0 4px 16px rgba(33,73,66,.045);
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;
}
.rc-public-nav a:hover{
  transform:translateY(-1px);
  color:var(--rc-public-ink);
  border-color:#bfddd5;
}
.rc-public-nav a.is-active{
  color:#087965;
  background:#ebfaf6;
  border-color:#aee5d8;
}
.rc-public-nav .rc-public-map-cta{
  padding-left:18px;
  padding-right:18px;
  color:#245b55;
}

/* Icons use CSS masks, not inline SVG, so legacy page SVG selectors cannot leak in. */
.rc-nav-icon{
  display:inline-block;
  width:17px;
  height:17px;
  flex:0 0 17px;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.rc-nav-icon-weather{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a5 5 0 0 1-1-9.9A7 7 0 0 1 19.7 10 4 4 0 0 1 19 18H7Zm2 2h2v2H9v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a5 5 0 0 1-1-9.9A7 7 0 0 1 19.7 10 4 4 0 0 1 19 18H7Zm2 2h2v2H9v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E");
}
.rc-nav-icon-traffic{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 5h14l2 6v7h-2v2h-3v-2H8v2H5v-2H3v-7l2-6Zm1.5 2-1 4h13l-1-4h-11ZM7 13a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 5h14l2 6v7h-2v2h-3v-2H8v2H5v-2H3v-7l2-6Zm1.5 2-1 4h13l-1-4h-11ZM7 13a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
}
.rc-nav-icon-trains{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h12a3 3 0 0 1 3 3v10a4 4 0 0 1-4 4l2 3h-3l-2-3h-4l-2 3H5l2-3a4 4 0 0 1-4-4V5a3 3 0 0 1 3-3Zm0 3v5h12V5H6Zm2 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h12a3 3 0 0 1 3 3v10a4 4 0 0 1-4 4l2 3h-3l-2-3h-4l-2 3H5l2-3a4 4 0 0 1-4-4V5a3 3 0 0 1 3-3Zm0 3v5h12V5H6Zm2 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
}
.rc-nav-icon-map{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9 3 6 2 6-2v17l-6 2-6-2-6 2V5l6-2Zm1 2.4v12.9l4 1.3V6.7L10 5.4Zm-5 1v12.7l3-1V5.4l-3 1Zm11 .3v12.9l3-1V5.7l-3 1Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9 3 6 2 6-2v17l-6 2-6-2-6 2V5l6-2Zm1 2.4v12.9l4 1.3V6.7L10 5.4Zm-5 1v12.7l3-1V5.4l-3 1Zm11 .3v12.9l3-1V5.7l-3 1Z'/%3E%3C/svg%3E");
}

.rc-public-menu-button{
  display:none;
  width:42px;
  height:42px;
  margin-left:auto;
  padding:0 10px;
  border:1px solid #d8e6e3;
  border-radius:13px;
  background:#fff;
  color:#244d53;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.rc-public-menu-button span{
  display:block;
  width:19px;
  height:2px;
  margin:3px auto;
  border-radius:999px;
  background:currentColor;
}
.rc-public-mobile-menu{
  border-top:1px solid #edf2f0;
  background:rgba(255,255,255,.99);
}
.rc-public-mobile-menu[hidden]{display:none}
.rc-public-mobile-menu nav{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  margin:0 auto;
  padding:8px 0 12px;
  display:grid;
  gap:3px;
}
.rc-public-mobile-menu a{
  min-height:45px;
  padding:0 11px 0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:11px;
  color:#385b60;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.rc-mobile-link-main{
  display:flex;
  align-items:center;
  gap:9px;
}
.rc-public-mobile-menu a b{
  color:#8aa09d;
  font-size:18px;
  font-weight:500;
}
.rc-public-mobile-menu a.is-active{
  color:#08705e;
  background:#edf8f4;
}

/* ---------- ONE CONTENT WIDTH ---------- */
.rc-public-content-shell{
  box-sizing:border-box;
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  max-width:var(--rc-public-max);
  margin-left:auto;
  margin-right:auto;
}

/* Legacy rail/station templates sometimes set their own narrower width. */
main.rc-public-content-shell{
  max-width:var(--rc-public-max);
}

/* ---------- FOOTER ---------- */
.rc-public-footer{
  width:100%;
  margin-top:34px;
  border-top:1px solid var(--rc-public-line);
  background:#f8fbfa;
}
.rc-public-footer-inner{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  margin:0 auto;
  padding:28px 0 24px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:22px 34px;
  align-items:start;
}
.rc-public-footer-brand p{
  margin:10px 0 0;
  max-width:480px;
  color:var(--rc-public-muted);
  font-size:10px;
  line-height:1.5;
}
.rc-public-brand-footer .rc-public-brand-mark{
  width:32px;
  height:32px;
  flex-basis:32px;
}
.rc-public-brand-footer .rc-brand-ring-a{inset:5px}
.rc-public-brand-footer .rc-brand-ring-b{inset:10px}
.rc-public-brand-footer .rc-brand-hand{left:16px;top:14px;width:11px}
.rc-public-brand-footer .rc-public-brand-text{font-size:16px}
.rc-public-brand-footer .rc-public-brand-domain{font-size:10px}
.rc-public-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px 16px;
}
.rc-public-footer-links a{
  color:#446269;
  text-decoration:none;
  font-size:10px;
  font-weight:780;
}
.rc-public-footer-links a:hover{color:#087a67}
.rc-public-footer-meta{
  grid-column:1/-1;
  padding-top:15px;
  border-top:1px solid #e4ecea;
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#859598;
  font-size:8px;
}

/* Old page-specific footers must never double-render after migration. */
.city-footer.rc-public-footer-replaced,
.train-footer.rc-public-footer-replaced,
.rs-footer.rc-public-footer-replaced{
  display:none;
}

@media(max-width:760px){
  :root{--rc-public-gutter:10px}
  .rc-public-shell-inner{min-height:64px}
  .rc-public-brand{gap:8px}
  .rc-public-brand-mark{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .rc-brand-ring-a{inset:5px}
  .rc-brand-ring-b{inset:11px}
  .rc-brand-hand{left:17px;top:15px;width:12px}
  .rc-public-brand-text{font-size:17px}
  .rc-public-brand-domain{font-size:10px}
  .rc-public-nav{display:none}
  .rc-public-menu-button{display:block}
  .rc-public-footer{margin-top:22px}
  .rc-public-footer-inner{
    padding:22px 0 calc(20px + env(safe-area-inset-bottom));
    grid-template-columns:1fr;
    gap:18px;
  }
  .rc-public-footer-links{
    justify-content:flex-start;
  }
  .rc-public-footer-meta{
    grid-column:auto;
    flex-direction:column;
    gap:5px;
  }
}

@media(max-width:380px){
  .rc-public-brand-text{font-size:16px}
  .rc-public-shell-inner{min-height:60px}
}


/* ===== Public Shell v1.0.2 =====
   Rail context navigation + hard width parity.
*/

/* The shell owns the full public width contract. Page-specific max-width rules
   must not make /zive, /vlaky, /stanice or /vozidlo look like different sites. */
html body main.rc-public-content-shell{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  max-width:var(--rc-public-max);
  margin-left:auto;
  margin-right:auto;
}

/* Known first-level application wrappers are allowed to consume the complete
   shared main width. This fixes visual differences caused by old local shells. */
.rc-public-content-shell > .live-shell,
.rc-public-content-shell > .live-page,
.rc-public-content-shell > .rph-shell,
.rc-public-content-shell > .train-shell,
.rc-public-content-shell > .rs-shell,
.rc-public-content-shell > .rv-shell,
.rc-public-content-shell > .city-shell,
.rc-public-content-shell > .page-shell{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}

/* Rail section bar */
.rc-public-context{
  width:100%;
  border-bottom:1px solid #e2ebe9;
  background:#fff;
}
.rc-public-context-inner{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  min-height:45px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:14px;
}
.rc-public-context-label{
  flex:0 0 auto;
  color:#779092;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.rc-public-context-nav{
  display:flex;
  align-items:center;
  gap:4px;
}
.rc-public-context-nav a{
  min-height:31px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  color:#4e6a70;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
  transition:background .14s ease,color .14s ease;
}
.rc-public-context-nav a:hover{
  color:#123e45;
  background:#f1f7f5;
}
.rc-public-context-nav a.is-active{
  color:#087864;
  background:#eaf8f4;
}

.rc-mobile-context-title{
  padding:10px 12px 3px;
  color:#8a9a9d;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rc-public-mobile-menu a.is-context{
  padding-left:20px;
}

/* Vehicle directory */
.rc-vehicle-directory{
  padding-top:28px;
  padding-bottom:10px;
}
.rc-vd-hero{
  padding:25px 0 20px;
}
.rc-vd-kicker{
  color:#078b72;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
}
.rc-vd-hero h1{
  margin:7px 0 7px;
  color:#123b43;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.rc-vd-hero p{
  max-width:760px;
  margin:0;
  color:#6f8589;
  font-size:12px;
  line-height:1.55;
}
.rc-vd-stats{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:15px;
}
.rc-vd-stats span{
  padding:6px 9px;
  border:1px solid #dce8e5;
  border-radius:999px;
  background:#fff;
  color:#526d72;
  font-size:9px;
  font-weight:800;
}
.rc-vd-search{
  margin-bottom:15px;
  padding:12px;
  border:1px solid #dce8e5;
  border-radius:16px;
  background:#fff;
  display:flex;
  gap:8px;
}
.rc-vd-search input{
  min-width:0;
  flex:1;
  height:42px;
  padding:0 13px;
  border:1px solid #d7e5e2;
  border-radius:11px;
  background:#f9fbfb;
  color:#173b43;
  font:inherit;
  font-size:11px;
  outline:none;
}
.rc-vd-search input:focus{
  border-color:#7ccfbd;
  box-shadow:0 0 0 3px rgba(8,191,160,.08);
}
.rc-vd-search button{
  height:42px;
  padding:0 16px;
  border:0;
  border-radius:11px;
  background:#087c68;
  color:#fff;
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.rc-vd-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.rc-vd-card{
  min-width:0;
  padding:14px 15px;
  border:1px solid #dce8e5;
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease;
}
.rc-vd-card:hover{
  transform:translateY(-1px);
  border-color:#afd9cf;
  box-shadow:0 6px 18px rgba(25,70,64,.06);
}
.rc-vd-card-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.rc-vd-card h2{
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#143b43;
  font-size:13px;
}
.rc-vd-card-badge{
  flex:0 0 auto;
  color:#087864;
  font-size:8px;
  font-weight:900;
}
.rc-vd-reg{
  margin-top:4px;
  color:#34565d;
  font-size:10px;
  font-weight:850;
}
.rc-vd-meta{
  margin-top:9px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#809195;
  font-size:8px;
}
.rc-vd-empty{
  padding:20px;
  border:1px solid #dce8e5;
  border-radius:16px;
  background:#fff;
  color:#6f8589;
  font-size:11px;
}

@media(max-width:900px){
  .rc-vd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .rc-public-context-inner{
    min-height:42px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .rc-public-context-inner::-webkit-scrollbar{display:none}
  .rc-public-context-label{display:none}
  .rc-public-context-nav{
    min-width:max-content;
    padding:4px 0;
  }
  .rc-public-context-nav a{
    min-height:32px;
    font-size:10px;
  }
  .rc-vehicle-directory{padding-top:18px}
  .rc-vd-hero h1{font-size:28px}
}
@media(max-width:540px){
  .rc-vd-grid{grid-template-columns:1fr}
  .rc-vd-search{padding:8px}
}


/* ==================================================================
   RadarČeska Public Shell v1.0.3 — deep visual polish
   ================================================================== */

/* The shared shell must never inherit a random page font.
   This fixes /vozidla where browser serif leaked into the entire UI. */
html,
body,
.rc-public-shell,
.rc-public-context,
.rc-public-footer,
.rc-vehicle-directory{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html{background:#f4f8f7}
body{
  color:#173a43;
  background:#f4f8f7;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Header/context are now one persistent navigation system. */
.rc-public-shell{
  height:auto;
}
.rc-public-shell-inner{
  min-height:76px;
}
.rc-public-context{
  position:sticky;
  top:76px;
  z-index:880;
  box-shadow:0 1px 0 rgba(22,72,64,.025);
}
.rc-public-context-inner{
  min-height:43px;
}

/* Keep the logo compact enough that it does not visually dominate content. */
.rc-public-brand-text{font-size:20px}
.rc-public-brand-domain{
  color:#687f84;
  font-size:11px;
}

/* Consistent content breathing room. Individual apps may have their own
   inner cards, but the page itself starts and ends on the same rhythm. */
html body main.rc-public-content-shell{
  padding-left:0;
  padding-right:0;
}
.rc-public-context + main.rc-public-content-shell{
  margin-top:24px;
}

/* Public surfaces: normalize first-level card language without destroying
   app-specific grids/maps/timelines. */
.rc-public-content-shell > section,
.rc-public-content-shell > article{
  border-color:#dce8e5;
}
.rc-public-content-shell :where(.rph-card,.rs-card,.train-card,.rv-card,.city-card){
  border-color:#dce8e5;
  box-shadow:0 10px 30px rgba(29,69,63,.035);
}

/* Station pages have two rendering branches (directory/detail). These rules
   keep both visually aligned with train/vehicle surfaces once the shared
   stylesheet is present in both document heads. */
.rs-page{
  background:#f4f8f7;
}
.rs-page .rs-main,
.rs-page main.rc-public-content-shell{
  width:min(var(--rc-public-max),calc(100% - (var(--rc-public-gutter) * 2)));
  max-width:var(--rc-public-max);
  margin-left:auto;
  margin-right:auto;
}
.rs-page :where(h1,h2,h3){
  letter-spacing:-.025em;
}
.rs-page :where(input,button,select){
  font-family:inherit;
}

/* Train hub/detail polish: same outer rhythm as station/vehicle. */
.train-page,
.rph-page{
  background:#f4f8f7;
}
.train-page :where(input,button,select),
.rph-page :where(input,button,select){
  font-family:inherit;
}

/* Vehicle directory was too sparse/serif in QA. Make it denser and fully
   aligned with the rest of the rail section. */
.rc-vehicle-directory{
  padding-top:4px;
}
.rc-vd-hero{
  padding:22px 0 18px;
}
.rc-vd-hero h1{
  font-family:inherit;
  font-size:31px;
  font-weight:850;
  color:#173a43;
}
.rc-vd-hero p,
.rc-vd-search,
.rc-vd-card{
  font-family:inherit;
}
.rc-vd-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.rc-vd-card{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.rc-vd-card h2{
  font-family:inherit;
  font-weight:850;
  font-size:12px;
}
.rc-vd-reg{
  font-size:9px;
}
.rc-vd-meta{
  padding-top:8px;
  border-top:1px solid #edf2f0;
}

/* Footer: same typography and less accidental visual weight. */
.rc-public-footer{
  clear:both;
}
.rc-public-footer-inner{
  font-family:inherit;
}
.rc-public-footer-links a{
  font-family:inherit;
}

/* Controls get the same focus language everywhere. */
.rc-public-shell a:focus-visible,
.rc-public-context a:focus-visible,
.rc-public-footer a:focus-visible,
.rc-vd-card:focus-visible,
.rc-vd-search input:focus-visible,
.rc-vd-search button:focus-visible{
  outline:2px solid #08a98d;
  outline-offset:2px;
}

/* The rail context should not disappear while the user scrolls a long
   station/train page. */
@media(min-width:761px){
  body:has(.rc-public-context) .rc-public-shell{
    position:sticky;
    top:0;
  }
}

@media(max-width:1100px){
  .rc-vd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .rc-vd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .rc-public-shell-inner{min-height:62px}
  .rc-public-context{top:62px}
  .rc-public-context + main.rc-public-content-shell{margin-top:14px}
  .rc-vd-hero{padding-top:12px}
  .rc-vd-hero h1{font-size:27px}
}
@media(max-width:540px){
  .rc-vd-grid{grid-template-columns:1fr}
}
