/* Editorial effects use native Heading settings; the sidebar is never targeted. */
.cassia-native-v2 .cassia-emphasis-yes.is-cassia-emphasis-playing .elementor-heading-title,
.cassia-native-v2.elementor-editor-active .cassia-emphasis-yes.cassia-emphasis-preview-yes .elementor-heading-title {
  background-image: linear-gradient(90deg,currentColor 45%,var(--cassia-emphasis-color,#ffd100) 46%,var(--cassia-emphasis-color,#ffd100) 54%,currentColor 55%);
  background-size: 240% 100%; background-repeat: no-repeat;
  background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.cassia-native-v2 .is-cassia-emphasis-playing .elementor-heading-title { animation: cassia-editorial-wipe var(--cassia-emphasis-duration,1.05s) cubic-bezier(.215,.61,.355,1) both; }
.cassia-native-v2 .is-cassia-emphasis-playing.is-cassia-emphasis-reverse .elementor-heading-title { animation-direction:reverse; }
.cassia-native-v2.elementor-editor-active .cassia-emphasis-preview-yes .elementor-heading-title { background-position: 48% 50%; animation: none; }
@keyframes cassia-editorial-wipe { from { background-position: 100% 50%; } to { background-position: 0 50%; } }
@media (prefers-reduced-motion:reduce) {
  .cassia-native-v2 .is-cassia-emphasis-playing .elementor-heading-title { animation: none; background-image: none; -webkit-text-fill-color: currentColor; }
}
.cassia-native-v2 .cassia-location-tab .elementor-button { width:100%; min-height:116px; text-align:left; justify-content:flex-start; white-space:normal; }
.cassia-native-v2 .cassia-location-tab .elementor-button-text { white-space:normal; }
.cassia-native-v2 .elementor .elementor-element.cassia-location-tab.is-active .elementor-button { background:#1d4886; color:#fff; }
.cassia-native-v2 .cassia-location-tab .elementor-button:focus-visible,
.cassia-native-v2 .cassia-location-marker .elementor-button:focus-visible { outline:2px solid #ff5a1f; outline-offset:3px; }
.cassia-native-v2:not(.elementor-editor-active) .cassia-location-explorer.is-location-ready .cassia-location-panel:not(.is-active) { display:none; }
.cassia-native-v2 .cassia-location-marker .elementor-button { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:0; border:0; border-radius:50%; background:transparent; color:#ff5a1f; font-size:0; }
.cassia-native-v2 .cassia-location-marker .elementor-button::after { content:''; width:10px; height:10px; border-radius:50%; background:currentColor; box-shadow:0 0 0 8px #ff5a1f20; }
.cassia-native-v2 .cassia-location-marker { transform:translate(-50%,-50%); }
.cassia-native-v2 .cassia-location-marker .elementor-button-content-wrapper { width:0; }
.cassia-native-v2 .cassia-location-marker .elementor-button-text { position:absolute; right:calc(100% + 14px); top:50%; transform:translateY(-50%); width:max-content; max-width:180px; padding:10px 12px; border-radius:8px; background:#0A2A4A; color:#fff; font-size:14px; line-height:1.25; white-space:normal; opacity:0; visibility:hidden; transition:opacity .15s ease,visibility .15s ease; }
.cassia-native-v2 .cassia-location-marker .elementor-button-text::before { content:''; position:absolute; left:100%; top:50%; width:30px; height:1px; background:#1d4886; pointer-events:none; }
.cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text { right:auto; left:calc(100% + 14px); }
.cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text::before { left:auto; right:100%; }
.cassia-native-v2 .cassia-location-marker:is(.is-active,:hover,:focus-within) { z-index:2; }
.cassia-native-v2 .cassia-location-marker:is(.is-active,:hover,:focus-within) .elementor-button-text { opacity:1; visibility:visible; }
.cassia-native-v2 .elementor .elementor-element.cassia-location-marker.is-active .elementor-button { color:#1d4886; }
.cassia-native-v2 .cassia-location-marker.is-active .elementor-button::after { box-shadow:0 0 0 8px #1d488630; }
.cassia-native-v2 .cassia-location-world img { display:block; }
/* The widget's placeholder is positioned; keep the actual map above it. */
.cassia-native-v2 .cassia-location-map-panel iframe { position:relative; z-index:1; display:block; width:100%; border-radius:28px 28px 0 0; }
.cassia-native-v2 .cassia-footer-flame { pointer-events:none; opacity:.08; transform:rotate(7deg); }
.cassia-native-v2 .cassia-footer-credit-group .cassia-native-whale { opacity:0; pointer-events:none; animation:none; }
.cassia-native-v2 .cassia-footer-credit-group:hover .cassia-native-whale,
.cassia-native-v2 .cassia-footer-credit-group:focus-within .cassia-native-whale { animation:cassia-credit-swim 4.8s ease-out both; }
@keyframes cassia-credit-swim { 0% { opacity:0; transform:translateX(0) scaleX(-1); } 15% { opacity:1; } 75% { opacity:1; } 100% { opacity:0; transform:translateX(240px) scaleX(-1); } }
.cassia-native-v2 .cassia-native-header .cassia-native-nav .elementor-button,
.cassia-native-v2 .cassia-native-header .cassia-native-language-toggle .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; line-height:1.2; }
.cassia-native-v2 .cassia-native-language-toggle .elementor-button { gap:12px; }
.cassia-native-v2 .cassia-native-nav > .elementor-widget-button,
.cassia-native-v2 .cassia-native-language-toggle { display:flex; align-items:center; }
.cassia-native-v2 .cassia-native-language-toggle .elementor-button::after { content:''; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
@media (min-width:801px) {
 .cassia-native-v2:not(.elementor-editor-active) :is(.cassia-contact-request,.cassia-career-application) .cassia-native-form-section__inner > .e-con:first-child { align-self:start; }
 .cassia-native-v2:not(.elementor-editor-active) :is(.cassia-contact-request,.cassia-career-application) .cassia-native-form-section__inner > .e-con:first-child.is-sticky-safe { position:sticky; top:calc(var(--cassia-admin-offset,32px) + 100px); }
}
.cassia-native-v2 .cassia-editorial-form select { width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #afc0d2; border-radius:0; background:#fff; color:inherit; font:inherit; }
.cassia-native-v2 .cassia-editorial-form select:focus-visible { outline:3px solid #ffd100; outline-offset:2px; }
@media (min-width:1024px) {
 .cassia-native-v2:not(.elementor-editor-active) .cassia-about-horizontal.is-horizontal-ready .cassia-about-horizontal__intro { width:100vw; }
}
@media (prefers-reduced-motion:reduce) {
 .cassia-native-v2 .cassia-footer-credit-group .cassia-native-whale { animation:none; }
}
.cassia-native-v2 .cassia-footer-legal .elementor-button-text { white-space:normal; }
@media (min-width:801px) and (max-width:1100px) {
 .cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text { left:auto; right:calc(100% + 14px); }
 .cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text::before { right:auto; left:100%; }
}
@media (max-width:800px) {
 .cassia-native-v2 .cassia-location-overview { grid-template-columns:minmax(0,1fr); }
 .cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text { left:auto; right:calc(100% + 14px); }
 .cassia-native-v2 .cassia-location-marker.cassia-location-shanghai .elementor-button-text::before { right:auto; left:100%; }
 .cassia-native-v2 .cassia-location-marker .elementor-button-text { max-width:140px; font-size:12px; }
}
