/* Alibaba's official CSS and WOFF2 shards are used without modification.
 * Source files identify Thin/Light/Regular as actual 250/300/400 glyphs, while
 * their official CSS descriptors say normal. Keep those official definitions.
 */
@import url("../fonts/stagenow/alibaba/AlibabaPuHuiTi-3-35-Thin/AlibabaPuHuiTi-3-35-Thin.css");
@import url("../fonts/stagenow/alibaba/AlibabaPuHuiTi-3-45-Light/AlibabaPuHuiTi-3-45-Light.css");
@import url("../fonts/stagenow/alibaba/AlibabaPuHuiTi-3-55-Regular/AlibabaPuHuiTi-3-55-Regular.css");

/* StageNow language fonts. Load after the unchanged template stylesheets.
 * Original Latin families and weight ranges are preserved. No font-size,
 * line-height, letter-spacing, width, margin, or padding overrides are added.
 * Self-hosted Fontsource 5.3.0 files and OFL notices: ../fonts/stagenow/.
 */

/* Translate the template's existing generated loading label. */
.preloader::before { content: attr(aria-label); }

/* Existing scene slots retain their original canvas and template wrappers.
 * Source photographs are reused unchanged and shared by both languages.
 */
img[data-scene-slot="A013"] {
  width: 480px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 33% 50%;
  border-radius: 50%;
}
img[data-scene-slot="A161"] {
  width: 520px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 26 / 31;
  object-fit: cover;
  object-position: 50% 30%;
}

