/* IDCA 现代科技风格 */
:root {
  --idca-primary: #2563eb;
  --idca-primary-hover: #1d4ed8;
  --idca-primary-light: #3b82f6;
  --idca-accent: #0ea5e9;
  --idca-text: #1a1f36;
  --idca-muted: #6b7280;
  --idca-subtle: #374151;
  --idca-link-foot: #6b7280;
  --idca-line: #e5e7eb;
  --idca-line-b: #d1d5db;
  --idca-tag: #eff6ff;
  --idca-bg-light: #f5f7fa;
  --idca-font: "Inter", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --idca-nav: 72px;
  --idca-page-margin: 64px;
  --idca-page-width: calc(min(1440px, 100vw) - var(--idca-page-margin) * 2);
  --idca-radius: 16px;
  --idca-radius-lg: 24px;
  --idca-radius-sm: 10px;
  --idca-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --idca-shadow-md: 0 4px 12px -2px rgba(37,99,235,0.08), 0 2px 6px rgba(0,0,0,0.04);
  --idca-shadow-lg: 0 16px 40px -12px rgba(37,99,235,0.12), 0 8px 24px rgba(0,0,0,0.06);
  --idca-glass: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(245,247,250,0.85) 100%);
  --idca-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #0ea5e9 100%);
  --idca-gradient-warm: linear-gradient(135deg, #f59e0b 0%, #ef4444 50%, #ec4899 100%);
  /* 兼容旧变量名 */
  --ay-blue: var(--idca-primary);
  --ay-blue-hover: var(--idca-primary-hover);
  --ay-blue-light: var(--idca-primary-light);
  --ay-text: var(--idca-text);
  --ay-muted: var(--idca-muted);
  --ay-subtle: var(--idca-subtle);
  --ay-link-foot: var(--idca-link-foot);
  --ay-line: var(--idca-line);
  --ay-line-b: var(--idca-line-b);
  --ay-tag: var(--idca-tag);
  --ay-font: var(--idca-font);
  --ay-nav: var(--idca-nav);
  --ay-page-margin: var(--idca-page-margin);
  --ay-page-width: var(--idca-page-width);
  --ay-radius: var(--idca-radius);
  --ay-radius-lg: var(--idca-radius-lg);
  --ay-shadow-md: var(--idca-shadow-md);
  --ay-shadow-lg: var(--idca-shadow-lg);
  --ay-glass: var(--idca-glass);
  --ay-ai: var(--idca-gradient);
}
* { box-sizing: border-box; }
html, body { margin: 0; }
.ay-page {
  color: var(--ay-text);
  font-family: var(--ay-font);
  background: #fff;
  padding-top: var(--ay-nav);
  -webkit-font-smoothing: antialiased;
}
.ay-nav__icon {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--idca-text);
  cursor: pointer;
  flex: none;
}
.ay-nav__icon img {
  display: block;
  width: 21px;
  height: 21px;
  margin: 10.5px;
  border-radius: 10.5px;
}
.ay-nav__mmenu img { border-radius: 0; }
.ay-mdrawer,
.ay-msearch { display: none; }

.ay-nav a, .ay-main a, .ay-foot a { color: inherit; text-decoration: none; }
.ay-wrap {
  width: var(--ay-page-width);
  max-width: 1760px;
  margin: 0 auto;
}
@media (max-width: 1055px) {
  :root { --ay-nav: 42px; --ay-page-margin: 16px; --ay-page-width: calc(100vw - 32px); }
}

.ay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 28px;
  border-radius: var(--idca-radius-sm);
  font-size: 15px;
  font-weight: 600;
  line-height: 48px;
  white-space: nowrap;
  border: 0;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: -0.01em;
}
.ay-btn--ai {
  color: #fff !important;
  background: var(--idca-gradient) !important;
  box-shadow: 0 4px 16px -2px rgba(37, 99, 235, 0.4), 0 8px 32px -8px rgba(59, 130, 246, 0.3);
  position: relative;
  overflow: hidden;
}
.ay-btn--ai::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.ay-btn--ai:hover::before { left: 100%; }
.ay-btn--ai:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -2px rgba(37, 99, 235, 0.5), 0 12px 40px -8px rgba(59, 130, 246, 0.35);
}
.ay-btn--glass {
  background: var(--idca-glass);
  color: var(--idca-text);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(37, 99, 235, 0.1);
}
.ay-btn--glass:hover {
  background: rgba(255, 255, 255, 1);
  border-color: rgba(37, 99, 235, 0.2);
  transform: translateY(-1px);
}
.ay-btn--ghost {
  background: transparent;
  color: var(--idca-primary);
  border: 2px solid var(--idca-primary);
  font-weight: 600;
}
.ay-btn--ghost:hover {
  background: var(--idca-primary);
  color: #fff;
  transform: translateY(-1px);
}
.ay-ico-up {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 2px;
}

