/* Shared, responsive interaction refinements. */
html:root .ru-journey-breadcrumb{font-family:'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif!important;font-size:14px!important;line-height:1.6!important;width:min(1640px,100%)!important;margin-inline:auto!important;min-height:44px!important;padding:12px 24px!important}
html:root .ru-journey-menu{width:100%;min-width:0;left:0;right:0;padding:6px}
html:root .ru-journey-menu a{overflow-wrap:anywhere}
.ru-nav-bubble{position:absolute;left:0;top:0;z-index:0;pointer-events:none;opacity:0}
.ru-nav-bubble.is-visible{opacity:1}
html:root:root:root.visitor-home.ru-home-composition #homeResearch::after{border:1px solid #ff8a24;border-radius:0;box-shadow:0 0 0 0 #ff8a2440;transform-origin:center}
html:root:root:root.visitor-home.ru-home-composition #homeResearch.is-arrival-cue::after{animation:ru-query-arrival-halo 350ms ease-out 2!important}
@keyframes ru-query-arrival-halo{0%{opacity:.95;box-shadow:0 0 1px 0 #ff8a2470;transform:scale(1)}100%{opacity:0;box-shadow:0 0 18px 15px #ff8a2400;transform:scale(1.018,1.07)}}
html:root:root.visitor-programs #programDiscovery{width:100%!important;max-width:1540px!important;box-sizing:border-box!important;margin-inline:auto!important;padding-inline:0!important}
html:root:root.visitor-programs .programs-heading{max-width:1540px!important;width:100%!important;margin-inline:auto!important}
html:root:root.visitor-school-detail .school-admission{position:static!important;transform:none!important;grid-template-columns:auto minmax(150px,220px) minmax(0,1fr)}
.school-admission__route{position:relative}.school-admission__route::after{content:'';position:absolute;right:12px;top:13px;width:7px;height:7px;border-right:1.5px solid #3156d3;border-bottom:1.5px solid #3156d3;transform:rotate(45deg);pointer-events:none}
html:root .school-admission select{appearance:none;padding-right:30px!important}
.school-admission__milestones.is-date-changed{animation:ru-date-change 450ms ease-out}
@keyframes ru-date-change{0%{background:#ff8a243b;box-shadow:0 0 0 5px #ff8a2420}100%{background:transparent;box-shadow:0 0 0 8px transparent}}
html:root:root.visitor-school-detail .tabs .tab:not(.tab-apply){position:relative;background:transparent!important;border:0!important;border-bottom:0!important;padding-inline:15px!important;color:#546b98!important}
html:root:root.visitor-school-detail .tabs .tab:not(.tab-apply)::after{content:'';position:absolute;left:15px;right:15px;bottom:0;height:3px;background:transparent;transform:none!important;width:auto!important}
html:root:root.visitor-school-detail :is(.back-home-btn,#backNavBtn,.hero-back,.back-btn){border-radius:0!important;transition:background-color 160ms,color 160ms!important}
html:root:root.visitor-school-detail :is(.back-home-btn,#backNavBtn,.hero-back,.back-btn):is(:hover,:focus-visible){background:var(--accent,#ff8a24)!important;color:#1b2a4a!important;border-color:var(--accent,#ff8a24)!important}
html:root .ru-article-toast{position:fixed!important;left:50%!important;bottom:28px!important;top:auto!important;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);box-sizing:border-box;padding:12px 18px!important;background:#fff!important;color:#263c5b!important;border:1px solid #c7d5ea;box-shadow:0 6px 24px #1b2a4a14;z-index:1600;opacity:0;transition:opacity 350ms ease;pointer-events:none;font:13px/1.7 'Segoe UI','Microsoft YaHei',sans-serif!important}
html:root .ru-article-toast.is-visible{opacity:1}.ru-article-toast:empty{display:none}

html:root:root .ru-article-reader{box-sizing:border-box!important;max-width:1440px!important;width:100%!important;min-width:0!important}
html:root:root .ru-article-reader .article-body-grid{grid-template-columns:minmax(0,1fr) minmax(160px,240px)!important;max-width:100%!important}
html:root:root .ru-article-reader :is(.article-main-column,.content){min-width:0!important;max-width:100%!important}
@media(max-width:820px){html:root:root .ru-article-reader .article-body-grid{grid-template-columns:minmax(0,1fr)!important}}

html:root:root.visitor-school-detail .hero .back{border-radius:0!important}
html:root:root.visitor-school-detail .hero .back:is(:hover,:focus-visible){background:var(--accent,#ff8a24)!important;color:#1b2a4a!important;border-color:var(--accent,#ff8a24)!important}
html:root:root.visitor-programs .programs-heading-inner.directory-hero{width:100%!important;max-width:1540px!important;margin-inline:auto!important;box-sizing:border-box!important}
html:root:root.visitor-programs :is(.programs-heading,#programDiscovery){box-sizing:border-box!important;width:calc(100% - 96px)!important;max-width:1444px!important;padding:0!important;margin-inline:auto!important}
html:root:root.visitor-programs .programs-heading-inner.directory-hero{max-width:none!important;width:100%!important}
@media(max-width:700px){html:root:root.visitor-programs :is(.programs-heading,#programDiscovery){width:calc(100% - 36px)!important}}

/* Orange flows behind the current pointer target; dropdowns share one paint rule. */
.ru-nav-bubble{background:transparent;border-radius:0;transition:transform 230ms cubic-bezier(.2,.8,.2,1),width 230ms cubic-bezier(.2,.8,.2,1),opacity 160ms}
.ru-nav-bubble-fill{display:block;width:100%;height:100%;background:var(--accent,#ff8a24)}
.ru-nav-bubble.is-inflating{animation:none}.ru-nav-bubble.is-inflating .ru-nav-bubble-fill{animation:ru-nav-fill8 300ms cubic-bezier(.2,.8,.2,1)}
@keyframes ru-nav-fill8{from{clip-path:ellipse(8% 12% at 50% 100%)}to{clip-path:ellipse(120% 180% at 50% 100%)}}
@media(prefers-reduced-motion:reduce){.ru-nav-bubble{transition:opacity 140ms}.ru-nav-bubble .ru-nav-bubble-fill{animation:none!important}}
