/* =====================================================================
   MandarinSimple Vanguard — inner pages + site chrome (2026-09-30 · phase 2)
   Loaded after vanguard.css.
   ===================================================================== */

/* ------------------------------------------------------------ small fixes */
.vg-form input[type="email"], .vg-form input[type="email"]:focus {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #fff !important; border-radius: 0 !important; padding: 0 18px !important; min-height: 48px;
}
.vg-footer__cta { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 22px 40px; }
.vg-footer__cta .vg-eyebrow { grid-column: 1 / -1; }
.vg-footer__headline { grid-column: 1; }
.vg-footer__cta .vg-btn { grid-column: 2; }
body.ms-vg:not(.home) #vg-main { height: 0; }
.vg-footer__cookie { background: none; border: 0; padding: 0; font: inherit; color: var(--vg-on-dark-muted); cursor: pointer; transition: color .2s; }
.vg-footer__cookie:hover { color: #fff; }

/* ============================================================ SITE CHROME
   Cookie banner / modal, PWA install prompt, mobile app bar
   ======================================================================== */

/* cookie banner → branded card */
body.ms-vg .ms-cookie-banner {
  left: 20px; right: auto; bottom: 20px; width: min(440px, calc(100% - 40px)); max-width: none;
  padding: 22px 22px 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 24px;
  background: rgba(26,31,44,.97); color: var(--vg-on-dark);
  box-shadow: 0 30px 80px -20px rgba(0,0,0,.55); backdrop-filter: blur(16px);
  font-family: var(--vg-body); animation: vg-toast-in .6s var(--vg-ease) both;
}
body.ms-vg .ms-cookie-banner h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; color: #fff; font: 700 1.05rem/1.2 var(--vg-display); letter-spacing: -.01em; }
body.ms-vg .ms-cookie-banner h2::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vg-gold); box-shadow: 0 0 0 4px rgba(201,168,118,.18); }
body.ms-vg .ms-cookie-banner p { margin: 0 0 16px; color: var(--vg-on-dark-muted); font-size: .88rem; line-height: 1.55; }
body.ms-vg .ms-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.ms-vg .ms-cookie-btn {
  min-height: 44px; padding: 10px 14px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); color: var(--vg-on-dark);
  font: 600 .86rem/1.1 var(--vg-body); transition: background .25s, border-color .25s, color .25s;
}
body.ms-vg .ms-cookie-btn:hover { border-color: var(--vg-gold); color: #fff; }
body.ms-vg .ms-cookie-btn--primary { grid-column: 1 / -1; order: -1; border-color: var(--vg-brand); background: var(--vg-brand); color: #fff; font-weight: 700; }
body.ms-vg .ms-cookie-btn--primary:hover { background: #EC4540; border-color: #EC4540; }
@keyframes vg-toast-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* cookie modal */
body.ms-vg .ms-cookie-modal { background: rgba(16,19,27,.6); backdrop-filter: blur(6px); }
body.ms-vg .ms-cookie-modal__panel { padding: 28px; border-radius: 28px; background: var(--vg-paper); box-shadow: var(--vg-shadow-lg); font-family: var(--vg-body); }
body.ms-vg .ms-cookie-modal h2 { font: 800 1.5rem/1.15 var(--vg-display); letter-spacing: -.03em; color: var(--vg-ink); }
body.ms-vg .ms-cookie-modal p { color: var(--vg-muted); }
body.ms-vg .ms-cookie-option { padding: 16px 0; border-top: 1px solid var(--vg-line); }
body.ms-vg .ms-cookie-option strong { color: var(--vg-ink); }
body.ms-vg .ms-cookie-switch { accent-color: var(--vg-brand); }
body.ms-vg .ms-cookie-modal .ms-cookie-actions { grid-template-columns: repeat(3, 1fr); margin-top: 8px; }
body.ms-vg .ms-cookie-modal .ms-cookie-btn { border-color: var(--vg-line); background: #fff; color: var(--vg-ink); }
body.ms-vg .ms-cookie-modal .ms-cookie-btn--dark { background: var(--vg-ink); border-color: var(--vg-ink); color: #fff; }
body.ms-vg .ms-cookie-modal .ms-cookie-btn--primary { grid-column: auto; order: 0; background: var(--vg-brand); border-color: var(--vg-brand); color: #fff; }
body.ms-vg .ms-cookie-note { border-radius: 14px; background: var(--vg-gold-soft); }

/* floating "Cookies" button replaced by the footer link */
body.ms-vg .ms-cookie-floating { display: none !important; }

/* PWA install prompt → compact branded toast */
body.ms-vg .ms-pwa-install {
  right: 20px; bottom: 20px; gap: 10px; padding: 8px 8px 8px 16px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1); background: rgba(26,31,44,.96); color: var(--vg-on-dark);
  box-shadow: 0 20px 50px -18px rgba(0,0,0,.6); backdrop-filter: blur(14px); font-family: var(--vg-body);
  animation: vg-toast-in .6s var(--vg-ease) both;
}
body.ms-vg .ms-pwa-install::before { content: "中"; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--vg-brand); color: #fff; font: 700 .95rem/1 var(--vg-zh); flex-shrink: 0; }
body.ms-vg .ms-pwa-install__primary { min-height: 38px; padding: 0 16px; border-radius: 999px; background: var(--vg-paper); color: var(--vg-ink); font-weight: 700; font-size: .86rem; }
body.ms-vg .ms-pwa-install__close { width: 38px; min-height: 38px; border-radius: 50%; background: rgba(255,255,255,.08); color: var(--vg-on-dark); font-size: .8rem; }
/* never stack the install prompt on top of the cookie banner or the open menu */
body.ms-vg:has(.ms-cookie-banner:not([hidden])) .ms-pwa-install,
body.ms-vg:has(.nav__drawer.open) .ms-pwa-install,
body.ms-vg:has(.nav__drawer.open) .ms-app-nav { display: none !important; }

/* ================================================================ MOBILE */
@media (max-width: 768px) {
  /* header: flush, full-width, compact — never covers content */
  body.ms-vg .vg-header { top: 0; }
  body.ms-vg .vg-header.is-scrolled { top: 0; }
  body.ms-vg .vg-header__bar {
    width: 100%; border-radius: 0 0 20px 20px; border-top: 0;
    padding: calc(8px + env(safe-area-inset-top)) 12px 8px 14px; min-height: 60px;
  }
  body.ms-vg .vg-header__actions { display: none; }
  body.ms-vg .vg-burger { margin-left: auto; width: 42px; height: 42px; }
  body.ms-vg .vg-burger span { left: 12px; right: 12px; }
  body.ms-vg .vg-burger span:first-child { top: 16px; }
  body.ms-vg .vg-burger span:last-child { top: 24px; }
  body.ms-vg .vg-brand__word { font-size: 1.05rem; white-space: nowrap; }
  body.ms-vg .vg-header.is-hidden { top: -100px; }

  /* hero spacing below the fixed header */
  body.ms-vg .vg-hero { padding-top: 100px; }
  body.ms-vg .vg-phero { padding-top: 104px; }

  /* app bar: ink pill, "Clase" as the primary action */
  body.ms-vg .ms-app-nav {
    left: 12px; right: 12px; bottom: max(10px, env(safe-area-inset-bottom));
    padding: 6px; gap: 6px; border-radius: 999px;
    background: rgba(26,31,44,.96) !important; border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 18px 44px -12px rgba(0,0,0,.55) !important; backdrop-filter: blur(16px);
  }
  body.ms-vg .ms-app-nav a { min-height: 46px; border-radius: 999px; color: var(--vg-on-dark-muted) !important; font: 600 .84rem/1 var(--vg-body) !important; background: transparent !important; }
  body.ms-vg .ms-app-nav a.is-active { color: #fff !important; background: rgba(255,255,255,.1) !important; }
  body.ms-vg .ms-app-nav a:nth-child(2) { background: var(--vg-brand) !important; color: #fff !important; font-weight: 700 !important; box-shadow: 0 8px 20px -8px rgba(227,52,47,.8); }
  body.ms-vg .ms-app-nav a:nth-child(2)::before { content: "Clase gratis"; }
  body.ms-vg .ms-app-nav a:nth-child(2) { font-size: 0 !important; }
  body.ms-vg .ms-app-nav a:nth-child(2)::before { font: 700 .84rem/1 var(--vg-body); }

  /* toasts sit above the app bar with breathing room */
  body.ms-vg .ms-cookie-banner {
    left: 12px; right: 12px; width: auto;
    bottom: calc(80px + max(10px, env(safe-area-inset-bottom)));
    padding: 18px; border-radius: 22px;
  }
  body.ms-vg .ms-pwa-install {
    left: auto; right: 12px;
    bottom: calc(80px + max(10px, env(safe-area-inset-bottom)));
    justify-content: flex-start;
  }
  body.ms-vg .ms-pwa-install__primary { flex: 0 0 auto; }
  body.ms-vg .ms-cookie-modal .ms-cookie-actions { grid-template-columns: 1fr; }

  /* drawer covers the full screen on phones */
  body.ms-vg .vg-drawer.nav__drawer { width: 100%; }
}
@media (max-width: 380px) {
  body.ms-vg .vg-brand__word { font-size: .98rem; }
  body.ms-vg .ms-cookie-actions { grid-template-columns: 1fr; }
}

/* ============================================================ PAGE HERO */
.vg-phero {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 170px 0 96px; background: var(--gradient-hero); color: var(--vg-on-dark);
}
.vg-phero__inner { position: relative; z-index: 2; }
.vg-phero__title { margin: 24px 0 0; max-width: 18ch; font-size: clamp(2.5rem, 5.6vw, 4.8rem); line-height: .98; font-weight: 800; letter-spacing: -.045em; color: #fff; }
.vg-phero--article .vg-phero__title { max-width: 24ch; font-size: clamp(2.1rem, 4.4vw, 3.6rem); line-height: 1.05; }
.vg-phero__lead { margin: 22px 0 0; max-width: 42em; font-size: clamp(1.02rem, 1.3vw, 1.14rem); line-height: 1.7; color: var(--vg-on-dark-muted); }
.vg-phero__glyph {
  position: absolute; right: -2%; bottom: -18%; z-index: 1; pointer-events: none;
  font: 700 clamp(16rem, 34vw, 30rem)/1 var(--vg-zh); color: transparent;
  -webkit-text-stroke: 1.5px rgba(201,168,118,.22);
  animation: vg-glyph-in 1.6s var(--vg-ease) both, vg-float-slow 12s ease-in-out 1.6s infinite;
}
@keyframes vg-glyph-in { from { opacity: 0; transform: translateY(40px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes vg-float-slow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
.vg-phero__back { display: inline-flex; gap: 8px; margin-bottom: 22px; color: var(--vg-gold); font-weight: 600; text-decoration: none; }
.vg-phero__back:hover { color: #fff; }
.vg-phero__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 24px; color: var(--vg-on-dark-muted); font-size: .92rem; }
.vg-phero__meta span + span::before { content: "·"; margin-right: 22px; color: var(--vg-gold); }

.vg-page { background: var(--vg-paper); }
.vg-section--tight { padding: clamp(56px, 7vw, 96px) 0; }
.vg-section--ink { background: var(--vg-ink); color: var(--vg-on-dark); }
.vg-section--ink .vg-head h2 { color: #fff; }
.vg-section--ink .vg-head h2 em { color: var(--vg-gold); }
.vg-section--ink .vg-head p { color: var(--vg-on-dark-muted); }
.vg-section--paper2 { background: #F3EEE5; }
.vg-final--compact { padding: clamp(80px, 10vw, 130px) 0; }
.vg-final__small { font-size: .9rem !important; opacity: .7; }

/* filters (catalog + blog) */
.vg-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 auto 44px; padding: 6px; width: fit-content; max-width: 100%; border-radius: 999px; background: #fff; border: 1px solid var(--vg-line); box-shadow: var(--vg-shadow); }
.vg-filters .ms-filter-btn {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
  padding: 11px 18px !important; border-radius: 999px !important; min-height: 0 !important;
  font: 600 .9rem/1 var(--vg-body) !important; color: var(--vg-muted) !important; cursor: pointer; text-decoration: none;
  transition: background .25s, color .25s !important;
}
.vg-filters .ms-filter-btn:hover { color: var(--vg-ink) !important; background: #F2EEE7 !important; }
.vg-filters .ms-filter-btn.is-active { background: var(--vg-ink) !important; color: #fff !important; }
@media (max-width: 768px) {
  body.ms-vg .vg-filters { position: static !important; margin: 0 auto 30px !important; border-radius: 22px; padding: 6px !important; background: #fff !important; }
}

/* catalog */
.vg-price__num--sm { font-size: 2.4rem; }
.vg-price__note { flex-wrap: wrap; }
.vg-btn--stack { flex-direction: column; gap: 4px; min-height: 58px; padding: 10px 20px; white-space: normal; text-align: center; line-height: 1.15; }
.vg-btn--stack small { font-size: .78rem; font-weight: 600; opacity: .8; }
.vg-btn.state-loading { opacity: .8; pointer-events: none; }
.vg-plan--featured .vg-btn--ghost-dark { --fg: #fff; }
.vg-banner.ms-status-banner { max-width: 820px; margin: 0 auto 26px; padding: 14px 20px; border-radius: 16px; background: var(--vg-gold-soft); border: 1px solid #EADCC2; color: #6B5227; display: none; }
.vg-banner.ms-status-banner.is-visible { display: block; }
.vg-stripe-overlay.stripe-overlay { background: rgba(16,19,27,.94); color: #fff; gap: 12px; }
.vg-stripe-overlay strong { font: 700 1.1rem/1.2 var(--vg-display); }
.vg-stripe-overlay span { opacity: .55; font-size: .9rem; }
.vg-stripe-overlay .stripe-spinner { border-color: rgba(201,168,118,.2); border-top-color: var(--vg-brand); }

/* about */
.vg-split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: center; }
.vg-bento--stack { grid-template-columns: 1fr; }
.vg-bento--stack .vg-card__n { margin-top: 0; }
.vg-board {
  position: relative; padding: 28px; border-radius: var(--vg-r-xl); background: var(--vg-ink); color: var(--vg-on-dark);
  box-shadow: 0 50px 100px -40px rgba(26,31,44,.6); transform-style: preserve-3d; transition: transform .5s var(--vg-ease);
}
.vg-board__top { display: flex; justify-content: space-between; align-items: center; font: 700 .95rem/1 var(--vg-display); }
.vg-board__top strong { font: 700 .7rem/1 var(--vg-body); letter-spacing: .16em; text-transform: uppercase; color: var(--vg-gold); }
.vg-board__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 24px 0; }
.vg-board__grid span { display: grid; gap: 8px; padding: 22px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: background .3s, transform .4s var(--vg-ease); }
.vg-board__grid span:hover { background: var(--vg-brand); transform: translateY(-4px); }
.vg-board__grid b { font: 700 1.9rem/1 var(--vg-zh); color: #fff; }
.vg-board__grid i { font-style: normal; font-size: .82rem; color: var(--vg-on-dark-muted); }
.vg-board__note { padding: 18px 20px; border-radius: 18px; background: var(--vg-paper); color: var(--vg-ink); border-left: 4px solid var(--vg-brand); }
.vg-board__note p { margin: 6px 0 0; color: var(--vg-muted); font-size: .93rem; }
.vg-lists__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.vg-listcard { padding: 38px; border-radius: var(--vg-r-xl); background: #fff; border: 1px solid var(--vg-line); box-shadow: var(--vg-shadow); }
.vg-listcard h2 { margin: 14px 0 0; font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 800; color: var(--vg-ink); }
.vg-listcard--dark { background: var(--vg-ink); color: var(--vg-on-dark); border-color: var(--vg-ink); }
.vg-listcard--dark h2 { color: #fff; }
.vg-checks--light li { color: var(--vg-ink); }
.vg-checks--light li::before { background: var(--vg-brand); color: #fff; }

/* contact */
.vg-contact { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 20px; }
.vg-ccard {
  --gx: 50%; --gy: 50%;
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: 34px; border-radius: var(--vg-r-xl);
  background: #fff; border: 1px solid var(--vg-line); box-shadow: var(--vg-shadow); min-height: 340px;
  transition: transform .5s var(--vg-ease), box-shadow .5s;
}
.vg-ccard:hover { transform: translateY(-6px); box-shadow: var(--vg-shadow-lg); }
.vg-ccard h3 { margin: 8px 0 0; font-size: 1.7rem; font-weight: 800; }
.vg-ccard p { margin: 0; color: var(--vg-muted); line-height: 1.6; }
.vg-ccard .vg-btn { margin-top: auto; align-self: flex-start; }
.vg-ccard__n { position: absolute; top: 26px; right: 30px; font: 800 .8rem/1 var(--vg-body); letter-spacing: .12em; color: var(--vg-gold); }
.vg-ccard__icon { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: var(--vg-gold-soft); color: var(--vg-brand); font: 800 1.8rem/1 var(--vg-zh); }
.vg-ccard--brand { background: radial-gradient(120% 120% at 0% 0%, #F14B45, var(--vg-brand) 45%, #9E1A17); color: #fff; border-color: transparent; }
.vg-ccard--brand p { color: rgba(255,255,255,.85); }
.vg-ccard--brand .vg-ccard__icon { background: rgba(255,255,255,.14); color: #fff; }
.vg-ccard--brand .vg-ccard__n { color: rgba(255,255,255,.7); }
.vg-ccard--dark { background: var(--vg-ink); color: var(--vg-on-dark); border-color: var(--vg-ink); }
.vg-ccard--dark p { color: var(--vg-on-dark-muted); }
.vg-ccard--dark .vg-ccard__icon { background: rgba(255,255,255,.06); }
.vg-ccard__link { margin-top: auto; font: 700 1.1rem/1.3 var(--vg-display); color: var(--vg-brand); text-decoration: none; word-break: break-all; }
.vg-ccard__hours { margin-top: auto; font: 800 1.5rem/1.1 var(--vg-display); color: var(--vg-gold); }
.vg-ccard__clock { position: relative; border-radius: 50% !important; border: 2px solid var(--vg-gold); background: transparent !important; }
.vg-ccard__clock i { position: absolute; left: 50%; bottom: 50%; width: 2px; margin-left: -1px; background: var(--vg-gold); transform-origin: bottom center; border-radius: 2px; }
.vg-ccard__clock i:first-child { height: 18px; animation: vg-spin 8s linear infinite; }
.vg-ccard__clock i:last-child { height: 12px; background: var(--vg-brand); animation: vg-spin 60s linear infinite; }

/* blog */
.vg-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.vg-post { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--vg-r-lg); background: #fff; border: 1px solid var(--vg-line); box-shadow: var(--vg-shadow); transition: transform .5s var(--vg-ease), box-shadow .5s; }
.vg-post:hover { transform: translateY(-6px); box-shadow: var(--vg-shadow-lg); }
.vg-post__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--vg-ink); }
.vg-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--vg-ease); }
.vg-post:hover .vg-post__media img, .vg-post:hover .vg-pcover__glyph { transform: scale(1.06); }
.vg-post__body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 24px 24px 26px; }
.vg-post__meta { display: flex; align-items: center; gap: 12px; font-size: .84rem; color: var(--vg-muted); }
.vg-post__title { margin: 0; font-size: 1.28rem; line-height: 1.25; font-weight: 700; }
.vg-post__title a { color: var(--vg-ink); text-decoration: none; background: linear-gradient(var(--vg-brand), var(--vg-brand)) 0 100% / 0 2px no-repeat; transition: background-size .4s var(--vg-ease); }
.vg-post:hover .vg-post__title a { background-size: 100% 2px; }
.vg-post p { margin: 0; color: var(--vg-muted); line-height: 1.6; font-size: .95rem; }
.vg-post__more { margin-top: auto; padding-top: 8px; color: var(--vg-brand); font-weight: 700; text-decoration: none; }
.vg-post--lead { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; }
.vg-post--lead .vg-post__media { aspect-ratio: auto; min-height: 340px; }
.vg-post--lead .vg-post__body { padding: 40px; justify-content: center; }
.vg-post--lead .vg-post__title { font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.1; letter-spacing: -.03em; }
.vg-pcover { position: relative; width: 100%; height: 100%; min-height: 200px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(120% 100% at 80% 0%, #3A2530, var(--vg-ink) 60%); }
.vg-pcover--t1 { background: radial-gradient(120% 100% at 20% 0%, #F14B45, var(--vg-brand) 40%, #8E1714); }
.vg-pcover--t2 { background: linear-gradient(140deg, var(--vg-gold-soft), #E6D5B6); }
.vg-pcover__glyph { position: relative; z-index: 1; font: 700 clamp(5rem, 9vw, 8rem)/1 var(--vg-zh); color: #fff; transition: transform .8s var(--vg-ease); }
.vg-pcover--t2 .vg-pcover__glyph { color: var(--vg-ink); }
.vg-pcover__py { position: absolute; left: 20px; bottom: 16px; z-index: 1; font: 600 .95rem/1 var(--vg-display); color: var(--vg-gold); letter-spacing: .04em; }
.vg-pcover--t1 .vg-pcover__py { color: #FFE2DF; }
.vg-pcover--t2 .vg-pcover__py { color: var(--vg-brand); }
.vg-pcover__line { position: absolute; left: 0; right: 0; bottom: 18%; width: 100%; height: 40%; }
.vg-pcover__line path { fill: none; stroke: rgba(201,168,118,.5); stroke-width: 2; stroke-dasharray: 6 8; animation: vg-dash 2s linear infinite; }
.vg-pcover--t1 .vg-pcover__line path { stroke: rgba(255,255,255,.4); }
.vg-pcover--t2 .vg-pcover__line path { stroke: rgba(227,52,47,.45); }
.vg-pcover::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 28px 28px; }
.vg-pcover--t2::after { background-image: linear-gradient(rgba(26,31,44,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(26,31,44,.05) 1px, transparent 1px); }
.vg-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; flex-wrap: wrap; }
.vg-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-grid; place-items: center; border-radius: 999px; background: #fff; border: 1px solid var(--vg-line); color: var(--vg-ink); font-weight: 600; text-decoration: none; }
.vg-pagination .page-numbers.current, .vg-pagination .page-numbers:hover { background: var(--vg-ink); color: #fff; border-color: var(--vg-ink); }
.vg-empty { text-align: center; padding: 60px 0; color: var(--vg-muted); }

/* article */
.vg-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1001; pointer-events: none; }
.vg-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--vg-brand), var(--vg-gold)); }
.vg-prose-wrap { max-width: 760px; }
.vg-article__figure { margin: 0 0 44px; border-radius: var(--vg-r-lg); overflow: hidden; box-shadow: var(--vg-shadow-lg); }
.vg-article__figure img { width: 100%; height: auto; }
body.ms-vg .vg-prose { font-size: 1.1rem; line-height: 1.85; color: #2E3342; }
body.ms-vg .vg-prose > p:first-of-type { font-size: 1.22rem; line-height: 1.75; color: var(--vg-ink); }
body.ms-vg .vg-prose h2 { margin: 2em 0 .6em; font-size: clamp(1.7rem, 2.8vw, 2.25rem); line-height: 1.12; font-weight: 800; color: var(--vg-ink); }
body.ms-vg .vg-prose h3 { margin: 1.7em 0 .5em; font-size: clamp(1.3rem, 2.2vw, 1.6rem); line-height: 1.2; font-weight: 700; color: var(--vg-ink); }
body.ms-vg .vg-prose h4 { margin: 1.5em 0 .5em; color: var(--vg-ink); }
body.ms-vg .vg-prose p, body.ms-vg .vg-prose ul, body.ms-vg .vg-prose ol, body.ms-vg .vg-prose blockquote, body.ms-vg .vg-prose table { margin: 0 0 1.2em; }
body.ms-vg .vg-prose ul, body.ms-vg .vg-prose ol { padding-left: 1.3em; list-style: revert; }
body.ms-vg .vg-prose li { margin-bottom: .5em; }
body.ms-vg .vg-prose li::marker { color: var(--vg-brand); }
body.ms-vg .vg-prose strong { color: var(--vg-ink); }
body.ms-vg .vg-prose a { color: var(--vg-brand); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.ms-vg .vg-prose blockquote, body.ms-vg .vg-prose .hsk-tip { padding: 22px 26px; border-radius: 20px; background: var(--vg-gold-soft); border: 0; border-left: 4px solid var(--vg-gold); color: var(--vg-ink); }
body.ms-vg .vg-prose table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; border-radius: 16px; border: 1px solid var(--vg-line); background: #fff; font-size: .95rem; }
body.ms-vg .vg-prose th, body.ms-vg .vg-prose td { padding: 12px 16px; border-bottom: 1px solid var(--vg-line); text-align: left; color: #2E3342; }
body.ms-vg .vg-prose th { background: var(--vg-ink); color: #fff; }
body.ms-vg .vg-prose code { padding: 2px 6px; border-radius: 6px; background: #F2EEE7; font-size: .9em; }
body.ms-vg .vg-prose img { border-radius: 18px; }
.vg-article-cta { position: relative; overflow: hidden; margin-top: 56px; padding: 40px; border-radius: var(--vg-r-xl); background: var(--vg-ink); color: var(--vg-on-dark); }
.vg-article-cta__glyph { position: absolute; right: -20px; bottom: -40px; font: 700 13rem/1 var(--vg-zh); color: transparent; -webkit-text-stroke: 1px rgba(201,168,118,.25); }
.vg-article-cta h3 { position: relative; margin: 0; font-size: 1.8rem; font-weight: 800; color: #fff; }
.vg-article-cta p { position: relative; margin: 12px 0 0; max-width: 56ch; color: var(--vg-on-dark-muted); line-height: 1.7; }
.vg-article-cta__actions { position: relative; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.vg-author { display: flex; gap: 24px; align-items: center; margin-top: 44px; padding: 30px; border-radius: var(--vg-r-lg); background: #fff; border: 1px solid var(--vg-line); }
.vg-author__avatar { width: 76px; height: 76px; flex-shrink: 0; border-radius: 24px; display: grid; place-items: center; background: var(--vg-brand); color: #fff; font: 800 1.4rem/1 var(--vg-display); transform: rotate(-4deg); }
.vg-author h4 { margin: 0; font-size: 1.2rem; }
.vg-author__role { margin: 4px 0 10px !important; font-size: .86rem; color: var(--vg-brand) !important; font-weight: 600; }
.vg-author p { margin: 0; color: var(--vg-muted); line-height: 1.6; font-size: .95rem; }
.vg-postnav { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--vg-line); }
.vg-postnav a { color: var(--vg-ink); font-weight: 700; text-decoration: none; }
.vg-postnav a:hover { color: var(--vg-brand); }

/* careers + partners */
.vg-jobs { display: grid; gap: 14px; }
.vg-job { --gx: 50%; --gy: 50%; position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr auto; gap: 26px; align-items: center; padding: 26px 30px; border-radius: var(--vg-r-lg); background: #fff; border: 1px solid var(--vg-line); box-shadow: var(--vg-shadow); transition: transform .45s var(--vg-ease), border-color .3s; }
.vg-job::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(400px circle at var(--gx) var(--gy), rgba(227,52,47,.08), transparent 45%); }
.vg-job:hover { transform: translateX(6px); border-color: var(--vg-gold); }
.vg-job:hover::before { opacity: 1; }
.vg-job__glyph { width: 70px; height: 70px; border-radius: 22px; display: grid; place-items: center; background: var(--vg-ink); color: var(--vg-gold); font: 700 2rem/1 var(--vg-zh); }
.vg-job h3 { margin: 0 0 10px; font-size: 1.3rem; font-weight: 800; }
.vg-job p { margin: 10px 0 0; color: var(--vg-muted); line-height: 1.6; font-size: .95rem; }
.vg-note { margin-top: 28px; padding: 24px; border-radius: 20px; border: 1.5px dashed #D9CDB8; text-align: center; }
.vg-note p { margin: 0 0 6px; color: var(--vg-muted); }
.vg-note a { color: var(--vg-brand); font-weight: 700; text-decoration: none; }
.vg-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.vg-value { padding: 28px; border-radius: var(--vg-r-lg); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); transition: background .3s, transform .45s var(--vg-ease); }
.vg-value:hover { background: rgba(255,255,255,.08); transform: translateY(-6px); }
.vg-value__glyph { display: block; font: 700 2.8rem/1 var(--vg-zh); color: var(--vg-brand); }
.vg-value h3 { margin: 18px 0 0; font-size: 1.2rem; color: #fff; }
.vg-value p { margin: 8px 0 0; color: var(--vg-on-dark-muted); line-height: 1.6; font-size: .93rem; }
.vg-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vg-type__glyph { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: var(--vg-gold-soft); color: var(--vg-brand); font: 700 1.7rem/1 var(--vg-zh); }
.vg-card--dark .vg-type__glyph { background: rgba(255,255,255,.08); color: var(--vg-gold); }
.vg-types .vg-card h3 { margin-top: 18px; font-size: 1.3rem; }

/* ============================================ LEGACY TEMPLATES (logic kept)
   single course, resources, level page, checkout, login/registro, dashboards
   ======================================================================== */
body.ms-vg .ms-course-hero, body.ms-vg .rec-hero, body.ms-vg .cn-hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: var(--gradient-hero) !important; color: var(--vg-on-dark) !important; padding-top: 150px !important;
}
body.ms-vg .ms-course-hero::after, body.ms-vg .rec-hero::after, body.ms-vg .cn-hero::after {
  content: "学"; position: absolute; right: -2%; bottom: -22%; z-index: -1; pointer-events: none;
  font: 700 clamp(14rem, 30vw, 26rem)/1 var(--vg-zh); color: transparent; -webkit-text-stroke: 1.5px rgba(201,168,118,.18);
}
body.ms-vg .rec-hero::after { content: "资"; }
body.ms-vg .cn-hero::after { content: "级"; }
body.ms-vg .ms-course-hero h1, body.ms-vg .rec-title, body.ms-vg .cn-title { font-family: var(--vg-display) !important; font-weight: 800 !important; letter-spacing: -.04em !important; color: #fff !important; }

body.ms-vg .rec-page, body.ms-vg .ck-page, body.ms-vg .cn-page, body.ms-vg .ms-course-page { background: var(--vg-paper) !important; color: var(--vg-text); font-family: var(--vg-body) !important; }
body.ms-vg .rec-section--alt, body.ms-vg .cn-section--alt { background: #F3EEE5 !important; }
body.ms-vg .rec-section-title, body.ms-vg .cn-section-title { font-family: var(--vg-display) !important; font-weight: 800 !important; letter-spacing: -.03em; color: var(--vg-ink) !important; }
body.ms-vg .rec-section-sub, body.ms-vg .cn-section-sub { color: var(--vg-muted) !important; }
body.ms-vg .rec-card, body.ms-vg .cn-week, body.ms-vg .cn-learn-item,
body.ms-vg .ms-course-box, body.ms-vg .ms-course-section-card, body.ms-vg .ms-course-library-card, body.ms-vg .ms-course-related-card, body.ms-vg .ms-course-step {
  background: #fff !important; border: 1px solid var(--vg-line) !important; border-radius: var(--vg-r-lg) !important; box-shadow: var(--vg-shadow) !important; color: var(--vg-text) !important;
}
body.ms-vg .rec-card-title, body.ms-vg .cn-week-tema { color: var(--vg-ink) !important; font-family: var(--vg-display) !important; }
body.ms-vg .rec-card-desc, body.ms-vg .cn-week-desc, body.ms-vg .cn-learn-text { color: var(--vg-muted) !important; }
body.ms-vg .btn-gold, body.ms-vg .cn-cta-btn, body.ms-vg .btn-apply { background: var(--vg-brand) !important; color: #fff !important; border-radius: 999px !important; box-shadow: 0 10px 30px -10px rgba(227,52,47,.7) !important; }

body.ms-vg .ms-course-page h2, body.ms-vg .ms-course-page h3 { color: var(--vg-ink); }
body.ms-vg .ms-course-hero h2, body.ms-vg .ms-course-hero h3, body.ms-vg .ms-course-hero p { color: inherit; }
body.ms-vg .ms-course-hero-card { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: var(--vg-r-xl) !important; backdrop-filter: blur(16px); color: var(--vg-on-dark) !important; }
body.ms-vg .ms-course-chip { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.14) !important; color: var(--vg-on-dark) !important; border-radius: 999px !important; }
body.ms-vg .ms-course-chip--accent { background: var(--vg-brand) !important; border-color: var(--vg-brand) !important; color: #fff !important; }
body.ms-vg .ms-course-step__num { background: var(--vg-brand) !important; color: #fff !important; }

body.ms-vg .glass-panel { background: #fff !important; border: 1px solid var(--vg-line) !important; border-radius: var(--vg-r-xl) !important; box-shadow: var(--vg-shadow-lg) !important; color: var(--vg-text) !important; backdrop-filter: none !important; }
body.ms-vg .ck-page { padding-top: 120px !important; }
body.ms-vg .plan-tab { border-radius: 999px !important; }
body.ms-vg .plan-tab.active { background: var(--vg-ink) !important; color: #fff !important; border-color: var(--vg-ink) !important; }
body.ms-vg .btn-stripe { background: var(--vg-brand) !important; border-radius: 999px !important; }

body.ms-vg .auth-page { position: relative; overflow: hidden; isolation: isolate; background: var(--gradient-hero) !important; padding-top: 120px !important; }
body.ms-vg .auth-page::before { content: "你好"; position: absolute; left: -2%; bottom: -8%; z-index: -1; pointer-events: none; font: 700 clamp(10rem, 22vw, 20rem)/1 var(--vg-zh); color: transparent; -webkit-text-stroke: 1.5px rgba(201,168,118,.16); }
body.ms-vg .auth-story, body.ms-vg .auth-story h1, body.ms-vg .auth-story p, body.ms-vg .auth-story li { color: var(--vg-on-dark) !important; }
body.ms-vg .auth-story h1 { font-family: var(--vg-display) !important; font-weight: 800 !important; letter-spacing: -.04em !important; }
body.ms-vg .auth-story__eyebrow { color: var(--vg-gold) !important; }
body.ms-vg .auth-story__lead { color: var(--vg-on-dark-muted) !important; }
body.ms-vg .auth-story-item, body.ms-vg .auth-story-note { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 18px !important; color: var(--vg-on-dark) !important; }
body.ms-vg .auth-card { background: var(--vg-paper) !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: var(--vg-r-xl) !important; box-shadow: 0 50px 100px -30px rgba(0,0,0,.6) !important; color: var(--vg-text) !important; }
body.ms-vg .auth-header h1, body.ms-vg .auth-header h2 { font-family: var(--vg-display) !important; color: var(--vg-ink) !important; letter-spacing: -.03em; }
body.ms-vg .auth-card p, body.ms-vg .auth-card span, body.ms-vg .auth-card label { color: inherit; }
body.ms-vg .form-input { background: #fff !important; border: 1.5px solid var(--vg-line) !important; border-radius: 14px !important; color: var(--vg-ink) !important; min-height: 50px; }
body.ms-vg .form-input:focus { border-color: var(--vg-ink) !important; box-shadow: 0 0 0 4px rgba(201,168,118,.25) !important; outline: none; }
body.ms-vg .form-label { color: var(--vg-ink) !important; font-weight: 600 !important; }
body.ms-vg .btn-submit { background: var(--vg-brand) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; min-height: 52px; font-weight: 700 !important; box-shadow: 0 10px 30px -10px rgba(227,52,47,.7) !important; transition: transform .3s var(--vg-ease), background .25s !important; }
body.ms-vg .btn-submit:hover { background: #EC4540 !important; transform: translateY(-2px); }
body.ms-vg .social-btn { background: #fff !important; border: 1.5px solid var(--vg-line) !important; border-radius: 999px !important; color: var(--vg-ink) !important; }
body.ms-vg .auth-card a { color: var(--vg-brand); }

body.ms-vg.page-template-page-dashboard, body.ms-vg.page-template-page-profesores { background: var(--vg-paper); }
body.ms-vg.page-template-page-dashboard main, body.ms-vg.page-template-page-profesores main { padding-top: 96px; }

/* ============================================================= responsive */
@media (max-width: 1080px) {
  .vg-split, .vg-lists__grid { grid-template-columns: 1fr; }
  .vg-contact { grid-template-columns: 1fr; }
  .vg-posts { grid-template-columns: 1fr 1fr; }
  .vg-post--lead { grid-template-columns: 1fr; }
  .vg-post--lead .vg-post__media { min-height: 260px; }
  .vg-values, .vg-types { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .vg-phero { padding-bottom: 64px; }
  .vg-phero__title { font-size: clamp(2.2rem, 10vw, 3rem); }
  .vg-phero__glyph { font-size: 15rem; right: -12%; bottom: -8%; }
  .vg-posts, .vg-values, .vg-types { grid-template-columns: 1fr; }
  .vg-post--lead .vg-post__body { padding: 26px; }
  .vg-job { grid-template-columns: 1fr; gap: 16px; }
  .vg-job .vg-btn { justify-self: start; }
  .vg-ccard { min-height: 0; }
  .vg-footer__cta { grid-template-columns: 1fr; }
  .vg-footer__cta .vg-btn { grid-column: 1; justify-self: start; }
  .vg-author { flex-direction: column; align-items: flex-start; }
  .vg-article-cta { padding: 28px; }
  .vg-listcard { padding: 28px; }
  body.ms-vg .auth-page { padding-top: 90px !important; }
  body.ms-vg .ms-course-hero, body.ms-vg .rec-hero, body.ms-vg .cn-hero { padding-top: 110px !important; }
}

/* ---- hardening: dark surfaces always get light text, whatever legacy CSS says ---- */
.vg-listcard--dark h2, .vg-card--dark h3, .vg-ccard--dark h3, .vg-ccard--brand h3, .vg-final h2, .vg-lead h2, .vg-article-cta h3, .vg-value h3, .vg-section--ink h2 { color: #fff !important; }
.vg-listcard--dark li, .vg-lead .vg-checks li { color: var(--vg-on-dark) !important; }
.vg-card--dark p, .vg-ccard--dark p, .vg-value p, .vg-article-cta p { color: var(--vg-on-dark-muted) !important; }
.vg-final { background: radial-gradient(120% 120% at 20% 0%, #F14B45 0%, var(--vg-brand) 38%, #8E1714 100%) !important; color: #fff !important; }
.vg-final p { color: rgba(255,255,255,.86) !important; }
.vg-final h2 em { color: var(--vg-gold-2) !important; }
.vg-phero, .vg-hero { background: var(--gradient-hero) !important; }
.vg-phero__title, .vg-hero__title { color: #fff !important; }
.vg-hero__accent .vg-w > span {
  background-image: linear-gradient(92deg, #FF6A5F 0%, var(--vg-brand) 45%, var(--vg-gold-2) 120%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
/* header: dark while over any dark hero, light elsewhere (JS toggles .is-light) */
body.ms-vg:not(.home) .vg-header:not(.is-light) .vg-header__bar {
  background: rgba(26,31,44,.55); color: var(--vg-on-dark); border-color: rgba(255,255,255,.1); box-shadow: none;
}
body.ms-vg .vg-header.is-light .vg-header__bar {
  background: rgba(250,247,242,.9); color: var(--vg-ink); border-color: rgba(26,31,44,.08); box-shadow: 0 10px 40px -18px rgba(26,31,44,.35);
}
body.ms-vg:has(.nav__drawer.open) .vg-header .vg-header__bar { background: var(--vg-ink); color: var(--vg-on-dark); box-shadow: none; }

/* failsafe: hero copy is never left hidden if scripts are slow */
@keyframes vg-failsafe { to { opacity: 1; transform: none; } }
.vg-js .vg-hero [data-reveal]:not(.is-in), .vg-js .vg-phero [data-reveal]:not(.is-in),
.vg-js [data-split]:not(.is-in) .vg-w > span { animation: vg-failsafe .6s ease 1.8s forwards; }

/* Stripe redirect overlay (hidden until a purchase starts) */
.stripe-overlay { display: none; position: fixed; inset: 0; z-index: 100002; flex-direction: column; align-items: center; justify-content: center; }
.stripe-overlay.active { display: flex; }
.stripe-spinner { width: 56px; height: 56px; border: 3px solid rgba(201,168,118,.2); border-top-color: var(--vg-brand); border-radius: 50%; animation: vg-spin .75s linear infinite; }

/* ============================================ distance-to-Beijing globe */
.vg-geo { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(280px, 1fr) 1.1fr; gap: 36px; align-items: center; margin-top: 22px; padding: 30px 36px; border-radius: var(--vg-r-xl); background: radial-gradient(120% 120% at 0% 0%, #2B2330 0%, var(--vg-ink) 55%, var(--vg-ink-3) 100%); color: var(--vg-on-dark); box-shadow: var(--vg-shadow-lg); }
.vg-geo::after { content: "北京"; position: absolute; right: -10px; bottom: -40px; font: 700 10rem/1 var(--vg-zh); color: transparent; -webkit-text-stroke: 1px rgba(201,168,118,.14); pointer-events: none; }
.vg-geo__globe { position: relative; width: 100%; max-width: 420px; margin: 0 auto; }
.vg-geo__globe canvas { display: block; width: 100%; aspect-ratio: 1; cursor: grab; touch-action: none; filter: drop-shadow(0 30px 50px rgba(0,0,0,.5)); }
.vg-geo__globe canvas.is-dragging { cursor: grabbing; }
.vg-geo__globe.is-failed canvas { display: none; }
.vg-geo__globe.is-failed::before { content: "🌏"; display: grid; place-items: center; aspect-ratio: 1; font-size: 9rem; }
.vg-geo__hint { display: block; margin-top: 8px; text-align: center; font-size: .78rem; color: var(--vg-on-dark-muted); }
.vg-geo__info { position: relative; z-index: 1; }
.vg-geo__from { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.vg-geo__flag { font-size: 2.6rem; line-height: 1; }
.vg-geo__from small { display: block; color: var(--vg-on-dark-muted); font-size: .8rem; }
.vg-geo__from b { font: 700 1.2rem/1.2 var(--vg-display); color: #fff; }
.vg-geo__km { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.vg-geo__km b { font: 800 clamp(3rem, 6vw, 4.6rem)/1 var(--vg-display); letter-spacing: -.05em; color: #fff; }
.vg-geo__km span { color: var(--vg-gold); font-weight: 600; }
.vg-geo__zh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.vg-geo__zh span { display: block; font: 700 1.5rem/1.3 var(--vg-zh); color: var(--vg-gold); }
.vg-geo__zh small { color: var(--vg-on-dark-muted); font-size: .85rem; }
.vg-geo__zh .vg-say { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.vg-geo__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.vg-geo__facts div { display: grid; gap: 2px; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.05); }
.vg-geo__facts span { font-size: 1.1rem; }
.vg-geo__facts small { font-size: .74rem; color: var(--vg-on-dark-muted); }
.vg-geo__facts b { font: 700 1rem/1.2 var(--vg-display); color: #fff; }
.vg-geo__change { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; font-size: .85rem; color: var(--vg-on-dark-muted); }
.vg-geo__change select { min-height: 40px; padding: 6px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: #fff; font: 500 .9rem/1 var(--vg-body); }
.vg-geo__change select option { color: var(--vg-ink); }
.vg-geo__note { display: block; margin-top: 8px; font-size: .74rem; color: rgba(245,241,234,.45); }

.vg-geo__flag img { display: block; width: 52px; height: auto; border-radius: 8px; box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.vg-geo__cta { margin-top: 18px; }
.vg-home-geo .vg-geo { margin-top: 0; }
@media (max-width: 1080px) { .vg-geo { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .vg-geo { padding: 22px 18px; gap: 18px; } .vg-geo__facts { gap: 6px; } .vg-geo__facts div { padding: 10px; } .vg-geo__cta .vg-btn { width: 100%; } }

.vg-geo__locate { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.vg-geo__locate .vg-say { background: rgba(255,255,255,.08); border-color: rgba(201,168,118,.5); color: #fff; }
.vg-geo__locate small { flex: 1 1 200px; font-size: .74rem; color: rgba(245,241,234,.5); }
.vg-geo__locate [hidden], .vg-geo__locate button[hidden] { display: none !important; }