/* Nav — IDCA 现代导航 */
.ay-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--idca-nav);
  overflow: visible;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(37, 99, 235, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-nav:hover {
  background: rgba(255, 255, 255, 0.98);
  border-bottom-color: rgba(37, 99, 235, 0.12);
}
.ay-nav__bar {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0;
  overflow: visible;
  position: relative;
}
.ay-nav__burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  position: relative;
  flex: none;
}
.ay-nav__burger:after {
  content: "";
  position: absolute;
  right: 0;
  top: 20px;
  height: 24px;
  border-right: 1px solid var(--idca-line);
}
.ay-nav__burger-ico {
  display: block;
  position: relative;
  width: 18px;
  height: 14px;
}
.ay-nav__burger-ico:before,
.ay-nav__burger-ico:after,
.ay-nav__burger-ico i {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #717171;
  border-radius: 1px;
}
.ay-nav__burger-ico:before { top: 0; }
.ay-nav__burger-ico i { top: 6px; }
.ay-nav__burger-ico:after { bottom: 0; }
.ay-nav__burger-wrap {
  position: relative;
  flex: none;
  height: 64px;
}
.ay-nav__burger-wrap:hover .ay-nav__burger-ico:before,
.ay-nav__burger-wrap.is-on .ay-nav__burger-ico:before {
  top: 6px;
  transform: rotate(45deg);
}
.ay-nav__burger-wrap:hover .ay-nav__burger-ico:after,
.ay-nav__burger-wrap.is-on .ay-nav__burger-ico:after {
  bottom: 6px;
  transform: rotate(-45deg);
}
.ay-nav__burger-wrap:hover .ay-nav__burger-ico i,
.ay-nav__burger-wrap.is-on .ay-nav__burger-ico i {
  opacity: 0;
}
.ay-nav__burger-ico:before,
.ay-nav__burger-ico:after,
.ay-nav__burger-ico i {
  transition: transform .25s ease, top .25s ease, bottom .25s ease, opacity .2s ease;
}
.ay-nav__logo {
  display: inline-flex;
  align-items: center;
  height: 32px;
  margin: 0 10px 0 16px;
  flex: none;
}
.ay-nav__logo img { height: 28px; width: auto; max-width: 120px; display: block; object-fit: contain; }
.ay-nav__logo strong { font-size: 18px; font-weight: 600; }
.ay-nav__menus { flex: 1; min-width: 0; overflow: visible; }
.ay-nav__menus > ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ay-nav__menus > ul > li { position: static; flex: none; }
.ay-nav__menus > ul > li > a {
  display: block;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 64px;
  white-space: nowrap;
  transition: color .3s;
  position: relative;
}
.ay-nav__menus > ul > li:hover > a,
.ay-nav__menus > ul > li.has-panel:hover > .ay-nav__trigger {
  color: var(--ay-blue);
}
.ay-nav__menus > ul > li.has-panel:hover > .ay-nav__trigger:after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: auto;
  bottom: 0;
  width: auto;
  height: 2px;
  margin: 0;
  background: var(--ay-blue);
  border: 0;
}
.ay-nav__act-hot {
  display: inline-block;
  margin-left: 4px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: 700;
  font-style: normal;
  line-height: 14px;
  color: #fff;
  background: linear-gradient(135deg, #ff5a5f, #f5222d);
  border-radius: 3px;
  position: relative;
  top: -1px;
}
.ay-panel {
  display: none;
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  background: #fff;
  box-shadow: 0 12px 40px -8px rgba(37, 99, 235, 0.15), 0 4px 16px rgba(0,0,0,0.06);
  z-index: 30;
  border-radius: 0 0 var(--idca-radius) var(--idca-radius);
  overflow: hidden;
}
.ay-nav__menus > ul > li.has-panel:hover > .ay-panel { display: grid; }
.ay-panel--prod,
.ay-panel--cols {
  height: min(560px, calc(100vh - 84px));
}
.ay-panel--prod {
  grid-template-columns: 240px 1fr 280px;
}
.ay-panel--cols {
  grid-template-columns: 260px 1fr;
}
.ay-cols__intro {
  background: var(--idca-bg-light);
  border-right: 1px solid var(--idca-line);
  padding: 36px 32px 40px;
  height: 100%;
  min-height: 0;
}
.ay-cols__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 24px;
  padding: 32px 40px 40px;
  align-content: start;
  height: 100%;
  min-height: 0;
}
.ay-cols__intro h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}
.ay-cols__intro h3 a { display: inline-block; }
.ay-cols__intro h3 a:hover { color: var(--ay-blue); }
.ay-cols__intro p {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 22px;
  color: var(--idca-muted);
}
.ay-cols__grid h4 {
  margin: 18px 0 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--idca-text);
}
.ay-cols__grid div > h4:first-child { margin-top: 0; }
.ay-cols__grid a {
  display: block;
  padding: 4px 0;
  font-size: 13px;
  line-height: 22px;
  color: var(--idca-subtle);
}
.ay-cols__grid a:hover { color: var(--ay-blue); }
.ay-panel__cats {
  background: var(--idca-bg-light);
  border-right: 1px solid var(--idca-line);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ay-panel__find {
  padding: 16px 20px 8px;
}
.ay-panel__find input {
  width: 100%;
  height: 36px;
  border: 0;
  border-bottom: 1px solid var(--idca-line);
  background: transparent;
  padding: 0 8px 0 0;
  font-size: 13px;
  outline: none;
}
.ay-panel__find input:focus { border-bottom-color: var(--ay-blue); }
.ay-panel__catlist {
  flex: 1;
  overflow: auto;
  padding: 8px 0 20px;
}
.ay-panel__cat {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 10px 24px;
  font-size: 14px;
  line-height: 22px;
  color: var(--idca-text);
  cursor: pointer;
  position: relative;
}
.ay-panel__cat:hover,
.ay-panel__cat.is-on {
  color: var(--ay-blue);
  background: #fff;
}
.ay-panel__cat.is-on:before {
  content: "";
  position: absolute;
  left: 0; top: 12px;
  width: 3px; height: 18px;
  background: var(--ay-blue);
}
.ay-panel__main {
  overflow: auto;
  padding: 28px 36px;
}
.ay-panel__pane { display: none; }
.ay-panel__pane.is-on { display: block; }
.ay-panel__main h4 {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 600;
}
.ay-panel__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 28px;
}
.ay-panel__grid a {
  display: block;
  padding: 10px 0;
  min-height: 56px;
}
.ay-panel__grid b {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--idca-text);
}
.ay-panel__grid a:hover b { color: var(--ay-blue); }
.ay-panel__grid span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 18px;
  color: var(--idca-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ay-panel__side {
  border-left: 1px solid var(--idca-line);
  padding: 28px 24px;
  overflow: auto;
  background: #fff;
}
.ay-panel__side h4 {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 600;
}
.ay-panel__side h4 a:hover { color: var(--ay-blue); }
.ay-panel__side ul { margin: 0; padding: 0; list-style: none; }
.ay-panel__side li { margin-bottom: 14px; }
.ay-panel__side a {
  display: block;
  font-size: 13px;
  line-height: 20px;
  color: var(--idca-subtle);
}
.ay-panel__side a:hover { color: var(--ay-blue); }

@media (min-width: 1056px) {
.ay-nav .idca-topbar__search,
.ay-page.idca-ca-page .ay-nav .idca-topbar__search {
  flex: 0 0 220px;
  width: 220px;
  min-width: 220px;
  max-width: 220px;
  margin: 0 12px 0 16px !important;
  height: 64px;
  display: flex !important;
  align-items: center !important;
  position: relative;
  z-index: 1100;
  transition: width .28s ease, min-width .28s ease, max-width .28s ease, flex-basis .28s ease;
}
.ay-nav.is-searching .ay-nav__menus {
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.ay-nav.is-searching .idca-topbar__search,
.ay-page.idca-ca-page .ay-nav.is-searching .idca-topbar__search {
  flex: 0 0 560px;
  width: 560px;
  min-width: 560px;
  max-width: 560px;
  margin: 0 12px 0 16px !important;
}
}
.ay-page.idca-ca-page .ay-nav .idca-gsearch {
  height: 36px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  box-shadow: none;
}
.ay-page.idca-ca-page .ay-nav .idca-gsearch.is-open,
.ay-page.idca-ca-page .ay-nav .idca-gsearch--field:focus-within {
  border-color: var(--ay-blue);
  box-shadow: 0 0 0 1px var(--ay-blue);
}
.ay-page.idca-ca-page .ay-nav .idca-gsearch__ico .spark { color: #7c5cff; }
.ay-nav .idca-sdrop {
  left: 0;
  right: auto;
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
}

.ay-nav__right {
  display: flex;
  align-items: center;
  flex: none;
  flex-shrink: 0;
  margin-left: auto;
  height: 64px;
  position: relative;
}
.ay-nav__right > a,
.ay-nav__right > button.ay-nav__console {
  font-size: 12px;
  font-weight: 500;
  line-height: 64px;
  margin-left: 18px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.ay-nav__right > a:hover,
.ay-nav__console:hover { color: var(--ay-blue); }
.ay-nav__login,
.ay-nav__edge {
  min-width: 90px !important;
  margin-left: 18px !important;
  margin-right: 0 !important;
  padding: 0 24px !important;
  line-height: 64px !important;
  text-align: center;
  color: #fff !important;
  background: var(--idca-gradient) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
}
.ay-nav__login:hover,
.ay-nav__edge:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px -2px rgba(37, 99, 235, 0.4);
}
.ay-loginpop,
.ay-consolepop {
  display: none;
  position: absolute;
  top: 100%;
  left: 12px;
  right: auto;
  width: 428px;
  padding: 48px;
  background: #fff;
  box-shadow: 0 4px 30px #00000026;
  z-index: 40;
  box-sizing: border-box;
}
.ay-nav__burger-wrap:hover .ay-loginpop,
.ay-nav__burger-wrap:hover .ay-consolepop,
.ay-nav__burger-wrap.is-on .ay-loginpop,
.ay-nav__burger-wrap.is-on .ay-consolepop { display: block; }
.ay-loginpop[hidden] { display: none !important; }
.ay-loginpop__x {
  position: absolute;
  top: 12px; right: 12px;
  width: 32px; height: 32px;
  border: 0; background: transparent;
  cursor: pointer;
}
.ay-loginpop__x:before,
.ay-loginpop__x:after {
  content: "";
  position: absolute;
  left: 7px; top: 15px;
  width: 18px; height: 2px;
  background: var(--idca-line-b);
}
.ay-loginpop__x:before { transform: rotate(45deg); }
.ay-loginpop__x:after { transform: rotate(-45deg); }
.ay-loginpop__illu {
  position: relative;
  width: 120px; height: 88px;
  margin: 0 auto;
  border-radius: 10px;
  background: linear-gradient(180deg, #dbeafe, var(--idca-bg-light));
  box-shadow: inset 0 0 0 1px #e5edf8;
}
.ay-loginpop__illu:before {
  content: "";
  position: absolute;
  left: 18px; top: 22px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--idca-primary);
}
.ay-loginpop__illu:after {
  content: "";
  position: absolute;
  left: 56px; top: 26px;
  width: 46px; height: 8px;
  border-radius: 4px;
  background: #d7e4f7;
  box-shadow: 0 14px 0 #d7e4f7;
}
.ay-loginpop__illu span {
  position: absolute;
  right: 14px; top: 14px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #ff6a00;
}
.ay-loginpop h3,
.ay-consolepop h3 {
  margin: 20px 0 0;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.ay-loginpop ul {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0 8px;
  list-style: none;
}
.ay-loginpop li {
  font-size: 14px;
  color: var(--idca-text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ay-loginpop li:before {
  content: "";
  width: 10px; height: 6px;
  border-left: 1.5px solid var(--idca-primary);
  border-bottom: 1.5px solid var(--idca-primary);
  transform: rotate(-45deg);
  margin-top: -2px;
}
.ay-loginpop__btns {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}
.ay-loginpop__reg,
.ay-loginpop__go {
  flex: 1;
  height: 44px;
  line-height: 44px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
}
.ay-loginpop__reg {
  border: 1px solid var(--idca-primary);
  color: var(--idca-primary) !important;
  background: #fff;
}
.ay-loginpop__reg:hover { background: #fafafa; }
.ay-loginpop__go {
  background: var(--idca-primary);
  color: #fff !important;
}
.ay-loginpop__go:hover { background: var(--idca-primary-hover); }
.ay-consolepop {
  padding: 20px 24px 24px;
  width: 280px;
}
.ay-consolepop h3 {
  text-align: left;
  font-size: 14px;
  margin: 0 0 12px;
}
.ay-consolepop a {
  display: block;
  padding: 8px 0;
  font-size: 13px;
  line-height: 22px;
}
.ay-consolepop a:hover { color: var(--ay-blue); }

/* Campaign banner — aurora hero slideshow */
.ay-banner {
  position: relative;
  overflow: hidden;
  min-height: 720px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(135deg, #fafbff 0%, #f0f4ff 50%, #f0f6ff 100%);
  isolation: isolate;
}
.ay-banner__medias {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.ay-banner__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  pointer-events: none;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .7s ease;
}
.ay-banner__video.is-on {
  opacity: .5;
}
/* ambient aurora layers */
.ay-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.ay-banner__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(72px);
  will-change: transform;
}
.ay-banner__orb--a {
  width: 680px;
  height: 680px;
  left: -200px;
  top: -240px;
  background: radial-gradient(circle at 30% 30%, rgba(59, 130, 246, .45), rgba(37, 99, 235, 0) 70%);
  animation: ayOrbA 18s ease-in-out infinite;
}
.ay-banner__orb--b {
  width: 560px;
  height: 560px;
  right: -180px;
  bottom: -280px;
  background: radial-gradient(circle at 40% 40%, rgba(6, 182, 212, .4), rgba(6, 182, 212, 0) 70%);
  animation: ayOrbB 22s ease-in-out infinite;
}
.ay-banner__orb--c {
  width: 400px;
  height: 400px;
  left: 42%;
  top: -140px;
  background: radial-gradient(circle at 50% 50%, rgba(236, 72, 153, .32), rgba(236, 72, 153, 0) 70%);
  animation: ayOrbC 15s ease-in-out infinite;
}
.ay-banner__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(37, 99, 235, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .04) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(80% 75% at 55% 20%, #000 0%, transparent 100%);
  mask-image: radial-gradient(80% 75% at 55% 20%, #000 0%, transparent 100%);
}
@keyframes ayOrbA {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(46px, 34px, 0) scale(1.08); }
}
@keyframes ayOrbB {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-40px, -28px, 0) scale(1.1); }
}
@keyframes ayOrbC {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(30px, -20px, 0) scale(1.12); }
}
.ay-banner__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(0deg, #fafbff 0%, rgba(250, 251, 255, .35) 14%, rgba(250, 251, 255, 0) 42%),
    linear-gradient(90deg, rgba(250, 251, 255, .92) 0%, rgba(240, 244, 255, .48) 46%, rgba(250, 245, 255, .1) 72%);
}
.ay-banner__main,
.ay-feats { position: relative; z-index: 2; }
.ay-banner__main {
  padding: 88px 0 34px;
  max-width: none;
}
.ay-banner__track {
  position: relative;
  min-height: 300px;
  overflow: visible;
}
.ay-banner__slide {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}
.ay-banner__slide.is-on {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.ay-banner__slide.is-leaving {
  position: absolute;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  z-index: 2;
}
.ay-banner__content {
  max-width: 620px;
}
.ay-banner__kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 24px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--idca-primary);
  background: rgba(237, 233, 254, 0.9);
  border: 1px solid rgba(37, 99, 235, 0.15);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px -12px rgba(37, 99, 235, 0.35);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.ay-banner__kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ay-blue);
  box-shadow: 0 0 0 4px rgba(37, 99, 255, .16);
  animation: ayKickerPulse 2s ease-in-out infinite;
}
@keyframes ayKickerPulse {
  50% { box-shadow: 0 0 0 8px rgba(37, 99, 255, .05); }
}
.ay-banner__main h1 {
  margin: 0;
  font-size: 58px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--idca-text);
}
.ay-banner__main h1 em {
  font-style: normal;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  background: none;
}
.ay-banner__main h1 em .ay-bchar {
  color: transparent;
  background-image: linear-gradient(135deg, #2563eb 0%, #3b82f6 40%, #06b6d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ay-banner__sub {
  margin: 22px 0 0;
  font-size: 18px;
  line-height: 1.7;
  color: var(--idca-muted);
  max-width: 540px;
}
.ay-banner__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}
.ay-banner__btns .ay-btn--ai {
  box-shadow: 0 4px 16px -2px rgba(37, 99, 235, 0.4), 0 8px 32px -8px rgba(59, 130, 246, 0.3);
}
.ay-banner__trust {
  display: flex;
  gap: 32px;
  margin: 32px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid rgba(37, 99, 235, 0.1);
  list-style: none;
}
.ay-banner__trust li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ay-banner__trust b {
  font-size: 24px;
  font-weight: 700;
  color: transparent;
  background-image: var(--idca-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ay-banner__trust span {
  font-size: 13px;
  color: var(--idca-muted);
  font-weight: 500;
}
.ay-bchar {
  display: inline-block;
  white-space: pre;
  vertical-align: top;
  will-change: transform, opacity;
}
.ay-banner__slide.is-enter .ay-bchar {
  animation: ayBannerIn .55s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(var(--i, 0) * 20ms);
}
.ay-banner__slide.is-enter .ay-banner__kicker {
  animation: ayBannerRise .5s cubic-bezier(.22, 1, .36, 1) both;
}
.ay-banner__slide.is-enter .ay-banner__btns {
  animation: ayBannerBtnIn .4s ease both;
  animation-delay: .24s;
}
.ay-banner__slide.is-enter .ay-banner__trust {
  animation: ayBannerRise .5s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: .32s;
}
.ay-banner__slide.is-enter .ay-banner__stage {
  animation: ayBannerStageIn .7s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: .15s;
}
.ay-banner__slide.is-enter .ay-banner__chip {
  animation: ayBannerChipIn .5s cubic-bezier(.22, 1, .36, 1) both;
}
.ay-banner__slide.is-enter .ay-banner__chip--1 { animation-delay: .42s; }
.ay-banner__slide.is-enter .ay-banner__chip--2 { animation-delay: .54s; }
.ay-banner__slide.is-leave .ay-bchar {
  animation: ayBannerScatter .5s cubic-bezier(.4, 0, .2, 1) forwards;
  animation-delay: calc(var(--i, 0) * 12ms);
}
.ay-banner__slide.is-leave .ay-banner__kicker,
.ay-banner__slide.is-leave .ay-banner__btns,
.ay-banner__slide.is-leave .ay-banner__trust {
  animation: ayBannerBtnOut .3s ease forwards;
}
.ay-banner__slide.is-leave .ay-banner__stage {
  animation: ayBannerStageOut .4s ease forwards;
}
.ay-banner__slide.is-leave .ay-banner__chip {
  animation: ayBannerChipOut .35s ease forwards;
}
@keyframes ayBannerIn {
  0% {
    opacity: 0;
    transform: translate3d(var(--inx, 0), var(--iny, 28px), 0) rotate(var(--inr, 0deg)) scale(.9);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ayBannerScatter {
  0% {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translate3d(var(--dx, 0), var(--dy, -36px), 0) rotate(var(--dr, 0deg)) scale(.6);
  }
}
@keyframes ayBannerBtnIn {
  0% { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes ayBannerBtnOut {
  to { opacity: 0; transform: translateY(-8px); }
}
@keyframes ayBannerRise {
  0% { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
@keyframes ayBannerStageIn {
  0% { opacity: 0; transform: translateY(30px) scale(.94); }
  to { opacity: 1; transform: none; }
}
@keyframes ayBannerStageOut {
  to { opacity: 0; transform: translateY(-14px) scale(.97); }
}
@keyframes ayBannerChipIn {
  0% { opacity: 0; transform: translateY(14px) scale(.8); }
  to { opacity: 1; transform: none; }
}
@keyframes ayBannerChipOut {
  to { opacity: 0; transform: translateY(-10px) scale(.85); }
}
/* right visual — floating console card */
.ay-banner__stage {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -150px;
  width: 460px;
  height: 300px;
  pointer-events: none;
}
.ay-banner__ring {
  position: absolute;
  right: -6px;
  top: -60px;
  width: 420px;
  height: 420px;
  border: 1px dashed rgba(37, 99, 255, .22);
  border-radius: 50%;
  animation: ayRingSpin 40s linear infinite;
}
@keyframes ayRingSpin {
  to { transform: rotate(360deg); }
}
.ay-banner__card {
  --acc: #2563eb;
  --acc2: #3b82f6;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(1.5deg);
  width: 384px;
  border-radius: var(--idca-radius-lg);
  background: linear-gradient(165deg, rgba(255, 255, 255, .96) 0%, rgba(248, 250, 252, .88) 100%);
  border: 1px solid rgba(37, 99, 235, 0.08);
  box-shadow:
    0 32px 64px -20px rgba(37, 99, 235, .25),
    0 16px 32px -12px rgba(59, 130, 246, .15),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  overflow: hidden;
  z-index: 1;
}
.ay-banner__card::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -80px;
  width: 90%;
  height: 160px;
  transform: translateX(-50%);
  background: radial-gradient(60% 60% at 50% 50%, rgba(37, 99, 235, .22), transparent 72%);
  filter: blur(36px);
  pointer-events: none;
}
.ay-banner__slide:nth-child(2) .ay-banner__card { --acc: #0ea5e9; --acc2: #22d3ee; }
.ay-banner__slide:nth-child(3) .ay-banner__card { --acc: #3b82f6; --acc2: #ec4899; }
.ay-banner__slide:nth-child(4) .ay-banner__card { --acc: #16a34a; --acc2: #4ade80; }
.ay-banner__card-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(37, 99, 235, 0.08);
}
.ay-banner__card-head i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff5f57;
}
.ay-banner__card-head i:nth-child(2) { background: #febc2e; }
.ay-banner__card-head i:nth-child(3) { background: #28c840; }
.ay-banner__card-head b {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #4b5568;
}
.ay-banner__card-head span {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #0e9f6e;
}
.ay-banner__card-head span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .16);
}
.ay-banner__card-body {
  padding: 18px 16px 14px;
}
.ay-banner__card-metric {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.ay-banner__card-metric span {
  font-size: 12px;
  color: var(--ay-muted);
}
.ay-banner__card-metric b {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: var(--ay-text);
}
.ay-banner__card-metric i {
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: var(--acc);
}
.ay-banner__card-chart {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 90px;
  margin-top: 16px;
}
.ay-banner__card-chart span {
  flex: 1;
  height: var(--h, 50%);
  border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, var(--acc2), var(--acc));
  opacity: .88;
  transform-origin: bottom;
}
.ay-banner__slide.is-enter .ay-banner__card-chart span {
  animation: ayChartGrow .8s cubic-bezier(.22, 1, .36, 1) both;
}
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(1) { animation-delay: .2s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(2) { animation-delay: .26s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(3) { animation-delay: .32s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(4) { animation-delay: .38s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(5) { animation-delay: .44s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(6) { animation-delay: .5s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(7) { animation-delay: .56s; }
.ay-banner__slide.is-enter .ay-banner__card-chart span:nth-child(8) { animation-delay: .62s; }
@keyframes ayChartGrow {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}
.ay-banner__card-foot {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(37, 99, 235, 0.12);
}
.ay-banner__card-foot span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ay-muted);
}
.ay-banner__card-foot span i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
}
.ay-banner__chip {
  --acc: var(--idca-primary);
  position: absolute;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  color: #33415c;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .95);
  box-shadow: 0 14px 30px -12px rgba(37, 99, 235, 0.35);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  z-index: 2;
}
.ay-banner__chip i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acc);
  box-shadow: 0 0 0 3px rgba(37, 99, 255, .14);
}
.ay-banner__slide:nth-child(2) .ay-banner__chip { --acc: #0ea5e9; }
.ay-banner__slide:nth-child(3) .ay-banner__chip { --acc: #3b82f6; }
.ay-banner__slide:nth-child(4) .ay-banner__chip { --acc: #16a34a; }
.ay-banner__chip--1 { left: -6px; top: 6px; animation: ayChipFloat 6s ease-in-out infinite; }
.ay-banner__chip--2 { right: -14px; bottom: 12px; animation: ayChipFloat 6s ease-in-out infinite; animation-delay: -3s; }
@keyframes ayChipFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
  .ay-banner__slide.is-enter .ay-bchar,
  .ay-banner__slide.is-leave .ay-bchar,
  .ay-banner__slide.is-enter .ay-banner__btns,
  .ay-banner__slide.is-leave .ay-banner__btns,
  .ay-banner__slide.is-enter .ay-banner__kicker,
  .ay-banner__slide.is-enter .ay-banner__trust,
  .ay-banner__slide.is-enter .ay-banner__stage,
  .ay-banner__slide.is-enter .ay-banner__chip,
  .ay-banner__slide.is-leave .ay-banner__kicker,
  .ay-banner__slide.is-leave .ay-banner__trust,
  .ay-banner__slide.is-leave .ay-banner__stage,
  .ay-banner__slide.is-leave .ay-banner__chip,
  .ay-banner__slide.is-enter .ay-banner__card-chart span,
  .ay-banner__orb,
  .ay-banner__ring,
  .ay-banner__chip--1,
  .ay-banner__chip--2,
  .ay-banner__kicker::before {
    animation: none !important;
  }
}
.ay-banner__nav {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 26px;
}
.ay-banner__dots {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.ay-banner__dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(25, 40, 80, .18);
  cursor: pointer;
  transition: width .3s ease, border-radius .3s ease, background .3s ease, opacity .3s ease;
}
.ay-banner__dots button:hover { opacity: .7; }
.ay-banner__dots button.is-on {
  width: 26px;
  border-radius: 5px;
  background: var(--ay-blue);
  box-shadow: 0 4px 12px -4px rgba(37, 99, 235, 0.6);
}
.ay-banner__count {
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--ay-muted);
}
.ay-banner__count .ay-banner__cur {
  margin-right: 2px;
  font-size: 22px;
  font-weight: 700;
  color: var(--ay-text);
}
.ay-banner__arrows {
  display: flex;
  gap: 10px;
  margin-left: auto;
}
.ay-banner__arrow {
  position: relative;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(25, 40, 80, .16);
  border-radius: 50%;
  background: rgba(255, 255, 255, .85);
  color: #4b5568;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.ay-banner__arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  margin-left: 3px;
}
.ay-banner__arrow--next::before {
  border: 0;
  border-top: 1.6px solid currentColor;
  border-right: 1.6px solid currentColor;
  margin-left: 0;
  margin-right: 3px;
}
.ay-banner__arrow:hover {
  color: var(--ay-blue);
  border-color: rgba(37, 99, 235, 0.4);
  background: #fff;
  box-shadow: 0 10px 22px -10px rgba(37, 99, 235, 0.45);
  transform: translateY(-1px);
}
.ay-feats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 10px 0 48px;
}
.ay-feat {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--idca-radius);
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .8));
  border: 1px solid rgba(37, 99, 235, 0.06);
  box-shadow: var(--idca-shadow-sm);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-feat::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 2px;
  background: var(--idca-gradient);
  opacity: 0;
  transition: opacity .3s ease;
  border-radius: 1px;
}
.ay-feat:hover {
  transform: translateY(-6px);
  border-color: rgba(37, 99, 235, 0.15);
  box-shadow: var(--idca-shadow-lg);
}
.ay-feat:hover::after { opacity: 1; }
.ay-feat span:last-child b {
  display: block;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--idca-text);
  transition: color .25s ease;
}
.ay-feat:hover span:last-child b { color: var(--idca-primary); }
.ay-feat span:last-child i {
  display: block;
  margin-top: 5px;
  font-style: normal;
  font-size: 13px;
  line-height: 1.5;
  color: var(--idca-muted);
}
.ay-feat__ico {
  flex: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  display: block;
  object-fit: contain;
  border-radius: var(--idca-radius-sm);
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  border: 1px solid rgba(37, 99, 235, 0.1);
}
.ay-feat__sprite-box {
  position: relative;
  flex: none;
  width: 44px;
  height: 44px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--idca-radius-sm);
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  border: 1px solid rgba(37, 99, 235, 0.1);
}
.ay-feat__sprite {
  --icon: none;
  --steps: 35;
  --duration: 1.5s;
  position: absolute;
  top: -12px;
  left: -8px;
  display: block;
  width: 80px;
  height: 80px;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  background-image: var(--icon);
  background-repeat: no-repeat;
  background-size: auto 80px;
  background-position: 0 0;
  animation: ay-feat-sprite var(--duration) steps(var(--steps)) infinite;
}
@keyframes ay-feat-sprite {
  from { background-position-x: 0; }
  to { background-position-x: calc(-80px * var(--steps)); }
}
.ay-feat__grad {
  color: transparent !important;
  background-image: var(--idca-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ay-feat:hover .ay-feat__grad {
  background-image: linear-gradient(135deg, #1d4ed8 0%, #2563eb 50%, #0891b2 100%);
}

/* Hero: sticky left + right list */
.ay-hero {
  position: relative;
  display: grid;
  background: #fff;
  overflow: visible;
}
.ay-hero__bg {
  position: relative;
  overflow: visible;
}
@media (min-width: 1056px) {
  .ay-hero { display: grid; }
  .ay-hero__bg, .ay-hero__right { grid-area: 1 / 1; }
  .ay-hero__bg { min-height: 100%; }
  .ay-hero__left {
    position: sticky;
    top: var(--ay-nav);
    padding: 80px 0;
    width: calc(var(--ay-page-width) * 6 / 12 - 12px);
    margin-left: calc((100vw - var(--ay-page-width)) / 2);
    margin-right: auto;
    padding-right: 24px;
    z-index: 1;
    overflow: visible;
  }
  .ay-hero__right {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
    width: var(--ay-page-width);
    margin: 0 auto;
    padding: 80px 0;
    pointer-events: none;
    position: relative;
    z-index: 2;
  }
  .ay-hero__right > .ay-exp {
    grid-column: 7 / 13;
    margin-left: 28px;
    pointer-events: all;
    background: #fff;
  }
}
.ay-hero h1 {
  margin: 0;
  font-size: 48px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--idca-text);
  letter-spacing: -.03em;
}
.ay-hero .ay-btn { margin-top: 36px; }
.ay-hero__stage {
  position: relative;
  margin-top: 56px;
  overflow: visible;
}
.ay-hero__bloom {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: -28%;
  right: 24%;
  top: 40%;
  bottom: -28%;
  background:
    radial-gradient(110% 95% at 14% 100%, rgba(59,130,246,.85) 0%, rgba(37,99,235,.45) 32%, rgba(6,182,212,.22) 52%, rgba(250,251,255,0) 74%),
    radial-gradient(65% 60% at 30% 100%, rgba(236,72,153,.38) 0%, rgba(250,245,255,0) 66%);
  filter: blur(32px);
  clip-path: inset(-15% 0 -40% -50%);
}
.ay-hero__shot {
  position: relative;
  z-index: 1;
  aspect-ratio: 16 / 9;
  border-radius: var(--idca-radius);
  overflow: hidden;
  box-shadow: var(--idca-shadow-lg);
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e293b 100%);
}
.ay-hero__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ay-exp {
  display: flex;
  align-items: stretch;
  padding: 24px 0;
  border-bottom: 1px solid var(--idca-line);
  transition: all 0.25s ease;
}
.ay-exp:last-child { border-bottom: 0; }
.ay-exp:hover {
  padding-left: 8px;
}
.ay-exp__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.ay-exp__ico {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.ay-exp__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.ay-exp h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  transition: color 0.25s ease;
}
.ay-exp:hover h3 { color: var(--idca-primary); }
.ay-exp em {
  font-style: normal;
  font-size: 12px;
  line-height: 20px;
  padding: 2px 10px;
  border-radius: 999px;
  color: var(--idca-primary);
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.1);
}
.ay-exp p {
  margin: 24px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--ay-muted);
}
.ay-exp__media {
  width: 256px;
  height: 144px;
  margin-left: 40px;
  flex: none;
  border-radius: 12px;
  overflow: hidden;
  background: var(--idca-bg-light);
}
.ay-exp__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ay-sec { padding: 80px 0 0; }
.ay-sec h2 {
  margin: 0;
  font-size: 34px;
  line-height: 44px;
  font-weight: 600;
}
.ay-sec .ay-btn { margin-top: 32px; }

.ay-sec--prod {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.ay-sec--prod .ay-sec__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.ay-sec--prod .ay-sec__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}
.ay-sec--prod .ay-wrap { position: relative; z-index: 1; }
.ay-sec--prod .ay-sec__hd,
.ay-sec--sols .ay-sec__hd,
.ay-sec--rights .ay-sec__hd,
.ay-sec--cases .ay-sec__hd,
.ay-sec--infra .ay-sec__hd {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  text-align: left;
  gap: 24px;
}
.ay-sec--prod .ay-sec__hd .ay-btn,
.ay-sec--sols .ay-sec__hd .ay-btn,
.ay-sec--rights .ay-sec__hd .ay-btn,
.ay-sec--cases .ay-sec__hd .ay-btn {
  margin-top: 0;
  flex-shrink: 0;
}
.ay-sec--prod h2,
.ay-sec--sols h2,
.ay-sec--rights h2,
.ay-sec--cases h2,
.ay-sec--infra h2 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.ay-sec--prod .ay-prodbox {
  margin-top: 48px;
  min-height: auto;
  padding: 24px;
  border-radius: var(--idca-radius-lg);
  background: linear-gradient(135deg, #ffffff 0%, var(--idca-bg-light) 100%);
  border: 1px solid rgba(37, 99, 235, 0.06);
  box-shadow: var(--idca-shadow-lg);
  overflow: hidden;
}
.ay-sec--prod .ay-cats {
  margin-right: 0;
  margin-bottom: 24px;
  padding: 8px;
  background: var(--idca-bg-light);
  border-radius: 999px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.ay-sec--prod .ay-cats button {
  height: 44px;
  line-height: 44px;
  border-radius: 999px;
  padding: 0 20px;
  font-size: 15px;
}
.ay-sec--prod .ay-cats button.is-on {
  background: var(--idca-primary);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
  color: #fff;
}
.ay-sec--prod .ay-prodpanel {
  padding: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
  border-left: 0;
}
.ay-sec--prod .ay-prom {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  backdrop-filter: none;
  box-shadow: none;
  border: 1px solid rgba(37, 99, 235, 0.05);
}
.ay-sec--prod .ay-prom span {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  border-radius: var(--idca-radius-sm);
  background: var(--idca-primary);
  color: #fff;
  font-weight: 600;
  transition: all 0.25s ease;
}
.ay-sec--prod .ay-prom:hover span {
  background: var(--idca-primary-hover);
  transform: translateX(4px);
}
.ay-sec--prod .ay-normals {
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  border: 0;
  padding: 0;
}

.ay-prodbox {
  display: block;
  min-height: auto;
  margin-top: 32px;
}
.ay-cats {
  width: 100%;
  padding: 0;
  margin-right: 0;
  margin-bottom: 24px;
}
.ay-cats button {
  display: inline-block;
  width: auto;
  height: 44px;
  margin: 0 4px 0 0;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  font-size: 15px;
  line-height: 44px;
  text-align: center;
  color: var(--idca-subtle);
  cursor: pointer;
  transition: all 0.25s ease;
}
.ay-cats button:first-child { margin-top: 0; }
.ay-cats button:hover { color: var(--idca-primary); background: rgba(37,99,235,0.05); }
.ay-cats button.is-on {
  font-weight: 600;
  background: var(--idca-primary);
  color: #fff;
}
.ay-prodpanel {
  width: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}
.ay-prods { display: none; }
.ay-prods.is-on { display: block; }
.ay-proms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 16px;
}
.ay-prom {
  min-height: 200px;
  height: auto;
  padding: 28px;
  border-radius: var(--idca-radius);
  background: linear-gradient(135deg, #ffffff 0%, var(--idca-bg-light) 100%);
  border: 1px solid rgba(37, 99, 235, 0.06);
  box-shadow: var(--idca-shadow-sm);
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-prom:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: var(--idca-shadow-lg);
  border-color: rgba(37, 99, 235, 0.12);
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
}
.ay-prom h3, .ay-normals h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ay-prom:hover h3, .ay-normals a:hover h3 { color: var(--idca-primary); }
.ay-prom p, .ay-normals p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--idca-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ay-prom span {
  margin-top: auto;
  color: var(--idca-primary);
  font-size: 14px;
  font-weight: 600;
}
.ay-normals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
  padding: 0;
  min-height: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.ay-normals a { overflow: hidden; }

.ay-sols { margin-top: 56px; }
.ay-sols__shell {
  position: relative;
  height: auto;
  min-height: 480px;
  padding: 0;
  box-sizing: border-box;
}
.ay-sols__bg {
  position: absolute;
  inset: 0;
  border-radius: var(--idca-radius-lg);
  overflow: hidden;
  box-shadow: var(--idca-shadow-md);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
  opacity: 0.5;
}
.ay-sols__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 0;
  width: 100%;
  height: 100%;
}
.ay-sols__list {
  display: flex;
  flex-direction: column;
  padding: 24px;
  min-width: 0;
  gap: 4px;
}
.ay-sol {
  position: relative;
  box-sizing: border-box;
  flex: none;
  height: auto;
  min-height: 56px;
  padding: 16px 20px;
  margin-bottom: 0;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
  border-radius: var(--idca-radius-sm);
  border: 1px solid transparent;
  transition: all 0.25s ease;
}
.ay-sol:first-child { border-radius: var(--idca-radius-sm); }
.ay-sol:last-child { border-radius: var(--idca-radius-sm); margin-bottom: 0; }
.ay-sol:hover {
  background: rgba(37, 99, 235, 0.04);
  border-color: rgba(37, 99, 235, 0.08);
}
.ay-sol.is-on {
  background: rgba(37, 99, 235, 0.06);
  border-color: rgba(37, 99, 235, 0.15);
  padding: 20px;
}
.ay-sol h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: var(--idca-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .25s;
}
.ay-sol:hover h3 { color: var(--idca-primary); }
.ay-sol.is-on h3 {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  padding-right: 0;
  white-space: normal;
}
.ay-sol p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--idca-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.ay-sol__act {
  position: relative;
  left: auto;
  bottom: auto;
  margin-top: 16px;
  display: flex;
  align-items: center;
}
.ay-sol:not(.is-on) p,
.ay-sol:not(.is-on) .ay-sol__act { display: none; }
.ay-sol__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #fff !important;
  background: var(--idca-primary);
  transition: all 0.25s ease;
}
.ay-sol__more:hover {
  background: var(--idca-primary-hover);
  transform: translateX(4px);
}
.ay-sol__sub {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  margin-left: 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: var(--idca-subtle) !important;
  background: rgba(37, 99, 235, 0.06);
  transition: all 0.25s ease;
}
.ay-sol__sub:hover {
  color: var(--idca-primary) !important;
  background: rgba(37, 99, 235, 0.1);
}
.ay-sols__stage {
  position: relative;
  flex: 2;
  min-width: 0;
}
.ay-sols__shot {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 80px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease-out;
}
.ay-sols__shot.is-on {
  opacity: 1;
  pointer-events: auto;
}
.ay-sols__frame {
  position: relative;
  width: 100%;
  max-width: 700px;
}
.ay-sols__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1.6 / 1;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 24px #0000001a;
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e293b 100%);
}
.ay-sols__media video,
.ay-sols__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.ay-sols__poster {
  z-index: 1;
  pointer-events: none;
  transition: opacity .5s linear;
}
.ay-sols__media.is-play .ay-sols__poster { opacity: 0; }
.ay-sols__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  padding: 0;
  border: 0;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 6px 24px #0000001a;
  cursor: pointer;
  transform: none;
  transition: background-color .3s, opacity .3s;
}
.ay-sols__play:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-left: 6px;
  border-style: solid;
  border-width: 14px 0 14px 24px;
  border-color: transparent transparent transparent var(--idca-primary);
  transition: border-color .3s;
}
.ay-sols__play:hover { background: var(--idca-primary); }
.ay-sols__play:hover:before { border-left-color: #fff; }
.ay-sols__media.is-play .ay-sols__play {
  opacity: 0;
  pointer-events: none;
}
.ay-sols__media.is-play:hover .ay-sols__play {
  opacity: 1;
  pointer-events: auto;
}
.ay-sols__media.is-play .ay-sols__play:before {
  width: 18px;
  height: 24px;
  margin-left: 0;
  border: 0;
  border-left: 6px solid var(--idca-primary);
  border-right: 6px solid var(--idca-primary);
  box-sizing: border-box;
}
.ay-sols__media.is-play .ay-sols__play:hover:before {
  border-left-color: #fff;
  border-right-color: #fff;
}
.ay-sols__mark {
  position: absolute;
  z-index: 3;
  width: 70px;
  height: 70px;
  top: -35px;
  left: -35px;
  pointer-events: none;
  object-fit: contain;
}

.ay-rights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  gap: 20px;
  margin-top: 56px;
}
.ay-rights__lg {
  grid-column: span 2;
  grid-row: span 1;
}
.ay-rights__md {
  grid-column: span 1;
  grid-row: span 1;
}
.ay-rights__sm { grid-column: span 1; }
.ay-right {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--idca-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--idca-shadow-md);
  background-repeat: no-repeat;
  background-position: right top;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-right:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-lg);
}
.ay-right--token {
  background-image: url("../img/rights-1.png");
  background-size: 868px auto;
}
.ay-right--free {
  background-image: url("../img/rights-2.png");
  background-size: 422px auto;
}
.ay-right--dark {
  background-image: url("../img/rights-3.png");
  background-size: cover;
  background-position: center;
  padding: 24px;
  justify-content: space-between;
  color: #fff;
}
.ay-right--blue {
  padding: 24px;
  justify-content: space-between;
  color: #fff;
  background: var(--idca-gradient);
}
a.ay-right--dark,
a.ay-right--blue,
.ay-right--dark,
.ay-right--blue,
.ay-right--dark h3,
.ay-right--blue h3,
.ay-right--dark p,
.ay-right--blue p {
  color: #fff !important;
}
.ay-right__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px 24px 24px;
}
.ay-right__top h3 {
  margin: 0;
  font-size: 26px;
  line-height: 40px;
  font-weight: 600;
}
.ay-right__top p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--ay-subtle);
}
.ay-right__go {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  backdrop-filter: blur(10px);
  color: inherit;
}
.ay-right__go i {
  width: 10px;
  height: 10px;
}
.ay-right--token .ay-right__go,
.ay-right--free .ay-right__go {
  background: rgba(255,255,255,.55);
  color: var(--idca-text);
}
.ay-right__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 40px -6px rgba(0,0,0,.08);
}
.ay-right__item {
  padding: 16px;
}
.ay-right__item img {
  display: block;
  width: 32px;
  height: 32px;
}
.ay-right__item b {
  display: block;
  margin-top: 16px;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
}
.ay-right--token .ay-right__item:first-child b { color: var(--ay-blue); }
.ay-right__item span {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  line-height: 24px;
  color: var(--ay-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ay-right--free .ay-right__grid { grid-template-columns: 1fr; }
.ay-right--dark .ay-right__top,
.ay-right--blue .ay-right__top { padding: 0; }
.ay-right--dark .ay-right__go,
.ay-right--blue .ay-right__go { color: #fff; }
.ay-right--dark h3,
.ay-right--blue h3 {
  margin: 8px 0 0;
  font-size: 44px;
  line-height: 60px;
  font-weight: 400;
}
.ay-right--dark p,
.ay-right--blue p {
  margin: 4px 0 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: inherit;
}
.ay-right--blue img {
  width: 40px;
  height: 40px;
}
.ay-right:hover h3 { color: var(--ay-blue); }
.ay-right--dark:hover,
.ay-right--blue:hover,
.ay-right--dark:hover h3,
.ay-right--blue:hover h3,
.ay-right--dark:hover p,
.ay-right--blue:hover p { color: #fff !important; }

.ay-cases__logos {
  margin-top: 56px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 120px, #000 calc(100% - 120px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 120px, #000 calc(100% - 120px), transparent);
}
.ay-cases__row {
  overflow: hidden;
}
.ay-cases__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: ay-cases-marquee 100s linear infinite;
}
.ay-cases__row--rtl .ay-cases__track {
  animation-name: ay-cases-marquee-rtl;
}
.ay-cases__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 144px;
  height: 32px;
  margin: 12px 0;
  flex: none;
}
.ay-cases__logo img {
  display: block;
  max-width: 120px;
  max-height: 28px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
}
@keyframes ay-cases-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes ay-cases-marquee-rtl {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
.ay-cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 20px;
  margin-top: 48px;
}
.ay-case {
  min-width: 0;
  height: 100%;
  padding: 28px;
  border-radius: var(--idca-radius);
  overflow: hidden;
  background-image: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.7) 100%);
  box-shadow: var(--idca-shadow-sm);
  backdrop-filter: blur(40px);
  border: 1px solid rgba(37, 99, 235, 0.04);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-case:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-lg);
  border-color: rgba(37, 99, 235, 0.1);
}
.ay-case em {
  display: inline-block;
  align-self: flex-start;
  width: auto;
  flex: none;
  padding: 2px 12px;
  border-radius: 999px;
  font-style: normal;
  font-size: 12px;
  line-height: 1.6;
  color: var(--idca-primary);
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.1);
}
.ay-case h3 {
  margin: 16px 0 0;
  font-size: 24px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--idca-text);
  letter-spacing: -.01em;
}
.ay-case p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--idca-muted);
}
.ay-case__name {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: var(--idca-muted);
}
.ay-case__brand {
  display: block;
  height: 56px;
  width: auto;
  max-width: 160px;
  margin-bottom: 40px;
  object-fit: contain;
  object-position: left center;
}
.ay-case__pic {
  min-width: 0;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
}
.ay-case__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ay-case--olympics {
  grid-column: span 2;
  grid-row: span 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ay-case--olympics h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.ay-case__cover {
  display: block;
  width: 100%;
  height: 200px;
  margin-top: 24px;
  border-radius: var(--idca-radius-sm);
  object-fit: cover;
  object-position: right center;
}
.ay-case--xpeng {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ay-case__half {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.ay-case--sm {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ay-case--sm p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.ay-case--gala {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ay-case__copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

.ay-sec--infra {
  padding: 80px 0 0;
  overflow: hidden;
}
.ay-sec--infra .ay-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ay-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  width: 100%;
  margin-top: 48px;
  text-align: left;
}
.ay-stats > div {
  grid-column: span 1;
  padding: 24px;
  border-radius: var(--idca-radius);
  background: #fff;
  border: 1px solid var(--idca-line);
  box-shadow: var(--idca-shadow-sm);
  transition: all 0.3s ease;
}
.ay-stats > div:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-md);
  border-color: rgba(37, 99, 235, 0.1);
}
.ay-stats__num {
  margin: 0;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  color: transparent;
  background-image: var(--idca-gradient);
  -webkit-background-clip: text;
  background-clip: text;
}
.ay-stats__num em {
  margin-right: 4px;
  font-style: normal;
  font-size: 56px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.02em;
}
.ay-stats p {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--idca-muted);
  font-weight: 500;
}
.ay-sec--infra .ay-btn { margin-top: 40px; }
.ay-infra__globe {
  position: relative;
  width: 100%;
  height: min(38vw, 640px);
  margin-top: 24px;
  overflow: hidden;
}
.ay-infra__earth {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.ay-infra__earth ._4c3ab08c0a8d8ac32d24f79f94d44713_container {
  width: 100%;
  height: 100%;
  background: transparent;
}
.ay-infra__globe.is-live .ay-infra__globe-fallback { display: none; }
.ay-infra__globe-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.ay-certs {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  padding: 48px 0;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 50%, rgba(0,0,0,0) 99%) 1;
}
.ay-certs > div {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ay-certs img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.ay-certs p {
  margin: 16px 0 0;
  font-size: 12px;
  line-height: 20px;
  color: var(--idca-muted);
}

.ay-cta {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.ay-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.ay-cta__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}
.ay-cta__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  gap: 20px;
}
.ay-cta__hero {
  grid-column: span 1;
  grid-row: span 2;
  padding: 28px;
  border-radius: var(--idca-radius);
  background: var(--idca-gradient);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.ay-cta__hero::before {
  content: '';
  position: absolute;
  top: -50%; right: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%);
  pointer-events: none;
}
.ay-cta__hero h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.02em;
  position: relative;
}
.ay-cta__hero .ay-btn {
  align-self: flex-start;
  margin-top: 0;
  height: 40px;
  padding: 0 20px;
  line-height: 40px;
  font-size: 14px;
  position: relative;
}
.ay-cta__card {
  grid-column: span 2;
  padding: 28px;
  border-radius: var(--idca-radius);
  display: flex;
  flex-direction: column;
  background-image: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.7) 100%);
  box-shadow: var(--idca-shadow-sm);
  backdrop-filter: blur(40px);
  border: 1px solid rgba(37, 99, 235, 0.04);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-cta__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-lg);
  border-color: rgba(37, 99, 235, 0.1);
}
.ay-cta__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ay-cta__top img {
  display: block;
  width: 28px;
  height: 28px;
}
.ay-cta__top .ay-ico-up {
  color: var(--idca-muted);
}
.ay-cta__card h3 {
  margin: 12px 0 0;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--idca-text);
  transition: color .3s;
}
.ay-cta__card:hover h3 { color: var(--idca-primary); }
.ay-cta__card p {
  margin: auto 0 0;
  padding-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--idca-muted);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ay-aiban {
  position: relative;
  margin-top: 80px;
  overflow: hidden;
  border-radius: var(--ay-radius);
  min-height: 320px;
}
.ay-aiban__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  pointer-events: none;
}
.ay-aiban__body {
  position: relative;
  z-index: 1;
  padding: 80px 24px 24px;
  text-align: center;
  color: #fff;
}
.ay-aiban h2 {
  margin: 0;
  min-height: 72px;
  font-size: 48px;
  line-height: 72px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .02em;
}
.ay-aiban h2 em {
  font-style: normal;
  background-image: var(--idca-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ay-aiban__sub {
  margin: 8px 0 0;
  font-size: 20px;
  line-height: 32px;
  font-weight: 500;
  color: #fff;
}
.ay-aiban__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 32px;
}
.ay-aiban__links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 4px;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  border-bottom: 1px dashed rgba(255,255,255,.55);
}
.ay-aiban__links a:hover {
  border-bottom-color: #fff;
}
.ay-aiban__links .ay-ico-up {
  color: #fff;
}
.ay-aiban__src {
  margin: 80px 0 0;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  opacity: .5;
}

