:root {
  --ink: #0b1722;
  --muted: #667683;
  --line: #dce3e6;
  --paper: #f7f6f1;
  --navy: #071827;
  --blue: #2d66da;
  --cyan: #2bb8c7;
  --white: #fff;
  --shell: min(1180px, calc(100vw - 64px));
  --font: Inter, "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.shell { width: var(--shell); margin: 0 auto; }
.site-header { position: sticky; z-index: 40; top: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(7,24,39,.9); backdrop-filter: blur(18px); }
.nav-shell { display: flex; align-items: center; height: 78px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand img { width: 38px; height: 38px; border-radius: 10px; }
.brand span { display: grid; gap: 3px; }
.brand strong { color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .09em; }
.brand small { color: rgba(255,255,255,.45); font-size: 7px; letter-spacing: .23em; }
.desktop-nav { display: flex; gap: 30px; margin-left: auto; }
.desktop-nav a { color: rgba(255,255,255,.6); font-size: 12px; transition: color .2s; }
.desktop-nav a:hover, .desktop-nav a.active { color: #fff; }
.nav-cta { margin-left: 34px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 11px; }
.menu-button,.mobile-nav { display:none; }
.page-about { --page-hero-image:url("assets/technology-hero.webp"); --page-hero-position:58% center; }
.page-solutions { --page-hero-image:url("assets/solutions-hero-v2.webp"); --page-hero-position:58% center; }
.page-cases { --page-hero-image:url("assets/cases-hero-v2.webp"); --page-hero-position:58% center; }
.page-insights { --page-hero-image:url("assets/insights-hero-v2.webp"); --page-hero-position:58% center; }
.page-contact { --page-hero-image:url("assets/contact-hero-v2.webp"); --page-hero-position:58% center; }
.page-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(90deg,rgba(4,17,29,.97) 0%,rgba(5,24,41,.9) 42%,rgba(5,28,48,.48) 100%),var(--page-hero-image,url("assets/technology-hero.webp")) var(--page-hero-position,58% center) / cover no-repeat; }
.page-hero::before { position:absolute; inset:0; content:""; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:58px 58px; mask-image:linear-gradient(90deg,#000,transparent 88%); }
.page-hero::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(3,15,26,.04),rgba(3,15,26,.34)); pointer-events:none; }
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1.34fr .66fr; gap:64px; align-items:end; min-height:470px; padding:96px 0 70px; }
.kicker { color:#72d5de; font-size:9px; font-weight:700; letter-spacing:.27em; }
.page-hero h1 { max-width:780px; margin:24px 0 0; font-size:clamp(52px,5vw,68px); font-weight:500; letter-spacing:-.055em; line-height:1.1; }
.hero-summary { max-width:480px; margin:0 0 8px; padding-left:22px; border-left:1px solid rgba(114,213,222,.45); color:rgba(255,255,255,.62); font-size:14px; line-height:1.9; }
.crumbs { position:absolute; z-index:2; top:30px; color:rgba(255,255,255,.35); font-size:10px; }
.crumbs a:hover { color:#fff; }
.section { padding:96px 0; }
.section.alt { background:#fff; }
.section.blue { color:#fff; background:linear-gradient(135deg,#123d92,#082651); }
.section-head { display:grid; grid-template-columns:1.22fr .78fr; gap:72px; align-items:end; margin-bottom:50px; }
.section-head h2 { margin:17px 0 0; font-size:clamp(36px,4vw,54px); font-weight:500; letter-spacing:-.05em; line-height:1.18; }
.section-head p { max-width:470px; margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.blue .section-head p { color:rgba(255,255,255,.55); }
.content-visual { position:relative; overflow:hidden; margin:0 0 34px; min-height:260px; border:1px solid rgba(17,48,70,.14); background:#071827; }
.content-visual img { width:100%; height:300px; object-fit:cover; object-position:center; opacity:.9; }
.content-visual::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(4,20,34,.08),transparent 55%,rgba(4,20,34,.16)); pointer-events:none; }
.content-visual figcaption { position:absolute; z-index:1; right:22px; bottom:18px; padding:9px 12px; border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.72); background:rgba(5,23,39,.72); backdrop-filter:blur(12px); font-size:10px; letter-spacing:.08em; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.editorial-card { position:relative; min-height:300px; padding:30px; border:1px solid var(--line); background:rgba(255,255,255,.65); }
.editorial-card.dark { border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.04); }
.editorial-card > span { color:#2d66da; font-family:Georgia,serif; font-size:12px; font-style:italic; }
.dark > span { color:#70d2db; }
.editorial-card h3 { margin:42px 0 16px; font-size:23px; font-weight:560; line-height:1.35; }
.editorial-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.85; }
.dark p { color:rgba(255,255,255,.5); }
.editorial-card ul { display:grid; gap:10px; margin:25px 0 0; padding:0; color:#33414c; font-size:12px; list-style:none; }
.dark ul { color:rgba(255,255,255,.66); }
.editorial-card li::before { margin-right:9px; color:#2d66da; content:"—"; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stats div { padding:32px; border-right:1px solid var(--line); }
.stats div:last-child { border-right:0; }
.stats strong { display:block; color:#174ea6; font-size:38px; font-weight:480; }
.stats span { display:block; margin-top:8px; color:var(--muted); font-size:11px; }
.timeline { border-top:1px solid var(--line); }
.timeline article { display:grid; grid-template-columns:100px 1fr 1fr; gap:40px; padding:32px 0; border-bottom:1px solid var(--line); }
.timeline article > span { color:#2d66da; font-family:Georgia,serif; font-style:italic; }
.timeline h3 { margin:0; font-size:22px; font-weight:550; }
.timeline p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.case-card { overflow:hidden; border:1px solid var(--line); background:#fff; }
.case-visual { position:relative; min-height:250px; padding:28px; color:#fff; background:linear-gradient(145deg,rgba(10,45,84,.42),rgba(4,22,40,.86)),url("assets/cases-hero-v2.webp") center / cover no-repeat; }
.case-card:nth-child(1) .case-visual { background-position:72% center; }
.case-card:nth-child(2) .case-visual { background-position:52% center; }
.case-card:nth-child(3) .case-visual { background-position:88% center; }
.case-visual::after { position:absolute; right:-70px; bottom:-70px; width:220px; height:220px; border:1px solid rgba(96,199,220,.3); border-radius:50%; content:""; box-shadow:0 0 0 35px rgba(96,199,220,.05),0 0 0 70px rgba(96,199,220,.03); }
.case-visual small { position:relative; z-index:1; color:#8ce5ec; font-size:9px; letter-spacing:.15em; text-shadow:0 2px 12px rgba(0,0,0,.5); }
.case-visual strong { position:absolute; z-index:1; bottom:25px; left:28px; font-size:44px; font-weight:520; text-shadow:0 4px 22px rgba(0,0,0,.5); }
.case-body { padding:28px; }
.case-body h3 { margin:0 0 13px; font-size:22px; font-weight:560; }
.case-body p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.article-list { border-top:1px solid var(--line); }
.article-row { display:grid; grid-template-columns:120px 1fr auto; gap:32px; align-items:center; padding:30px 0; border-bottom:1px solid var(--line); }
.article-row time { color:#8a949d; font-size:10px; }
.article-row h3 { margin:0 0 8px; font-size:21px; font-weight:550; }
.article-row p { margin:0; color:var(--muted); font-size:12px; }
.article-row > span { color:#2d66da; font-size:18px; }
.article-row:not(a) > span { color:#9aa2a9; font-size:10px; }
.article-shell { max-width:760px; margin:0 auto; }
.article-meta { display:flex; gap:18px; margin-bottom:30px; color:#83909a; font-size:10px; }
.article-content { color:#33414c; font-size:15px; line-height:2; }
.article-content h2 { margin:55px 0 18px; color:var(--ink); font-size:30px; font-weight:550; letter-spacing:-.03em; }
.article-content p { margin:0 0 24px; }
.article-content blockquote { margin:40px 0; padding:22px 28px; border-left:2px solid var(--blue); background:#fff; color:#173249; font-size:18px; }
.detail-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:45px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-facts div { padding:25px; border-right:1px solid var(--line); }
.detail-facts div:last-child { border-right:0; }
.detail-facts strong { display:block; color:#174ea6; font-size:26px; font-weight:500; }
.detail-facts span { display:block; margin-top:8px; color:var(--muted); font-size:10px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
.contact-copy h2 { margin:17px 0 24px; font-size:52px; font-weight:500; letter-spacing:-.05em; }
.contact-copy p { max-width:460px; color:var(--muted); font-size:14px; line-height:1.9; }
.contact-details { margin-top:35px; border-top:1px solid var(--line); }
.contact-details div { display:grid; grid-template-columns:120px 1fr; padding:18px 0; border-bottom:1px solid var(--line); font-size:12px; }
.contact-details span { color:#8a949d; }
.contact-form { display:grid; gap:18px; padding:38px; border:1px solid var(--line); background:#fff; box-shadow:0 24px 70px rgba(12,35,52,.06); }
.field-row { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.contact-form label { display:grid; gap:8px; color:#697580; font-size:10px; }
.contact-form input,.contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); outline:0; background:transparent; }
.contact-form input { height:44px; }
.contact-form textarea { padding:13px 0; resize:vertical; }
.form-submit { height:50px; border:0; color:#fff; background:linear-gradient(105deg,#174ea6,#2189b1); cursor:pointer; }
.form-note { margin:0; color:#9199a0; font-size:9px; }
.form-note.success { color:#367154; }
.sub-cta { padding:80px 0; color:#fff; background:linear-gradient(135deg,#0b3150,#123d92); }
.sub-cta .shell { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.sub-cta h2 { margin:0; font-size:35px; font-weight:500; }
.sub-cta a { padding:14px 20px; border:1px solid rgba(255,255,255,.3); font-size:12px; }
.site-footer { color:rgba(255,255,255,.48); background:#071827; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; min-height:130px; }
.footer-inner p { font-size:10px; line-height:1.7; }
.footer-links { display:flex; gap:23px; font-size:10px; }
@media(max-width:820px){.desktop-nav,.nav-cta{display:none}.menu-button{display:grid;gap:5px;margin-left:auto;padding:10px;border:0;background:transparent}.menu-button span{width:22px;height:1px;background:#fff}.mobile-nav{position:fixed;z-index:39;top:78px;right:0;left:0;display:grid;padding:20px 28px;background:#071827;visibility:hidden;pointer-events:none;transform:translateY(-130%);transition:transform .25s}.mobile-nav.open{visibility:visible;pointer-events:auto;transform:none}.mobile-nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:13px}.hero-inner,.section-head,.contact-layout{grid-template-columns:1fr;gap:32px}.hero-inner{min-height:0;padding:120px 0 70px}.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.timeline article{grid-template-columns:60px 1fr}.timeline p{grid-column:2}.footer-inner{display:grid;gap:25px;padding:40px 0}.footer-links{flex-wrap:wrap}}
@media(min-width:721px) and (max-width:900px){
  .hero-inner{grid-template-columns:1.26fr .74fr;gap:34px;min-height:430px;padding:88px 0 58px}
  .page-hero h1{font-size:40px;line-height:1.13}
  .hero-summary{font-size:12px}
  .section{padding:84px 0}
  .section-head{grid-template-columns:1.14fr .86fr;gap:42px;margin-bottom:42px}
  .section-head h2{font-size:36px}
  .section-head p{font-size:12px}
  .grid-3{grid-template-columns:repeat(2,1fr);gap:14px}
  .grid-3 > :last-child:nth-child(odd){grid-column:1 / -1;min-height:235px}
  .grid-2{grid-template-columns:repeat(2,1fr);gap:14px}
  .editorial-card{min-height:270px;padding:26px}
  .editorial-card h3{margin-top:38px;font-size:20px}
  .editorial-card p,.editorial-card ul{font-size:11px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats div{padding:25px 20px;border-bottom:1px solid var(--line)}
  .stats div:nth-child(2){border-right:0}
  .stats strong{font-size:30px}
  .timeline article{grid-template-columns:64px .8fr 1.2fr;gap:24px;padding:27px 0}
  .timeline p{grid-column:auto;font-size:11px}
  .timeline h3{font-size:19px}
  .contact-layout{grid-template-columns:.8fr 1.2fr;gap:44px}
  .contact-copy h2{font-size:42px}
  .contact-copy p{font-size:12px}
  .contact-details div{grid-template-columns:92px 1fr;font-size:10px}
  .contact-form{padding:28px}
  .case-visual{min-height:205px;padding:22px}
  .case-visual strong{bottom:22px;left:22px;font-size:34px}
  .case-body{padding:22px}
  .case-body h3{font-size:18px}
  .case-body p{font-size:11px}
  .article-row{grid-template-columns:90px 1fr auto;gap:22px}
  .footer-inner{display:flex;padding:0}
}
@media(max-width:560px){
  :root{--shell:calc(100vw - 30px)}
  .page-hero{background-position:67% center;background-image:linear-gradient(90deg,rgba(4,17,29,.96),rgba(5,24,41,.78)),var(--page-hero-image,url("assets/technology-hero.webp"))}
  .hero-inner{padding:104px 0 54px}
  .page-hero h1{font-size:clamp(30px,8.4vw,34px);line-height:1.16}
  .hero-summary{font-size:12px;line-height:1.75}
  .section{padding:72px 0}
  .section-head{margin-bottom:34px}
  .section-head h2{font-size:32px}
  .editorial-card{min-height:0;padding:26px}
  .editorial-card h3{margin-top:32px}
  .stats{grid-template-columns:1fr}
  .stats div{padding:24px 4px;border-right:0;border-bottom:1px solid var(--line)}
  .timeline article{gap:18px;padding:26px 0}
  .article-row{grid-template-columns:1fr auto}
  .article-row time{grid-column:1 / 3}
  .field-row{grid-template-columns:1fr}
  .contact-copy h2{font-size:38px}
  .contact-form{padding:24px 18px;box-shadow:none}
  .sub-cta{padding:64px 0}
  .sub-cta .shell{display:grid}
  .sub-cta h2{font-size:29px}
  .footer-links{display:grid;grid-template-columns:repeat(2,1fr)}
  .content-visual{min-height:210px;margin-bottom:24px}
  .content-visual img{height:220px}
  .content-visual figcaption{right:12px;bottom:12px;max-width:calc(100% - 24px)}
}

/* ===== V3 compliance layer: subpage footer beian ===== */
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.3); font-size: 9px; }
.footer-beian { display: inline-flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.footer-beian a { color: rgba(255,255,255,.42); }
.footer-beian a:hover { color: #fff; }
@media (max-width: 600px) { .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; } }
/* ===== V3 About page: founder + certificates wall + workspace ===== */
.about-intro { padding: 0 0 0; margin-top: -36px; }
.about-intro .stats { background: #fff; }

.founder { display: grid; grid-template-columns: 0.62fr 1.38fr; gap: 56px; align-items: start; }
.fs-portrait { position: relative; }
.fs-portrait > img { width: 100%; border: 1px solid var(--line); border-radius: 4px; }
.fs-portrait::before { content: ""; position: absolute; z-index: -1; top: -16px; left: -16px; right: 16px; bottom: 16px; border: 1px solid rgba(45,102,218,.2); border-radius: 4px; }
.fs-tag { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 11px 13px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; background: #fff; }
.fs-tag svg { flex: 0 0 auto; width: 14px; color: var(--blue); }
.fs-badge { display: inline-block; padding: 6px 13px; border: 1px solid var(--blue); border-radius: 2px; color: var(--blue); font-size: 11px; font-weight: 600; letter-spacing: .05em; }
.fs-name { margin: 16px 0 12px; font-size: 26px; font-weight: 560; }
.fs-tagline { margin: 0 0 32px; padding-left: 16px; border-left: 2px solid var(--metal); color: var(--ink); font-size: 15px; font-style: italic; line-height: 1.7; }
.fs-block-label { margin-bottom: 14px; color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.cert-list { display: grid; margin: 0 0 32px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.cert-list li { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: start; padding: 13px 2px; border-bottom: 1px solid var(--line); color: #3a4651; font-size: 13px; line-height: 1.65; }
.cert-list li strong { color: var(--ink); font-weight: 600; }
.cert-list .ci { font-size: 15px; line-height: 1.3; }
.role-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.role-chips span { padding: 7px 13px; border: 1px solid var(--line); border-radius: 2px; color: #3a4651; font-size: 12px; background: rgba(255,255,255,.6); }
.org-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.org-grid div { padding: 15px 12px; border: 1px solid var(--line); border-radius: 2px; color: var(--ink); font-size: 12px; font-weight: 600; text-align: center; background: rgba(255,255,255,.6); }
.founder-bio { max-width: 880px; margin: 54px auto 0; padding-top: 42px; border-top: 1px solid var(--line); }
.founder-bio h3 { margin: 0 0 20px; font-size: 22px; font-weight: 560; }
.founder-bio p { margin: 0 0 16px; color: #48535d; font-size: 14.5px; line-height: 1.95; }
.founder-bio p:last-child { margin-bottom: 0; }
.founder-bio strong { color: var(--ink); }
.founder-bio em { color: var(--blue); font-style: normal; }

.cert-wall { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.cw-item { display: flex; flex-direction: column; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #fff; transition: box-shadow .25s ease, transform .25s ease; }
.cw-item:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(12,35,52,.1); }
.cw-item.cw-large { grid-column: span 2; grid-row: span 2; }
.cw-item img { width: 100%; flex: 1; min-height: 0; padding: 12px; object-fit: contain; aspect-ratio: 4/3; background: linear-gradient(135deg,#f4f6f9,#e9eef5); }
.cw-item.cw-sticker img { padding: 22px; aspect-ratio: 1; }
.cw-item figcaption { display: grid; gap: 3px; flex-shrink: 0; padding: 11px 14px; border-top: 1px solid var(--line); }
.cw-org { color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.cw-name { color: var(--ink); font-size: 12.5px; font-weight: 550; }
.cw-large .cw-name { font-size: 15px; }
.cw-foot { display: flex; align-items: flex-start; gap: 14px; margin-top: 22px; padding: 20px 24px; border: 1px solid rgba(45,102,218,.22); border-radius: 4px; background: rgba(45,102,218,.04); }
.cw-foot .cwf-icon { flex: 0 0 auto; font-size: 24px; line-height: 1.2; }
.cw-foot strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 14px; }
.cw-foot p { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.7; }
.cw-foot p strong { display: inline; }

.ws-grid { display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(2,200px); gap: 12px; }
.ws-card { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #071827; }
.ws-card.ws-feature { grid-column: span 2; grid-row: span 2; }
.ws-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ws-card:hover img { transform: scale(1.05); }
.ws-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 9px; padding: 12px 14px; color: #fff; background: linear-gradient(transparent,rgba(4,17,29,.9)); }
.ws-num { padding: 3px 8px; border: 1px solid rgba(255,255,255,.4); color: #9fb6fa; font-family: Georgia,serif; font-size: 9px; font-style: italic; }
.ws-name { font-size: 13px; font-weight: 520; text-shadow: 0 2px 10px rgba(0,0,0,.5); }

.editorial-card .vemoji { display: block; font-family: var(--font); font-size: 26px; font-style: normal; }

@media (max-width: 820px) {
  .founder { grid-template-columns: 1fr; gap: 36px; }
  .fs-portrait { max-width: 340px; }
  .cert-wall { grid-template-columns: repeat(2,1fr); }
  .ws-grid { grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(4,170px); }
  .ws-card.ws-feature { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 560px) {
  .about-intro .stats { grid-template-columns: repeat(2,1fr); }
  .cert-wall { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cw-item.cw-large { grid-column: span 2; grid-row: auto; }
  .cw-large .cw-name { font-size: 12.5px; }
  .ws-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4,140px); }
  .ws-card.ws-feature { grid-column: span 2; }
  .role-chips span { padding: 6px 10px; font-size: 11px; }
  .org-grid { grid-template-columns: repeat(2,1fr); }
}