/* Liangmi adaptation of the MIT-licensed Pulse template by ZumaTools. */
:root {
  --brand: #2d9b8d;
  --brand-2: #79dec8;
  --accent: #79dec8;
  --bg: #08131e;
  --bg-2: #0d1b27;
  --surface: #102330;
  --surface-2: #16303b;
  --border: rgba(173, 228, 216, .13);
  --text: #eff7f5;
  --muted: #abc0c1;
  --font-display: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --font-body: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --container: 1220px;
  --glow: rgba(70, 194, 174, .24);
}
html { scroll-padding-top: 76px; }
body { background: var(--bg); letter-spacing: .005em; }
h1, h2, h3 { letter-spacing: -.035em; }
::selection { background: #2d9b8d; color: white; }
.container { width: min(100% - 48px, var(--container)); }
.section { padding: clamp(88px, 10vw, 144px) 0; }
.skip-link { background: var(--brand); }
.site-header { background: rgba(7, 19, 29, .91); border-bottom-color: rgba(255,255,255,.05); }
.site-header.scrolled { background: rgba(7, 19, 29, .97); border-bottom-color: var(--border); }
.nav { height: 76px; }
.logo { gap: 12px; min-width: max-content; }
.logo-symbol { display: grid; place-items: center; width: 39px; height: 39px; flex: none; border: 1px solid rgba(121,222,200,.55); color: var(--brand-2); font-size: 1.3rem; font-weight: 700; line-height: 1; position: relative; }
.logo-symbol::after { content: ""; position: absolute; right: -4px; bottom: -4px; width: 7px; height: 7px; background: var(--brand-2); }
.logo-type { display: flex; flex-direction: column; line-height: 1.15; gap: 5px; }
.logo-type strong { font-size: 1.12rem; letter-spacing: .08em; }
.logo-type small { font: 600 .52rem/1.1 Arial, sans-serif; color: #8ba7a6; letter-spacing: .15em; }
.nav-links { gap: clamp(16px, 2vw, 30px); }
.nav-links a { color: #c2d4d1; font-size: .89rem; }
.nav-links a:hover { color: var(--brand-2); }
.nav-button { padding: 11px 17px !important; font-size: .88rem; }
.btn { border-radius: 3px; box-shadow: none; }
.btn-primary { background: var(--brand-2); color: #092027; box-shadow: none; }
.btn-primary:hover { background: #a5f1dd; box-shadow: 0 12px 30px rgba(45,155,141,.18); }
.btn-ghost { border-color: rgba(210,242,236,.38); background: rgba(6,22,32,.22); }
.btn-ghost:hover { border-color: var(--brand-2); background: rgba(121,222,200,.08); }

.lm-hero { min-height: min(720px, calc(100dvh - 76px)); position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; background: #07121c; }
.hero-photo { position: absolute; inset: 0; z-index: -2; background: url('../img/hero-quantum.png') center right / cover no-repeat; }
.lm-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,17,27,.98) 0%, rgba(5,17,27,.90) 27%, rgba(5,17,27,.57) 53%, rgba(5,17,27,.12) 100%), linear-gradient(0deg, rgba(5,17,27,.55), transparent 28%); }
.hero-inner { position: relative; display: flex; align-items: center; min-height: inherit; padding: 74px 0 92px; }
.hero-copy { width: min(670px, 72%); }
.hero-kicker { color: #9accc3; font: 600 .76rem/1.5 Arial, sans-serif; letter-spacing: .22em; margin-bottom: 27px; }
.hero-copy h1 { font-size: clamp(2.6rem, 4.6vw, 4rem); line-height: 1.24; margin: 0 0 25px; font-weight: 700; letter-spacing: -.045em; }
.hero-copy h1 span { color: var(--brand-2); }
.hero-description { max-width: 590px; color: #d2dfdf; font-size: clamp(1rem, 1.4vw, 1.17rem); line-height: 1.95; margin-bottom: 35px; }
.hero-actions { justify-content: flex-start; }
.hero-side-note { position: absolute; right: 0; bottom: 34px; display: flex; align-items: center; gap: 18px; color: #bfd8d3; font-size: .76rem; letter-spacing: .16em; }
.hero-side-note span:first-child { color: var(--brand-2); font: 600 .76rem Arial, sans-serif; letter-spacing: .22em; }

.focus-strip { background: #0c2530; border-top: 1px solid rgba(128,214,195,.14); border-bottom: 1px solid rgba(128,214,195,.14); }
.focus-list { display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; min-height: 81px; }
.focus-list span { text-align: center; color: #c6ded8; font-size: .88rem; padding: 12px 9px; border-right: 1px solid rgba(177,227,215,.14); }
.focus-list span:first-child { border-left: 1px solid rgba(177,227,215,.14); }

.about-section { background: #f5f8f7; color: #112c32; }
.about-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px, 8vw, 130px); align-items: start; }
.section-label { display: inline-block; color: #297b71; font-size: .8rem; font-weight: 700; letter-spacing: .13em; margin-bottom: 22px; }
.about-lead h2 { font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.35; margin-bottom: 0; }
.accent-text { color: #2d9b8d; }
.about-body { border-left: 1px solid #c5d7d2; padding-left: 34px; padding-top: 50px; }
.about-body p { color: #445c61; font-size: 1.08rem; line-height: 2.05; margin-bottom: 20px; }
.about-signature { margin-top: 36px; color: #1b4b50; font-size: .9rem; display: flex; gap: 12px; align-items: center; font-weight: 600; }
.signature-line { width: 28px; height: 2px; background: #2d9b8d; }

.capabilities-section { background: #0b1b26; }
.capabilities-section .section-label, .vision-section .section-label { color: var(--brand-2); }
.section-heading { max-width: 760px; margin-bottom: 50px; }
.section-heading h2 { font-size: clamp(2.3rem, 4vw, 3.7rem); margin-bottom: 20px; }
.section-heading p { color: #b8ccc9; font-size: 1.07rem; }
.capability-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: repeat(2, minmax(248px, auto)); gap: 15px; }
.capability { border: 1px solid #27434b; background: #102632; padding: 30px; display: flex; flex-direction: column; transition: border-color .25s, background .25s; }
.capability:hover { border-color: #5cae9e; background: #14303b; }
.capability-feature { grid-row: span 2; padding: 38px; background: linear-gradient(160deg, rgba(18,56,65,.52), rgba(7,28,38,.88)), url('../img/hero-quantum.png') center right / cover no-repeat; }
.cap-top { display: flex; justify-content: space-between; align-items: start; margin-bottom: auto; }
.cap-number { color: var(--brand-2); font: 600 1rem Arial, sans-serif; }
.cap-tag { border: 1px solid rgba(184,232,220,.22); padding: 5px 9px; color: #b7d6d1; font-size: .72rem; }
.capability h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.4; margin: 28px 0 12px; }
.capability p { color: #b7cecb; line-height: 1.8; margin-bottom: 26px; max-width: 35ch; font-size: .94rem; }
.cap-feature p { max-width: 32ch; }
.cap-foot { border-top: 1px solid rgba(206,235,229,.18); padding-top: 16px; color: #73a89f; font: 600 .68rem Arial, sans-serif; letter-spacing: .14em; }

.products-section { background: #f5f8f7; color: #112c32; }
.products-intro { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 48px; }
.products-intro h2 { font-size: clamp(2.2rem, 3.8vw, 3.5rem); margin: 0; }
.products-intro p { max-width: 360px; color: #557074; line-height: 1.8; margin-bottom: 5px; }
.product-list { border-top: 2px solid #173b42; }
.product-row { display: grid; grid-template-columns: 56px minmax(250px, 1fr) minmax(180px, .75fr) 24px; align-items: center; min-height: 100px; gap: 18px; border-bottom: 1px solid #d2dfdb; transition: padding .22s, background .22s; }
.product-row:hover { padding-inline: 16px; background: #eaf3f0; }
.product-index { color: #36877c; font: 600 .86rem Arial, sans-serif; }
.product-row strong { font-size: clamp(1.2rem, 1.8vw, 1.55rem); }
.product-row > span:nth-child(3) { color: #587174; font-size: .94rem; }
.product-arrow { color: #28786d; font-size: 1.3rem; }

.vision-section { padding: clamp(100px, 11vw, 160px) 0; background: linear-gradient(120deg, rgba(7,21,32,.92), rgba(8,29,38,.92)), url('../img/hero-quantum.png') center / cover no-repeat; border-top: 1px solid #22424c; border-bottom: 1px solid #22424c; }
.vision-inner { max-width: 880px; text-align: center; }
.vision-inner h2 { font-size: clamp(2.4rem, 4.6vw, 4.5rem); line-height: 1.28; margin: 4px 0 22px; }
.vision-inner p { color: #c5d8d5; font-size: clamp(1.04rem, 1.5vw, 1.2rem); margin-bottom: 40px; }
.vision-link { color: var(--brand-2); border-bottom: 1px solid rgba(121,222,200,.5); padding-bottom: 8px; font-weight: 600; }
.vision-link span { margin-left: 8px; }

.contact-section { background: #edf4f1; color: #102d31; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 10vw, 160px); }
.contact-intro h2 { font-size: clamp(2.2rem, 3.8vw, 3.5rem); line-height: 1.3; margin-bottom: 20px; }
.contact-intro p { color: #4b6668; font-size: 1.05rem; }
.contact-details { border-top: 2px solid #1e5354; }
.contact-item { display: grid; grid-template-columns: 118px 1fr; gap: 14px; padding: 20px 0; border-bottom: 1px solid #cbdad5; }
.contact-item > span { color: #5d7678; font-size: .9rem; }
.contact-item strong, .contact-item a, .contact-item address { color: #163e43; font-size: 1.05rem; font-weight: 600; font-style: normal; line-height: 1.7; }
.contact-item a:hover { color: #248c7c; }
.contact-item a span { color: #26887a; padding-left: 8px; }

.site-footer { background: #07131d; padding: 64px 0 0; }
.footer-main { display: flex; justify-content: space-between; gap: 40px; padding-bottom: 64px; }
.footer-logo { margin-bottom: 28px; }
.footer-main p { max-width: 440px; color: #91adae; font-size: .93rem; margin: 0; }
.footer-links { display: flex; gap: 30px; align-items: start; flex-wrap: wrap; color: #bdcfcd; font-size: .91rem; }
.footer-links a:hover { color: var(--brand-2); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; border-top: 1px solid rgba(210,238,232,.12); color: #769194; font-size: .79rem; }
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.js .reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .nav-links { gap: 14px; }
  .nav-links a { font-size: .82rem; }
  .nav-button { display: none; }
  .capability-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
  .capability-feature { grid-row: span 2; }
}
@media (max-width: 900px) {
  .nav-button { display: inline-flex; }
  .nav-links.open { top: 76px; background: #0b202b; }
  .hero-copy { width: min(690px, 100%); }
  .hero-photo { background-position: 59% center; }
  .lm-hero::before { background: linear-gradient(90deg, rgba(5,17,27,.98), rgba(5,17,27,.79) 63%, rgba(5,17,27,.36)); }
  .focus-list { grid-template-columns: repeat(3, 1fr); }
  .focus-list span:nth-child(4) { border-left: 1px solid rgba(177,227,215,.14); }
  .about-grid { grid-template-columns: 1fr; gap: 35px; }
  .about-body { padding-top: 0; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 36px, var(--container)); }
  .nav { height: 68px; }
  .logo-symbol { width: 35px; height: 35px; }
  .logo-type strong { font-size: 1rem; }
  .nav-cta .nav-button { display: none; }
  .nav-links.open { top: 68px; }
  .lm-hero { min-height: min(690px, calc(100dvh - 68px)); }
  .hero-inner { padding: 67px 0 80px; align-items: center; }
  .hero-photo { background-position: 65% center; }
  .lm-hero::before { background: linear-gradient(90deg, rgba(5,17,27,.98), rgba(5,17,27,.80)), linear-gradient(0deg, rgba(5,17,27,.52), transparent); }
  .hero-copy h1 { font-size: clamp(2.2rem, 8vw, 3.3rem); white-space: normal; }
  .hero-kicker { font-size: .62rem; letter-spacing: .14em; }
  .hero-description { font-size: .96rem; line-height: 1.8; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { padding: 13px 15px; font-size: .9rem; }
  .hero-side-note { display: none; }
  .focus-list { grid-template-columns: repeat(2, 1fr); }
  .focus-list span { font-size: .78rem; }
  .focus-list span:nth-child(odd) { border-left: 1px solid rgba(177,227,215,.14); }
  .about-body { padding-left: 22px; }
  .about-body p { font-size: .99rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-feature { grid-row: auto; min-height: 320px; }
  .capability { min-height: 238px; }
  .products-intro { display: block; }
  .products-intro p { margin: 20px 0 0; }
  .product-row { grid-template-columns: 32px 1fr 20px; gap: 12px; padding: 20px 0; min-height: 85px; }
  .product-row > span:nth-child(3) { grid-column: 2; grid-row: 2; }
  .product-arrow { grid-column: 3; grid-row: 1; }
  .contact-item { grid-template-columns: 1fr; gap: 4px; }
  .footer-main { display: block; }
  .footer-links { margin-top: 36px; gap: 14px 22px; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .capability, .btn, .product-row { transition: none; }
}