/* IDCA: title char fadein + block slideup, only after in-view */
.ay-in .ay-char {
  animation: ayFadeIn .3s linear backwards;
  animation-delay: calc(var(--i, 0) * 40ms);
}
.ay-in.ay-fade,
.ay-in .ay-fade {
  animation: ayFadeIn .3s linear backwards;
  animation-delay: var(--d, .2s);
}
.ay-in.ay-slide {
  animation: aySlideUp .3s linear backwards;
}
@keyframes ayFadeIn {
  0% { opacity: 0; filter: blur(20px); }
  to { opacity: 1; filter: blur(0); }
}
@keyframes aySlideUp {
  0% { opacity: 0; transform: translateY(48px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ay-in .ay-char,
  .ay-in.ay-fade,
  .ay-in .ay-fade,
  .ay-in.ay-slide {
    animation: none !important;
  }
}

/* Inner product pages */
.ay-inner { background: #fff; }
.ay-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px;
  font-size: 12px;
  line-height: 20px;
  color: var(--idca-muted);
}
.ay-crumb a:hover { color: var(--ay-blue); }
.ay-phero {
  padding: 48px 0 64px;
  background: linear-gradient(180deg, var(--idca-bg-light) 0%, #fff 100%);
}
.ay-phero__grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 48px;
  align-items: center;
}
.ay-phero h1 {
  margin: 0;
  font-size: 48px;
  line-height: 64px;
  font-weight: 600;
  color: var(--ay-text);
}
.ay-tag {
  display: inline-flex;
  align-items: center;
  height: 28px;
  margin-top: 16px;
  padding: 0 12px;
  border-radius: 14px;
  background: var(--idca-tag);
  color: var(--ay-blue);
  font-size: 12px;
  line-height: 28px;
  font-weight: 500;
}
.ay-phero > .ay-wrap p,
.ay-phero__copy p {
  margin: 16px 0 0;
  max-width: 560px;
  font-size: 16px;
  line-height: 28px;
  color: var(--idca-muted);
}
.ay-phero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.ay-phero__art {
  min-height: 280px;
  border-radius: var(--ay-radius);
  overflow: hidden;
  background: #0f1b33;
}
.ay-phero__art img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.ay-intro { padding: 40px 0 80px; }
.ay-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.ay-intro h2 {
  margin: 0;
  font-size: 32px;
  line-height: 44px;
  font-weight: 600;
}
.ay-intro p {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--idca-muted);
}
.ay-intro .ay-btn { margin-top: 32px; }
.ay-intro__pic {
  border-radius: var(--ay-radius);
  overflow: hidden;
  background: var(--idca-bg-light);
  min-height: 240px;
}
.ay-intro__pic img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
.ay-cards {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  margin-top: 40px;
}
.ay-card3, .ay-card4 {
  padding: 24px;
  border-radius: var(--ay-radius);
  background: var(--idca-bg-light);
  box-shadow: 0 8px 24px -4px rgba(0,0,0,.04);
}
.ay-card3 { grid-column: span 4; }
.ay-card4 { grid-column: span 3; }
.ay-cards h3 {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
}
.ay-cards p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--idca-muted);
}
.ay-rel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  margin-top: 40px;
}
.ay-rel a {
  grid-column: span 4;
  padding: 24px;
  border-radius: var(--ay-radius);
  background-image: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.4) 100%), linear-gradient(180deg, #fff 2%, rgba(255,255,255,0) 99%);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.04), 0 24px 32px -16px rgba(37,99,235,0.08);
}
.ay-rel a:hover h3 { color: var(--ay-blue); }
.ay-rel h3 {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
}
.ay-rel p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--idca-muted);
}
.ay-buy {
  margin: 40px 0 80px;
  padding: 48px 24px;
  border-radius: var(--ay-radius);
  background: var(--idca-primary);
  background-image: var(--ay-ai);
  color: #fff;
  text-align: center;
}
.ay-buy h2 {
  margin: 0;
  font-size: 32px;
  line-height: 44px;
  font-weight: 600;
  color: #fff;
}
.ay-buy p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 24px;
  color: rgba(255,255,255,.8);
}
.ay-buy .ay-btn { margin-top: 24px; }
.ay-about p {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 28px;
  color: var(--idca-muted);
}

