.ub-preview-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;gap:15px;align-items:center;background:#111827ee;color:#fff;border:1px solid #526380;padding:9px 18px;border-radius:999px;font:500 11px Inter,sans-serif;box-shadow:0 8px 30px #0003}.ub-preview-bar a{color:#9dbbff}
.hdr{gap:20px;flex-wrap:wrap}.hdr .logo{flex:none}.hdr .nav{flex:1;min-width:0;justify-content:center;flex-wrap:wrap;gap:12px 18px}.hdr-r{flex:none;margin-left:auto}.nav a{overflow-wrap:anywhere}.ub-mobile-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text);width:38px;height:38px;cursor:pointer}.ub-mobile-toggle svg{width:18px;height:18px}
.btn:not(.btn-yt):not(.btn-ghost),.le-lock a{color:var(--ub-button-text,#fff)}.mentor-intro h2 span{background:linear-gradient(110deg,var(--primary),var(--ub-gradient,#7c3aed));background-clip:text;-webkit-background-clip:text;color:transparent}.stat strong{font-variant-numeric:tabular-nums}.ub-old-price{display:block;font-size:24px;font-weight:600;color:var(--muted);margin-bottom:6px;line-height:1.3;text-decoration-thickness:2px}
.nav,.pk .lbl,.sh{row-gap:10px}.sh small{flex-shrink:1;text-align:right;max-width:55%;line-height:1.5}.wordmark,.mentor-intro h2,.why-heading h2,.pk .lbl{overflow-wrap:anywhere}.module-highlights{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats.ub-many-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pk-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-icon,.lms-check,.module-highlight-icon{flex-shrink:0}.why-icon img,.lms-check img,.module-highlight-icon img{width:20px;height:20px;object-fit:contain}.f-nav{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center}.faq-answer{padding:0 18px 18px;color:var(--muted)}
.vrow{animation-duration:var(--v-speed,70s)}.vrow.rev{animation-duration:calc(var(--v-speed,70s) * 1.14)}
.ub-rich-copy{font:inherit}.le-view{aspect-ratio:1280/800}.le-view iframe{width:1280px;height:800px;transform-origin:top left}.le-lock p{white-space:normal}.le-lock a{background:var(--primary)}
.ub-wordmark-logo{width:auto;max-width:160px;height:38px;object-fit:contain}.stat strong{overflow-wrap:anywhere}
@media(max-width:900px){.hdr .nav{display:none;order:4;flex-basis:100%;background:var(--surface);padding:15px;border-radius:12px;justify-content:flex-start;box-shadow:0 10px 25px #0002}.hdr.ub-nav-open .nav{display:flex}.ub-mobile-toggle{display:grid;place-items:center}.hdr{gap:10px}.hdr-r{gap:8px}.hdr .logo{min-width:0}.hdr .logo b{font-size:13px}.hdr .logo small{font-size:9px}}
@media(max-width:640px){.why-grid{grid-template-columns:1fr}.module-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.stats.ub-many-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sh{flex-wrap:wrap}.sh small{max-width:100%;text-align:left}.ub-preview-bar{max-width:calc(100% - 24px);font-size:10px;white-space:nowrap}.hdr .btn{padding:0 13px;min-height:38px;font-size:10px}.hdr .logo .mk{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.vrow,.vrow.rev{animation:none!important}}

body.ub-site{background:var(--page);color:var(--text);font:400 15.5px/1.65 var(--font-b)}

/* Variable navigation/actions stay within the header; narrow phones retain the reference hierarchy. */
.ub-site .hdr{height:auto;min-height:56px;padding-top:7px;padding-bottom:7px}
.ub-site .hdr-r{flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ub-site .ub-mobile-toggle{color:#f4f4f5;border-color:#ffffff40}
.ub-site .ub-mobile-toggle svg{fill:none;stroke:currentColor}
@media(max-width:640px){
  .ub-site .hdr{padding-left:10px;padding-right:8px;gap:6px}
  .ub-site .hdr-r{gap:6px}
  .ub-site .hdr .logo b{font-size:12px}
  .ub-site .hdr .btn{padding:0 10px}
  .ub-site .theme-toggle,.ub-site .ub-mobile-toggle{width:32px;height:32px}
  .ub-site .wordmark{font-size:clamp(24px,7.5vw,30px);line-height:1.12;overflow-wrap:normal}
  .ub-site .wordmark span{display:block;overflow-wrap:anywhere}
}

@media(max-width:640px){
  #lms .le-lock{top:24%;padding:10px 12px}
  #lms .le-lock-in{padding-bottom:0;gap:5px;max-height:100%;overflow-y:auto;width:100%}
  #lms .le-lock .lk{width:28px;height:28px;border-radius:10px}
  #lms .le-lock .lk svg,#lms .le-lock .lk img{width:16px;height:16px}
  #lms .le-lock b{font-size:14px}
  #lms .le-lock p{font-size:11px;line-height:1.35;max-width:280px}
  #lms .le-lock a{min-height:30px;margin-top:0;font-size:10px;padding:0 16px;flex-shrink:0}
}

/* Keep the reference footer's brand, links and social block on one desktop row. */
body.ub-site footer.site .f-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(270px,1.15fr) 140px;align-items:center;gap:24px}
body.ub-site footer.site .f-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px;align-items:center;justify-items:center;min-width:0}
body.ub-site footer.site .f-nav a{text-align:center;overflow-wrap:anywhere;font-size:12px}
body.ub-site footer.site .f-right{justify-self:end;text-align:center;min-width:130px}
@media(max-width:1000px) and (min-width:821px){body.ub-site footer.site .f-grid{grid-template-columns:minmax(230px,1fr) minmax(220px,1fr) 130px;gap:18px}body.ub-site footer.site .f-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){body.ub-site footer.site .f-grid{grid-template-columns:1fr;justify-items:center;gap:22px}body.ub-site footer.site .f-right{justify-self:center}body.ub-site footer.site .f-nav{width:min(100%,450px)}}
/* MSK Gyro: compact developer credit below the footer's existing columns. */
body.ub-site footer.site .ub-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin-top:18px;padding-top:12px;border-top:1px solid #34343b}
body.ub-site footer.site .ub-footer-bottom .f-copy{margin:0;padding:0;border:0;text-align:left;color:#a9a9b3;flex:1 1 220px}
body.ub-site footer.site .ub-developer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;max-width:100%;margin-left:auto;color:#c3c5d0;--msk-blue:var(--primary,#2563eb);--msk-violet:var(--ub-gradient,#7c3aed)}
body.ub-site footer.site .ub-developer-label{font-size:12px;line-height:1.5;overflow-wrap:anywhere;max-width:260px}
body.ub-site footer.site .ub-msk-gyro{position:relative;display:flex;align-items:center;justify-content:center;font-size:var(--msk-size,22px);width:4.1em;height:2.2em;max-width:100%;flex:none;color:#f4f5fc;text-decoration:none;border-radius:999px;transition:transform .2s ease}
body.ub-site footer.site a.ub-msk-gyro:hover{transform:scale(1.06)}
body.ub-site footer.site a.ub-msk-gyro:focus-visible{outline:2px solid var(--msk-blue);outline-offset:3px}
body.ub-site footer.site .ub-msk-word{position:relative;z-index:2;font-family:var(--font-h),sans-serif;font-size:1em;font-weight:800;letter-spacing:-.085em;line-height:1;max-width:90%;overflow:hidden;white-space:nowrap}
body.ub-site footer.site .ub-msk-period{color:var(--msk-violet);letter-spacing:0}
body.ub-site footer.site .ub-msk-ring{position:absolute;inset:.35em .12em;border:1px solid #424657;border-radius:50%;pointer-events:none}
body.ub-site footer.site .ub-msk-ring.ring-a{border-top-color:var(--msk-blue);border-right-color:var(--msk-blue);transform:rotate(-24deg);animation:ub-msk-tilt-a var(--msk-speed,12s) ease-in-out infinite}
body.ub-site footer.site .ub-msk-ring.ring-b{border-bottom-color:var(--msk-violet);border-left-color:var(--msk-violet);transform:rotate(26deg);animation:ub-msk-tilt-b var(--msk-speed,12s) ease-in-out infinite}
body.ub-site footer.site .ub-msk-ring i{position:absolute;inset:0;width:.11em;height:.11em;border-radius:50%;background:var(--msk-blue);offset-path:ellipse(50% 50% at 50% 50%);offset-distance:18%;animation:ub-msk-flight var(--msk-speed,12s) linear infinite}
body.ub-site footer.site .ub-msk-ring.ring-b i{background:var(--msk-violet);animation-direction:reverse}
body.ub-site footer.site .ub-developer.is-static *{animation:none!important}
@keyframes ub-msk-flight{to{offset-distance:118%}}
@keyframes ub-msk-tilt-a{0%,100%{transform:rotate(-24deg) scaleY(.95)}50%{transform:rotate(-10deg) scaleY(.8)}}
@keyframes ub-msk-tilt-b{0%,100%{transform:rotate(26deg) scaleY(.95)}50%{transform:rotate(12deg) scaleY(1.08)}}
@media(max-width:640px){body.ub-site footer.site .ub-footer-bottom{flex-direction:column;gap:12px}body.ub-site footer.site .ub-footer-bottom .f-copy{flex:initial;text-align:center}body.ub-site footer.site .ub-developer{margin-left:0;justify-content:center;text-align:center}body.ub-site footer.site .ub-msk-gyro{font-size:min(var(--msk-size,22px),22px)}}
@media(prefers-reduced-motion:reduce){body.ub-site footer.site .ub-developer *{animation:none!important}}

/* 0.1.19 - Free Meeting section: grid columns may shrink below the button's one-line width on phones. */
.ub-site .meet>*{min-width:0}
@media(max-width:720px){.ub-site .meet{grid-template-columns:minmax(0,1fr)}}
/* Meeting button on phones: the icon flows with the first word, so icon and text stay together even if the label wraps. */
@media(max-width:420px){.ub-site .t-head{flex-wrap:wrap}.ub-site .ticket .btn{display:block;white-space:normal;text-wrap:balance;line-height:1.35;text-align:center;min-height:48px;padding:14px 14px;font-size:12.5px;letter-spacing:.02em}.ub-site .ticket .btn svg{display:inline-block;width:18px;height:18px;margin:0 7px 0 0;vertical-align:-4px}}
@media(max-width:360px){.ub-site .t-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ub-site .t-stats strong{font-size:22px}}

/* 0.1.19 - Mobile navigation: smooth dropdown panel below the header pill (reference: Concept 8 .mmenu). */
.ub-burger{position:relative;display:block;width:16px;height:12px}
.ub-burger i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .28s ease,opacity .2s ease,top .28s ease}
.ub-burger i:nth-child(1){top:0}.ub-burger i:nth-child(2){top:5px}.ub-burger i:nth-child(3){top:10px}
.hdr.ub-nav-open .ub-burger i:nth-child(1){top:5px;transform:rotate(45deg)}
.hdr.ub-nav-open .ub-burger i:nth-child(2){opacity:0;transform:scaleX(.2)}
.hdr.ub-nav-open .ub-burger i:nth-child(3){top:5px;transform:rotate(-45deg)}
@media(max-width:900px){
  .ub-site .hdr .nav,.ub-site .hdr.ub-nav-open .nav{display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;order:0;flex:none;flex-basis:auto;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:0;margin:0;padding:0 16px;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);background:rgba(20,20,26,.985);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #3a3a44;border-radius:20px;box-shadow:0 22px 44px -16px rgba(0,0,0,.6);transition:max-height .35s ease,padding .35s ease,opacity .25s ease,transform .3s ease,visibility 0s linear .35s}
  .ub-site .hdr.ub-nav-open .nav{max-height:min(440px,calc(100vh - 110px));overflow-y:auto;padding:6px 16px;opacity:1;visibility:visible;transform:none;transition:max-height .35s ease,padding .35s ease,opacity .25s ease,transform .3s ease,visibility 0s}
  .ub-site .hdr .nav a{display:block;padding:14px 4px;font:600 14px/1.2 var(--font-h);letter-spacing:.04em;color:#e4e5f0;border-bottom:1px solid rgba(255,255,255,.07);overflow-wrap:anywhere}
  .ub-site .hdr .nav a:last-child{border-bottom:0}
  .ub-site .hdr .nav a:hover,.ub-site .hdr .nav a:focus-visible{color:#fff}
}
/* Very narrow phones (<375px): keep logo, Enroll, theme and menu on one header row. */
@media(max-width:374px){.ub-site .hdr{flex-wrap:nowrap;padding-left:8px;padding-right:6px}.ub-site .hdr-r{flex-wrap:nowrap;gap:5px}.ub-site .hdr .logo{gap:6px}.ub-site .hdr .logo .mk{width:28px;height:28px}.ub-site .hdr .logo b{font-size:11px}.ub-site .hdr .logo small{font-size:7.5px;letter-spacing:.12em}.ub-site .hdr .btn{padding:0 9px;font-size:9.5px;min-height:34px}.ub-site .theme-toggle,.ub-site .ub-mobile-toggle{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.ub-site .hdr .nav,.ub-site .hdr.ub-nav-open .nav,.ub-burger i{transition:none!important}}
/* 0.1.20: review samples notice centred inside the marquee window; marquee keeps running on phones */
.vwin{grid-template-columns:minmax(0,1fr)}.vwin>.ub-notice{margin:0;padding-inline:8%;text-align:center;font-size:13px;color:var(--muted)}
@media(max-width:640px) and (prefers-reduced-motion:no-preference){.vwin{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.vrow{animation:voices-tick var(--v-speed,70s) linear infinite}.vrow.rev{animation-direction:reverse;animation-duration:calc(var(--v-speed,70s) * 1.14)}.vrow-set[aria-hidden="true"]{display:flex}.vcontrol{display:block}.vwin>.ub-notice{padding-inline:6%}}

/* 0.1.21: review-card source icon looks the same in light and dark (white glyph on the green dot). */
.vc .src svg{fill:#fff;stroke:#fff}
/* Marketing pages hide the WP toolbar; its orphan root offset must disappear too. */
html:has(>body.ub-site),html.ub-marketing-page{margin-top:0!important}
body.ub-site footer.site{margin-top:48px;padding-top:22px;padding-bottom:16px}
body.ub-site footer.site .ub-footer-bottom{margin-top:14px;padding-top:10px}
@media(max-width:820px){body.ub-site footer.site{margin-top:40px;padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}body.ub-site footer.site .f-grid{gap:18px}}
@media(max-width:640px){
  body.ub-site footer.site .ub-developer{flex-direction:column;gap:4px}
  body.ub-site.ub-footer-credit-visible .fab{width:48px;height:48px;min-height:48px;padding:0;gap:0;font-size:0;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));border-radius:50%;justify-content:center}
  body.ub-site.ub-footer-credit-visible .fab svg{width:22px;height:22px;flex:none}
}

/* Reserve the floating Support control footprint on smaller desktop/tablet footers. */
@media(min-width:641px) and (max-width:1360px){body.ub-site footer.site .ub-footer-bottom{padding-right:148px}}
/* WordPress trims the trailing space of "… the team at", so the number gets its own leading space (collapses if one exists). */
.ub-site .ticket .fine #waNum2::before{content:" "}