/* nunito-sans-latin-ext-full-normal */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  src: url(../fonts/stagenow/nunito-sans-latin-ext-full-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* nunito-sans-latin-full-normal */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  src: url(../fonts/stagenow/nunito-sans-latin-full-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* nunito-sans-latin-ext-full-italic */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  src: url(../fonts/stagenow/nunito-sans-latin-ext-full-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* nunito-sans-latin-full-italic */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  src: url(../fonts/stagenow/nunito-sans-latin-full-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* rajdhani-latin-ext-300-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(../fonts/stagenow/rajdhani-latin-ext-300-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rajdhani-latin-300-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(../fonts/stagenow/rajdhani-latin-300-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* rajdhani-latin-ext-400-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/stagenow/rajdhani-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rajdhani-latin-400-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/stagenow/rajdhani-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* rajdhani-latin-ext-500-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/stagenow/rajdhani-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rajdhani-latin-500-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/stagenow/rajdhani-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* rajdhani-latin-ext-600-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/stagenow/rajdhani-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rajdhani-latin-600-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/stagenow/rajdhani-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* rajdhani-latin-ext-700-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/stagenow/rajdhani-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rajdhani-latin-700-normal */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/stagenow/rajdhani-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Chinese uses the requested true Thin face. Latin retains the template font.
 * Do not synthesize bold or italic from the official Thin/Light/Regular faces.
 * The template's existing font-size, weight hierarchy, line-height, spacing,
 * and geometry declarations remain untouched.
 */
html:lang(zh) {
  --text-font: "Nunito Sans", "AlibabaPuHuiTi-3-35-Thin", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --title-font: "Rajdhani", "AlibabaPuHuiTi-3-35-Thin", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
}

/* Small controls use the genuine Light face, preserving the original Latin
 * text/title distinction through the template's existing font variables.
 */
html:lang(zh) :is(
  .header-menu, .mobile-menu, .mean-container,
  .header-btn, .banner-btn, .banner-btn2, .about-btn, .blog-btn,
  .call-to-btn, .choose-btn, .footer-btn, .integration-btn,
  .portfolio-btn, .portfolio-btn-two, .portfolio-button, .pricing-btn,
  .project-btn, .project-btn-two, .project-button, .service-btn,
  .widget-sidber-contact-btn, .widget-sidber-download-button,
  .blog-details-submi-button, .sidebar__btns,
  .footer-menu, .tabs, .tab-btn, form
) {
  --text-font: "Nunito Sans", "AlibabaPuHuiTi-3-45-Light", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --title-font: "Rajdhani", "AlibabaPuHuiTi-3-45-Light", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-family: var(--text-font);
}

/* Field text and small placeholders prioritize legibility. */
html:lang(zh) :is(input, textarea, select) {
  --text-font: "Nunito Sans", "AlibabaPuHuiTi-3-55-Regular", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-family: var(--text-font);
}

/* The Chinese-language control on an English page uses the same UI face. */
html:lang(en) a[data-language-switch="zh"] {
  font-family: "Nunito Sans", "AlibabaPuHuiTi-3-45-Light", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
}

/* Requested navigation update: dark frosted menus in both languages.
 * The existing menu positions, sizes, line heights, padding, and border widths
 * are retained. The inset border paints a fine edge without changing layout.
 */
.intelle-header-area .header-menu ul li .sub_menu {
  background: rgba(20, 15, 36, 0.96);
  border-top-color: transparent;
  border-radius: 12px;
  -webkit-box-shadow: 0 12px 32px rgba(6, 3, 18, 0.22), inset 0 0 0 1px rgba(176, 153, 255, 0.26);
  box-shadow: 0 12px 32px rgba(6, 3, 18, 0.22), inset 0 0 0 1px rgba(176, 153, 255, 0.26);
}

.intelle-header-area .header-menu ul li .sub_menu li a {
  background: transparent;
  color: #eeebfa;
  border-bottom-color: rgba(176, 153, 255, 0.13);
  border-bottom-style: solid;
}

.intelle-header-area .header-menu ul li .sub_menu li a::before {
  background: rgba(149, 118, 255, 0.18);
  border-radius: inherit;
}

.intelle-header-area .header-menu ul li .sub_menu li:first-child > a {
  border-top-left-radius: 11px;
  border-top-right-radius: 11px;
}

.intelle-header-area .header-menu ul li .sub_menu li:last-child > a {
  border-bottom-left-radius: 11px;
  border-bottom-right-radius: 11px;
}

.intelle-header-area .header-menu ul li .sub_menu li a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: #fff;
}

.intelle-header-area .header-menu ul li .sub_menu li a:is(:focus-visible, [aria-current="page"]) {
  background: rgba(149, 118, 255, 0.18);
}

.intelle-header-area .header-menu ul li .sub_menu li a:is(:hover, :focus-visible) i {
  color: currentColor;
}

/* Keyboard focus reveals the same panel at the original hover position. */
.intelle-header-area .header-menu ul li:focus-within > .sub_menu {
  visibility: visible;
  top: 100%;
  opacity: 1;
}

.intelle-header-area .header-menu ul li a:focus-visible {
  outline: 2px solid #c5b3ff;
  outline-offset: -4px;
}

/* MeanMenu otherwise paints white at the panel, row, link, and expand layers.
 * Let the single frosted parent show through every level of the mobile menu.
 */
.mobile-menu-area {
  background: rgba(8, 2, 32, 0.92);
  box-shadow: 0 12px 32px rgba(6, 3, 18, 0.22);
}

.mean-container .mean-bar {
  background: rgba(20, 15, 36, 0.96);
  -webkit-box-shadow: 0 12px 32px rgba(6, 3, 18, 0.22), inset 0 0 0 1px rgba(176, 153, 255, 0.26);
  box-shadow: 0 12px 32px rgba(6, 3, 18, 0.22), inset 0 0 0 1px rgba(176, 153, 255, 0.26);
}

.mean-container .mean-nav,
.mean-container .mean-nav ul li,
.mean-container .mean-nav ul li a {
  background: transparent;
}

.mean-container .mean-nav ul li,
.mean-container .mean-nav ul li li a {
  border-top-color: rgba(176, 153, 255, 0.16);
}

.mean-container .mean-nav ul li a,
.mean-container .mean-nav ul li li a {
  color: #eeebfa;
  opacity: 1;
}

.mean-container .mean-nav ul li ul {
  background: rgba(9, 7, 24, 0.2);
}

.mean-container .mean-nav ul li a:is(:hover, :focus-visible, [aria-current="page"]) {
  background: rgba(149, 118, 255, 0.18);
  color: #fff;
}

.mean-container .mean-nav ul li a.mean-expand {
  background: rgba(149, 118, 255, 0.08);
  color: #e6dcff;
  box-shadow: inset 1px 0 0 rgba(176, 153, 255, 0.16);
}

.mean-container .mean-nav ul li a.mean-expand:is(:hover, :focus-visible, .mean-clicked) {
  background: rgba(149, 118, 255, 0.24);
  color: #fff;
}

.mean-container a.meanmenu-reveal:is(:hover, :focus-visible) {
  background: rgba(149, 118, 255, 0.14);
}

.mean-container .mean-nav ul li a:focus-visible,
.mean-container a.meanmenu-reveal:focus-visible {
  outline: 2px solid #c5b3ff;
  outline-offset: -4px;
}

/* Solid dark fallback above keeps text readable where backdrop filtering is
 * unavailable. Safari uses the prefixed declaration; other browsers use both.
 */
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  .intelle-header-area .header-menu ul li .sub_menu,
  .mean-container .mean-bar {
    background: rgba(20, 15, 36, 0.82);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    backdrop-filter: blur(20px) saturate(140%);
  }
}