/* Docs / news / legal */
.ay-phero--doc { padding: 40px 0 48px; }
.ay-phero--doc h1 { max-width: 900px; }
.ay-phero__lead {
  margin: 12px 0 0 !important;
  max-width: 720px !important;
  font-size: 16px !important;
  line-height: 28px !important;
  color: var(--idca-muted) !important;
}
.ay-search {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  max-width: 640px;
}
.ay-search input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--idca-line);
  border-radius: 8px;
  font-size: 14px;
  outline: none;
  background: #fff;
}
.ay-search input:focus { border-color: var(--idca-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.ay-search button {
  height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 8px;
  background: var(--ay-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.ay-search__hint {
  margin: 0 0 16px;
  font-size: 14px;
  color: var(--idca-muted);
}
.ay-docgrid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
}
.ay-doc {
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
  padding: 24px;
  border-radius: var(--ay-radius);
  background: var(--idca-bg-light);
  box-shadow: 0 8px 24px -4px rgba(0,0,0,.04);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ay-doc:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -8px rgba(37,99,235,.18);
}
.ay-doc h3 {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: var(--ay-text);
}
.ay-doc span {
  margin-top: 16px;
  font-size: 13px;
  color: var(--ay-blue);
  font-weight: 500;
}
.ay-cards--svc a.ay-card3 {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ay-cards--svc a.ay-card3:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -8px rgba(37,99,235,.16);
}
.ay-doclayout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 40px;
  align-items: start;
}
.ay-doclist { display: flex; flex-direction: column; gap: 12px; }
.ay-docrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-radius: 12px;
  background: var(--idca-bg-light);
}
.ay-docrow:hover { background: rgba(37, 99, 235, 0.04); }
.ay-docrow h3 {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--ay-text);
}
.ay-docrow span {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--idca-muted);
}
.ay-docside {
  padding: 24px;
  border-radius: var(--ay-radius);
  background: var(--idca-bg-light);
  position: sticky;
  top: 88px;
}
.ay-docside h3 {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 600;
}
.ay-docside ul { margin: 0; padding: 0; list-style: none; }
.ay-docside li { margin: 0 0 10px; }
.ay-docside a {
  font-size: 14px;
  line-height: 22px;
  color: var(--idca-muted);
}
.ay-docside a:hover { color: var(--ay-blue); }
.ay-article {
  padding: 8px 0 40px;
  min-width: 0;
}
.ay-article__body {
  font-size: 15px;
  line-height: 1.8;
  color: var(--idca-subtle);
  word-break: break-word;
}
.ay-article__body img { max-width: 100%; height: auto; }
.ay-article__body pre,
.ay-article__body code { white-space: pre-wrap; word-break: break-word; }
.ay-empty {
  padding: 64px 24px;
  text-align: center;
  color: var(--idca-muted);
  background: var(--idca-bg-light);
  border-radius: var(--ay-radius);
}
.ay-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--idca-line);
}
.ay-tabs__item {
  height: 36px;
  padding: 0 16px;
  border-radius: 18px;
  line-height: 36px;
  font-size: 14px;
  color: var(--idca-muted);
  background: var(--idca-bg-light);
}
.ay-tabs__item.is-on,
.ay-tabs__item:hover {
  color: #fff;
  background: var(--ay-blue);
}
.ay-legal {
  max-width: 920px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--idca-subtle);
}
.ay-legal p { margin: 0 0 16px; }
.ay-legal strong { color: var(--ay-text); }

.ay-foot {
  background: #fff;
  color: #64748b;
  border-top: 1px solid #eef0f4;
}
.ay-foot__inner {
  padding: 48px 24px 24px;
  margin: 0 24px;
}
.ay-foot__grid {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #eef0f4;
  padding-bottom: 32px;
  min-height: 180px;
}
.ay-foot section { flex: 1; min-width: 0; }
.ay-foot h4 {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
  letter-spacing: .5px;
  color: #25345c;
}
.ay-foot ul { margin: 0; padding: 0; list-style: none; }
.ay-foot li, .ay-foot a {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 24px;
  color: #64748b;
  letter-spacing: .5px;
  transition: color 0.25s ease;
}
.ay-foot a:hover { color: var(--idca-primary-light) !important; }
.ay-foot__links { padding: 16px 0; }
.ay-foot__links a { display: inline-block; margin-right: 35px; color: #3b82f6; }
.ay-foot__copy {
  padding-top: 24px;
  border-top: 1px solid #eef0f4;
  font-size: 14px;
  line-height: 20px;
  color: #8c95a6;
  letter-spacing: .5px;
}
.ay-foot__records {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px 24px;
  margin-top: 14px;
  font-size: 13px;
  line-height: 20px;
  color: #8c95a6;
}
.ay-foot__record {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  color: #8c95a6;
}
.ay-foot__record img {
  width: 18px;
  height: 20px;
  flex: 0 0 18px;
  display: block;
  object-fit: contain;
}
.ay-foot__record span {
  line-height: 20px;
}
.ay-foot__record--police img {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}
.ay-foot__record:hover { color: var(--idca-primary-light) !important; }
@media (max-width: 1055px) {
  :root { --ay-nav: 42px; --ay-page-margin: 16px; --ay-page-width: calc(100vw - 32px); }
  .ay-page { padding-top: 42px; }
  .ay-nav {
    height: 42px;
    background-color: #fff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: inset 0 -1px var(--idca-line);
  }
  .ay-nav__bar {
    justify-content: space-between;
    flex-wrap: nowrap;
    height: 42px;
    padding: 0 7px 0 16px;
    overflow: hidden;
  }
  .ay-nav__logo {
    margin: 0;
    height: 42px;
  }
  .ay-nav__logo img { height: 20px; max-width: 88px; }
  .ay-nav__logo strong { font-size: 15px; }
  .ay-nav__menus { display: none !important; }
  .ay-nav__burger-wrap { display: none !important; }
  .ay-nav__right {
    display: flex;
    flex-wrap: nowrap;
    flex: none;
    height: 42px;
    margin: 0;
  }
  .ay-nav__right > a:not(.ay-nav__icon) { display: none !important; }
  .ay-nav__right > .ay-nav__icon,
  .ay-nav__right > a.ay-nav__icon {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 42px !important;
    line-height: 42px !important;
    background: transparent !important;
    color: var(--idca-text) !important;
  }
  .ay-nav__icon {
    display: flex;
    width: 42px;
    height: 42px;
  }
  body.ay-page.idca-ca-page .ay-nav .idca-topbar__search,
  body.ay-page.idca-ca-page .ay-nav #idcaSearchWrap,
  .ay-page.idca-ca-page header.ay-nav .idca-topbar__search {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
  }
  .ay-msearch {
    display: none;
    position: fixed;
    left: 0; right: 0; top: 42px; bottom: 0;
    z-index: 999;
    background: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .ay-msearch.is-open { display: block; }
  .ay-nav.is-msearch .ay-nav__msearch-ico { display: none; }
  .ay-nav.is-msearch .ay-nav__msearch {
    position: relative;
  }
  .ay-nav.is-msearch .ay-nav__msearch:before,
  .ay-nav.is-msearch .ay-nav__msearch:after {
    content: "";
    position: absolute;
    left: 12px; top: 20px;
    width: 18px; height: 2px;
    background: #717171;
  }
  .ay-nav.is-msearch .ay-nav__msearch:before { transform: rotate(45deg); }
  .ay-nav.is-msearch .ay-nav__msearch:after { transform: rotate(-45deg); }
  .ay-msearch__row {
    display: flex;
    align-items: center;
    padding: 12px 8px 8px 16px;
    gap: 8px;
  }
  .ay-msearch__bar {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    flex: 1;
    min-width: 0;
    height: 40px;
    margin: 0;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #00000026;
  }
  .ay-msearch__bar:focus-within { border-color: var(--idca-primary); }
  .ay-msearch__bar:after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 6px; right: 6px; top: 8px;
    height: 40px;
    pointer-events: none;
    opacity: .17;
    filter: blur(24px);
    background: radial-gradient(100% 500% at 0% 0%, #ff915e 0%, #7f5bff 33%, #0061ff 78%, #4096ff 100%);
  }
  .ay-msearch__bar input {
    flex: 1;
    min-width: 0;
    height: 38px;
    margin: 0;
    padding: 0 12px;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--idca-text);
  }
  .ay-msearch__bar input::placeholder { color: rgba(0,0,0,.4); }
  .ay-msearch__scope {
    display: flex;
    align-items: center;
    flex: none;
    padding: 0 10px;
    font-size: 14px;
    color: var(--idca-text);
    border-left: 1px solid #e8e8e8;
    white-space: nowrap;
  }
  .ay-msearch__scope i {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-right: 1.5px solid var(--idca-line-b);
    border-bottom: 1.5px solid var(--idca-line-b);
    transform: rotate(45deg) translateY(-2px);
  }
  .ay-msearch__bar button[type="submit"] {
    flex: none;
    width: 72px;
    border: 0;
    background: var(--idca-primary);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
  }
  .ay-msearch__cancel {
    flex: none;
    height: 40px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    font-size: 14px;
    color: var(--idca-text);
    cursor: pointer;
    white-space: nowrap;
  }
  .ay-msearch__body { padding: 8px 16px 24px; }
  .ay-msearch__sec { margin-bottom: 20px; }
  .ay-msearch__hd {
    display: flex;
    align-items: center;
    height: 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 16px;
    color: var(--idca-text);
  }
  .ay-msearch__clear {
    margin-left: auto;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--idca-muted);
    cursor: pointer;
  }
  .ay-msearch__hist { margin-top: 12px; }
  .ay-msearch__hist a,
  .ay-msearch__hist button {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 8px 0;
    border: 0;
    background: transparent;
    font-size: 14px;
    line-height: 22px;
    color: var(--idca-text);
    text-align: left;
    cursor: pointer;
  }
  .ay-msearch__hist em {
    flex: none;
    width: 18px;
    margin-right: 8px;
    font-style: normal;
    color: #8c8c8c;
  }
  .ay-msearch__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 12px;
  }
  .ay-msearch__tags a {
    height: 26px;
    line-height: 24px;
    padding: 0 8px;
    border: 1px solid var(--idca-line);
    font-size: 12px;
    color: var(--idca-text);
    box-sizing: border-box;
  }
  .ay-mdrawer {
    display: none;
    position: fixed;
    left: 0; right: 0; top: 0; bottom: 0;
    flex-direction: column;
    z-index: 1001;
    background: #fff;
  }
  .ay-mdrawer.is-open {
    display: flex;
  }
  .ay-mdrawer__hd {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: none;
    height: 42px;
    padding: 0 7px 0 16px;
    border-bottom: 1px solid #E2E2E2;
    background-color: var(--idca-bg-light);
  }
  .ay-mdrawer__x {
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
  }
  .ay-mdrawer__x:before,
  .ay-mdrawer__x:after {
    content: "";
    position: absolute;
    left: 12px; top: 20px;
    width: 18px; height: 2px;
    background: #717171;
  }
  .ay-mdrawer__x:before { transform: rotate(45deg); }
  .ay-mdrawer__x:after { transform: rotate(-45deg); }
  .ay-mdrawer__quick {
    position: relative;
    z-index: 1;
    height: 40px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    font-size: 12px;
    border-bottom: 1px solid #D8D8D8;
    background: #fff;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ay-mdrawer__quick::-webkit-scrollbar { display: none; }
  .ay-mdrawer__quick a,
  .ay-mdrawer__lang {
    color: var(--ay-text);
    margin-left: 16px;
    white-space: nowrap;
    flex: none;
  }
  .ay-mdrawer__lang {
    display: flex;
    align-items: center;
    margin-left: 0;
  }
  .ay-mdrawer__lang i {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 3px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/><path d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18' fill='none' stroke='black' stroke-width='1.8'/></svg>") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/><path d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18' fill='none' stroke='black' stroke-width='1.8'/></svg>") center/contain no-repeat;
  }
  .ay-mdrawer__body {
    flex: 1;
    display: flex;
    overflow: hidden;
  }
  .ay-mdrawer__menus,
  .ay-mdrawer__detail {
    overflow-x: hidden;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .ay-mdrawer__menus::-webkit-scrollbar,
  .ay-mdrawer__detail::-webkit-scrollbar { width: 0; }
  .ay-mdrawer__menus {
    width: 140px;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: var(--idca-bg-light);
  }
  .ay-mdrawer__cat.is-on { background-color: #fff; }
  .ay-mdrawer__ttl {
    position: relative;
    display: block;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 16px;
    cursor: pointer;
    color: var(--ay-text);
  }
  .ay-mdrawer__navs { display: none; }
  .ay-mdrawer__cat.is-on > .ay-mdrawer__ttl { color: var(--ay-blue); }
  .ay-mdrawer__cat.is-on > .ay-mdrawer__ttl:before {
    content: " ";
    position: absolute;
    width: 4px;
    height: 16px;
    left: 0;
    top: 12px;
    background-color: var(--ay-blue);
  }
  .ay-mdrawer__cat.is-on > .ay-mdrawer__navs { display: block; }
  .ay-mdrawer__sub {
    display: block;
    font-size: 12px;
    line-height: 18px;
    padding: 11px 16px 11px 32px;
    cursor: pointer;
    color: var(--ay-text);
  }
  .ay-mdrawer__sub.is-on {
    color: var(--ay-blue);
    cursor: default;
  }
  .ay-mdrawer__detail {
    flex: 1;
    padding: 0 15px;
    background-color: #fff;
    box-shadow: -3px 1px 3px #0000000d;
  }
  .ay-mdrawer__pane { display: none; }
  .ay-mdrawer__pane.is-on { display: block; }
  .ay-mdrawer__name {
    display: block;
    height: 55px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 55px;
    border-bottom: 1px solid #E2E2E2;
    color: var(--ay-text);
  }
  .ay-mdrawer__detail ul { margin: 0; padding: 0; list-style: none; }
  .ay-mdrawer__detail > .ay-mdrawer__pane > ul > li > a {
    display: block;
    font-size: 12px;
    line-height: 24px;
    padding: 8px 0;
    color: var(--ay-text);
  }
  .ay-mdrawer__gname {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    font-size: 14px;
    line-height: 24px;
    text-align: left;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--ay-text);
    cursor: pointer;
  }
  .ay-mdrawer__gname i {
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--idca-line-b);
    border-bottom: 1.5px solid var(--idca-line-b);
    transform: rotate(-45deg);
    transition: transform .3s ease-out;
  }
  .ay-mdrawer__group.is-on .ay-mdrawer__gname i { transform: rotate(45deg); }
  .ay-mdrawer__group nav { display: none; padding-left: 16px; }
  .ay-mdrawer__group.is-on nav { display: block; }
  .ay-mdrawer__group nav a {
    display: block;
    font-size: 12px;
    line-height: 24px;
    padding: 8px 0;
    color: var(--ay-text);
  }
  body.ay-nav-lock { overflow: hidden; }

  /* Banner — title over video, glass cards below */
  .ay-banner {
    min-height: 0;
    padding-bottom: 24px;
    background: #f5f6f8;
  }
  .ay-banner__bg { opacity: .55; }
  .ay-banner__medias {
    inset: auto;
    top: 0; left: 0; right: 0;
    height: 400px;
  }
  .ay-banner__video {
    inset: auto;
    top: 0; left: 0; right: 0;
    height: 400px;
    object-fit: cover;
    object-position: center top;
  }
  .ay-banner__video.is-on { opacity: 1; }
  .ay-banner__shade {
    inset: auto;
    top: 0; left: 0; right: 0;
    height: 400px;
    background: linear-gradient(0deg, #f5f6f8 0%, rgba(245,246,248,.42) 40%, rgba(245,246,248,0) 74%);
  }
  .ay-banner__main { padding: 176px 0 14px; }
  .ay-banner__track { min-height: 214px; }
  .ay-banner__content { max-width: 520px; }
  .ay-banner__kicker { margin-bottom: 12px; font-size: 12px; }
  .ay-banner__main h1 { font-size: 28px; line-height: 40px; max-width: 520px; }
  .ay-banner__sub { font-size: 15px; line-height: 26px; margin-top: 14px; max-width: 480px; }
  .ay-banner__btns {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 22px;
  }
  .ay-banner__btns .ay-btn { height: 42px; line-height: 42px; }
  .ay-banner__btns .ay-btn--ai { flex: 1; justify-content: center; }
  .ay-banner__btns .ay-btn--ghost { flex: none; padding: 0 21px; }
  .ay-banner__trust,
  .ay-banner__stage { display: none; }
  .ay-banner__nav { margin-top: 14px; gap: 14px; }
  .ay-banner__arrows { gap: 8px; }
  .ay-banner__arrow { width: 34px; height: 34px; }

  /* 4 shortcuts: 2-col glass cards */
  .ay-feats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 0 6px;
  }
  .ay-feat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 14px;
    border-radius: 14px;
    min-height: 0;
  }
  .ay-feat span:last-child b {
    font-size: 14px;
    line-height: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .ay-feat span:last-child i {
    margin-top: 3px;
    font-size: 12px;
    line-height: 17px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .ay-feat__ico { width: 34px; height: 34px; padding: 7px; }
  .ay-feat__sprite-box {
    width: 34px;
    height: 34px;
    margin: 0;
    overflow: hidden;
  }
  .ay-feat__sprite {
    top: -13px;
    left: -9px;
    width: 80px;
    height: 80px;
    background-size: auto 80px;
  }
  @keyframes ay-feat-sprite-m {
    from { background-position-x: 0; }
    to { background-position-x: calc(-80px * var(--steps)); }
  }
  .ay-feat__sprite {
    animation-name: ay-feat-sprite-m;
  }

  /* Hero: mobile — white full-bleed, top radius over gray */
  .ay-hero {
    position: relative;
    z-index: 2;
    margin-top: -16px;
    padding: 0;
    background: #fff;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
  }
  .ay-hero__bg {
    width: 100%;
    margin: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }
  .ay-hero__left,
  .ay-hero__right {
    width: var(--ay-page-width);
    max-width: none;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .ay-hero__left {
    padding: 24px 0 20px;
  }
  .ay-hero__right {
    padding: 8px 0 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: transparent;
  }
  .ay-hero h1 {
    font-size: 20px;
    line-height: 28px;
  }
  .ay-hero .ay-btn {
    margin-top: 16px;
    height: 36px;
    line-height: 36px;
    padding: 0 16px;
    font-size: 13px;
  }
  .ay-hero__stage { margin-top: 20px; }
  .ay-hero__bloom { display: none; }
  .ay-hero__shot {
    border-radius: 12px;
    box-shadow: 0 0 16px rgba(0,0,0,.08);
  }
  .ay-exp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px 10px 12px 0;
    border: 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 0;
    min-height: 0;
  }
  .ay-exp:nth-child(-n+2) { border-top: 0; }
  .ay-exp:nth-child(odd) {
    padding-right: 12px;
    border-right: 1px solid #e8e8e8;
  }
  .ay-exp:nth-child(even) {
    padding-left: 12px;
    padding-right: 0;
    border-right: 0;
  }
  .ay-exp__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .ay-exp__ico { width: 24px; height: 24px; }
  .ay-exp__row {
    margin-top: 6px;
    gap: 4px;
    flex-direction: column;
    align-items: flex-start;
  }
  .ay-exp h3 { font-size: 14px; line-height: 20px; }
  .ay-exp em {
    font-size: 11px;
    line-height: 16px;
    padding: 0 6px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ay-exp p {
    margin: 4px 0 0;
    font-size: 11px;
    line-height: 16px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .ay-exp__media {
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    margin: 8px 0 0;
    border-radius: 8px;
    overflow: hidden;
  }

  /* Products: underline tabs + stacked promo + 2-col normals */
  .ay-prodbox { display: block; min-height: 0; }
  .ay-sec--prod { padding: 48px 0; }
  .ay-sec--prod .ay-prodbox {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    margin-top: 24px;
  }
  .ay-sec--prod .ay-cats {
    display: flex;
    width: auto;
    margin: 0 0 24px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid var(--idca-line);
  }
  .ay-sec--prod .ay-cats::-webkit-scrollbar { display: none; }
  .ay-sec--prod .ay-prodpanel {
    border-left: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .ay-cats button {
    flex: none;
    width: auto;
    height: 32px;
    line-height: 32px;
    font-size: 14px;
    padding: 0 20px;
    margin: 0;
    border-radius: 0;
    white-space: nowrap;
    background: transparent;
  }
  .ay-cats button.is-on,
  .ay-sec--prod .ay-cats button.is-on {
    background: transparent;
    box-shadow: inset 0 -2px 0 var(--idca-primary);
  }
  .ay-proms { display: block; }
  .ay-proms .ay-prom {
    height: 148px;
    margin-bottom: 16px;
    padding: 16px;
  }
  .ay-proms .ay-prom:last-child { margin-bottom: 0; }
  .ay-prom h3, .ay-normals h3 { font-size: 16px; line-height: 24px; }
  .ay-prom p, .ay-normals p {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-top: 8px;
  }
  .ay-normals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
    min-height: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  .ay-normals .ay-prom {
    margin-bottom: 0;
    height: 148px;
    padding: 16px;
  }
  /* 手机端固定 5 个：上 3 通栏 + 下 2 宫格 */
  .ay-proms .ay-prom:nth-child(n+4) { display: none; }
  .ay-normals .ay-prom:nth-child(n+3) { display: none; }

  /* Solutions accordion 56 / 252 */
  .ay-sols { margin-top: 32px; }
  .ay-sols__shell { height: auto; padding: 0; }
  .ay-sols__bg { display: none; }
  .ay-sols__body { display: block; height: auto; }
  .ay-sols__list { padding: 0; }
  .ay-sol {
    height: 56px;
    padding: 16px;
    overflow: hidden;
    background: #fff;
    border: 0;
  }
  .ay-sol.is-on {
    height: auto;
    min-height: 252px;
    padding: 24px 16px;
  }
  .ay-sol h3 { font-size: 14px; line-height: 24px; }
  .ay-sol.is-on h3 { font-size: 20px; line-height: 28px; }
  .ay-sol:not(.is-on) p,
  .ay-sol:not(.is-on) .ay-sol__act { display: none; }
  .ay-sol p, .ay-sol__act { visibility: visible; position: relative; left: auto; bottom: auto; margin-top: 8px; }
  .ay-sols__stage { display: none; }

  .ay-sec--prod h2,
  .ay-sec--sols h2,
  .ay-sec--rights h2,
  .ay-sec--cases h2,
  .ay-sec--infra h2,
  .ay-sec h2 { font-size: 26px; line-height: 37px; white-space: normal; }

  /* Rights: one column, keep card size, don't inflate type */
  .ay-rights {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 16px;
    margin-top: 32px;
  }
  .ay-rights__lg,
  .ay-rights__md,
  .ay-rights__sm { grid-column: auto; grid-row: auto; }
  .ay-right { min-height: 180px; height: auto; }
  .ay-right__top { padding: 20px 16px 28px; }
  .ay-right--dark .ay-right__top,
  .ay-right--blue .ay-right__top { padding: 0; }
  .ay-right--dark,
  .ay-right--blue { padding: 20px 16px 24px; min-height: 168px; }
  .ay-right__top h3,
  .ay-right--dark h3,
  .ay-right--blue h3 { font-size: 22px; line-height: 32px; }
  .ay-right--dark h3,
  .ay-right--blue h3 { font-size: 36px; line-height: 44px; }
  .ay-right__top p { margin-top: 10px; }
  .ay-right--dark p,
  .ay-right--blue p { margin-top: 8px; }
  .ay-right__item span { white-space: normal; }

  .ay-stats { gap: 16px; margin-top: 24px; }
  .ay-stats > div { grid-column: span 2; }
  .ay-stats__num em { font-size: 26px; line-height: 36px; }
  .ay-stats strong { font-size: 32px; }
  .ay-infra__globe { height: 280px; }
  .ay-certs { gap: 16px; padding: 32px 0; }
  .ay-certs > div { grid-column: span 4; }
  .ay-cases__logos { margin-top: 32px; }
  .ay-cases__logo { width: 112px; }

  .ay-cases {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
    gap: 16px;
    margin-top: 32px;
  }
  .ay-case { height: auto; padding: 16px; }
  .ay-case h3 { font-size: 18px; line-height: 28px; }
  .ay-case--olympics,
  .ay-case--xpeng,
  .ay-case--gala { grid-column: span 2; grid-row: auto; }
  .ay-case--sm { grid-column: span 1; }
  .ay-case--sm-wide { grid-column: span 2; }
  .ay-case__cover { height: 128px; margin-top: 16px; }
  .ay-case__brand { height: 32px; margin-bottom: 12px; }
  .ay-case--xpeng { display: flex; flex-direction: column; gap: 16px; }
  .ay-case--xpeng .ay-case__pic { min-height: 132px; }
  .ay-case--gala { display: flex; flex-direction: column; gap: 16px; }
  .ay-case--gala .ay-case__pic { height: 144px; }

  .ay-cta { padding: 48px 0; }
  .ay-cta__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
    gap: 12px;
  }
  .ay-cta__hero {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 160px;
    margin-bottom: 0;
  }
  .ay-cta__card {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    height: auto;
    padding: 16px;
    margin-bottom: 0;
  }
  .ay-cta__hero h2 { font-size: 26px; line-height: 36px; }
  .ay-cta__card h3 { font-size: 15px; line-height: 22px; margin-top: 10px; }
  .ay-cta__card p {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-top: 8px;
    padding-top: 0;
    font-size: 12px;
    line-height: 18px;
  }
  .ay-cta__top img { width: 24px; height: 24px; }
  .ay-aiban { margin-top: 24px; min-height: 220px; }
  .ay-aiban__body { padding: 40px 16px 20px; }
  .ay-aiban h2 { min-height: 0; font-size: 26px; line-height: 36px; }
  .ay-aiban__sub { font-size: 14px; line-height: 24px; }
  .ay-aiban__links { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 24px; }
  .ay-aiban__src { margin-top: 32px; }

  .ay-foot {
    background: #fff;
  }
  .ay-foot__inner {
    margin: 0;
    padding: 28px 16px 20px;
  }
  .ay-foot__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
    min-height: 0;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e6eb;
  }
  .ay-foot section {
    flex: none;
    min-width: 0;
  }
  .ay-foot h4 {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 22px;
    font-weight: 600;
    color: var(--idca-text);
    letter-spacing: 0;
  }
  .ay-foot li,
  .ay-foot a {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 20px;
    color: var(--idca-muted);
    letter-spacing: 0;
  }
  .ay-foot li:last-child,
  .ay-foot ul a:last-child { margin-bottom: 0; }
  .ay-foot__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 16px 0 12px;
  }
  .ay-foot__links a {
    margin: 0;
    font-size: 12px;
    line-height: 18px;
    color: var(--idca-muted);
  }
  .ay-foot__copy {
    padding-top: 4px;
    font-size: 12px;
    line-height: 18px;
    color: #9b9fa8;
  }
  .ay-foot__records {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 10px;
    font-size: 12px;
    line-height: 18px;
  }
  .ay-foot__record {
    display: inline-flex;
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    max-width: 100%;
    gap: 4px;
    white-space: nowrap;
  }
  .ay-foot__record span {
    line-height: 18px;
  }

  .ay-phero__grid,
  .ay-intro__grid { display: block; }
  .ay-phero { padding: 32px 0 40px; }
  .ay-phero h1 { font-size: 28px; line-height: 40px; }
  .ay-phero__art { margin-top: 24px; min-height: 180px; }
  .ay-phero__art img { min-height: 180px; }
  .ay-phero__btns { margin-top: 24px; }
  .ay-phero__btns .ay-btn { flex: 1 1 auto; justify-content: center; text-align: center; }
  .ay-card3, .ay-card4, .ay-rel a { grid-column: span 12; }
  .ay-doc { grid-column: span 6; min-height: 120px; padding: 20px; }
  .ay-doclayout { display: block; }
}

/* ====== 保留：产品区 & 权益区 标题居中 ====== */
.ay-sec--prod .ay-sec__hd,
.ay-sec--rights .ay-sec__hd {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}
.ay-sec--prod .ay-sec__hd .ay-btn,
.ay-sec--rights .ay-sec__hd .ay-btn { margin-top: 24px; }

/* ====== 新区块：eyebrow 小标题 ====== */
.ay-sec__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: var(--idca-primary);
  background: rgba(37, 99, 235, 0.08);
  border-radius: 999px;
  letter-spacing: 0.5px;
}

/* ====== Hero 区全新样式 ====== */
.ay-hero { padding: 80px 0 40px; background: #fff; }
.ay-hero__wrap { display: block; }
.ay-hero__head {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}
.ay-hero__tag {
  display: inline-block;
  margin: 0 0 20px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--idca-primary);
  background: rgba(37, 99, 235, 0.08);
  border-radius: 999px;
}
.ay-hero__head h1 {
  margin: 0 0 16px;
  font-size: 42px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--idca-text);
  letter-spacing: -0.5px;
}
.ay-hero__sub {
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.8;
  color: var(--idca-muted);
}
.ay-hero__btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.ay-hero__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.ay-hero__card {
  position: relative;
  padding: 28px 24px;
  border-radius: 20px;
  background: var(--idca-bg-light);
  border: 1px solid var(--idca-line);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.ay-hero__card:hover {
  transform: translateY(-6px);
  box-shadow: var(--idca-shadow-lg);
  border-color: rgba(37, 99, 235, 0.15);
  background: #fff;
}
.ay-hero__card--grad {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #bfdbfe 100%);
  border: none;
}
.ay-hero__card--grad:hover { background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 50%, #93c5fd 100%); }
.ay-hero__card--accent {
  background: linear-gradient(135deg, #ecfeff 0%, #cffafe 50%, #a5f3fc 100%);
  border: none;
}
.ay-hero__card--accent:hover { background: linear-gradient(135deg, #cffafe 0%, #a5f3fc 50%, #67e8f9 100%); }
.ay-hero__card-ico {
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--idca-shadow-sm);
}
.ay-hero__card-ico img { width: 28px; height: 28px; object-fit: contain; }
.ay-hero__card h3 {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-hero__card p {
  margin: 0 0 16px;
  flex: 1;
  font-size: 14px;
  line-height: 1.7;
  color: var(--idca-muted);
}
.ay-hero__card span {
  font-size: 14px;
  font-weight: 600;
  color: var(--idca-primary);
}

/* ====== 解决方案区全新样式 ====== */
.ay-sols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.ay-sol-card {
  position: relative;
  padding: 32px 28px;
  border-radius: var(--idca-radius);
  background: #fff;
  border: 1px solid var(--idca-line);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ay-sol-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--idca-shadow-lg);
}
.ay-sol-card--purple { background: linear-gradient(180deg, #f0f6ff 0%, #fff 60%); border-color: rgba(59, 130, 246, 0.12); }
.ay-sol-card--cyan { background: linear-gradient(180deg, #f0f9ff 0%, #fff 60%); border-color: rgba(14, 165, 233, 0.12); }
.ay-sol-card--pink { background: linear-gradient(180deg, #f0fdfa 0%, #fff 60%); border-color: rgba(16, 185, 129, 0.12); }
.ay-sol-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.ay-sol-card__ico {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 16px;
  font-size: 26px;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08);
}
.ay-sol-card__label {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--idca-primary);
  background: rgba(37, 99, 235, 0.06);
  border-radius: 999px;
}
.ay-sol-card h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-sol-card p {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--idca-muted);
}
.ay-sol-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.ay-sol-card__tags li {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--idca-subtle);
  background: var(--idca-bg-light);
  border-radius: 8px;
  border: 1px solid var(--idca-line);
}
.ay-sol-card__go {
  margin-top: auto;
  font-size: 15px;
  font-weight: 700;
  color: var(--idca-primary);
}

/* ====== 基础设施/优势区 全新样式 ====== */
.ay-sec--infra { padding: 80px 0; background: var(--idca-bg-light); overflow: visible; }
.ay-sec--infra .ay-wrap { display: block; }
.ay-feats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.ay-feat-card {
  padding: 32px 28px;
  border-radius: var(--idca-radius);
  background: #fff;
  border: 1px solid var(--idca-line);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ay-feat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-md);
  border-color: rgba(37, 99, 235, 0.12);
}
.ay-feat-card__ico {
  width: 56px;
  height: 56px;
  margin-bottom: 20px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ay-feat-card__ico img { width: 28px; height: 28px; object-fit: contain; }
.ay-feat-card__ico--purple { background: linear-gradient(135deg, #eff6ff, #dbeafe); }
.ay-feat-card__ico--cyan { background: linear-gradient(135deg, #ecfeff, #cffafe); }
.ay-feat-card__ico--pink { background: linear-gradient(135deg, #fdf2f8, #fce7f3); }
.ay-feat-card__ico--orange { background: linear-gradient(135deg, #fff7ed, #ffedd5); }
.ay-feat-card__ico--green { background: linear-gradient(135deg, #f0fdf4, #dcfce7); }
.ay-feat-card__ico--blue { background: linear-gradient(135deg, #eff6ff, #dbeafe); }
.ay-feat-card h3 {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-feat-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--idca-muted);
}

/* ====== CTA 行动号召区全新样式 ====== */
.ay-cta { padding: 60px 0 80px; background: #fff; }
.ay-cta__wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  padding: 48px;
  border-radius: var(--idca-radius-lg);
  background: linear-gradient(135deg, var(--idca-primary) 0%, #3b82f6 50%, #06b6d4 100%);
  box-shadow: var(--idca-shadow-lg);
  overflow: hidden;
  position: relative;
}
.ay-cta__wrap::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.ay-cta__main { position: relative; z-index: 1; }
.ay-cta__main h2 {
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.35;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.5px;
}
.ay-cta__main > p {
  margin: 0 0 28px;
  max-width: 560px;
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.85);
}
.ay-cta__btns {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.ay-btn--ghost-light {
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(4px);
}
.ay-btn--ghost-light:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
  transform: none;
}
.ay-cta__badges {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.ay-cta__badges span {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
}
.ay-cta__side {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ay-cta-mini {
  flex: 1;
  padding: 22px 20px;
  border-radius: var(--idca-radius);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.25s ease;
}
.ay-cta-mini:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateX(-4px);
}
.ay-cta-mini__ico {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  font-size: 24px;
}
.ay-cta-mini h4 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}
.ay-cta-mini p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

/* ====== 响应式：新增模块适配 ====== */
@media (max-width: 1024px) {
  .ay-hero__grid { grid-template-columns: repeat(2, 1fr); }
  .ay-sols { grid-template-columns: repeat(2, 1fr); }
  .ay-feats-grid { grid-template-columns: repeat(2, 1fr); }
  .ay-cta__wrap { grid-template-columns: 1fr; padding: 36px; }
  .ay-cta__side { flex-direction: row; }
  .ay-cta-mini { flex: 1; }
  .ay-hero__head h1 { font-size: 34px; }
  .ay-cta__main h2 { font-size: 28px; }
}
@media (max-width: 640px) {
  .ay-hero { padding: 56px 0 28px; }
  .ay-hero__head h1 { font-size: 28px; }
  .ay-hero__sub { font-size: 15px; }
  .ay-hero__grid { grid-template-columns: 1fr; }
  .ay-sols { grid-template-columns: 1fr; }
  .ay-feats-grid { grid-template-columns: 1fr; }
  .ay-cta__wrap { padding: 28px 22px; }
  .ay-cta__main h2 { font-size: 24px; }
  .ay-cta__main > p { font-size: 14px; }
  .ay-cta__side { flex-direction: column; }
  .ay-sec__hd { flex-direction: column; align-items: flex-start; }
  .ay-docside { position: static; margin-top: 32px; }
  .ay-docrow { flex-direction: column; align-items: flex-start; padding: 16px; }
  .ay-search { flex-direction: column; max-width: none; }
  .ay-search button { width: 100%; }
  .ay-tabs { gap: 8px; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .ay-tabs__item { flex: 0 0 auto; }
  .ay-buy { margin: 24px 0 48px; padding: 32px 16px; }
  .ay-buy h2 { font-size: 22px; line-height: 32px; }
  .ay-intro { padding: 24px 0 48px; }
  .ay-intro h2 { font-size: 24px; line-height: 34px; }
}

/* ====== 新闻动态板块 ====== */
.ay-news {
  padding: 64px 0 80px;
  background: #f8fafc;
  border-top: 1px solid var(--idca-line);
}
.ay-news__hd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
  gap: 24px;
  flex-wrap: wrap;
}
.ay-news__hd h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-news__tabs {
  display: inline-flex;
  background: #fff;
  border-radius: 999px;
  border: 1px solid var(--idca-line);
  overflow: hidden;
  padding: 4px;
  box-shadow: var(--idca-shadow-sm);
}
.ay-news__tab {
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 500;
  color: var(--idca-muted);
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.ay-news__tab:hover { color: var(--idca-primary); }
.ay-news__tab.is-active {
  color: #fff;
  background: var(--idca-primary);
  font-weight: 600;
}
.ay-news__pane { display: none; }
.ay-news__pane.is-on { display: block; }
.ay-news__body {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

/* 特色卡片：桌面端图文横排 */
.ay-news__feat {
  display: grid;
  grid-template-columns: 48% 1fr;
  background: #fff;
  border-radius: var(--idca-radius);
  border: 1px solid var(--idca-line);
  overflow: hidden;
  transition: all 0.3s ease;
}
.ay-news__feat:hover {
  box-shadow: var(--idca-shadow-md);
  border-color: rgba(37, 99, 235, 0.15);
}
.ay-news__feat-img {
  position: relative;
  min-height: 280px;
  overflow: hidden;
}
.ay-news__feat-img img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.ay-news__feat:hover .ay-news__feat-img img { transform: scale(1.03); }
.ay-news__feat-body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ay-news__date {
  font-size: 13px;
  font-weight: 500;
  color: var(--idca-muted);
  margin-bottom: 12px;
  letter-spacing: 0.3px;
}
.ay-news__feat-body h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.45;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-news__feat-body > p {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--idca-muted);
}
.ay-btn--line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  height: 40px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--idca-primary) !important;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.15);
  transition: all 0.25s ease;
}
.ay-btn--line:hover {
  background: var(--idca-primary);
  color: #fff !important;
  border-color: var(--idca-primary);
}

/* 列表：桌面端 3 列网格 */
.ay-news__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.ay-news__item {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--idca-line);
  border-radius: var(--idca-radius-sm);
  overflow: hidden;
  transition: all 0.25s ease;
  text-decoration: none;
}
.ay-news__item:hover {
  border-color: rgba(37, 99, 235, 0.25);
  box-shadow: 0 2px 12px -4px rgba(37, 99, 235, 0.1);
  transform: translateY(-2px);
}
.ay-news__item-img {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--idca-bg-light);
}
.ay-news__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.ay-news__item:hover .ay-news__item-img img { transform: scale(1.05); }
.ay-news__item-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ay-news__item h4 {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 600;
  color: var(--idca-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ay-news__item span {
  font-size: 13px;
  color: var(--idca-muted);
  margin-top: auto;
}
.ay-news__item--blue {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border-color: rgba(37, 99, 235, 0.15);
}
.ay-news__item--blue .ay-news__item-img {
  background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
}
.ay-news__item--blue .ay-news__item-img::after {
  content: "置顶";
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.5px;
  color: #fff;
  background: rgba(37, 99, 235, 0.75);
  border-radius: 999px;
}
.ay-news__item--blue h4 { color: var(--idca-primary); }
.ay-news__item--blue:hover {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  border-color: var(--idca-primary);
}

/* ====== 响应式：新闻板块 ====== */
@media (max-width: 1024px) {
  .ay-news__feat { grid-template-columns: 42% 1fr; }
  .ay-news__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .ay-news { padding: 48px 0 56px; }
  .ay-news__hd { flex-direction: column; align-items: flex-start; }
  .ay-news__hd h2 { font-size: 24px; }
  .ay-news__body { gap: 28px; }
  .ay-news__feat { grid-template-columns: 1fr; }
  .ay-news__feat-img { min-height: 200px; }
  .ay-news__feat-body { padding: 24px; }
  .ay-news__feat-body h3 { font-size: 18px; }
  .ay-news__feat-body > p { font-size: 14px; }
  .ay-news__list { grid-template-columns: 1fr; gap: 12px; }
  .ay-news__item-body { padding: 12px 14px 14px; }
  .ay-news__item h4 { font-size: 14px; }
}

/* ====== 服务承诺板块 ====== */
.ay-promise {
  background: #fff;
  padding: 0 0 80px;
}
/* ====== CTA 横幅：参照 HeziPlus footerCard 写法 ======
   外层仅做定位裁剪；背景图无遮罩原样铺满；
   尺寸全部由居中的内容容器决定（宽 80rem、高 12rem）。 */
.ay-promise__banner {
  position: relative;
  overflow: hidden;
  background: var(--idca-gradient);
}
.ay-promise__banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ay-promise__banner .ay-promise__banner-body {
  position: relative;
  z-index: 1;
  width: 80rem;
  max-width: 100%;
  height: 12rem;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2rem;
}
.ay-promise__banner-body h2 {
  margin: 0;
  font-size: 1.7rem;
  line-height: 100%;
  font-weight: 700;
  color: #fff;
  letter-spacing: .4rem;
  text-shadow: 0 0 20px #000000;
  -webkit-user-select: none;
  user-select: none;
}
.ay-promise__banner-body .ay-btn {
  height: auto;
  padding: .6rem 2rem;
  font-size: 1rem;
  background: #3176ff;
  color: #fff !important;
  border-radius: .2rem;
  transition: background 0.25s ease;
}
.ay-promise__banner-body .ay-btn:hover {
  background: #699bff;
}
@media (max-width: 768px) {
  /* 移动端：横幅按背景图原始尺寸 400x100 显示，窄屏时等比缩小 */
  .ay-promise__banner {
    width: 400px;
    max-width: 100%;
    margin: 0 auto;
  }
  .ay-promise__banner-img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
  }
  .ay-promise__banner .ay-promise__banner-body {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    gap: 2vw;
    padding: 0 16px;
  }
  .ay-promise__banner-body h2 {
    font-size: 15px;
    letter-spacing: 1.5px;
  }
  .ay-promise__banner-body .ay-btn {
    padding: 5px 16px;
    font-size: 13px;
    border-radius: 3px;
  }
}

.ay-promise__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 32px;
  padding: 40px 32px;
  background: #fff;
  border-radius: var(--idca-radius-lg);
  box-shadow: var(--idca-shadow-md);
  border: 1px solid var(--idca-line);
  position: relative;
  z-index: 2;
}
.ay-promise__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 8px 4px;
  min-width: 0;
}
.ay-promise__ico {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(37,99,235,0.08) 0%, rgba(14,165,233,0.08) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ay-promise__ico img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.ay-promise__txt {
  min-width: 0;
  flex: 1;
}
.ay-promise__txt h4 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-promise__txt p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--idca-muted);
}

/* ====== 响应式：服务承诺板块 ====== */
@media (max-width: 1024px) {
  .ay-promise__items { grid-template-columns: repeat(2, 1fr); padding: 32px 24px; }
}
@media (max-width: 767px) {
  .ay-promise { padding-bottom: 56px; }
  .ay-promise__items {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 18px;
    margin-top: 16px;
    border-radius: var(--idca-radius);
  }
  .ay-promise__item { gap: 12px; padding: 4px 0; }
  .ay-promise__ico { width: 44px; height: 44px; border-radius: 10px; }
  .ay-promise__ico img { width: 24px; height: 24px; }
  .ay-promise__txt h4 { font-size: 15px; }
  .ay-promise__txt p { font-size: 13px; }
}

@media (max-width: 767px) {
  .ay-banner__main { padding-top: 156px; }
  .ay-banner__medias,
  .ay-banner__video,
  .ay-banner__shade { height: 320px; }
  .ay-doc { grid-column: span 12; }
  .ay-phero h1 { font-size: 24px; line-height: 34px; }
  .ay-certs > div { grid-column: span 6; }
}

/* ==========================================================================
   活动页（最新活动 promotions.html / promotion_detail.html）
   ========================================================================== */

/* 顶部轮播图 */
.ay-promo-carousel {
  position: relative;
  width: 100%;
  height: 420px;
  background: #0f172a;
  overflow: hidden;
}
.ay-promo-carousel__track {
  position: relative;
  width: 100%;
  height: 100%;
}
.ay-promo-carousel__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.7s ease;
  pointer-events: none;
}
.ay-promo-carousel__slide.is-on {
  opacity: 1;
  pointer-events: auto;
}
.ay-promo-carousel__mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.3) 50%, rgba(15,23,42,0.15) 100%);
}
.ay-promo-carousel__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 640px;
  padding-right: 48px;
  color: #fff;
}
.ay-promo-carousel__tag {
  display: inline-block;
  align-self: flex-start;
  padding: 6px 14px;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #fff;
  border-radius: 999px;
  background: var(--idca-gradient);
}
.ay-promo-carousel__content h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 12px;
  color: #fff;
}
.ay-promo-carousel__content p {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255,255,255,0.85);
  margin: 0 0 24px;
}
.ay-promo-carousel__content .ay-btn {
  align-self: flex-start;
}
.ay-promo-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
  backdrop-filter: blur(8px);
  transition: background 0.2s, border-color 0.2s;
}
.ay-promo-carousel__nav:hover {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.5);
}
.ay-promo-carousel__nav--prev { left: 24px; }
.ay-promo-carousel__nav--next { right: 24px; }
.ay-promo-carousel__dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 5;
}
.ay-promo-carousel__dots button {
  width: 24px;
  height: 4px;
  border-radius: 4px;
  border: 0;
  background: rgba(255,255,255,0.35);
  cursor: pointer;
  padding: 0;
  transition: width 0.3s, background 0.3s;
}
.ay-promo-carousel__dots button.is-on {
  width: 36px;
  background: #fff;
}

/* Hero 区 */
.ay-promo-hero {
  padding: 48px 0 32px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.ay-promo-hero h1 {
  font-size: 36px;
  font-weight: 700;
  color: var(--idca-text);
  margin: 0 0 12px;
  line-height: 1.3;
}
.ay-promo-hero__lead {
  font-size: 15px;
  color: var(--idca-muted);
  margin: 0 0 24px;
}
.ay-promo-hero .ay-btn { margin-top: 0; }

/* Tab 分类 */
.ay-promo-tabs {
  background: #fff;
  border-bottom: 1px solid var(--idca-line);
}
.ay-promo-tabs__nav {
  display: flex;
  gap: 4px;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.ay-promo-tabs__nav::-webkit-scrollbar { display: none; }
.ay-promo-tabs__nav button {
  padding: 18px 20px;
  font-size: 15px;
  color: var(--idca-muted);
  font-weight: 500;
  border: 0;
  background: transparent;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}
.ay-promo-tabs__nav button.is-on {
  color: var(--idca-primary);
  border-bottom-color: var(--idca-primary);
  font-weight: 600;
}
.ay-promo-tabs__nav button:hover { color: var(--idca-primary); }

/* 活动列表区域 */
.ay-promo-list { padding-top: 48px; }
.ay-promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}

/* 活动卡片 */
.ay-promo-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--idca-radius);
  box-shadow: var(--idca-shadow-sm);
  border: 1px solid var(--idca-line);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ay-promo-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--idca-shadow-lg);
  border-color: rgba(37,99,235,0.18);
}
.ay-promo-card__cover {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%);
}
.ay-promo-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.ay-promo-card:hover .ay-promo-card__cover img { transform: scale(1.05); }
.ay-promo-card__cover--placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%);
}
.ay-promo-card__badge {
  position: absolute;
  top: 16px;
  left: -8px;
  padding: 4px 14px 4px 16px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: var(--idca-gradient-warm);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(239,68,68,0.35);
  letter-spacing: 1px;
}
.ay-promo-card__badge::after {
  content: '';
  position: absolute;
  left: -1px;
  top: 100%;
  border-style: solid;
  border-width: 4px 6px 0 0;
  border-color: rgba(220, 38, 38, 0.75) transparent transparent transparent;
}
.ay-promo-card__body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ay-promo-card__title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color: var(--idca-text);
  line-height: 1.4;
}
.ay-promo-card__slogan {
  margin: 0 0 16px;
  font-size: 14px;
  color: var(--idca-muted);
  line-height: 1.6;
  flex: 1;
}
.ay-promo-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px dashed var(--idca-line);
}
.ay-promo-card__time {
  font-size: 12px;
  color: var(--idca-muted);
  line-height: 1.5;
}
.ay-promo-card__status {
  flex-shrink: 0;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 4px;
  letter-spacing: 0.5px;
}
.ay-promo-card__status--ongoing {
  color: #16a34a;
  background: rgba(34,197,94,0.1);
}
.ay-promo-card__status--upcoming {
  color: #2563eb;
  background: rgba(37,99,235,0.1);
}
.ay-promo-card__status--ended {
  color: #6b7280;
  background: rgba(107,114,128,0.1);
}
.ay-promo-card--ended { opacity: 0.9; }

/* 活动页底部更多提示 */
.ay-promo-more { padding-top: 48px; padding-bottom: 80px; text-align: center; }
.ay-promo-more .ay-wrap p {
  margin: 0;
  font-size: 14px;
  color: var(--idca-muted);
}
.ay-promo-more .ay-sec__hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

/* 活动详情页 */
.ay-promo-detail {
  padding: 48px 0 0;
}
.ay-promo-detail__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.ay-promo-detail__media {
  border-radius: var(--idca-radius-lg);
  overflow: hidden;
  box-shadow: var(--idca-shadow-md);
}
.ay-promo-detail__media img {
  width: 100%;
  height: auto;
  display: block;
}
.ay-promo-detail__media--placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%);
}
.ay-promo-detail__copy .ay-crumb {
  margin-bottom: 20px;
}
.ay-promo-detail__tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.ay-promo-detail__badge {
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--idca-gradient-warm);
  border-radius: 4px;
}
.ay-promo-detail__copy h1 {
  margin: 0 0 16px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--idca-text);
}
.ay-promo-detail__slogan {
  margin: 0 0 20px;
  font-size: 16px;
  color: var(--idca-muted);
  line-height: 1.7;
}
.ay-promo-detail__meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  padding: 18px 22px;
  background: var(--idca-tag);
  border-radius: var(--idca-radius-sm);
}
.ay-promo-detail__meta span {
  font-size: 14px;
  color: var(--idca-text);
  font-weight: 500;
}
.ay-promo-detail__meta i.ay-ico-calendar {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: middle;
  border: 1.5px solid currentColor;
  border-radius: 3px;
  position: relative;
  opacity: 0.7;
}
.ay-promo-detail__meta i.ay-ico-calendar::before {
  content: '';
  position: absolute;
  top: -4px;
  left: 2px;
  width: 3px;
  height: 4px;
  background: currentColor;
  border-radius: 2px;
  box-shadow: 7px 0 0 currentColor;
}
.ay-promo-detail__btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* 活动详情内容 */
.ay-promo-detail-body__content {
  max-width: 860px;
  margin: 0 auto;
}
.ay-promo-detail-body__content .ay-article__body {
  font-size: 15px;
  line-height: 1.9;
  color: var(--idca-text);
}
.ay-promo-detail-body__content .ay-article__body h3 {
  margin: 28px 0 14px;
  font-size: 20px;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-promo-detail-body__content .ay-article__body p {
  margin: 0 0 14px;
}

/* 关联商品分组 */
.ay-promo-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.ay-promo-related__item {
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--idca-line);
  border-radius: var(--idca-radius);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.ay-promo-related__item:hover {
  transform: translateY(-3px);
  box-shadow: var(--idca-shadow-md);
  border-color: rgba(37,99,235,0.2);
}
.ay-promo-related__item h3 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
  color: var(--idca-text);
}
.ay-promo-related__item p {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--idca-muted);
  line-height: 1.6;
  flex: 1;
}
.ay-promo-related__item span {
  align-self: flex-start;
  font-size: 13px;
  font-weight: 600;
  color: var(--idca-primary);
}

/* 空状态 */
.ay-empty-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 80px 24px;
}

/* ====== 活动页响应式 ====== */
@media (max-width: 1024px) {
  .ay-promo-detail__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ay-promo-carousel { height: 340px; }
  .ay-promo-carousel__content h2 { font-size: 30px; }
}
@media (max-width: 767px) {
  .ay-promo-carousel { height: 280px; }
  .ay-promo-carousel__nav { width: 36px; height: 36px; font-size: 18px; }
  .ay-promo-carousel__nav--prev { left: 12px; }
  .ay-promo-carousel__nav--next { right: 12px; }
  .ay-promo-carousel__content h2 { font-size: 24px; }
  .ay-promo-carousel__content p { font-size: 14px; }
  .ay-promo-carousel__content { padding-right: 24px; max-width: none; }
  .ay-promo-hero { padding: 36px 0 24px; }
  .ay-promo-hero h1 { font-size: 26px; }
  .ay-promo-tabs__nav button { padding: 14px 16px; font-size: 14px; }
  .ay-promo-list { padding-top: 32px; }
  .ay-promo-grid { grid-template-columns: 1fr; gap: 16px; }
  .ay-promo-detail { padding: 32px 0 0; }
  .ay-promo-detail__copy h1 { font-size: 24px; }
  .ay-promo-detail__meta { padding: 14px 16px; }
  .ay-promo-detail__btns .ay-btn { flex: 1; text-align: center; }
  .ay-promo-card__foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .ay-promo-card__status { align-self: flex-start; }
}

/* ====== 活动商品（按后台插件「商品分组链接」自动获取：分类=二级分组，内容=该分组商品） ====== */
.ay-promo-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
}
.ay-promo-cats button {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--idca-line);
  background: #fff;
  color: var(--idca-text);
  font-size: 14px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s;
}
.ay-promo-cats button:hover { border-color: var(--idca-primary); color: var(--idca-primary); }
.ay-promo-cats button.is-on {
  background: var(--idca-primary);
  border-color: var(--idca-primary);
  color: #fff;
  box-shadow: 0 6px 14px -6px rgba(37,99,235,.55);
}
.ay-promo-cat__sub { margin: 0 0 18px; font-size: 14px; color: var(--idca-muted); }
.ay-promo-prodgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.ay-promo-prod {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px;
  background: #fff;
  border: 1px solid var(--idca-line);
  border-radius: var(--idca-radius);
  text-decoration: none;
  color: inherit;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.ay-promo-prod:hover {
  transform: translateY(-3px);
  box-shadow: var(--idca-shadow-md);
  border-color: rgba(37,99,235,.25);
}
.ay-promo-prod__hd { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; }
.ay-promo-prod__name { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.45; color: var(--idca-text); }
.ay-promo-prod__state {
  flex: none;
  margin-left: auto;
  font-size: 12px;
  font-weight: 600;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 2px 8px;
  border-radius: 999px;
}
.ay-promo-prod__specs {
  list-style: none;
  margin: 0 0 16px;
  padding: 12px 14px;
  background: var(--idca-tag);
  border-radius: var(--idca-radius-sm);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ay-promo-prod__specs li { display: flex; gap: 8px; font-size: 13px; line-height: 1.6; color: var(--idca-text); }
.ay-promo-prod__specs li b { flex: none; font-weight: 600; color: var(--idca-muted); }
.ay-promo-prod__specs li span { flex: 1; min-width: 0; word-break: break-word; }
.ay-promo-prod__desc { margin: 0 0 16px; font-size: 13px; color: var(--idca-muted); line-height: 1.7; flex: 1; }
.ay-promo-prod__ft {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--idca-line);
}
.ay-promo-prod__price { font-size: 22px; font-weight: 800; color: #f97316; line-height: 1.2; }
.ay-promo-prod__price i { font-style: normal; margin-left: 6px; font-size: 12px; font-weight: 500; color: var(--idca-muted); }
.ay-promo-prod__buy {
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: var(--idca-primary);
  padding: 8px 16px;
  border-radius: 999px;
  transition: background .2s;
}
.ay-promo-prod:hover .ay-promo-prod__buy { background: var(--idca-primary-hover); }
.ay-promo-prod.is-soldout .ay-promo-prod__buy { background: #9ca3af; }
@media (max-width: 767px) {
  .ay-promo-cats { gap: 8px; margin-bottom: 18px; }
  .ay-promo-cats button { padding: 8px 14px; font-size: 13px; }
  .ay-promo-prodgrid { grid-template-columns: 1fr; gap: 14px; }
  .ay-promo-prod { padding: 18px 16px 14px; }
  .ay-promo-prod__price { font-size: 19px; }
}
