/* 优化公司 Banner 标题比例 */
.about-hero-copy h1 { font-size:clamp(44px,4.4vw,64px); line-height:1.14; letter-spacing:-.07em; }
@media (max-width:1060px) and (min-width:761px) { .about-hero-copy h1 { font-size:50px; } }
@charset "UTF-8";

:root { --ink:#071a3d; --deep:#04142f; --blue:#165dff; --cyan:#14b8d4; --paper:#f4f7fb; --white:#fff; --muted:#62708a; --line:#d9e1ed; --dark-line:rgba(255,255,255,.18); --container:1240px; --ease:cubic-bezier(.2,.8,.2,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.container { width:min(calc(100% - 64px),var(--container)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.section { padding:96px 0; }
.dark-panel { color:var(--white); background:var(--ink); }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 22px; color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.15em; line-height:1; }
.eyebrow-line { width:28px; height:2px; background:currentColor; }
.eyebrow-light { color:#7facff; }
.text-link { display:inline-flex; gap:11px; align-items:center; margin-top:28px; padding-bottom:4px; border-bottom:1px solid currentColor; color:var(--blue); font-size:14px; font-weight:700; transition:gap .3s var(--ease),color .3s ease; }
.text-link:hover { gap:17px; color:var(--cyan); }
.text-link-light { color:var(--white); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:50px; padding:0 22px; border:1px solid transparent; font-size:14px; font-weight:700; transition:background .25s ease,color .25s ease,transform .25s var(--ease),border-color .25s ease; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:var(--white); background:var(--blue); box-shadow:0 12px 24px rgba(22,93,255,.18); }
.button-primary:hover { background:var(--ink); }
.button-quiet { padding-inline:0; color:var(--ink); border-bottom-color:var(--ink); }
.button-quiet:hover { color:var(--blue); border-color:var(--blue); }
.button-light { color:var(--ink); background:var(--white); }.button-light:hover { color:var(--white); background:var(--deep); }

/* Header */
.site-header { position:fixed; z-index:30; top:0; width:100%; border-bottom:1px solid transparent; transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease); }
.site-header:not(.is-scrolled).site-header-dark .site-nav a { color:rgba(255,255,255,.72); }
.site-header:not(.is-scrolled).site-header-dark .site-nav a:hover,
.site-header:not(.is-scrolled).site-header-dark .site-nav a.is-active { color:var(--white); }
.site-header:not(.is-scrolled).site-header-dark .nav-toggle span:not(.sr-only) { background:var(--white); }
.site-header.is-scrolled { background:rgba(244,247,251,.94); border-color:var(--line); box-shadow:0 10px 30px rgba(7,26,61,.07); backdrop-filter:blur(14px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:35px; }
.brand { flex:0 0 auto; display:flex; align-items:center; }.brand img { width:214px; height:50px; }
.site-nav { display:flex; align-items:center; gap:34px; margin-left:auto; }
.site-nav a { position:relative; padding:15px 0 12px; color:rgba(7,26,61,.7); font-size:14px; transition:color .25s ease; }.site-nav a::after { position:absolute; right:0; bottom:5px; left:0; height:2px; background:var(--blue); content:""; transform:scaleX(0); transform-origin:right; transition:transform .28s var(--ease); }.site-nav a:hover,.site-nav a.is-active { color:var(--ink); }.site-nav a:hover::after,.site-nav a.is-active::after { transform:scaleX(1); transform-origin:left; }
.nav-toggle { display:none; width:42px; height:42px; padding:10px; background:transparent; border:0; }.nav-toggle span:not(.sr-only) { display:block; width:21px; height:1px; margin:5px 0; background:var(--ink); transition:transform .3s var(--ease); }

/* Home banner */
.home-hero { min-height:580px; padding:140px 0 45px; background:var(--paper); overflow:hidden; }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); align-items:center; gap:55px; }
.hero-copy h1,.inner-hero h1 { margin:0; color:var(--ink); font-size:clamp(47px,5.8vw,78px); font-weight:600; letter-spacing:-.08em; line-height:1.08; }.hero-copy h1 em,.inner-hero h1 em,h2 em { color:var(--blue); font-style:normal; }
.hero-lede { max-width:560px; margin:27px 0 0; color:var(--muted); font-size:15px; line-height:1.9; }.hero-actions { display:flex; align-items:center; gap:26px; margin-top:34px; }.hero-under { display:flex; align-items:center; gap:15px; margin-top:39px; color:#7d899e; font-size:14px; letter-spacing:.08em; }.hero-under i { width:40px; height:1px; background:var(--line); }
.system-stage { position:relative; min-height:390px; overflow:hidden; background:var(--ink); border:1px solid rgba(7,26,61,.12); }.stage-grid { position:absolute; inset:0; opacity:.32; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:50px 50px; transform:perspective(420px) rotateX(55deg) translateY(90px) scale(1.3); transform-origin:center bottom; }.stage-routes { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:rgba(78,140,255,.75); stroke-width:1; stroke-dasharray:6 9; }.stage-routes path { animation:route-flow 18s linear infinite; }.stage-routes circle { fill:var(--cyan); stroke:var(--white); stroke-width:2; animation:node-blink 3s ease-in-out infinite; }.system-pane { position:absolute; color:var(--ink); background:rgba(255,255,255,.95); border:1px solid rgba(255,255,255,.75); box-shadow:12px 20px 30px rgba(0,0,0,.2); transition:transform .5s var(--ease),box-shadow .5s ease; }.system-pane:hover { box-shadow:18px 25px 38px rgba(0,0,0,.3); }.system-pane span { display:block; color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.12em; }.system-pane strong { display:block; margin-top:7px; font-size:15px; font-weight:600; }.pane-mobile { top:40px; left:45px; width:150px; height:215px; padding:17px 14px; transform:rotate(-8deg); animation:float-one 5.5s ease-in-out infinite; }.pane-mobile::before { display:block; width:100%; height:108px; margin:13px 0; background:var(--paper); border:1px solid var(--line); content:""; }.pane-mobile i { display:block; width:62%; height:5px; margin-bottom:7px; background:var(--blue); }.pane-mobile b { display:inline-block; width:25%; height:22px; margin:12px 2% 0 0; background:#dce8ff; }.pane-admin { right:40px; bottom:50px; width:220px; height:145px; padding:15px 17px; transform:rotate(5deg); animation:float-two 6.8s ease-in-out infinite; }.pane-admin::before { position:absolute; top:49px; right:16px; width:76px; height:52px; border:1px solid #c7d8f6; background:#eef4ff; content:""; }.pane-admin i { display:inline-block; width:25px; height:5px; margin:23px 3px 0 0; background:var(--blue); }.pane-admin b { display:block; width:47%; height:7px; margin-top:11px; background:#dce3ef; }.pane-ai { top:95px; right:150px; width:180px; min-height:108px; padding:15px; transform:rotate(4deg); animation:float-three 7s ease-in-out infinite; }.pane-ai p { margin:10px 0 0; color:var(--muted); font-size:14px; }.system-node { position:absolute; top:50%; left:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; width:105px; height:105px; color:var(--white); background:var(--blue); border:4px solid rgba(169,197,255,.72); border-radius:50%; box-shadow:0 0 0 14px rgba(22,93,255,.12),0 0 30px rgba(22,93,255,.35); transform:translate(-50%,-50%); animation:node-pulse 3.5s ease-in-out infinite; }.system-node span { font-size:14px; letter-spacing:.15em; }.system-node strong { margin-top:5px; font-size:14px; letter-spacing:.08em; }.stage-caption { position:absolute; right:20px; bottom:17px; color:rgba(255,255,255,.5); font-size:14px; letter-spacing:.12em; }

/* Shared headings / lists */
.section-heading { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:45px; margin-bottom:65px; }.section-index { display:block; margin-top:90px; color:#9aa6ba; font-size:14px; letter-spacing:.1em; }.section-heading h2,.about-intro h2,.experience-statement h2,.faq-grid h2,.map-grid h2 { margin:-10px 0 18px; font-size:clamp(38px,4.7vw,64px); font-weight:600; letter-spacing:-.08em; line-height:1.1; }.section-heading > div:last-child > p,.about-intro-grid > div:last-child > p:not(.lead-copy),.industry-note > p,.experience-facts p,.faq-list p,.contact-band-inner > div:last-child > p { max-width:510px; margin:0; color:var(--muted); font-size:15px; line-height:1.85; }.compact-heading { margin-bottom:50px; }
.service-rail { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }.service-card { position:relative; display:grid; grid-template-columns:42px 1fr 28px; gap:18px; min-height:196px; padding:27px 23px 26px 0; border-bottom:1px solid var(--line); transition:color .35s ease,background .35s ease,padding .35s var(--ease),transform .35s var(--ease); }.service-card:nth-child(odd) { border-right:1px solid var(--line); padding-right:35px; }.service-card:nth-child(even) { padding-left:35px; }.service-card:hover { color:var(--white); background:var(--ink); padding-inline:25px; transform:translateY(-4px); }.service-card:hover + .service-card { border-left-color:transparent; }.card-index { color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.12em; }.card-kicker { margin:0 0 8px; color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.12em; }.service-card h3 { margin:0; font-size:27px; font-weight:600; letter-spacing:-.05em; }.service-card p:not(.card-kicker) { max-width:420px; margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }.service-card:hover p:not(.card-kicker) { color:rgba(255,255,255,.62); }.tag-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }.tag { display:inline-block; padding:4px 8px; color:#758399; border:1px solid var(--line); font-size:14px; }.service-card:hover .tag { color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.22); }.card-arrow { align-self:start; justify-self:end; color:var(--blue); font-size:22px; transition:transform .3s var(--ease); }.service-card:hover .card-arrow,.article-row:hover .card-arrow { transform:translate(5px,-5px); }.section-more { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:25px; border-top:1px solid var(--line); }.section-more span { color:#8a96aa; font-size:14px; letter-spacing:.04em; }.service-archive { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.service-card-large { min-height:240px; padding:32px; border:1px solid var(--line); background:var(--white); }.service-card-large:nth-child(odd) { border-right:1px solid var(--line); padding-right:32px; }.service-card-large:nth-child(even) { padding-left:32px; }.service-card-large:hover { padding:32px; }.service-card-large h3 { font-size:30px; }

/* dark sections */
.advantage-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:120px; }.advantage-lead h2 { margin:0; color:var(--white); font-size:clamp(42px,4.8vw,68px); font-weight:600; letter-spacing:-.08em; line-height:1.1; }.advantage-lead h2 em { color:var(--blue); }.advantage-lead > p:not(.eyebrow) { max-width:360px; margin:25px 0 0; color:rgba(255,255,255,.58); font-size:15px; line-height:1.85; }.advantage-ledger { padding-top:8px; }.advantage-ledger > div { display:grid; grid-template-columns:50px 1fr; gap:14px; padding:26px 0; border-top:1px solid var(--dark-line); }.advantage-ledger > div:last-child { border-bottom:1px solid var(--dark-line); }.advantage-ledger span { color:#7facff; font-size:14px; letter-spacing:.12em; }.advantage-ledger strong { font-size:18px; font-weight:600; }.advantage-ledger p { grid-column:2; max-width:440px; margin:0; color:rgba(255,255,255,.5); font-size:14px; }
.industry-board { display:grid; grid-template-columns:1.05fr .95fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.industry-list { display:grid; grid-template-columns:1fr 1fr; }.industry-link { display:grid; grid-template-columns:40px 1fr 25px; align-items:center; min-height:73px; padding:0 20px 0 0; border-bottom:1px solid var(--line); font-size:15px; transition:background .3s ease,color .3s ease,padding .3s var(--ease); }.industry-link:nth-child(odd) { border-right:1px solid var(--line); }.industry-link:nth-last-child(-n+2) { border-bottom:0; }.industry-link span { color:#98a4b8; font-size:14px; }.industry-link b { color:var(--blue); font-size:18px; font-weight:400; }.industry-link:hover,.industry-link.is-current { padding-left:15px; color:var(--white); background:var(--ink); }.industry-note { display:flex; flex-direction:column; justify-content:center; padding:50px; border-left:1px solid var(--line); background:var(--white); }.industry-note > span { color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.14em; }.industry-note h3 { max-width:380px; margin:18px 0 15px; font-size:28px; font-weight:600; letter-spacing:-.05em; line-height:1.25; }

/* Case art / list */
.case-mosaic { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; }.case-card { display:block; min-width:0; }.case-card-feature { grid-row:span 2; }.case-art { position:relative; display:flex; align-items:flex-end; height:240px; padding:20px; overflow:hidden; color:var(--white); background:var(--ink); isolation:isolate; transition:transform .5s var(--ease); }.case-card-feature .case-art { height:520px; }.case-card:hover .case-art { transform:translateY(-5px); }.case-art::before,.case-art::after { position:absolute; content:""; z-index:-1; }.case-art::before { inset:-25%; border:1px solid rgba(255,255,255,.18); border-radius:50%; transform:rotate(-18deg); }.case-art::after { right:-40px; bottom:-80px; width:270px; height:270px; border:1px solid rgba(20,184,212,.6); border-radius:50%; box-shadow:0 0 0 32px rgba(20,184,212,.08),0 0 0 64px rgba(20,184,212,.05); }.case-art span { position:absolute; top:20px; left:20px; color:rgba(255,255,255,.68); font-size:14px; font-weight:700; letter-spacing:.12em; }.case-art b { font-size:clamp(32px,5vw,72px); font-weight:500; letter-spacing:-.1em; }.case-art i { position:absolute; top:50%; left:50%; width:72px; height:72px; border:1px solid var(--cyan); border-radius:50%; transform:translate(-50%,-50%); }.case-art-medical-research { background:#123069; }.case-art-water-payment { background:#0b2d52; }.case-art-qianan-gold-payment { background:#1f2b4a; }.case-art-qianxi-school-payment { background:#123a45; }.case-art-tangshan-patrol { background:#1a2944; }.case-art-tonglu-tour { background:#24414a; }.case-card-copy { position:relative; padding:20px 35px 23px 0; border-bottom:1px solid var(--line); }.case-card-copy p { margin:0 0 9px; color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.12em; }.case-card-copy h3 { margin:0; font-size:22px; font-weight:600; letter-spacing:-.04em; line-height:1.3; }.case-card-copy > span { display:block; margin-top:8px; color:var(--muted); font-size:14px; line-height:1.7; }.case-card-copy .card-arrow { position:absolute; right:0; bottom:24px; }.case-archive { display:grid; grid-template-columns:repeat(3,1fr); gap:32px 20px; }.case-filter-item { min-width:0; }.case-archive .case-art { height:260px; }.filter-bar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:40px; padding-bottom:18px; border-bottom:1px solid var(--line); }.filter-bar > span { margin-right:9px; color:#8995a9; font-size:14px; letter-spacing:.1em; }.filter-button { padding:8px 12px; border:1px solid var(--line); color:#7a879b; background:transparent; font-size:14px; transition:color .25s ease,background .25s ease,border-color .25s ease; }.filter-button:hover,.filter-button.is-active { color:var(--white); background:var(--ink); border-color:var(--ink); }

/* process / news / faq */
.process-track { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:20px; padding-top:20px; }.process-track::before { position:absolute; top:52px; right:0; left:0; height:1px; background:rgba(255,255,255,.24); content:""; }.process-step { position:relative; min-width:0; }.process-step > span { position:relative; z-index:1; display:block; width:65px; padding-bottom:18px; color:#7facff; background:var(--ink); font-size:14px; letter-spacing:.12em; }.process-step i { position:absolute; top:28px; left:0; width:11px; height:11px; border:2px solid #7facff; background:var(--ink); border-radius:50%; transition:transform .3s var(--ease),background .3s ease; }.process-step:hover i { background:#7facff; transform:scale(1.35); }.process-step strong { display:block; margin-top:33px; font-size:17px; font-weight:600; }.process-step small { display:block; margin-top:7px; color:rgba(255,255,255,.48); font-size:14px; }
.article-list { border-top:1px solid var(--line); }.article-row { display:grid; grid-template-columns:145px 1fr 40px; align-items:center; gap:20px; min-height:105px; border-bottom:1px solid var(--line); transition:padding .3s var(--ease),color .25s ease; }.article-row:hover { padding-inline:20px; color:var(--blue); }.article-meta { color:#8a96aa; font-size:14px; line-height:1.8; letter-spacing:.08em; }.article-meta b { color:var(--muted); font-weight:500; letter-spacing:0; }.article-row strong { font-size:18px; font-weight:600; letter-spacing:-.03em; }.article-row > .card-arrow { justify-self:end; }.article-archive > div { min-width:0; }.article-archive .article-row { min-height:120px; }
.faq-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }.faq-list { border-top:1px solid var(--line); }.faq-list details { padding:22px 0; border-bottom:1px solid var(--line); }.faq-list summary { display:flex; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-size:16px; font-weight:600; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { color:var(--blue); content:"+"; font-size:24px; font-weight:300; line-height:1; }.faq-list details[open] summary::after { content:"−"; }.faq-list p { padding-right:30px; margin-top:14px; }

/* Inner pages */
.inner-hero { min-height:260px; padding:140px 0 45px; color:var(--white); background:var(--ink); }.inner-hero h1 { color:var(--white); font-size:clamp(43px,5vw,68px); }.inner-hero h1 em { color:#7facff; }.inner-hero-inner > p:not(.eyebrow) { max-width:600px; margin:19px 0 0; color:rgba(255,255,255,.64); font-size:15px; line-height:1.8; }.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:30px; color:rgba(255,255,255,.48); font-size:14px; }.breadcrumbs a:hover { color:var(--white); }.breadcrumbs i { color:var(--blue); font-style:normal; }
.about-intro-grid,.two-column-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }.about-intro { background:var(--white); }.about-intro-grid h2 { margin-top:-8px; }.lead-copy { margin:0 0 20px; color:var(--ink); font-size:22px; line-height:1.65; }.about-intro-grid > div:last-child > p:not(.lead-copy) { color:var(--muted); }.section-light-facts { padding-top:0; background:var(--white); }.facts-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.facts-grid > div { min-height:130px; padding:28px 22px 24px 0; border-right:1px solid var(--line); }.facts-grid > div:not(:first-child) { padding-left:22px; }.facts-grid > div:last-child { border-right:0; }.facts-grid span,.contact-details span,.experience-facts span { display:block; color:#8995a9; font-size:14px; letter-spacing:.1em; }.facts-grid strong { display:block; margin-top:13px; font-size:17px; font-weight:600; line-height:1.5; }.numbered-list > div { display:grid; grid-template-columns:45px 1fr; gap:14px; padding:20px 0; border-top:1px solid var(--line); }.numbered-list > div:last-child { border-bottom:1px solid var(--line); }.numbered-list span { color:var(--blue); font-size:14px; }.numbered-list strong { font-size:17px; }.numbered-list p { grid-column:2; margin:0; color:var(--muted); font-size:14px; }.about-process .section-heading { margin-bottom:55px; }.experience-tags { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 0; }.experience-tag { padding:8px 11px; color:var(--blue); border:1px solid var(--line); font-size:14px; }
.section-detail { background:var(--white); }.detail-grid { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:100px; }.detail-aside { position:sticky; top:110px; align-self:start; }.detail-aside h2 { margin:0; font-size:clamp(33px,3.8vw,54px); font-weight:600; letter-spacing:-.07em; line-height:1.1; }.detail-aside > p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.8; }.detail-content { min-width:0; }.detail-block { padding:0 0 65px; margin-bottom:65px; border-bottom:1px solid var(--line); }.detail-block:last-child { margin-bottom:0; }.detail-block h2 { margin:0 0 22px; font-size:clamp(31px,3.8vw,51px); font-weight:600; letter-spacing:-.07em; line-height:1.1; }.detail-block > p:not(.eyebrow),.detail-block > .case-detail-summary > p { color:var(--muted); font-size:15px; line-height:1.9; }.content-list { display:grid; gap:0; padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }.content-list li { position:relative; padding:17px 0 17px 19px; border-bottom:1px solid var(--line); color:var(--muted); font-size:14px; }.content-list li::before { position:absolute; top:26px; left:0; width:6px; height:6px; background:var(--blue); content:""; border-radius:50%; }.pill-list { display:flex; flex-wrap:wrap; gap:9px; padding:0; border:0; }.pill-list li { padding:9px 12px; border:1px solid var(--line); }.pill-list li::before { display:none; }.detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:34px; }.detail-columns h3 { margin:0 0 15px; font-size:18px; }.mini-process { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.mini-process > div { min-height:112px; padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.mini-process span { display:block; color:var(--blue); font-size:14px; }.mini-process strong { display:block; margin-top:28px; font-size:15px; }.related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.related-grid .case-art { height:180px; }.related-grid .case-card-copy { padding-top:14px; }.related-grid .case-card-copy h3 { font-size:17px; }.related-service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.related-service-list .service-card { min-height:160px; padding:20px; border:1px solid var(--line); }.related-service-list .service-card:nth-child(even),.related-service-list .service-card:nth-child(odd) { padding-left:20px; padding-right:20px; border-right:1px solid var(--line); }.related-service-list .service-card h3 { font-size:20px; }.case-detail-summary { margin-bottom:50px; padding:28px; background:var(--paper); border-left:3px solid var(--blue); }.case-detail-summary > span { color:var(--blue); font-size:14px; font-weight:700; letter-spacing:.12em; }.case-detail-summary > strong { display:block; max-width:700px; margin-top:11px; font-size:22px; font-weight:600; line-height:1.5; }.case-meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:25px; padding-top:20px; border-top:1px solid var(--line); }.case-meta-grid small { display:block; color:#8995a9; font-size:14px; }.case-meta-grid b { display:block; margin-top:7px; font-size:14px; }.case-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:310px; color:var(--white); background:var(--ink); overflow:hidden; text-align:center; }.case-placeholder span { color:#7facff; font-size:14px; font-weight:700; letter-spacing:.15em; }.case-placeholder strong { margin-top:15px; font-size:28px; font-weight:600; }.case-placeholder small { margin-top:12px; color:rgba(255,255,255,.52); font-size:14px; }
.article-section { background:var(--white); }.article-layout { display:grid; grid-template-columns:220px minmax(0,760px); justify-content:center; gap:80px; }.article-aside { align-self:start; position:sticky; top:110px; color:#8995a9; font-size:14px; }.article-aside > p:not(.eyebrow) { margin:0; line-height:1.7; }.article-toc { display:grid; gap:11px; margin-top:30px; padding-top:20px; border-top:1px solid var(--line); }.article-toc a { color:var(--muted); line-height:1.5; }.article-toc a:hover { color:var(--blue); }.article-content { min-width:0; }.article-lead { padding-bottom:32px; border-bottom:1px solid var(--line); }.article-lead p { margin:0; color:var(--ink); font-size:22px; line-height:1.7; }.article-content section { padding-top:35px; }.article-content section h2 { margin:0 0 13px; font-size:27px; font-weight:600; letter-spacing:-.04em; }.article-content section p { margin:0 0 15px; color:var(--muted); font-size:15px; line-height:2; }.article-related { margin-top:60px; padding-top:35px; border-top:1px solid var(--line); }.article-related > div { display:grid; gap:0; margin-bottom:35px; }.article-related .service-card { min-height:140px; border:1px solid var(--line); padding:18px; }.article-related .service-card:nth-child(odd),.article-related .service-card:nth-child(even) { padding-left:18px; padding-right:18px; border-right:1px solid var(--line); }.article-related .case-card { display:grid; grid-template-columns:180px 1fr; gap:18px; }.article-related .case-art { height:135px; }.article-related .case-card-copy { padding-top:0; }
.contact-band { color:var(--white); background:var(--blue); padding:80px 0; }.contact-band-inner { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:80px; }.contact-band h2 { margin:0; color:var(--white); font-size:clamp(38px,4.5vw,65px); font-weight:600; letter-spacing:-.08em; line-height:1.1; }.contact-band h2 em { color:var(--ink); }.contact-band-inner > div:last-child > p { color:rgba(255,255,255,.76); }.band-actions { display:flex; align-items:center; gap:24px; margin-top:27px; }.band-phone { color:var(--white); font-size:14px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.55); }
.contact-page { background:var(--white); }.contact-page-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; }.contact-card-main h2 { margin:0; font-size:clamp(39px,4.5vw,64px); font-weight:600; letter-spacing:-.08em; line-height:1.1; }.contact-card-main > p:not(.eyebrow) { max-width:500px; margin-top:24px; color:var(--muted); font-size:15px; line-height:1.9; }.contact-actions-large { display:flex; align-items:center; gap:24px; margin-top:32px; }.contact-details { border-top:1px solid var(--line); }.contact-details > div { display:grid; grid-template-columns:100px 1fr; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); }.contact-details strong,.contact-details a { font-size:14px; font-weight:600; line-height:1.6; }.contact-details a:hover { color:var(--blue); }.map-section { background:var(--paper); }.map-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; }.map-grid h2 { margin-bottom:18px; }.map-grid > div:first-child > p:not(.eyebrow) { color:var(--muted); font-size:14px; }.map-placeholder { position:relative; min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--white); background:var(--ink); overflow:hidden; }.map-grid-lines { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:44px 44px; transform:rotate(-8deg) scale(1.2); }.map-placeholder > *:not(.map-grid-lines) { position:relative; z-index:1; }.map-placeholder span { color:#7facff; font-size:14px; font-weight:700; letter-spacing:.15em; }.map-placeholder strong { margin-top:13px; font-size:26px; }.map-placeholder i { width:18px; height:18px; margin-top:22px; border:4px solid var(--white); background:var(--blue); border-radius:50%; box-shadow:0 0 0 13px rgba(22,93,255,.28); }.map-placeholder p { max-width:300px; margin:25px 0 0; color:rgba(255,255,255,.48); font-size:14px; text-align:center; }
.html-sitemap { background:var(--white); }.sitemap-groups { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }.sitemap-groups h2 { margin:0 0 20px; font-size:20px; }.sitemap-link { display:block; padding:10px 0; color:var(--muted); border-bottom:1px solid var(--line); font-size:14px; }.sitemap-link:hover { color:var(--blue); padding-left:7px; }.not-found { min-height:580px; padding:190px 0 100px; background:var(--paper); }.not-found h1 { margin:0; font-size:clamp(48px,6vw,84px); font-weight:600; letter-spacing:-.08em; line-height:1.05; }.not-found h1 em { color:var(--blue); font-style:normal; }.not-found > .container > p:not(.eyebrow) { color:var(--muted); }

/* Footer */
.site-footer { color:rgba(255,255,255,.72); background:var(--deep); padding:70px 0 22px; }.footer-grid { display:grid; grid-template-columns:1.25fr .8fr .9fr 1.1fr; gap:55px; padding-bottom:60px; }.footer-brand img { width:214px; height:50px; }.footer-brand p { margin:22px 0 0; color:rgba(255,255,255,.42); font-size:14px; letter-spacing:.06em; }.footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }.footer-col strong { margin-bottom:10px; color:#7facff; font-size:14px; letter-spacing:.14em; }.footer-col a,.footer-col span { color:rgba(255,255,255,.62); font-size:14px; line-height:1.7; }.footer-col a:hover,.footer-bottom a:hover { color:var(--white); }.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding-top:20px; border-top:1px solid var(--dark-line); color:rgba(255,255,255,.35); font-size:14px; }.footer-bottom a { color:rgba(255,255,255,.55); }

/* Motion */
.reveal { transform:translateY(18px); transition:transform .8s var(--ease); }.reveal.is-visible { transform:translateY(0); }.reveal-delay { transition-delay:.12s; }
@keyframes route-flow { to { stroke-dashoffset:-260; } } @keyframes node-blink { 50% { opacity:.35; transform:scale(.7); transform-origin:center; } } @keyframes node-pulse { 50% { box-shadow:0 0 0 20px rgba(22,93,255,.06),0 0 36px rgba(22,93,255,.5); } } @keyframes float-one { 50% { transform:rotate(-5deg) translateY(-8px); } } @keyframes float-two { 50% { transform:rotate(3deg) translateY(10px); } } @keyframes float-three { 50% { transform:rotate(7deg) translateY(-7px); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }.reveal { transform:none; } }

@media (max-width:1000px) { .site-nav { gap:20px; }.home-hero-grid { grid-template-columns:1fr 1fr; gap:28px; }.system-stage { min-height:430px; }.advantage-grid,.contact-page-grid { gap:60px; }.article-layout { gap:45px; }.footer-grid { gap:30px; } }
@media (max-width:760px) { .container { width:min(calc(100% - 40px),var(--container)); }.section { padding:64px 0; }.header-inner { min-height:68px; }.brand img { width:178px; height:auto; }.nav-toggle { display:block; }.site-nav { position:absolute; top:68px; right:20px; left:20px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:9px 18px; background:var(--white); border:1px solid var(--line); box-shadow:0 16px 30px rgba(7,26,61,.12); }.site-nav.is-open { display:flex; }.site-nav a { padding:12px 0; border-bottom:1px solid var(--line); }.site-nav a:last-child { border-bottom:0; }.site-nav a::after { bottom:3px; }.home-hero { min-height:0; padding:112px 0 38px; }.home-hero-grid { display:block; }.hero-copy h1 { font-size:clamp(44px,13vw,62px); }.hero-lede { font-size:14px; }.hero-actions { gap:20px; margin-top:27px; }.button { min-height:48px; padding-inline:17px; }.system-stage { min-height:390px; margin-top:54px; }.pane-mobile { left:26px; }.pane-admin { right:24px; }.pane-ai { right:100px; }.hero-under { margin-top:28px; font-size:14px; }.section-heading { display:block; margin-bottom:42px; }.section-index { margin-top:20px; }.section-heading h2 { margin-top:39px; font-size:clamp(38px,11vw,54px); }.section-heading > div:last-child > p { font-size:14px; }.service-rail,.service-archive { display:block; }.service-card,.service-card:nth-child(odd),.service-card:nth-child(even) { grid-template-columns:38px 1fr 25px; min-height:160px; padding:21px 0; border-right:0; }.service-card:hover,.service-card-large:hover { padding-inline:14px; }.service-card-large { min-height:200px; padding:24px; margin-bottom:14px; }.service-card-large:nth-child(odd),.service-card-large:nth-child(even) { padding-left:24px; padding-right:24px; }.service-card h3 { font-size:23px; }.service-card p:not(.card-kicker) { font-size:14px; }.tag-list { display:none; }.section-more { display:block; }.section-more span { display:block; margin-top:13px; }.advantage-grid,.about-intro-grid,.two-column-section,.contact-page-grid,.map-grid,.faq-grid,.contact-band-inner { display:block; }.advantage-lead > p:not(.eyebrow) { font-size:14px; }.advantage-ledger { margin-top:48px; }.industry-board { display:block; }.industry-list { grid-template-columns:1fr; }.industry-link,.industry-link:nth-child(odd),.industry-link:nth-last-child(-n+2) { min-height:58px; border-right:0; border-bottom:1px solid var(--line); }.industry-note { padding:37px 23px; border-top:1px solid var(--line); border-left:0; }.industry-note h3 { font-size:24px; }.case-mosaic { display:block; }.case-card-feature .case-art,.case-art { height:290px; }.case-card-feature { margin-bottom:28px; }.case-archive { display:block; }.case-filter-item { margin-bottom:33px; }.filter-bar { align-items:flex-start; }.filter-bar > span { width:100%; margin-bottom:5px; }.process-track { display:block; padding-top:0; }.process-track::before { top:0; bottom:0; left:27px; width:1px; height:auto; }.process-step { display:grid; grid-template-columns:56px 1fr; grid-template-rows:auto auto; min-height:91px; }.process-step > span { grid-row:1 / 3; width:56px; padding-top:9px; background:var(--ink); }.process-step i { top:12px; left:22px; }.process-step strong { margin-top:6px; }.process-step small { margin-top:0; }.article-row { grid-template-columns:1fr 26px; gap:11px; padding:17px 0; }.article-meta { grid-column:1 / -1; }.article-row strong { font-size:15px; }.inner-hero { min-height:220px; padding:112px 0 35px; }.inner-hero h1 { font-size:clamp(42px,12vw,57px); }.inner-hero-inner > p:not(.eyebrow) { font-size:14px; }.detail-grid { display:block; }.detail-aside { position:static; margin-bottom:55px; }.detail-aside h2 { font-size:41px; }.detail-block { padding-bottom:44px; margin-bottom:44px; }.detail-block h2 { font-size:37px; }.detail-columns,.related-grid,.related-service-list { display:block; }.detail-columns > div { margin-bottom:32px; }.related-grid .case-card,.related-service-list .service-card { margin-bottom:24px; }.mini-process { grid-template-columns:1fr 1fr; }.case-detail-summary { padding:20px; }.case-detail-summary > strong { font-size:18px; }.case-meta-grid { display:block; }.case-meta-grid > div { margin-top:15px; }.article-layout { display:block; }.article-aside { position:static; margin-bottom:38px; }.article-toc { grid-template-columns:1fr 1fr; }.article-lead p { font-size:19px; }.article-content section h2 { font-size:23px; }.article-related .case-card { display:block; }.contact-card-main h2 { font-size:41px; }.contact-actions-large { display:block; }.contact-actions-large .button { margin-bottom:19px; }.contact-details { margin-top:50px; }.map-placeholder { min-height:280px; margin-top:44px; }.contact-band { padding:64px 0; }.contact-band h2 { font-size:40px; }.contact-band-inner > div:last-child { margin-top:36px; }.band-actions { display:block; }.band-phone { display:inline-block; margin-top:22px; }.sitemap-groups { display:block; }.sitemap-groups > div { margin-bottom:40px; }.footer-grid { grid-template-columns:1fr 1fr; gap:35px 20px; }.footer-brand { grid-column:1 / -1; }.footer-bottom { display:grid; grid-template-columns:1fr auto; }.footer-bottom a:last-child { grid-column:1 / -1; }.not-found { min-height:550px; padding-top:150px; }.not-found h1 { font-size:53px; } }
@media (max-width:390px) { .hero-actions { display:block; }.button-primary { width:100%; }.button-quiet { margin-top:18px; }.system-stage { margin-inline:-10px; }.pane-mobile { left:15px; transform:scale(.88) rotate(-8deg); transform-origin:left top; }.pane-admin { right:12px; transform:scale(.85) rotate(5deg); transform-origin:right bottom; }.pane-ai { right:75px; transform:scale(.82) rotate(4deg); transform-origin:right top; } }


/* UI/UX audit pass: shared readable scale and interaction states */
:root {
  --font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", Arial, sans-serif;
  --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-fast: 220ms;
  --motion-standard: 560ms;
  --content-max: 1240px;
  --gutter-desktop: 32px;
  --gutter-mobile: 20px;
}
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); font-size:17px; line-height:1.78; color:var(--ink); }
.container { width:min(var(--content-max), calc(100% - (var(--gutter-desktop) * 2))); }
.site-header { min-height:80px; }
.site-nav a { font-size:16px; min-height:44px; display:inline-flex; align-items:center; }
.site-nav a::after { transition:transform var(--motion-fast) var(--ease-standard); }
.nav-toggle { width:48px; height:48px; min-width:48px; }
.button, .text-link, .filter-button { min-height:44px; font-size:16px; }
.button { display:inline-flex; align-items:center; justify-content:center; }
.eyebrow { font-size:15px; line-height:1.4; letter-spacing:.06em; }
.eyebrow-line { width:24px; }
.section-index, .article-meta, .case-card-copy p, .facts-grid span, .contact-details span, .experience-facts span, .case-meta-grid small { font-size:14px; line-height:1.6; letter-spacing:.02em; }
.section-heading > div:last-child > p, .about-intro-grid > div:last-child > p:not(.lead-copy), .industry-note > p, .experience-facts p, .faq-list p, .contact-band-inner > div:last-child > p { font-size:17px; line-height:1.82; }
.text-link { font-size:16px; }
.section-more span { font-size:14px; }
.service-card { min-height:230px; padding-top:32px; padding-bottom:32px; }
.card-index { font-size:14px; }
.card-kicker { font-size:14px; line-height:1.5; letter-spacing:.04em; }
.service-card h3, .service-card-large h3 { font-size:25px; line-height:1.35; }
.service-card p:not(.card-kicker) { font-size:16px; line-height:1.75; }
.tag { padding:7px 10px; font-size:14px; line-height:1.4; }
.card-arrow { min-width:32px; min-height:32px; font-size:24px; }
.hero-lede { font-size:17px; line-height:1.85; }
.home-hero { min-height:600px; padding-top:34px; padding-bottom:42px; }
.home-hero-grid { min-height:520px; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); gap:72px; align-items:center; }
.home-hero h1 { max-width:600px; font-size:clamp(48px,5.3vw,72px); line-height:1.13; letter-spacing:-.075em; }
.home-hero h1 span { display:block; color:var(--blue); }
.hero-meta { display:flex; align-items:center; gap:16px; margin-top:26px; color:var(--muted); font-size:15px; }
.hero-meta i { width:40px; height:1px; background:var(--line); }
.system-stage-enhanced { min-height:470px; border-radius:14px; background:linear-gradient(145deg,#071a3d 0%,#0b2344 62%,#123a6a 100%); box-shadow:0 24px 60px rgba(7,26,61,.16); }
.system-stage-enhanced::before { position:absolute; inset:18px; border:1px solid rgba(255,255,255,.12); content:""; pointer-events:none; }
.hero-track { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:34px 34px 74px; opacity:0; pointer-events:none; transform:translateX(18px); transition:opacity var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard); }
.hero-slide.is-active { opacity:1; pointer-events:auto; transform:none; }
.hero-slide-copy { display:grid; grid-template-columns:42px 1fr; gap:20px; color:var(--white); }
.hero-slide-index { color:#7facff; font-size:15px; font-weight:700; letter-spacing:.1em; }
.hero-slide-kicker { margin:0 0 10px; color:#9dc0ff; font-size:15px; font-weight:600; letter-spacing:.04em; }
.hero-slide-copy h2 { margin:0; color:var(--white); font-size:30px; line-height:1.3; letter-spacing:-.04em; }
.hero-slide-copy > div > p:last-child { max-width:420px; margin:12px 0 0; color:rgba(255,255,255,.72); font-size:16px; line-height:1.7; }
.hero-interface { position:relative; height:220px; overflow:hidden; background:#f4f7fb; border:1px solid rgba(255,255,255,.75); box-shadow:12px 18px 34px rgba(0,0,0,.18); transform:rotate(-1.5deg); transition:transform var(--motion-standard) var(--ease-standard); }
.hero-slide.is-active .hero-interface { animation:interface-float 6s ease-in-out infinite; }
.interface-top { display:flex; align-items:center; gap:7px; height:38px; padding:0 15px; border-bottom:1px solid #d9e1ed; background:#fff; }
.interface-top span { width:7px; height:7px; border-radius:50%; background:#b9c7d8; }
.interface-top b { margin-left:auto; color:#62708a; font-size:15px; font-weight:600; }
.interface-body { display:flex; height:calc(100% - 38px); }
.interface-sidebar { display:flex; flex-direction:column; gap:16px; width:74px; padding:18px 15px; border-right:1px solid #d9e1ed; background:#edf5ff; }
.interface-sidebar i { display:block; height:8px; background:#9ec3ff; }
.interface-sidebar i:nth-child(2) { width:80%; background:#165dff; }
.interface-sidebar i:nth-child(3) { width:68%; }
.interface-main { flex:1; padding:19px 22px; }
.interface-heading { display:flex; align-items:center; justify-content:space-between; color:#0d1f35; }
.interface-heading strong { font-size:18px; }
.interface-heading em { color:#165dff; font-size:14px; font-style:normal; }
.interface-panels { display:grid; grid-template-columns:1.2fr .9fr .8fr; gap:12px; margin-top:18px; }
.interface-panels > div { min-height:70px; padding:12px; border:1px solid #dbe5ef; background:#fff; }
.interface-panels b, .interface-panels i { display:block; height:9px; margin-bottom:9px; background:#c7d9f8; }
.interface-panels b:nth-child(2) { width:76%; background:#165dff; }
.interface-panels b:nth-child(3) { width:52%; }
.interface-panels i:nth-child(2) { width:68%; background:#20b8d8; }
.interface-panels i:nth-child(3) { width:82%; }
.interface-panels i:nth-child(4) { width:55%; }
.interface-panels span { display:block; width:20px; height:20px; margin:0 auto 10px; border:2px solid #20b8d8; border-radius:50%; }
.interface-panels span + span { width:70%; height:7px; margin:0 auto; border:0; border-radius:0; background:#c7d9f8; }
.interface-foot { display:flex; gap:10px; margin-top:18px; }
.interface-foot span { display:block; width:31%; height:6px; background:#bcd0f3; }
.interface-foot span:first-child { background:#165dff; }
.interface-node { position:absolute; right:28px; bottom:24px; display:grid; place-items:center; width:66px; height:66px; color:var(--white); background:var(--blue); border:3px solid rgba(255,255,255,.82); border-radius:50%; font-size:16px; font-weight:700; box-shadow:0 0 0 12px rgba(22,93,255,.14); }
.hero-interface-1 { transform:rotate(1.2deg); }
.hero-interface-2 { transform:rotate(-.8deg); }
.hero-slider-controls { position:absolute; right:28px; bottom:18px; left:28px; display:flex; align-items:center; justify-content:space-between; }
.hero-control { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.35); color:var(--white); background:rgba(7,26,61,.38); font-size:21px; cursor:pointer; transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease; }
.hero-control:hover, .hero-control:focus-visible { border-color:var(--cyan); background:var(--blue); }
.hero-dots { display:flex; align-items:center; gap:10px; }
.hero-dots button { width:10px; height:10px; padding:0; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:transparent; cursor:pointer; }
.hero-dots button.is-active { background:var(--cyan); border-color:var(--cyan); box-shadow:0 0 0 4px rgba(20,184,212,.16); }
@keyframes interface-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-7px) rotate(-.4deg); } }
.section-advantage .advantage-lead h2 { max-width:520px; font-size:clamp(40px,4.2vw,60px); }
.advantage-ledger strong { font-size:20px; }
.advantage-ledger p { font-size:16px; line-height:1.7; }
.industry-link { min-height:78px; padding:0 22px 0 0; font-size:17px; }
.industry-link span { font-size:14px; }
.industry-link b { font-size:21px; }
.industry-note > span { font-size:14px; letter-spacing:.05em; }
.industry-note h3 { font-size:30px; }
.case-art { aspect-ratio:16 / 10; height:auto; min-height:240px; }
.case-card-feature .case-art { height:auto; min-height:480px; }
.case-art span, .case-card-copy p { font-size:14px; }
.case-art b { font-size:clamp(36px,5vw,76px); }
.case-card-copy h3 { font-size:24px; }
.case-card-copy > span { font-size:16px; line-height:1.75; }
.process-step > span, .process-step small { font-size:14px; }
.process-step strong { font-size:19px; }
.process-step small { line-height:1.6; }
.experience-grid { min-height:280px; align-items:start; }
.experience-statement h2 { max-width:760px; font-size:clamp(38px,4.5vw,60px); }
.experience-facts { padding-top:20px; }
.experience-facts strong { font-size:20px; }
.experience-facts p { font-size:16px; }
.section-news .article-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; border:0; }
.section-news .article-row { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; min-height:310px; padding:0 22px 23px; overflow:hidden; border:1px solid var(--line); background:#fff; }
.section-news .article-row::before { position:absolute; inset:0 0 auto; height:155px; background:linear-gradient(135deg,#dceaff 0%,#edf5ff 52%,#b6e7f1 100%); content:""; }
.section-news .article-row::after { position:absolute; top:48px; right:28px; width:74px; height:74px; border:1px solid rgba(22,93,255,.4); border-radius:50%; box-shadow:0 0 0 18px rgba(22,93,255,.08),0 0 0 36px rgba(20,184,212,.08); content:""; }
.section-news .article-row > * { position:relative; z-index:1; }
.section-news .article-row:first-child { grid-column:span 2; min-height:360px; }
.section-news .article-row:first-child::before { height:190px; background:linear-gradient(135deg,#071a3d 0%,#123a6a 58%,#20b8d8 160%); }
.section-news .article-row:first-child .article-meta { color:#d8e8ff; }
.section-news .article-row:first-child strong { font-size:26px; }
.section-news .article-row .article-meta { width:100%; padding-top:10px; color:#40546b; font-size:14px; line-height:1.6; }
.section-news .article-row strong { margin-top:12px; font-size:21px; line-height:1.45; }
.section-news .article-row .card-arrow { position:absolute; right:22px; bottom:22px; }
.section-news .article-row:hover { padding-inline:22px; transform:translateY(-4px); }
.section-faq summary { min-height:60px; font-size:18px; }
.section-faq p { font-size:16px; line-height:1.8; }
.contact-band-inner h2 { font-size:clamp(34px,4.2vw,58px); }
.contact-band-inner > div:last-child > p { font-size:17px; }
.inner-hero { min-height:280px; padding:154px 0 44px; }
.inner-hero h1 { font-size:clamp(46px,5vw,68px); }
.inner-hero-inner > p:not(.eyebrow) { font-size:17px; line-height:1.8; }
.breadcrumbs { font-size:15px; gap:12px; }
.detail-grid { grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr); gap:64px; }
.detail-block { max-width:840px; }
.detail-block > p:not(.eyebrow), .detail-block > .case-detail-summary > p, .content-list li { font-size:17px; line-height:1.9; }
.content-list li { padding:18px 0 18px 22px; }
.detail-columns h3, .mini-process strong { font-size:20px; }
.detail-columns { gap:42px; }
.detail-aside h2 { font-size:clamp(34px,3.5vw,52px); }
.case-detail-summary { padding:32px; }
.case-detail-summary > strong { font-size:25px; }
.case-meta-grid small { font-size:14px; }
.case-meta-grid b { font-size:16px; }
.article-layout { grid-template-columns:240px minmax(0,820px); gap:72px; }
.article-body { max-width:820px; }
.article-body p, .article-body li { font-size:18px; line-height:1.9; }
.article-body h2 { font-size:30px; line-height:1.4; }
.article-toc a { min-height:44px; padding:8px 0; font-size:15px; }
.article-lead p { font-size:21px; line-height:1.75; }
.article-related { max-width:820px; }
.article-archive { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; border:0; }
.article-archive .news-filter-item { min-width:0; }
.article-archive .article-row { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; min-height:290px; padding:20px; border:1px solid var(--line); background:var(--white); }
.article-archive .article-row::before { position:absolute; inset:0 0 auto; height:135px; background:linear-gradient(135deg,#dceaff,#edf5ff); content:""; }
.article-archive .article-row > * { position:relative; z-index:1; }
.article-archive .article-row .card-arrow { position:absolute; right:20px; bottom:20px; }
.filter-bar { gap:12px; }
.filter-bar > span { font-size:15px; }
.filter-button { min-height:44px; padding:8px 14px; font-size:15px; }
.footer-col { font-size:15px; line-height:1.8; }
.footer-col strong { font-size:15px; }
.footer-bottom { font-size:14px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
body.menu-is-open { overflow:hidden; }
@media (max-width:1024px) {
  .home-hero-grid { grid-template-columns:1fr; gap:38px; }
  .home-hero { min-height:auto; }
  .system-stage-enhanced { min-height:440px; }
  .detail-grid { gap:42px; }
}
@media (max-width:760px) {
  body { font-size:16px; line-height:1.78; }
  .container { width:calc(100% - 40px); }
  .site-header { min-height:68px; }
  .site-nav { padding:88px 20px 28px; }
  .site-nav a { min-height:52px; font-size:17px; }
  .site-nav::before { content:"网站导航"; position:absolute; top:28px; left:20px; color:var(--muted); font-size:14px; }
  .home-hero { padding:52px 0 48px; }
  .home-hero-grid { min-height:auto; gap:36px; }
  .home-hero h1 { font-size:clamp(36px,10vw,44px); letter-spacing:-.06em; }
  .hero-lede { font-size:16px; line-height:1.85; }
  .hero-actions { flex-wrap:wrap; gap:12px; margin-top:26px; }
  .hero-meta { flex-wrap:wrap; gap:8px 12px; margin-top:22px; font-size:14px; }
  .hero-meta i { display:none; }
  .system-stage-enhanced { min-height:430px; border-radius:10px; }
  .hero-slide { padding:25px 20px 70px; }
  .hero-slide-copy { grid-template-columns:32px 1fr; gap:12px; }
  .hero-slide-index, .hero-slide-kicker { font-size:14px; }
  .hero-slide-copy h2 { font-size:23px; }
  .hero-slide-copy > div > p:last-child { font-size:15px; line-height:1.65; }
  .hero-interface { height:205px; }
  .interface-main { padding:14px; }
  .interface-panels { gap:7px; margin-top:12px; }
  .interface-panels > div { min-height:58px; padding:8px; }
  .interface-heading strong { font-size:16px; }
  .interface-heading em, .interface-top b { font-size:14px; }
  .interface-sidebar { width:52px; gap:13px; padding:14px 10px; }
  .interface-node { right:16px; bottom:16px; width:56px; height:56px; font-size:14px; }
  .hero-slider-controls { right:20px; bottom:16px; left:20px; }
  .section { padding:64px 0; }
  .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:40px; }
  .section-index { margin-top:0; }
  .section-heading h2, .about-intro h2, .experience-statement h2, .faq-grid h2, .map-grid h2 { margin:0; font-size:clamp(30px,8.5vw,38px); }
  .section-heading > div:last-child > p, .about-intro-grid > div:last-child > p:not(.lead-copy), .industry-note > p, .experience-facts p, .faq-list p, .contact-band-inner > div:last-child > p { font-size:16px; }
  .service-rail, .service-archive { grid-template-columns:1fr; }
  .service-card, .service-card:nth-child(even), .service-card:nth-child(odd) { min-height:0; padding:24px 0; border-right:0; }
  .service-card h3, .service-card-large h3 { font-size:23px; }
  .service-card p:not(.card-kicker) { font-size:16px; }
  .tag { font-size:14px; }
  .advantage-grid, .industry-board, .about-intro-grid, .two-column-section, .detail-grid, .article-layout { grid-template-columns:1fr; gap:36px; }
  .industry-list { grid-template-columns:1fr; }
  .industry-link, .industry-link:nth-child(odd) { min-height:60px; border-right:0; }
  .industry-link:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
  .industry-link:last-child { border-bottom:0; }
  .industry-note { padding:30px 24px; border-left:0; border-top:1px solid var(--line); }
  .case-mosaic, .case-archive, .article-archive { grid-template-columns:1fr; }
  .case-card-feature .case-art { min-height:0; height:260px; aspect-ratio:auto; }
  .case-art { min-height:0; height:210px; aspect-ratio:auto; }
  .case-card-copy h3 { font-size:22px; }
  .case-card-copy > span { font-size:16px; }
  .process-track { grid-template-columns:1fr 1fr; gap:28px 18px; }
  .process-track::before { display:none; }
  .process-step > span { font-size:14px; }
  .process-step strong { margin-top:24px; font-size:17px; }
  .process-step small { font-size:14px; }
  .experience-grid { min-height:auto; }
  .experience-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-top:0; }
  .experience-facts strong { font-size:18px; }
  .section-news .article-list { grid-template-columns:1fr; }
  .section-news .article-row:first-child { grid-column:auto; min-height:330px; }
  .section-news .article-row:first-child strong { font-size:23px; }
  .section-news .article-row { min-height:285px; }
  .contact-band-inner { grid-template-columns:1fr; gap:28px; }
  .contact-band-inner h2 { font-size:34px; }
  .inner-hero { min-height:240px; padding:118px 0 34px; }
  .inner-hero h1 { font-size:40px; }
  .inner-hero-inner > p:not(.eyebrow) { font-size:16px; }
  .breadcrumbs { margin-top:22px; font-size:14px; }
  .detail-content, .article-body, .article-related { max-width:none; }
  .detail-block > p:not(.eyebrow), .detail-block > .case-detail-summary > p, .content-list li { font-size:16px; }
  .detail-block h2 { font-size:30px; }
  .article-body p, .article-body li { font-size:17px; line-height:1.9; }
  .article-body h2 { font-size:25px; }
  .article-lead p { font-size:19px; }
  .article-toc { position:static; }
  .facts-grid { grid-template-columns:1fr 1fr; }
  .facts-grid > div { min-height:120px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
  .footer-brand { grid-column:span 2; }
  .footer-bottom { grid-template-columns:1fr 1fr; gap:12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
  .hero-slide { transition:none; }
}

.home-news-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:20px; }
.news-card { display:block; min-width:0; border:1px solid var(--line); background:var(--white); transition:transform .35s var(--ease-standard),box-shadow .35s ease; }
.news-card:hover { transform:translateY(-5px); box-shadow:0 18px 35px rgba(7,26,61,.1); }
.news-art { position:relative; display:flex; align-items:flex-end; min-height:180px; padding:20px; overflow:hidden; color:var(--white); background:linear-gradient(135deg,#071a3d,#123a6a 55%,#20b8d8); }
.news-card:not(.news-card-feature) .news-art { min-height:115px; color:var(--ink); background:linear-gradient(135deg,#edf5ff,#d6eef4); }
.news-art span { position:absolute; top:18px; left:20px; font-size:14px; font-weight:600; }
.news-art strong { font-size:52px; line-height:1; font-weight:600; letter-spacing:-.08em; }
.news-art i { position:absolute; right:28px; bottom:-35px; width:130px; height:130px; border:1px solid rgba(20,184,212,.7); border-radius:50%; box-shadow:0 0 0 24px rgba(20,184,212,.1),0 0 0 48px rgba(20,184,212,.06); }
.news-card-body { position:relative; padding:21px 24px 25px; }
.news-card-body p { margin:0 0 10px; color:var(--blue); font-size:14px; line-height:1.5; }
.news-card-body h3 { margin:0; padding-right:32px; font-size:22px; line-height:1.45; }
.news-card-body > span { display:block; margin-top:10px; color:var(--muted); font-size:16px; line-height:1.75; }
.news-card-body .card-arrow { position:absolute; right:22px; bottom:22px; }
.news-supporting { display:grid; grid-template-rows:repeat(3,1fr); gap:20px; }
.news-supporting .news-card { display:grid; grid-template-columns:180px 1fr; }
.news-supporting .news-card-body { padding:17px 18px; }
.news-supporting .news-card-body h3 { font-size:19px; }
.news-supporting .news-card-body > span { font-size:15px; }
.news-page-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }
.news-page-grid .news-supporting { display:grid; }
.empty-state { padding:56px 32px; border:1px solid var(--line); background:var(--white); }
.empty-state strong { font-size:24px; }
.empty-state p { margin:10px 0 0; color:var(--muted); font-size:17px; }
@media (max-width:760px) { .home-news-grid, .news-page-grid { grid-template-columns:1fr; } .news-supporting { grid-template-rows:none; gap:16px; } .news-supporting .news-card { grid-template-columns:120px 1fr; } .news-art { min-height:150px; } .news-supporting .news-art { min-height:120px; } .news-art strong { font-size:40px; } .news-card-body { padding:18px; } .news-card-body h3 { font-size:20px; } .news-card-body > span { font-size:16px; } }

.brand-logo-light { display:none; }
.site-header.site-header-dark:not(.is-scrolled) { background:var(--ink); box-shadow:0 54px 0 var(--ink); }
.site-header.site-header-dark:not(.is-scrolled) .brand-logo-dark { display:none; }
.site-header.site-header-dark:not(.is-scrolled) .brand-logo-light { display:block; }
.site-header.site-header-dark.is-scrolled .brand-logo-dark { display:block; }
.site-header.site-header-dark.is-scrolled .brand-logo-light { display:none; }


/* Homepage selected cases: stable editorial split */
.section-cases .case-mosaic {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:24px;
  align-items:stretch;
}
.section-cases .case-mosaic > .case-card-feature {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  grid-row:auto;
  padding:0;
  border:1px solid var(--line);
  background:var(--white);
}
.section-cases .case-mosaic > .case-card-feature .case-art {
  flex:0 0 392px;
  min-height:392px;
  height:392px;
  aspect-ratio:auto;
  border:0;
}
.section-cases .case-mosaic > .case-card-feature .case-card-copy {
  min-height:168px;
  padding:22px 42px 24px 0;
  margin:0 24px;
  border-bottom:0;
}
.section-cases .case-mosaic > .case-card-feature .case-card-copy h3 {
  max-width:560px;
  font-size:clamp(25px,2.4vw,34px);
  line-height:1.34;
}
.section-cases .case-mosaic > .case-card-feature .case-card-copy > span {
  max-width:580px;
  font-size:16px;
  line-height:1.72;
}
.section-cases .case-stack {
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:24px;
  min-width:0;
}
.section-cases .case-stack .case-card-compact {
  display:grid;
  grid-template-columns:188px minmax(0,1fr);
  gap:20px;
  align-items:stretch;
  min-width:0;
  min-height:0;
  border:1px solid var(--line);
  background:var(--white);
  padding:0;
}
.section-cases .case-stack .case-art {
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  border:0;
}
.section-cases .case-stack .case-card-copy {
  align-self:center;
  min-width:0;
  padding:22px 32px 22px 0;
  border:0;
}
.section-cases .case-stack .case-card-copy h3 {
  max-width:300px;
  font-size:20px;
  line-height:1.45;
}
.section-cases .case-stack .case-card-copy > span {
  max-width:300px;
  font-size:15px;
  line-height:1.7;
}
.section-cases .case-stack .case-card-copy .card-arrow {
  right:24px;
  bottom:24px;
}
.section-cases .case-mosaic .case-art {
  background:
    linear-gradient(135deg,rgba(22,93,255,.12),transparent 55%),
    var(--ink);
}
.section-cases .case-mosaic .case-art::before {
  inset:18px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:0;
  transform:none;
}
.section-cases .case-mosaic .case-art::after {
  right:26px;
  bottom:24px;
  width:170px;
  height:170px;
  border-color:rgba(20,184,212,.52);
  box-shadow:0 0 0 22px rgba(20,184,212,.08),0 0 0 44px rgba(20,184,212,.04);
}
.section-cases .case-mosaic .case-art b {
  position:relative;
  z-index:1;
  font-size:clamp(42px,5vw,68px);
  letter-spacing:-.08em;
}
.section-cases .case-mosaic .case-art span {
  z-index:2;
  top:20px;
  left:20px;
  font-size:14px;
}
.section-cases .case-mosaic .case-card:hover .case-art {
  transform:scale(.985);
}
@media (max-width:1050px) and (min-width:761px) {
  .section-cases .case-mosaic {
    grid-template-columns:minmax(0,1fr) minmax(315px,.88fr);
    gap:16px;
  }
  .section-cases .case-stack { gap:16px; }
  .section-cases .case-stack .case-card-compact {
    grid-template-columns:138px minmax(0,1fr);
    gap:14px;
  }
  .section-cases .case-stack .case-card-copy { padding-right:20px; }
  .section-cases .case-stack .case-card-copy h3 { font-size:18px; }
  .section-cases .case-stack .case-card-copy > span { font-size:14px; }
}
@media (max-width:760px) {
  .section-cases .case-mosaic {
    grid-template-columns:1fr;
    gap:16px;
  }
  .section-cases .case-mosaic > .case-card-feature .case-art {
    flex-basis:260px;
    height:260px;
    min-height:260px;
  }
  .section-cases .case-mosaic > .case-card-feature .case-card-copy {
    min-height:0;
    padding:18px 32px 20px 0;
  }
  .section-cases .case-mosaic > .case-card-feature .case-card-copy h3 {
    font-size:24px;
  }
  .section-cases .case-stack { gap:16px; }
  .section-cases .case-stack .case-card-compact {
    grid-template-columns:120px minmax(0,1fr);
    gap:14px;
    min-height:150px;
  }
  .section-cases .case-stack .case-art { min-height:150px; }
  .section-cases .case-stack .case-card-copy {
    padding:16px 24px 16px 0;
  }
  .section-cases .case-stack .case-card-copy h3 { font-size:18px; }
  .section-cases .case-stack .case-card-copy > span { font-size:14px; }
  .section-cases .case-stack .case-card-copy .card-arrow {
    right:18px;
    bottom:18px;
  }
}


/* Case art refinement: quiet system-map geometry */
.section-cases .case-mosaic .case-art {
  background:
    linear-gradient(120deg,#071a3d 0%,#0b2b5c 56%,#0f6d83 100%);
}
.section-cases .case-mosaic .case-art::before {
  inset:18px;
  border:0;
  border-radius:0;
  transform:none;
  opacity:.34;
  background:
    linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(135deg,black,transparent 78%);
  mask-image:linear-gradient(135deg,black,transparent 78%);
}
.section-cases .case-mosaic .case-art::after {
  right:28px;
  bottom:28px;
  width:168px;
  height:112px;
  border:1px solid rgba(70,226,235,.72);
  border-radius:0;
  box-shadow:none;
  background:
    linear-gradient(90deg,transparent 0 14px,rgba(70,226,235,.52) 14px 15px,transparent 15px 100%),
    linear-gradient(0deg,transparent 0 22px,rgba(70,226,235,.42) 22px 23px,transparent 23px 100%),
    linear-gradient(135deg,rgba(70,226,235,.16),transparent 58%);
  transform:skewY(-7deg);
}
.section-cases .case-mosaic .case-art i {
  top:auto;
  left:auto;
  right:48px;
  bottom:76px;
  width:8px;
  height:8px;
  border:0;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 8px rgba(70,226,235,.12),0 0 20px rgba(70,226,235,.8);
  transform:none;
}
.section-cases .case-mosaic .case-art b {
  font-weight:600;
  text-shadow:0 3px 18px rgba(0,0,0,.18);
}
.section-cases .case-mosaic .case-card-compact .case-art b {
  font-size:clamp(34px,4vw,52px);
}


/* Shared CTA band: dark editorial system pattern */
.contact-band {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--white);
  padding:84px 0 88px;
  background-color:#071a3d;
  background-image:linear-gradient(112deg,rgba(7,26,61,.98) 4%,rgba(7,26,61,.88) 52%,rgba(7,26,61,.72) 100%),url("./assets/brand/contact-pattern.svg");
  background-position:center;
  background-size:cover;
}
.contact-band::before {
  position:absolute;
  content:"";
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,transparent 0 58%,rgba(40,112,255,.08) 100%);
}
.contact-band-inner { position:relative; }
.contact-band .eyebrow-light { color:#91b9ff; }
.contact-band h2 { color:var(--white); }
.contact-band h2 em { color:#5be0ea; }
.contact-band-inner > div:last-child > p { color:rgba(238,246,255,.7); }
.contact-band .button-light {
  color:var(--ink);
  background:var(--white);
  border-color:var(--white);
}
.contact-band .button-light:hover {
  color:var(--white);
  background:transparent;
  border-color:rgba(255,255,255,.72);
}
.contact-band .band-phone { color:#dcecff; border-color:rgba(91,224,234,.58); }

/* Related cases: every page uses the same contained card grid */
.related-cases-grid,
.article-related-cases {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch;
  margin-bottom:42px !important;
}
.related-cases-grid .case-card,
.article-related-cases .case-card {
  display:flex !important;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:0 !important;
  border:1px solid var(--line);
  background:var(--white);
  overflow:hidden;
}
.related-cases-grid .case-art,
.article-related-cases .case-art {
  flex:0 0 190px;
  width:100%;
  height:190px !important;
  min-height:190px !important;
  aspect-ratio:auto;
}
.related-cases-grid .case-card-copy,
.article-related-cases .case-card-copy {
  flex:1 1 auto;
  min-height:0;
  margin:0 !important;
  padding:18px 24px 22px !important;
  border:0 !important;
}
.related-cases-grid .case-card-copy h3,
.article-related-cases .case-card-copy h3 {
  font-size:19px;
  line-height:1.45;
}
.related-cases-grid .case-card-copy > span,
.article-related-cases .case-card-copy > span {
  font-size:15px;
  line-height:1.72;
}
.related-cases-grid .case-card-copy .card-arrow,
.article-related-cases .case-card-copy .card-arrow {
  right:22px;
  bottom:22px;
}
.article-related-services {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-bottom:36px !important;
}
.article-related-services .service-card {
  min-width:0;
  min-height:170px;
  border:1px solid var(--line);
  padding:20px !important;
}
.article-related-services .service-card:nth-child(odd),
.article-related-services .service-card:nth-child(even) {
  padding-left:20px !important;
  padding-right:20px !important;
  border-right:1px solid var(--line) !important;
}
.article-related-services .service-card:hover { padding:20px !important; }
.article-related > .eyebrow { margin-top:30px; }
.article-related > .eyebrow:first-child { margin-top:0; }

@media (max-width:760px) {
  .contact-band {
    padding:64px 0 68px;
    background-position:62% center;
  }
  .contact-band-inner { gap:30px; }
  .contact-band h2 { max-width:310px; font-size:37px; line-height:1.16; }
  .band-actions { flex-wrap:wrap; gap:16px; }
  .related-cases-grid,
  .article-related-cases,
  .article-related-services {
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .related-cases-grid .case-art,
  .article-related-cases .case-art {
    flex-basis:170px;
    height:170px !important;
    min-height:170px !important;
  }
  .related-cases-grid .case-card-copy,
  .article-related-cases .case-card-copy {
    padding:16px 20px 20px !important;
  }
  .related-cases-grid .case-card-copy h3,
  .article-related-cases .case-card-copy h3 {
    font-size:18px;
  }
}


/* Homepage visual rhythm: each section owns a distinct surface */
.home-hero,
.homepage > .section,
.section-services,
.section-advantage,
.section-industries,
.section-cases,
.section-process,
.section-experience,
.section-news,
.section-faq {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-hero > .container,
.homepage > .section > .container,
.section-services > .container,
.section-advantage > .container,
.section-industries > .container,
.section-cases > .container,
.section-process > .container,
.section-experience > .container,
.section-news > .container,
.section-faq > .container {
  position:relative;
  z-index:1;
}
.section-services {
  background:#fff;
  border-top:1px solid rgba(217,225,237,.78);
  border-bottom:1px solid rgba(217,225,237,.78);
}
.section-services::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.42;
  background-image:
    linear-gradient(90deg,rgba(22,93,255,.06) 1px,transparent 1px),
    linear-gradient(rgba(22,93,255,.045) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:linear-gradient(90deg,black,transparent 78%);
}
.section-advantage.dark-panel {
  background:
    radial-gradient(circle at 86% 18%,rgba(20,184,212,.16),transparent 28%),
    linear-gradient(120deg,#071a3d 0%,#061735 58%,#0b2b58 100%);
}
.section-advantage::before,
.section-process::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.46;
  background-image:
    linear-gradient(115deg,transparent 0 48%,rgba(91,224,234,.11) 48.1% 48.25%,transparent 48.35%),
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:auto,88px 88px,88px 88px;
  mask-image:linear-gradient(90deg,transparent 0 14%,black 48%,transparent 100%);
  animation:section-grid-drift 24s linear infinite;
}
.section-industries {
  background:#eef3fa;
}
.section-industries::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.56;
  background:
    radial-gradient(circle at 82% 12%,rgba(20,184,212,.18),transparent 28%),
    linear-gradient(135deg,transparent 0 46%,rgba(22,93,255,.05) 46.1% 46.25%,transparent 46.35%),
    linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:auto,auto,140px 100%;
}
.section-industries .industry-board {
  border-color:#cbd8e9;
  background:rgba(255,255,255,.78);
  box-shadow:0 22px 45px rgba(7,26,61,.08);
}
.section-cases {
  background:#fff;
  border-top:1px solid rgba(217,225,237,.86);
}
.section-cases::before {
  position:absolute;
  content:"";
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  left:0;
  opacity:.28;
  background:
    linear-gradient(90deg,transparent 0 12%,rgba(22,93,255,.09) 12.1% 12.2%,transparent 12.3% 88%,rgba(20,184,212,.09) 88.1% 88.2%,transparent 88.3%),
    linear-gradient(rgba(22,93,255,.05) 1px,transparent 1px);
  background-size:auto,100% 96px;
}
.section-process.dark-panel {
  background:
    radial-gradient(circle at 12% 80%,rgba(22,93,255,.24),transparent 30%),
    linear-gradient(135deg,#04142f 0%,#071a3d 66%,#0b2b58 100%);
}
.section-experience {
  background:#e9f1fa;
  border-top:1px solid #d3dfed;
  border-bottom:1px solid #d3dfed;
}
.section-experience::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.5;
  background:
    radial-gradient(circle at 80% 20%,rgba(91,224,234,.16),transparent 27%),
    linear-gradient(125deg,transparent 0 50%,rgba(255,255,255,.56) 50.1% 63%,transparent 63.1%);
}
.section-news {
  background:#fff;
}
.section-news::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.34;
  background:
    radial-gradient(circle at 86% 18%,rgba(20,184,212,.14),transparent 23%),
    radial-gradient(rgba(22,93,255,.12) 1px,transparent 1.5px);
  background-size:auto,24px 24px;
  mask-image:linear-gradient(90deg,transparent,black 22%,black 78%,transparent);
}
.section-faq {
  background:#f1f5fa;
  border-top:1px solid #d9e1ed;
}
.section-faq::before {
  position:absolute;
  content:"";
  z-index:0;
  top:0;
  right:0;
  width:48%;
  height:100%;
  opacity:.54;
  background:
    linear-gradient(135deg,transparent 0 48%,rgba(22,93,255,.07) 48.2% 48.5%,transparent 48.7%),
    linear-gradient(rgba(22,93,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,93,255,.06) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  mask-image:linear-gradient(90deg,transparent,black);
}
@keyframes section-grid-drift {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:80px 30px,0 88px,88px 0; }
}

/* A more tactile 3D hero stage */
.system-stage-enhanced {
  perspective:1200px;
  transform-style:preserve-3d;
  box-shadow:0 30px 70px rgba(7,26,61,.22),0 5px 0 rgba(20,184,212,.16);
}
.hero-track {
  transform-style:preserve-3d;
}
.hero-slide.is-active .hero-slide-copy {
  animation:hero-copy-rise .7s var(--ease-standard) both;
}
.hero-interface {
  transform:
    perspective(950px)
    rotateX(var(--hero-tilt-x,0deg))
    rotateY(var(--hero-tilt-y,0deg))
    rotate(-1.5deg)
    translateZ(12px);
  transform-style:preserve-3d;
  will-change:transform;
}
.hero-interface-1 {
  transform:
    perspective(950px)
    rotateX(var(--hero-tilt-x,0deg))
    rotateY(var(--hero-tilt-y,0deg))
    rotate(1.2deg)
    translateZ(12px);
}
.hero-interface-2 {
  transform:
    perspective(950px)
    rotateX(var(--hero-tilt-x,0deg))
    rotateY(var(--hero-tilt-y,0deg))
    rotate(-.8deg)
    translateZ(12px);
}
.hero-interface::after {
  position:absolute;
  content:"";
  z-index:-1;
  right:18px;
  bottom:-20px;
  left:18px;
  height:22px;
  background:rgba(7,26,61,.28);
  filter:blur(14px);
  transform:translateZ(-18px);
}
.hero-control {
  min-width:44px;
  min-height:44px;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.hero-dots button {
  min-width:12px;
  min-height:12px;
}
.hero-slider::after {
  position:absolute;
  content:"3 个界面场景 · 自动轮播";
  z-index:2;
  top:18px;
  right:28px;
  color:rgba(255,255,255,.56);
  font-size:12px;
  letter-spacing:.12em;
}
@keyframes hero-copy-rise {
  from { opacity:.2; transform:translateY(14px); }
  to { opacity:1; transform:translateY(0); }
}
.section-services .service-card,
.section-cases .case-card,
.section-news .news-card {
  transform-style:preserve-3d;
  box-shadow:0 7px 0 rgba(7,26,61,.035);
}
.section-services .service-card:hover,
.section-cases .case-card:hover,
.section-news .news-card:hover {
  box-shadow:0 17px 28px rgba(7,26,61,.12),0 5px 0 rgba(20,184,212,.16);
}
@media (max-width:760px) {
  .hero-slider::after {
    top:14px;
    right:20px;
    font-size:11px;
  }
  .section-services::before,
  .section-cases::before,
  .section-news::before,
  .section-faq::before {
    opacity:.18;
  }
  .section-advantage::before,
  .section-process::before {
    opacity:.28;
  }
}
@media (prefers-reduced-motion: reduce) {
  .section-advantage::before,
  .section-process::before {
    animation:none;
  }
  .hero-interface,
  .hero-interface-1,
  .hero-interface-2 {
    transform:none;
  }
}


/* Homepage hero: full-width banner, not a boxed content block */
.home-hero {
  min-height:620px;
  padding:136px 0 38px;
  color:var(--white);
  background:
    radial-gradient(circle at 78% 24%,rgba(20,184,212,.18),transparent 25%),
    linear-gradient(115deg,#04142f 0%,#071a3d 48%,#0b3763 100%);
}
.home-hero::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.52;
  background:
    linear-gradient(120deg,transparent 0 38%,rgba(91,224,234,.12) 38.1% 38.25%,transparent 38.35%),
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:auto,84px 84px,84px 84px;
  mask-image:linear-gradient(90deg,black 0 58%,transparent 96%);
  animation:section-grid-drift 26s linear infinite;
}
.home-hero .hero-copy h1 { color:var(--white); }
.home-hero .hero-copy h1 em { color:#5be0ea; }
.home-hero .hero-lede { color:rgba(238,246,255,.72); }
.home-hero .eyebrow { color:#91b9ff; }
.home-hero .hero-under { color:rgba(220,236,255,.62); }
.home-hero .hero-under i { background:rgba(255,255,255,.28); }
.home-hero .button-quiet { color:var(--white); border-bottom-color:rgba(255,255,255,.72); }
.home-hero .button-quiet:hover { color:#5be0ea; border-color:#5be0ea; }
body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-dark { display:none; }
body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-light { display:block; }
body[data-page="home"] .site-header:not(.is-scrolled) .site-nav a { color:rgba(255,255,255,.76); }
body[data-page="home"] .site-header:not(.is-scrolled) .site-nav a:hover,
body[data-page="home"] .site-header:not(.is-scrolled) .site-nav a.is-active { color:var(--white); }
body[data-page="home"] .site-header:not(.is-scrolled) .site-nav a::after { background:#5be0ea; }

/* Project delivery: an editorial timeline with a live route */
.section-process .section-heading h2 { color:var(--white); }
.section-process .section-heading > div:last-child > p { color:rgba(232,242,255,.64); }
.section-process .section-index { display:none; }
.section-process .process-track {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  padding:22px 0 0;
  perspective:1200px;
}
.section-process .process-track::before {
  top:55px;
  right:0;
  left:0;
  height:2px;
  background:rgba(151,188,255,.22);
}
.section-process .process-track::after {
  position:absolute;
  content:"";
  z-index:0;
  top:55px;
  left:0;
  width:0;
  height:2px;
  background:linear-gradient(90deg,#2e6bff,#5be0ea);
  box-shadow:0 0 18px rgba(91,224,234,.42);
}
.section-process .process-track.is-active::after {
  width:100%;
  animation:process-line-draw 1.25s cubic-bezier(.22,1,.36,1) both;
}
.section-process .process-step {
  position:relative;
  min-height:194px;
  padding:0 18px 25px;
  border-left:1px solid rgba(151,188,255,.18);
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s ease,border-color .35s ease;
}
.section-process .process-step:first-child { border-left:0; }
.section-process .process-step::before {
  position:absolute;
  content:"";
  z-index:-1;
  inset:-10px 8px 0 8px;
  border:1px solid transparent;
  background:linear-gradient(160deg,rgba(22,93,255,.16),transparent 64%);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease;
}
.section-process .process-step:hover {
  transform:translateY(-8px) translateZ(8px);
  border-color:rgba(91,224,234,.34);
}
.section-process .process-step:hover::before {
  opacity:1;
  border-color:rgba(91,224,234,.22);
  transform:none;
}
.section-process .process-step > span {
  z-index:1;
  width:auto;
  padding:0 0 31px;
  color:#9dc0ff;
  background:transparent;
  font-size:14px;
  letter-spacing:.14em;
}
.section-process .process-step i {
  z-index:2;
  top:35px;
  left:18px;
  width:14px;
  height:14px;
  border:3px solid #5be0ea;
  background:#071a3d;
  box-shadow:0 0 0 6px rgba(91,224,234,.1);
  transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s ease,box-shadow .3s ease;
}
.section-process .process-step:hover i {
  background:#5be0ea;
  box-shadow:0 0 0 10px rgba(91,224,234,.12),0 0 20px rgba(91,224,234,.45);
  transform:scale(1.2);
}
.section-process .process-step strong {
  position:relative;
  z-index:1;
  margin-top:31px;
  font-size:19px;
  line-height:1.4;
}
.section-process .process-step small {
  position:relative;
  z-index:1;
  max-width:130px;
  margin-top:10px;
  color:rgba(232,242,255,.54);
  font-size:14px;
  line-height:1.7;
}
@keyframes process-line-draw {
  from { width:0; }
  to { width:100%; }
}
@media (max-width:1024px) and (min-width:761px) {
  .home-hero { min-height:580px; padding-top:118px; }
  .section-process .process-step { padding-inline:12px; }
  .section-process .process-step i { left:12px; }
}
@media (max-width:760px) {
  .home-hero {
    min-height:0;
    padding:104px 0 48px;
  }
  .home-hero::before { opacity:.26; }
  .section-process .process-track {
    grid-template-columns:1fr;
    gap:0;
    padding:10px 0 0 25px;
  }
  .section-process .process-track::before {
    top:10px;
    right:auto;
    bottom:10px;
    left:7px;
    width:1px;
    height:auto;
  }
  .section-process .process-track::after {
    top:10px;
    right:auto;
    bottom:auto;
    left:6px;
    width:2px;
    height:0;
  }
  .section-process .process-track.is-active::after {
    width:2px;
    height:calc(100% - 20px);
    animation:process-line-draw-mobile 1.25s cubic-bezier(.22,1,.36,1) both;
  }
  .section-process .process-step,
  .section-process .process-step:first-child {
    min-height:0;
    padding:0 0 30px 30px;
    border-left:0;
  }
  .section-process .process-step > span {
    padding-bottom:4px;
  }
  .section-process .process-step i {
    top:1px;
    left:-25px;
  }
  .section-process .process-step strong { margin-top:7px; }
  .section-process .process-step small { max-width:none; }
}
@keyframes process-line-draw-mobile {
  from { height:0; }
  to { height:calc(100% - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero::before { animation:none; }
  .section-process .process-track.is-active::after { animation:none; width:100%; }
  .section-process .process-step,
  .section-process .process-step:hover { transform:none; }
}


@media (min-width:1025px) {
  .home-hero {
    min-height:640px;
    padding:108px 0 24px;
  }
  .home-hero .home-hero-grid { gap:42px; }
  .home-hero .system-stage-enhanced { min-height:410px; }
  .home-hero .hero-under { margin-top:24px; }
}


@media (min-width:1025px) {
  .home-hero .home-hero-grid { min-height:0; }
}


/* Independent product carousel above the positioning hero */
.home-carousel {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:104px 0 42px;
  color:var(--white);
  background:
    radial-gradient(circle at 78% 18%,rgba(20,184,212,.16),transparent 25%),
    linear-gradient(120deg,#04142f 0%,#071a3d 58%,#0a355e 100%);
}
.home-carousel::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0;
  opacity:.28;
  background:
    linear-gradient(120deg,transparent 0 41%,rgba(91,224,234,.17) 41.1% 41.25%,transparent 41.35%),
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:auto,88px 88px,88px 88px;
  mask-image:linear-gradient(90deg,black,transparent 95%);
}
.home-carousel > .container { position:relative; z-index:1; }
.home-carousel-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:48px;
  margin-bottom:28px;
}
.home-carousel-head h2 {
  max-width:620px;
  margin:0;
  color:var(--white);
  font-size:clamp(34px,4.4vw,60px);
  line-height:1.12;
  letter-spacing:-.08em;
}
.home-carousel-head h2 em { color:#5be0ea; font-style:normal; }
.home-carousel-head > p {
  max-width:390px;
  margin:0 0 3px;
  color:rgba(232,242,255,.64);
  font-size:16px;
  line-height:1.8;
}
.home-carousel .system-stage {
  min-height:390px;
  border:1px solid rgba(255,255,255,.12);
}
.home-carousel .system-stage-enhanced {
  min-height:470px;
  margin:0;
  box-shadow:0 28px 70px rgba(0,0,0,.24),0 5px 0 rgba(91,224,234,.13);
}
.home-carousel + .home-hero {
  min-height:0;
  padding:84px 0 58px;
  color:var(--ink);
  background:#f4f7fb;
}
.home-carousel + .home-hero::before { display:none; }
.home-carousel + .home-hero .home-hero-grid {
  display:block;
  min-height:0;
}
.home-carousel + .home-hero .hero-copy {
  max-width:900px;
}
.home-carousel + .home-hero .hero-copy h1 { color:var(--ink); }
.home-carousel + .home-hero .hero-copy h1 em { color:var(--blue); }
.home-carousel + .home-hero .hero-lede { max-width:760px; }
.home-carousel + .home-hero .hero-under {
  margin-top:36px;
  color:#718097;
}
.home-carousel + .home-hero .hero-under i { background:#cbd6e5; }

/* Smoothness budget: static texture, transform-only motion, one active float */
.home-carousel::before,
.home-hero::before,
.section-advantage::before,
.section-process::before { animation:none !important; }
.hero-interface::after { display:none; }
.hero-slide.is-active .hero-interface {
  animation:hero-interface-enter .48s cubic-bezier(.22,1,.36,1) both;
  will-change:transform,opacity;
}
.hero-slide:not(.is-active) .hero-interface { will-change:auto; }
@keyframes hero-interface-enter {
  from {
    opacity:.72;
    transform:perspective(950px) rotateX(2deg) rotateY(-2deg) rotate(-1.5deg) translate3d(0,12px,0);
  }
  to {
    opacity:1;
    transform:perspective(950px) rotateX(0deg) rotateY(0deg) rotate(-1.5deg) translate3d(0,0,12px);
  }
}
.hero-slide.is-active .interface-node {
  animation:hero-node-breathe 2.8s ease-in-out infinite;
}
@keyframes hero-node-breathe {
  0%,100% { box-shadow:0 0 0 12px rgba(22,93,255,.14); }
  50% { box-shadow:0 0 0 17px rgba(20,184,212,.2),0 0 22px rgba(20,184,212,.26); }
}
.home-carousel .hero-control,
.home-carousel .hero-dots button { cursor:pointer; }
@media (max-width:760px) {
  .home-carousel {
    padding:92px 0 28px;
  }
  .home-carousel-head {
    display:block;
    margin-bottom:20px;
  }
  .home-carousel-head h2 { font-size:34px; }
  .home-carousel-head > p {
    max-width:330px;
    margin-top:16px;
    font-size:15px;
  }
  .home-carousel .system-stage-enhanced {
    min-height:430px;
  }
  .home-carousel + .home-hero {
    padding:64px 0 48px;
  }
  .home-carousel + .home-hero .hero-copy h1 {
    font-size:42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide.is-active .hero-interface,
  .hero-slide.is-active .interface-node {
    animation:none;
  }
}


@media (min-width:761px) {
  .home-carousel {
    padding:88px 0 28px;
  }
  .home-carousel-head {
    align-items:flex-start;
    margin-bottom:20px;
  }
  .home-carousel-head h2 {
    font-size:clamp(32px,3.4vw,48px);
    line-height:1.08;
  }
  .home-carousel-head > p {
    max-width:340px;
    margin-top:43px;
    font-size:15px;
  }
  .home-carousel .system-stage-enhanced {
    min-height:430px;
  }
}


/* Full-screen carousel banner: independent first viewport */
.home-carousel {
  height:100svh;
  min-height:680px;
  padding:0;
  display:flex;
  align-items:stretch;
}
.home-carousel-head { display:none; }
.home-carousel > .container:last-child {
  width:100%;
  max-width:none;
  padding:0;
}
.home-carousel .system-stage,
.home-carousel .system-stage-enhanced {
  width:100vw;
  max-width:none;
  height:100svh;
  min-height:680px;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.home-carousel .system-stage-enhanced {
  background:
    radial-gradient(circle at 74% 46%,rgba(20,184,212,.14),transparent 22%),
    linear-gradient(116deg,#03132e 0%,#071a3d 50%,#0b4671 100%);
}
.home-carousel .system-stage-enhanced::before {
  inset:0;
  border:0;
  opacity:.7;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,black 0 35%,transparent 92%);
}
.home-carousel .system-stage-enhanced::after {
  position:absolute;
  content:"";
  z-index:0;
  top:50%;
  right:7%;
  width:clamp(260px,30vw,460px);
  height:clamp(260px,30vw,460px);
  border:1px solid rgba(91,224,234,.22);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(91,224,234,.06),
    0 0 0 76px rgba(46,107,255,.05),
    0 0 0 118px rgba(46,107,255,.035);
  transform:translateY(-50%);
  pointer-events:none;
}
.home-carousel .hero-slide {
  z-index:1;
  display:grid;
  grid-template-columns:minmax(330px,.78fr) minmax(500px,1.22fr);
  align-items:center;
  justify-content:center;
  gap:clamp(40px,7vw,112px);
  padding:clamp(130px,16vh,178px) clamp(32px,9vw,140px) 112px;
  transform:translate3d(34px,0,0);
  transition:opacity .34s ease-out,transform .34s cubic-bezier(.22,1,.36,1);
}
.home-carousel .hero-slide::before {
  position:absolute;
  content:"";
  z-index:-1;
  inset:0;
  opacity:.7;
  background:
    radial-gradient(circle at 18% 74%,rgba(46,107,255,.16),transparent 28%),
    linear-gradient(130deg,transparent 0 48%,rgba(91,224,234,.09) 48.1% 48.25%,transparent 48.35%);
  pointer-events:none;
}
.home-carousel .hero-slide-copy {
  display:block;
  max-width:520px;
}
.home-carousel .hero-slide-index {
  display:block;
  margin-bottom:18px;
  font-size:16px;
}
.home-carousel .hero-slide-kicker {
  margin-bottom:14px;
  font-size:16px;
}
.home-carousel .hero-slide-copy h2 {
  max-width:520px;
  font-size:clamp(42px,4.3vw,68px);
  line-height:1.12;
  letter-spacing:-.08em;
}
.home-carousel .hero-slide-copy > div > p:last-child {
  max-width:460px;
  margin-top:20px;
  font-size:17px;
  line-height:1.8;
}
.home-carousel .hero-interface {
  width:min(100%,720px);
  height:min(42vh,410px);
  min-height:300px;
  margin-left:auto;
  transform:perspective(1100px) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg)) rotate(-1.5deg) translateZ(12px);
}
.home-carousel .hero-interface-1 {
  transform:perspective(1100px) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg)) rotate(1.2deg) translateZ(12px);
}
.home-carousel .hero-interface-2 {
  transform:perspective(1100px) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg)) rotate(-.8deg) translateZ(12px);
}
.home-carousel .hero-slider-controls {
  z-index:4;
  right:clamp(24px,7vw,108px);
  bottom:34px;
  left:clamp(24px,7vw,108px);
}
.home-carousel .hero-slider::after {
  top:auto;
  right:clamp(24px,7vw,108px);
  bottom:44px;
  content:"01 — 03  /  系统场景轮播";
  color:rgba(232,242,255,.58);
}
@media (max-width:1100px) and (min-width:761px) {
  .home-carousel .hero-slide {
    grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
    gap:38px;
    padding-inline:48px;
  }
  .home-carousel .hero-slide-copy h2 { font-size:48px; }
  .home-carousel .hero-interface { height:340px; }
}
@media (max-width:760px) {
  .home-carousel {
    height:100svh;
    min-height:760px;
  }
  .home-carousel .system-stage,
  .home-carousel .system-stage-enhanced {
    height:100svh;
    min-height:760px;
  }
  .home-carousel .system-stage-enhanced::after {
    top:35%;
    right:-22%;
    width:310px;
    height:310px;
  }
  .home-carousel .hero-slide {
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    gap:24px;
    padding:112px 20px 90px;
    transform:translate3d(22px,0,0);
  }
  .home-carousel .hero-slide-copy {
    max-width:none;
  }
  .home-carousel .hero-slide-index {
    margin-bottom:12px;
  }
  .home-carousel .hero-slide-copy h2 {
    max-width:330px;
    font-size:38px;
  }
  .home-carousel .hero-slide-copy > div > p:last-child {
    max-width:330px;
    font-size:15px;
    line-height:1.72;
  }
  .home-carousel .hero-interface {
    width:100%;
    height:230px;
    min-height:0;
    margin:0;
  }
  .home-carousel .hero-slider-controls {
    right:20px;
    bottom:24px;
    left:20px;
  }
  .home-carousel .hero-slider::after {
    right:20px;
    bottom:33px;
    font-size:11px;
  }
}

/* Local Swiper-compatible banner surface: no remote CDN dependency */
.home-carousel .swiper {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.home-carousel .swiper-wrapper {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.home-carousel .swiper-slide {
  width:100%;
  height:100%;
  box-sizing:border-box;
  will-change:opacity,transform;
}
.home-carousel .swiper-pagination {
  display:flex;
}
@media (prefers-reduced-motion: reduce) {
  .home-carousel .swiper-slide,
  .home-carousel .swiper-slide .hero-interface,
  .home-carousel .swiper-slide .interface-node {
    transition:none;
    animation:none;
    will-change:auto;
  }
}

/* Image-first Swiper banner */
.home-carousel .system-stage-enhanced.swiper {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-carousel .swiper-wrapper {
  position:absolute;
  inset:0;
}
.home-carousel .swiper-slide {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:clamp(112px,16vh,176px) clamp(28px,8.5vw,140px) 124px;
  overflow:hidden;
  background:#04132f;
}
.home-carousel .hero-banner-image {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.04) contrast(1.02);
  transform:scale(1.035);
  transition:transform 1.2s cubic-bezier(.22,1,.36,1), filter .5s ease;
}
.home-carousel .swiper-slide.is-active .hero-banner-image { transform:scale(1); }
.home-carousel .hero-banner-shade {
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(2,12,34,.96) 0%,rgba(3,18,47,.82) 35%,rgba(3,18,47,.22) 68%,rgba(3,18,47,.12) 100%),linear-gradient(0deg,rgba(2,12,34,.62),transparent 45%);
}
.home-carousel .hero-banner-copy {
  position:relative;
  z-index:2;
  width:min(100%,650px);
  color:var(--white);
  transform:translate3d(28px,0,0);
  opacity:0;
  transition:opacity .5s ease, transform .7s cubic-bezier(.22,1,.36,1);
}
.home-carousel .swiper-slide.is-active .hero-banner-copy { transform:none; opacity:1; }
.home-carousel .hero-banner-brand {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 32px;
  color:rgba(235,249,255,.82);
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
}
.home-carousel .hero-banner-brand::before { width:38px; height:1px; content:""; background:var(--cyan); }
.home-carousel .hero-banner-brand span { color:var(--cyan); font-size:11px; letter-spacing:.32em; }
.home-carousel .hero-banner-kicker {
  margin:0 0 16px;
  color:#8beefa;
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.home-carousel .hero-banner-copy h2 {
  max-width:680px;
  margin:0;
  color:var(--white);
  font-size:clamp(46px,5.2vw,82px);
  line-height:1.08;
  letter-spacing:-.08em;
}
.home-carousel .hero-banner-copy h2 em { color:#86ecf1; font-style:normal; }
.home-carousel .hero-banner-lede {
  max-width:510px;
  margin:26px 0 0;
  color:rgba(235,245,255,.74);
  font-size:17px;
  line-height:1.85;
}
.home-carousel .hero-banner-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.home-carousel .hero-banner-actions .button { min-width:124px; min-height:46px; }
.home-carousel .hero-banner-actions .button-primary { color:#03152f; background:#8ff3f1; border-color:#8ff3f1; }
.home-carousel .hero-banner-actions .button-primary:hover,
.home-carousel .hero-banner-actions .button-primary:focus-visible { color:#03152f; background:#c7ffff; border-color:#c7ffff; }
.home-carousel .hero-banner-actions .button-quiet { color:var(--white); border-color:rgba(255,255,255,.38); background:rgba(3,18,47,.18); }
.home-carousel .hero-banner-actions .button-quiet:hover,
.home-carousel .hero-banner-actions .button-quiet:focus-visible { color:var(--white); border-color:var(--cyan); background:rgba(20,184,212,.22); }
.home-carousel .hero-slider-controls {
  right:clamp(28px,8.5vw,140px);
  bottom:32px;
  left:clamp(28px,8.5vw,140px);
  z-index:5;
}
.home-carousel .hero-dots { gap:12px; }
.home-carousel .hero-dots button {
  width:10px;
  height:10px;
  transition:width .25s ease, background .25s ease, border-color .25s ease;
}
.home-carousel .hero-dots button.is-active { width:32px; border-radius:99px; }
.home-carousel .hero-slider::after {
  top:auto;
  right:clamp(28px,8.5vw,140px);
  bottom:92px;
  content:"YUN TECH  /  DIGITAL BANNER";
  color:rgba(225,247,255,.5);
  font-size:10px;
  letter-spacing:.18em;
}
@media (max-width:760px) {
  .home-carousel,
  .home-carousel .system-stage,
  .home-carousel .system-stage-enhanced {
    height:100svh;
    min-height:680px;
  }
  .home-carousel .swiper-slide { align-items:flex-start; padding:114px 22px 110px; }
  .home-carousel .hero-banner-image { object-position:64% center; }
  .home-carousel .hero-banner-shade {
    background:linear-gradient(180deg,rgba(2,12,34,.88) 0%,rgba(3,18,47,.66) 44%,rgba(3,18,47,.38) 100%),linear-gradient(90deg,rgba(2,12,34,.54),transparent);
  }
  .home-carousel .hero-banner-copy { width:100%; transform:translate3d(18px,0,0); }
  .home-carousel .hero-banner-brand { flex-wrap:wrap; gap:8px 11px; margin-bottom:28px; font-size:12px; }
  .home-carousel .hero-banner-brand::before { width:28px; }
  .home-carousel .hero-banner-brand span { width:100%; margin-left:39px; }
  .home-carousel .hero-banner-kicker { margin-bottom:14px; font-size:12px; }
  .home-carousel .hero-banner-copy h2 { font-size:clamp(38px,11vw,52px); letter-spacing:-.07em; }
  .home-carousel .hero-banner-lede { max-width:330px; margin-top:20px; font-size:15px; line-height:1.72; }
  .home-carousel .hero-banner-actions { margin-top:26px; }
  .home-carousel .hero-banner-actions .button { min-width:118px; min-height:44px; }
  .home-carousel .hero-slider-controls { right:22px; bottom:24px; left:22px; }
  .home-carousel .hero-slider::after { right:22px; bottom:78px; font-size:9px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-carousel .hero-banner-image,
  .home-carousel .hero-banner-copy,
  .home-carousel .hero-dots button { transition:none; }
}
/* 修正图片满幅覆盖范围 */
.home-carousel .hero-banner-image { left:calc(-1 * clamp(28px,8.5vw,140px)); width:calc(100% + clamp(56px,17vw,280px)); }
@media (max-width:760px) { .home-carousel .hero-banner-image { left:-22px; width:calc(100% + 44px); } }

/* Second-screen clarity redesign */
.home-hero {
  position:relative;
  min-height:640px;
  padding:clamp(82px,8vw,116px) 0 32px;
  background:
    radial-gradient(circle at 84% 36%,rgba(20,184,212,.14),transparent 24%),
    linear-gradient(135deg,#f7fbff 0%,#eef5fc 54%,#eaf7f9 100%);
  overflow:hidden;
}
.home-hero::before {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
  opacity:.55;
  background-image:
    linear-gradient(rgba(46,107,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,107,255,.07) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,black 0 58%,transparent 100%);
}
.home-hero::after {
  position:absolute;
  right:-180px;
  bottom:-240px;
  width:620px;
  height:620px;
  content:"";
  border:1px solid rgba(20,184,212,.2);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(20,184,212,.06),0 0 0 92px rgba(46,107,255,.04);
  pointer-events:none;
}
.home-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
  align-items:center;
  gap:clamp(54px,6.4vw,104px);
}
.home-hero .hero-copy {
  max-width:610px;
}
.home-hero .hero-copy .eyebrow {
  color:#2564d9;
  font-weight:700;
}
.home-hero .hero-copy h1 {
  max-width:600px;
  margin-top:17px;
  color:#071f45;
  font-size:clamp(50px,5.4vw,80px);
  line-height:1.08;
  letter-spacing:-.075em;
}
.home-hero .hero-copy h1 em {
  color:#155ee8;
}
.home-hero .hero-lede {
  max-width:570px;
  margin-top:28px;
  color:#526783;
  font-size:17px;
  line-height:1.9;
}
.home-hero .hero-actions {
  gap:12px;
  margin-top:34px;
}
.home-hero .hero-actions .button {
  min-height:48px;
  padding-inline:22px;
}
.home-hero .hero-actions .button-primary {
  color:#fff;
  background:#155ee8;
  border-color:#155ee8;
  box-shadow:0 10px 24px rgba(21,94,232,.2);
}
.home-hero .hero-actions .button-primary:hover,
.home-hero .hero-actions .button-primary:focus-visible {
  color:#fff;
  background:#0e4cc1;
  border-color:#0e4cc1;
  transform:translateY(-2px);
}
.home-hero .hero-actions .button-quiet {
  color:#0b315f;
  border-color:#b8cbea;
  background:rgba(255,255,255,.56);
}
.home-hero .hero-actions .button-quiet:hover,
.home-hero .hero-actions .button-quiet:focus-visible {
  color:#0b315f;
  border-color:#155ee8;
  background:#fff;
}
.hero-architecture {
  position:relative;
  min-height:478px;
  overflow:hidden;
  color:#ecf8ff;
  background:
    radial-gradient(circle at 55% 52%,rgba(20,184,212,.2),transparent 25%),
    linear-gradient(135deg,#061938 0%,#0a2f5a 58%,#075d7c 100%);
  border:1px solid rgba(13,75,133,.24);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(15,54,101,.2);
}
.hero-architecture::before {
  position:absolute;
  inset:0;
  content:"";
  opacity:.5;
  background:
    linear-gradient(rgba(165,236,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(165,236,255,.08) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(135deg,black,transparent 90%);
  pointer-events:none;
}
.architecture-top {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 26px;
  border-bottom:1px solid rgba(206,244,255,.13);
  color:rgba(221,247,255,.68);
  font-size:11px;
  letter-spacing:.18em;
}
.architecture-top b {
  color:#83edf2;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
}
.architecture-canvas {
  position:relative;
  height:368px;
}
.architecture-orbit {
  position:absolute;
  top:50%;
  left:50%;
  border:1px solid rgba(104,230,239,.28);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.orbit-one {
  width:230px;
  height:230px;
  animation:architecture-spin 18s linear infinite;
}
.orbit-two {
  width:350px;
  height:170px;
  border-color:rgba(46,107,255,.38);
  transform:translate(-50%,-50%) rotate(-26deg);
  animation:architecture-spin-reverse 24s linear infinite;
}
.architecture-route {
  position:absolute;
  z-index:1;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(91,224,234,.08),rgba(91,224,234,.82),rgba(91,224,234,.08));
  animation:architecture-route-pulse 3s ease-in-out infinite;
}
.route-one { top:49%; left:19%; width:180px; transform:rotate(-25deg); }
.route-two { top:52%; left:51%; width:174px; transform:rotate(-30deg); }
.route-three { top:54%; left:52%; width:166px; transform:rotate(27deg); animation-delay:.8s; }
.architecture-core {
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:132px;
  height:132px;
  border:1px solid rgba(176,250,255,.72);
  border-radius:50%;
  background:linear-gradient(145deg,#1679bc,#0a355f);
  box-shadow:0 0 0 14px rgba(91,224,234,.07),0 0 40px rgba(91,224,234,.28);
  transform:translate(-50%,-50%);
  text-align:center;
}
.architecture-core small {
  color:#9ef4f1;
  font-size:10px;
  letter-spacing:.22em;
}
.architecture-core strong {
  margin-top:10px;
  color:#fff;
  font-size:20px;
  letter-spacing:.04em;
}
.architecture-core span {
  margin-top:7px;
  color:rgba(237,252,255,.65);
  font-size:11px;
}
.architecture-node {
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:28px 1fr;
  column-gap:10px;
  align-items:center;
  width:178px;
  min-height:66px;
  padding:12px 14px;
  border:1px solid rgba(190,242,255,.2);
  background:rgba(5,26,57,.75);
  box-shadow:0 12px 26px rgba(0,9,29,.2);
  backdrop-filter:blur(5px);
}
.architecture-node b {
  grid-row:span 2;
  color:#7fecf0;
  font-size:12px;
  font-weight:700;
}
.architecture-node strong {
  color:#f2fbff;
  font-size:14px;
  font-weight:600;
}
.architecture-node small {
  margin-top:3px;
  color:rgba(218,242,255,.6);
  font-size:11px;
}
.node-app { top:32px; left:28px; animation:architecture-node-float 5.8s ease-in-out infinite; }
.node-system { top:30px; right:28px; animation:architecture-node-float 6.6s ease-in-out infinite .4s; }
.node-ai { right:26px; bottom:26px; animation:architecture-node-float 6.2s ease-in-out infinite .8s; }
.node-iot { bottom:26px; left:26px; animation:architecture-node-float 7s ease-in-out infinite 1.1s; }
.architecture-footer {
  position:absolute;
  right:26px;
  bottom:18px;
  left:26px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid rgba(206,244,255,.13);
  color:rgba(221,247,255,.58);
  font-size:11px;
  letter-spacing:.08em;
}
.home-hero .hero-under {
  position:relative;
  z-index:1;
  justify-content:flex-start;
  gap:13px;
  margin-top:28px;
  color:#7185a1;
}
.home-hero .hero-under i {
  width:26px;
  background:#a8bdd7;
}
@keyframes architecture-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes architecture-spin-reverse { to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes architecture-route-pulse { 50% { opacity:.38; } }
@keyframes architecture-node-float { 50% { transform:translateY(-5px); } }
@media (max-width:1060px) and (min-width:761px) {
  .home-hero-grid { grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr); gap:32px; }
  .home-hero .hero-copy h1 { font-size:54px; }
  .home-hero .hero-lede { font-size:15px; }
  .hero-architecture { min-height:456px; }
  .architecture-canvas { height:350px; }
  .architecture-node { width:160px; }
}
@media (max-width:760px) {
  .home-hero {
    min-height:0;
    padding:68px 0 30px;
  }
  .home-hero-grid {
    grid-template-columns:1fr;
    gap:44px;
  }
  .home-hero .hero-copy h1 {
    margin-top:15px;
    font-size:clamp(42px,12vw,58px);
    letter-spacing:-.07em;
  }
  .home-hero .hero-lede {
    margin-top:22px;
    font-size:15px;
    line-height:1.8;
  }
  .home-hero .hero-actions {
    margin-top:26px;
  }
  .hero-architecture {
    min-height:424px;
    border-radius:18px;
  }
  .architecture-top {
    padding:18px 18px;
    font-size:9px;
  }
  .architecture-top b { font-size:9px; }
  .architecture-canvas { height:340px; }
  .architecture-node {
    width:142px;
    min-height:60px;
    padding:10px;
    column-gap:7px;
  }
  .architecture-node strong { font-size:12px; }
  .architecture-node small { font-size:10px; }
  .node-app { top:25px; left:14px; }
  .node-system { top:25px; right:14px; }
  .node-ai { right:14px; bottom:21px; }
  .node-iot { bottom:21px; left:14px; }
  .architecture-core { width:112px; height:112px; }
  .architecture-core strong { font-size:17px; }
  .orbit-one { width:196px; height:196px; }
  .orbit-two { width:280px; height:140px; }
  .route-one { left:28%; width:90px; }
  .route-two { left:52%; width:100px; }
  .route-three { left:52%; width:96px; }
  .architecture-footer {
    right:18px;
    bottom:14px;
    left:18px;
    font-size:9px;
  }
  .home-hero .hero-under {
    flex-wrap:wrap;
    gap:8px 10px;
    margin-top:22px;
    font-size:11px;
  }
  .home-hero .hero-under i { width:18px; }
}
@media (prefers-reduced-motion: reduce) {
  .architecture-orbit,
  .architecture-route,
  .architecture-node { animation:none; }
}

/* Keep the redesigned hero split layout after legacy home-carousel rules */
.home-carousel + .home-hero .home-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr); align-items:center; gap:clamp(54px,6.4vw,104px); }
.home-carousel + .home-hero .hero-copy { max-width:610px; }
.home-carousel + .home-hero .hero-lede { max-width:570px; }
@media (max-width:1060px) and (min-width:761px) { .home-carousel + .home-hero .home-hero-grid { grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr); gap:32px; } }
@media (max-width:760px) { .home-carousel + .home-hero .home-hero-grid { display:grid; grid-template-columns:1fr; gap:44px; } .home-carousel + .home-hero .hero-copy { max-width:none; } .home-carousel + .home-hero .hero-lede { max-width:none; } }

/* About page company and project experience hero */
.about-hero {
  position:relative;
  min-height:492px;
  padding:clamp(126px,12vw,164px) 0 54px;
  overflow:hidden;
  color:#eefaff;
  background:
    radial-gradient(circle at 78% 34%,rgba(20,184,212,.24),transparent 23%),
    linear-gradient(118deg,#03132f 0%,#082853 57%,#075b78 100%);
}
.about-hero::before {
  position:absolute;
  inset:0;
  content:"";
  opacity:.42;
  background-image:
    linear-gradient(rgba(196,245,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(196,245,255,.08) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,black 0 46%,transparent 100%);
  pointer-events:none;
}
.about-hero::after {
  position:absolute;
  right:-230px;
  bottom:-370px;
  width:700px;
  height:700px;
  content:"";
  border:1px solid rgba(91,224,234,.24);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(91,224,234,.06),0 0 0 96px rgba(46,107,255,.06);
  pointer-events:none;
}
.about-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr);
  align-items:center;
  gap:clamp(48px,7vw,112px);
}
.about-hero-copy {
  max-width:630px;
}
.about-hero-copy .eyebrow {
  color:#8cecf1;
}
.about-hero-copy h1 {
  margin:18px 0 0;
  color:#fff;
  font-size:clamp(47px,5.4vw,78px);
  line-height:1.08;
  letter-spacing:-.08em;
}
.about-hero-copy h1 em {
  color:#8cecf1;
  font-style:normal;
}
.about-hero-lede {
  max-width:560px;
  margin:25px 0 0;
  color:rgba(232,247,255,.72);
  font-size:16px;
  line-height:1.9;
}
.about-hero .breadcrumbs {
  margin-top:32px;
  color:rgba(223,247,255,.5);
}
.about-hero .breadcrumbs a:hover {
  color:#fff;
}
.about-hero-visual {
  position:relative;
  min-height:390px;
  overflow:hidden;
  border:1px solid rgba(176,244,255,.22);
  background:rgba(3,18,47,.28);
  box-shadow:0 22px 55px rgba(0,10,34,.24);
  backdrop-filter:blur(6px);
}
.about-hero-visual-label {
  position:relative;
  z-index:4;
  display:flex;
  justify-content:space-between;
  padding:20px 23px;
  border-bottom:1px solid rgba(190,242,255,.14);
  color:rgba(224,249,255,.64);
  font-size:10px;
  letter-spacing:.2em;
}
.about-hero-visual-label span {
  color:#8cecf1;
  letter-spacing:.12em;
}
.about-hero-map {
  position:relative;
  height:324px;
}
.about-hero-map::before {
  position:absolute;
  inset:0;
  content:"";
  opacity:.55;
  background:
    linear-gradient(rgba(180,243,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(180,243,255,.08) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(circle at center,black 0 44%,transparent 80%);
}
.about-hero-ring {
  position:absolute;
  top:50%;
  left:50%;
  border:1px solid rgba(91,224,234,.28);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.about-hero .ring-a {
  width:226px;
  height:226px;
  animation:about-ring-spin 18s linear infinite;
}
.about-hero .ring-b {
  width:342px;
  height:164px;
  border-color:rgba(46,107,255,.4);
  transform:translate(-50%,-50%) rotate(-25deg);
  animation:about-ring-spin-reverse 24s linear infinite;
}
.about-hero-line {
  position:absolute;
  z-index:1;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,transparent,rgba(119,236,241,.78),transparent);
  animation:about-line-pulse 3.2s ease-in-out infinite;
}
.about-hero .line-a {
  top:50%;
  left:23%;
  width:160px;
  transform:rotate(-29deg);
}
.about-hero .line-b {
  top:52%;
  left:51%;
  width:168px;
  transform:rotate(-28deg);
  animation-delay:.7s;
}
.about-hero .line-c {
  top:51%;
  left:51%;
  width:172px;
  transform:rotate(28deg);
  animation-delay:1.2s;
}
.about-hero-core {
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:132px;
  height:132px;
  border:1px solid rgba(185,250,255,.78);
  border-radius:50%;
  background:linear-gradient(145deg,#147ab4,#092d57);
  box-shadow:0 0 0 14px rgba(91,224,234,.07),0 0 38px rgba(91,224,234,.28);
  transform:translate(-50%,-50%);
  text-align:center;
}
.about-hero-core small {
  color:#9ff4f1;
  font-size:10px;
  letter-spacing:.24em;
}
.about-hero-core strong {
  margin-top:9px;
  color:#fff;
  font-size:20px;
}
.about-hero-core span {
  margin-top:7px;
  color:rgba(232,249,255,.62);
  font-size:11px;
}
.about-hero-node {
  position:absolute;
  z-index:3;
  display:flex;
  flex-direction:column;
  min-width:130px;
  padding:12px 14px;
  border:1px solid rgba(188,243,255,.22);
  background:rgba(4,25,55,.72);
  box-shadow:0 12px 25px rgba(0,9,29,.2);
  animation:about-node-float 6s ease-in-out infinite;
}
.about-hero-node b {
  color:#9cf2f1;
  font-size:17px;
  font-weight:700;
  letter-spacing:.03em;
}
.about-hero-node span {
  margin-top:5px;
  color:rgba(230,247,255,.64);
  font-size:11px;
}
.about-hero .node-founding {
  top:25px;
  left:22px;
}
.about-hero .node-cases {
  top:25px;
  right:22px;
  animation-delay:.5s;
}
.about-hero .node-services {
  right:22px;
  bottom:22px;
  animation-delay:1s;
}
.about-hero .node-area {
  bottom:22px;
  left:22px;
  animation-delay:1.5s;
}
.about-hero-tags {
  position:absolute;
  right:22px;
  bottom:17px;
  left:22px;
  z-index:4;
  display:flex;
  gap:7px;
  padding-top:12px;
  border-top:1px solid rgba(190,242,255,.14);
}
.about-hero-tags .experience-tag {
  color:rgba(224,249,255,.64);
  border-color:rgba(190,242,255,.2);
  background:rgba(5,26,57,.38);
}
@keyframes about-ring-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes about-ring-spin-reverse { to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes about-line-pulse { 50% { opacity:.35; } }
@keyframes about-node-float { 50% { transform:translateY(-5px); } }
@media (max-width:1060px) and (min-width:761px) {
  .about-hero-grid {
    grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);
    gap:32px;
  }
  .about-hero-copy h1 { font-size:54px; }
  .about-hero-visual { min-height:370px; }
  .about-hero-map { height:304px; }
  .about-hero-node { min-width:116px; }
}
@media (max-width:760px) {
  .about-hero {
    min-height:0;
    padding:112px 0 40px;
  }
  .about-hero-grid {
    grid-template-columns:1fr;
    gap:38px;
  }
  .about-hero-copy h1 {
    margin-top:15px;
    font-size:clamp(40px,11vw,54px);
  }
  .about-hero-lede {
    margin-top:20px;
    font-size:15px;
    line-height:1.8;
  }
  .about-hero .breadcrumbs { margin-top:24px; }
  .about-hero-visual { min-height:384px; }
  .about-hero-visual-label {
    padding:17px 16px;
    font-size:9px;
  }
  .about-hero-map { height:322px; }
  .about-hero-core { width:112px; height:112px; }
  .about-hero-core strong { font-size:17px; }
  .about-hero .ring-a { width:194px; height:194px; }
  .about-hero .ring-b { width:280px; height:136px; }
  .about-hero-node {
    min-width:112px;
    padding:10px;
  }
  .about-hero-node b { font-size:14px; }
  .about-hero-node span { font-size:10px; }
  .about-hero .node-founding,
  .about-hero .node-cases { top:22px; }
  .about-hero .node-founding,
  .about-hero .node-area { left:12px; }
  .about-hero .node-cases,
  .about-hero .node-services { right:12px; }
  .about-hero .node-services,
  .about-hero .node-area { bottom:22px; }
  .about-hero-tags { right:12px; bottom:14px; left:12px; overflow:hidden; }
  .about-hero-tags .experience-tag { font-size:9px; padding:4px 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .about-hero .about-hero-ring,
  .about-hero .about-hero-line,
  .about-hero .about-hero-node { animation:none; }
}

/* Final about hero type scale */
.about-hero-copy h1 { font-size:clamp(44px,4.4vw,64px); line-height:1.14; letter-spacing:-.07em; }
@media (max-width:1060px) and (min-width:761px) { .about-hero-copy h1 { font-size:50px; } }

.footer-links { display:flex; align-items:flex-start; gap:20px; padding:22px 0 20px; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); }
.footer-links strong { flex:none; color:#7facff; font-size:13px; font-weight:600; letter-spacing:.12em; }
.footer-links > div { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-links a { color:rgba(255,255,255,.52); font-size:13px; line-height:1.6; transition:color .25s ease,transform .25s ease; }
.footer-links a:hover,.footer-links a:focus-visible { color:#fff; transform:translateY(-1px); }
@media (max-width:760px) { .footer-links { display:block; } .footer-links strong { display:block; margin-bottom:10px; } .footer-links > div { gap:8px 16px; } }

/* AI application capability architecture */ 
.section-ai-capabilities {
  position:relative;
  overflow:hidden;
  padding:clamp(82px,8vw,124px) 0;
  background:#f0f8ff;
}
.section-ai-capabilities::before {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 10%,rgba(103,202,255,.22),transparent 25%),
    radial-gradient(circle at 90% 46%,rgba(74,131,255,.12),transparent 32%),
    linear-gradient(130deg,rgba(255,255,255,.85),transparent 50%);
}
.ai-model-heading {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);
  align-items:end;
  gap:64px;
}
.ai-model-heading h2 {
  max-width:720px;
  margin:0;
  color:#082c61;
  font-size:clamp(42px,5.5vw,78px);
  line-height:1.05;
  letter-spacing:-.08em;
}
.ai-model-heading h2 em {
  color:#116de9;
  font-style:normal;
}
.ai-model-heading > div:last-child {
  padding-bottom:6px;
}
.ai-model-heading > div:last-child p {
  max-width:440px;
  margin:0 0 22px;
  color:#5e7692;
  font-size:15px;
  line-height:1.9;
}
.ai-model-board {
  position:relative;
  z-index:1;
  min-height:780px;
  margin-top:58px;
  overflow:hidden;
  padding:26px 30px 22px;
  border:1px solid rgba(108,175,230,.32);
  background:
    linear-gradient(180deg,rgba(255,255,255,.83),rgba(221,242,255,.64)),
    linear-gradient(135deg,#e7f6ff,#f8fcff);
  box-shadow:0 24px 70px rgba(47,119,181,.13);
}
.ai-model-board::before,
.ai-model-board::after {
  position:absolute;
  content:"";
  pointer-events:none;
}
.ai-model-board::before {
  inset:auto -12% -38% -12%;
  height:55%;
  border:1px solid rgba(62,164,236,.23);
  border-radius:50%;
  box-shadow:
    0 -32px 0 -30px rgba(93,190,249,.16),
    0 -67px 0 -64px rgba(93,190,249,.12),
    0 -104px 0 -101px rgba(93,190,249,.11);
  transform:rotate(-3deg);
}
.ai-model-board::after {
  top:30%;
  right:-10%;
  width:34%;
  height:34%;
  border:1px solid rgba(69,166,244,.16);
  border-radius:50%;
  transform:rotate(-18deg);
  box-shadow:0 0 80px rgba(83,189,255,.12);
}
.ai-model-board-glow {
  position:absolute;
  top:11%;
  left:42%;
  width:34%;
  height:32%;
  border-radius:50%;
  background:rgba(87,202,255,.22);
  filter:blur(46px);
  animation:ai-model-glow 8s ease-in-out infinite;
}
.ai-model-board-grid {
  position:absolute;
  inset:0;
  opacity:.38;
  background-image:
    linear-gradient(rgba(43,126,207,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,126,207,.07) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,black 0%,rgba(0,0,0,.4) 65%,transparent 100%);
}
.ai-model-board-head {
  position:relative;
  z-index:3;
  display:flex;
  justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid rgba(76,153,211,.18);
  color:#6a93b9;
  font-size:10px;
  letter-spacing:.18em;
}
.ai-model-board-head span:last-child {
  color:#1b75dc;
  letter-spacing:.1em;
}
.ai-model-layers {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  max-width:1120px;
  margin:30px auto 0;
}
.ai-model-layer {
  position:relative;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  align-items:center;
  min-height:126px;
  padding:18px 26px;
  overflow:hidden;
  border:1px solid rgba(89,175,232,.46);
  border-radius:50% / 19%;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(201,235,255,.67));
  box-shadow:
    0 13px 0 -10px rgba(104,196,246,.2),
    0 18px 30px rgba(39,120,196,.08);
  animation:ai-layer-enter .8s cubic-bezier(.2,.75,.25,1) both;
}
.ai-model-layer::before {
  position:absolute;
  inset:5px 3% auto;
  height:28px;
  content:"";
  border-top:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  pointer-events:none;
}
.ai-model-layer::after {
  position:absolute;
  right:6%;
  bottom:-20px;
  left:6%;
  height:32px;
  content:"";
  border-bottom:1px solid rgba(32,137,220,.28);
  border-radius:50%;
  pointer-events:none;
}
.ai-model-layer:nth-child(2) { animation-delay:.12s; }
.ai-model-layer:nth-child(3) { animation-delay:.24s; }
.ai-model-layer:nth-child(4) { animation-delay:.36s; }
.layer-scenario { width:78%; }
.layer-data { width:86%; }
.layer-tech { width:94%; }
.layer-base { width:100%; }
.ai-layer-heading {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:15px;
}
.ai-layer-heading > span {
  color:#3ca5ee;
  font-family:Arial,sans-serif;
  font-size:12px;
  letter-spacing:.1em;
}
.ai-layer-heading strong {
  display:block;
  color:#0870da;
  font-size:23px;
  letter-spacing:.04em;
}
.ai-layer-heading small {
  display:block;
  margin-top:5px;
  color:#7598b8;
  font-size:11px;
  line-height:1.5;
}
.ai-layer-nodes {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.ai-model-node {
  position:relative;
  display:flex;
  min-height:58px;
  flex-direction:column;
  justify-content:center;
  padding:10px 26px 10px 13px;
  color:#164c85;
  border:1px solid rgba(80,165,226,.26);
  background:rgba(239,250,255,.66);
  transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.ai-model-node:hover,
.ai-model-node:focus-visible {
  color:#fff;
  border-color:#1b79e4;
  background:linear-gradient(135deg,#187ce5,#0eacd1);
  box-shadow:0 10px 22px rgba(22,124,222,.2);
  transform:translateY(-4px);
}
.ai-model-node strong {
  overflow:hidden;
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-model-node small {
  margin-top:4px;
  overflow:hidden;
  color:#79a1c2;
  font-size:10px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-model-node:hover small,
.ai-model-node:focus-visible small {
  color:rgba(236,251,255,.76);
}
.ai-model-node > span {
  position:absolute;
  top:8px;
  right:9px;
  color:#47a8ec;
  font-size:14px;
  transition:transform .25s ease;
}
.ai-model-node:hover > span,
.ai-model-node:focus-visible > span {
  color:#fff;
  transform:translate(2px,-2px);
}
.ai-model-base {
  position:relative;
  z-index:3;
  display:flex;
  width:min(54%,620px);
  height:100px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:-12px auto 0;
  border:1px solid rgba(52,146,226,.48);
  border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 15%,rgba(255,255,255,.94),rgba(128,213,255,.7) 58%,rgba(56,129,226,.54));
  box-shadow:
    0 18px 0 -8px rgba(50,145,228,.26),
    0 28px 42px rgba(52,133,207,.2);
  animation:ai-base-float 6s ease-in-out infinite;
}
.ai-model-base::before,
.ai-model-base::after {
  position:absolute;
  content:"";
  border:1px solid rgba(58,153,230,.34);
  border-radius:50%;
}
.ai-model-base::before {
  inset:10px 13%;
}
.ai-model-base::after {
  inset:20px 25%;
  border-color:rgba(255,255,255,.5);
}
.ai-model-base-ring {
  position:absolute;
  bottom:-24px;
  width:68%;
  height:40px;
  border:1px solid rgba(52,144,224,.36);
  border-radius:50%;
  background:rgba(61,158,231,.12);
}
.ai-model-base strong {
  position:relative;
  z-index:1;
  color:#075ec5;
  font-family:Arial,sans-serif;
  font-size:17px;
  letter-spacing:.12em;
}
.ai-model-base strong em {
  color:#0d83bf;
  font-style:normal;
}
.ai-model-base small {
  position:relative;
  z-index:1;
  margin-top:7px;
  color:#4f85ac;
  font-size:11px;
  letter-spacing:.1em;
}
.ai-model-board-foot {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:46px;
  color:#6f99b8;
  font-size:11px;
  letter-spacing:.1em;
}
.ai-model-board-foot i {
  width:34px;
  height:1px;
  background:#8ac8ee;
}
@keyframes ai-model-glow {
  50% { opacity:.52; transform:translate3d(28px,16px,0) scale(1.08); }
}
@keyframes ai-layer-enter {
  from { opacity:.72; transform:translateY(16px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes ai-base-float {
  50% { transform:translateY(-5px); }
}
@media (max-width:1100px) and (min-width:761px) {
  .ai-model-layer { grid-template-columns:160px minmax(0,1fr); padding-inline:18px; }
  .ai-layer-nodes { gap:7px; }
  .ai-model-node { padding-inline:9px; }
  .ai-model-node strong { font-size:11px; }
  .ai-layer-heading strong { font-size:19px; }
}
@media (max-width:760px) {
  .section-ai-capabilities { padding:68px 0 76px; }
  .ai-model-heading { grid-template-columns:1fr; gap:22px; }
  .ai-model-heading h2 { font-size:clamp(38px,11vw,56px); }
  .ai-model-heading > div:last-child p { font-size:14px; }
  .ai-model-board { min-height:0; margin-top:40px; padding:18px 10px 20px; }
  .ai-model-board-head { flex-direction:column; gap:8px; padding-inline:8px; font-size:8px; }
  .ai-model-layers { gap:9px; margin-top:22px; }
  .ai-model-layer,
  .layer-scenario,
  .layer-data,
  .layer-tech,
  .layer-base { width:100%; grid-template-columns:1fr; gap:13px; padding:20px 14px 18px; border-radius:26px; }
  .ai-layer-heading { padding-left:4px; }
  .ai-layer-heading strong { font-size:20px; }
  .ai-layer-nodes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .ai-model-node { min-height:56px; padding:9px 18px 9px 9px; }
  .ai-model-node strong { font-size:11px; }
  .ai-model-node small { font-size:9px; }
  .ai-model-base { width:82%; height:86px; }
  .ai-model-base strong { font-size:13px; }
  .ai-model-board-foot { gap:8px; margin-top:34px; font-size:9px; }
  .ai-model-board-foot i { width:18px; }
}
@media (max-width:420px) {
  .ai-model-node { min-height:52px; }
  .ai-model-node small { display:none; }
  .ai-model-base { width:90%; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-model-board-glow,
  .ai-model-layer,
  .ai-model-base { animation:none; }
}


/* About page: vision and honors */
.about-intro-grid > div:last-child > p + p { margin-top:18px; }
.about-section-note { max-width:430px; margin:26px 0 0; color:var(--muted); font-size:15px; line-height:1.9; }
.about-vision {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%,rgba(34,112,255,.2),transparent 28%),
    linear-gradient(135deg,#061a3a 0%,#0b3163 54%,#075d78 100%);
  color:#fff;
}
.about-vision::before {
  position:absolute;
  inset:0;
  content:"";
  opacity:.28;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(157,224,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(157,224,255,.12) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 70% 42%,black,transparent 76%);
}
.vision-intro {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr .65fr;
  gap:80px;
  align-items:end;
}
.vision-intro h2 {
  margin:0;
  color:#fff;
  font-size:clamp(40px,5vw,72px);
  line-height:1.08;
  letter-spacing:-.08em;
}
.vision-intro h2 em { color:#76e2ef; font-style:normal; }
.vision-intro > p {
  max-width:420px;
  margin:0 0 4px;
  color:rgba(231,247,255,.68);
  font-size:15px;
  line-height:1.9;
}
.vision-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:66px;
  border-top:1px solid rgba(205,241,255,.22);
  border-bottom:1px solid rgba(205,241,255,.22);
}
.vision-grid article {
  min-height:190px;
  padding:28px 30px 30px 0;
  border-right:1px solid rgba(205,241,255,.22);
}
.vision-grid article:not(:first-child) { padding-left:30px; }
.vision-grid article:last-child { border-right:0; }
.vision-grid span {
  display:block;
  color:#75d9ef;
  font-family:Arial,sans-serif;
  font-size:11px;
  letter-spacing:.12em;
}
.vision-grid strong {
  display:block;
  max-width:300px;
  margin-top:28px;
  color:#fff;
  font-size:20px;
  font-weight:550;
  line-height:1.65;
}
.about-honors {
  position:relative;
  overflow:hidden;
  background:#f6fbff;
}
.honors-heading {
  display:grid;
  grid-template-columns:1fr .62fr;
  gap:70px;
  align-items:end;
}
.honors-heading h2 {
  margin:0;
  color:#082c61;
  font-size:clamp(40px,4.8vw,68px);
  line-height:1.08;
  letter-spacing:-.08em;
}
.honors-heading h2 em { color:#1674e9; font-style:normal; }
.honors-heading > div:last-child {
  padding-bottom:4px;
}
.honors-heading > div:last-child p {
  max-width:410px;
  margin:0 0 22px;
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
}
.honors-location {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#1472dd;
  font-size:13px;
  font-weight:650;
  letter-spacing:.08em;
}
.honors-location::before {
  width:7px;
  height:7px;
  content:"";
  border-radius:50%;
  background:#21b8d2;
  box-shadow:0 0 0 5px rgba(33,184,210,.12);
}
.honors-visual {
  position:relative;
  min-height:380px;
  margin:62px 0 0;
  overflow:hidden;
  border:1px solid rgba(113,177,220,.26);
  background:#eaf6ff;
  box-shadow:0 24px 60px rgba(45,120,182,.12);
}
.honors-visual::after {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
  background:linear-gradient(90deg,rgba(5,35,84,.36),transparent 36%,transparent 72%,rgba(11,97,172,.08));
  mix-blend-mode:multiply;
}
.honors-visual img {
  display:block;
  width:100%;
  height:auto;
  min-height:380px;
  object-fit:cover;
  object-position:center;
  transition:transform .8s var(--ease);
}
.honors-visual:hover img { transform:scale(1.025); }
.honors-visual figcaption {
  position:absolute;
  right:32px;
  bottom:26px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  color:#fff;
  text-align:right;
  text-shadow:0 1px 12px rgba(0,38,94,.3);
}
.honors-visual figcaption span {
  font-family:Arial,sans-serif;
  font-size:10px;
  letter-spacing:.16em;
}
.honors-visual figcaption strong {
  margin-top:8px;
  font-size:13px;
  font-weight:500;
}
@media (max-width:900px) and (min-width:761px) {
  .vision-intro,.honors-heading { gap:40px; }
  .vision-grid article { padding-right:18px; }
  .vision-grid article:not(:first-child) { padding-left:18px; }
  .vision-grid strong { font-size:17px; }
}
@media (max-width:760px) {
  .about-intro-grid > div:last-child > p + p { margin-top:14px; }
  .about-section-note { margin-top:18px; font-size:14px; }
  .vision-intro,.honors-heading { grid-template-columns:1fr; gap:24px; }
  .vision-intro h2,.honors-heading h2 { font-size:clamp(38px,10.5vw,54px); }
  .vision-intro > p,.honors-heading > div:last-child p { font-size:14px; }
  .vision-grid { grid-template-columns:1fr; margin-top:42px; }
  .vision-grid article,
  .vision-grid article:not(:first-child) { min-height:0; padding:22px 0; border-right:0; border-bottom:1px solid rgba(205,241,255,.22); }
  .vision-grid article:last-child { border-bottom:0; }
  .vision-grid strong { max-width:none; margin-top:15px; font-size:18px; }
  .honors-visual { min-height:220px; margin-top:40px; }
  .honors-visual img { min-height:220px; height:220px; }
  .honors-visual figcaption { right:16px; bottom:16px; }
  .honors-visual figcaption strong { max-width:220px; font-size:11px; }
}

@media (prefers-reduced-motion: reduce) { .honors-visual img { transition:none; } }

/* Case detail: a focused editorial flow with an image-led gallery */
.case-detail-section { padding-bottom:68px; margin-bottom:68px; }
.case-detail-section > h2 {
  max-width:680px;
  margin-bottom:24px;
  color:var(--ink);
}
.case-detail-section > h2 em { color:var(--blue); font-style:normal; }
.case-detail-section > p:not(.eyebrow) {
  max-width:720px;
  color:var(--muted);
  font-size:16px;
  line-height:1.95;
}
.case-detail-visuals { padding-bottom:0; border-bottom:0; }
.case-detail-gallery {
  display:grid;
  grid-template-columns:minmax(170px,.48fr) minmax(0,1.52fr);
  gap:20px;
  align-items:start;
  margin-top:42px;
}
.case-gallery-item {
  min-width:0;
  margin:0;
  animation:case-gallery-in .7s var(--ease) both;
}
.case-gallery-item:nth-child(2) { animation-delay:.12s; }
.case-gallery-frame {
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:#f4f7f8;
  box-shadow:0 16px 38px rgba(12,42,75,.1);
}
.case-gallery-item.is-portrait .case-gallery-frame {
  aspect-ratio:9 / 16;
  max-height:650px;
}
.case-gallery-item.is-wide {
  padding-top:96px;
}
.case-gallery-item.is-wide .case-gallery-frame {
  aspect-ratio:16 / 9;
}
.case-gallery-frame::after {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
  border:1px solid rgba(255,255,255,.48);
}
.case-gallery-frame img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.case-gallery-item.is-portrait .case-gallery-frame img { object-position:center; }
.case-gallery-item:hover .case-gallery-frame img { transform:scale(1.025); }
.case-gallery-item figcaption {
  display:flex;
  align-items:center;
  gap:13px;
  padding-top:15px;
}
.case-gallery-item figcaption span {
  color:var(--blue);
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}
.case-gallery-item figcaption strong {
  color:var(--ink);
  font-size:14px;
  font-weight:600;
}
@keyframes case-gallery-in {
  from { opacity:.7; transform:translateY(14px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width:760px) {
  .case-detail-section { padding-bottom:48px; margin-bottom:48px; }
  .case-detail-section > p:not(.eyebrow) { font-size:14px; }
  .case-detail-gallery { grid-template-columns:1fr; gap:30px; margin-top:28px; }
  .case-gallery-item.is-portrait { width:64%; }
  .case-gallery-item.is-wide { padding-top:0; }
  .case-gallery-item.is-portrait .case-gallery-frame { max-height:none; }
}
@media (prefers-reduced-motion: reduce) {
  .case-gallery-item,
  .case-gallery-frame img { animation:none; transition:none; }
}

.case-detail-gallery.is-single { display:block; }
.case-detail-gallery.is-single .case-gallery-item.is-wide { padding-top:0; }
.case-detail-gallery.is-single .case-gallery-frame { width:100%; aspect-ratio:16 / 9; }

.case-detail-gallery.is-multi { grid-template-columns:repeat(2,minmax(0,1fr)); }
.case-detail-gallery.is-multi .case-gallery-item.is-wide { padding-top:0; }

@media (max-width:760px) { .case-detail-gallery.is-multi { grid-template-columns:1fr; } }

/* wide dashboard full row */
.case-detail-gallery.is-multi .case-gallery-item.is-wide { grid-column:1 / -1; }

/* editorial case index redesign */
.case-archive-section { padding-top:72px; }
.case-list-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.72fr) 120px; gap:42px; align-items:end; padding-bottom:46px; border-bottom:1px solid var(--line); }
.case-list-lead h2 { margin-top:12px; font-size:clamp(32px,4vw,54px); line-height:1.12; letter-spacing:-.065em; }
.case-list-lead > p { max-width:390px; margin:0; color:var(--muted); font-size:16px; line-height:1.9; }
.case-list-lead > strong { color:var(--blue); font-family:Arial,sans-serif; font-size:64px; font-weight:400; line-height:.9; letter-spacing:-.08em; text-align:right; }
.case-list-lead > strong small { display:block; margin-top:12px; color:#8995a9; font-family:var(--font-body); font-size:14px; font-weight:500; letter-spacing:.08em; }
.editorial-case-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px 22px; padding-top:34px; }
.editorial-case-grid .case-filter-item { grid-column:span 4; min-width:0; }
.editorial-case-grid .case-filter-item.is-featured,.editorial-case-grid .case-filter-item.is-wide { grid-column:span 8; }
.editorial-case-grid .case-list-card { height:100%; }
.editorial-case-grid .case-art { height:auto; aspect-ratio:16 / 10; border:1px solid var(--line); background:#e9eef5; }
.editorial-case-grid .case-filter-item.is-featured .case-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); height:100%; background:var(--white); border:1px solid var(--line); }
.editorial-case-grid .case-filter-item.is-featured .case-art { height:100%; min-height:410px; aspect-ratio:auto; border:0; }
.editorial-case-grid .case-filter-item.is-wide .case-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr); align-items:stretch; background:var(--white); border:1px solid var(--line); }
.editorial-case-grid .case-filter-item.is-wide .case-art { height:100%; min-height:280px; aspect-ratio:auto; border:0; }
.editorial-case-grid .case-filter-item.is-tall .case-art { aspect-ratio:1.15 / 1; }
.case-art { isolation:isolate; }
.case-art-image { position:absolute; inset:0; z-index:-3; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .65s var(--ease),filter .65s ease; }
.case-art-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(4,20,47,.08) 0%,rgba(4,20,47,.08) 38%,rgba(4,20,47,.8) 100%); pointer-events:none; }
.case-card:hover .case-art-image { transform:scale(1.04); filter:saturate(1.06); }
.case-art-index { position:absolute; top:20px; left:20px; color:rgba(255,255,255,.84); font-family:Arial,sans-serif; font-size:11px; letter-spacing:.18em; }
.case-art-mark { position:absolute; right:20px; bottom:14px; color:rgba(255,255,255,.14); font-family:Arial,sans-serif; font-size:clamp(46px,7vw,92px); font-weight:700; letter-spacing:-.11em; line-height:1; }
.case-art-orbit { z-index:-1; border-color:rgba(255,255,255,.72); opacity:.72; transition:transform .5s var(--ease),opacity .3s ease; }
.case-card:hover .case-art-orbit { opacity:1; transform:translate(-50%,-50%) scale(1.12); }
.case-card-copy { min-width:0; padding:20px 0 22px; border-bottom:1px solid var(--line); }
.editorial-case-grid .case-card-copy { padding:22px 4px 3px; border-bottom:0; }
.editorial-case-grid .is-featured .case-card-copy,.editorial-case-grid .is-wide .case-card-copy { display:flex; flex-direction:column; justify-content:flex-end; padding:30px 30px 28px; }
.case-card-meta { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:11px; color:var(--blue); font-family:Arial,sans-serif; font-size:12px; letter-spacing:.1em; }
.case-card-meta b { color:#8995a9; font-size:11px; font-weight:500; white-space:nowrap; }
.case-card-meta i,.case-card-link i { color:var(--blue); font-style:normal; }
.case-card-copy h3 { margin:0; color:var(--ink); font-size:22px; font-weight:650; letter-spacing:-.045em; line-height:1.3; }
.editorial-case-grid .is-featured h3,.editorial-case-grid .is-wide h3 { font-size:clamp(24px,2.5vw,36px); }
.case-card-copy > p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; margin:11px 0 0; color:var(--muted); font-size:14px; line-height:1.75; }
.case-card-link { display:inline-flex; align-items:center; gap:10px; margin-top:22px; color:var(--ink); font-size:14px; font-weight:600; transition:gap .25s var(--ease),color .25s ease; }
.case-card-link i { font-size:18px; }
.case-card:hover .case-card-link { gap:16px; color:var(--blue); }
@media (max-width:900px) {
  .case-list-lead { grid-template-columns:1fr 90px; gap:22px; }
  .case-list-lead > p { grid-column:1 / -1; max-width:620px; }
  .editorial-case-grid .case-filter-item,.editorial-case-grid .case-filter-item.is-featured,.editorial-case-grid .case-filter-item.is-wide { grid-column:span 6; }
  .editorial-case-grid .case-filter-item.is-featured .case-card,.editorial-case-grid .case-filter-item.is-wide .case-card { display:block; }
  .editorial-case-grid .case-filter-item.is-featured .case-art,.editorial-case-grid .case-filter-item.is-wide .case-art { min-height:0; height:auto; aspect-ratio:16 / 10; }
  .editorial-case-grid .is-featured .case-card-copy,.editorial-case-grid .is-wide .case-card-copy { padding:22px 4px 3px; }
}
@media (max-width:760px) {
  .case-archive-section { padding-top:52px; }
  .case-list-lead { display:block; padding-bottom:32px; }
  .case-list-lead > p { margin-top:22px; font-size:15px; }
  .case-list-lead > strong { display:flex; align-items:baseline; gap:9px; margin-top:26px; text-align:left; font-size:48px; }
  .case-list-lead > strong small { margin-top:0; }
  .editorial-case-grid { display:grid; grid-template-columns:1fr; gap:40px; padding-top:26px; }
  .editorial-case-grid .case-filter-item,.editorial-case-grid .case-filter-item.is-featured,.editorial-case-grid .case-filter-item.is-wide { grid-column:1; }
  .editorial-case-grid .case-filter-item.is-featured .case-card,.editorial-case-grid .case-filter-item.is-wide .case-card { display:block; }
  .editorial-case-grid .case-filter-item.is-featured .case-art,.editorial-case-grid .case-filter-item.is-wide .case-art,.editorial-case-grid .case-art { height:auto; min-height:0; aspect-ratio:16 / 10; }
  .editorial-case-grid .is-featured .case-card-copy,.editorial-case-grid .is-wide .case-card-copy { padding:20px 0 0; }
  .editorial-case-grid .is-featured h3,.editorial-case-grid .is-wide h3 { font-size:24px; }
  .case-art-index { top:15px; left:15px; font-size:10px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-art-image,.case-art-orbit,.case-card-link { transition:none; }
}

/* poster readability correction */
.editorial-case-grid .case-art-image { object-fit:contain; background:#ffffff; }
.editorial-case-grid .case-art-shade { background:transparent; }
.editorial-case-grid .case-art-orbit { display:none; }
.editorial-case-grid .case-art-mark { color:rgba(7,26,61,.08); }
.case-detail-gallery .case-gallery-frame img { object-fit:contain; background:#ffffff; }


/* News editorial refresh */
.news-index-section { background: var(--paper); }
.news-index-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,420px); gap:60px; align-items:end; margin-bottom:42px; }
.news-index-intro h2 { margin:0; font-size:clamp(34px,4vw,56px); letter-spacing:-.04em; }
.news-index-intro > p { margin:0; color:var(--muted); font-size:17px; line-height:1.85; }
.news-filter-bar { margin-bottom:28px; padding:14px 18px; border:1px solid var(--line); background:rgba(255,255,255,.78); border-radius:14px; }
.news-filter-bar > span { color:var(--ink); font-weight:700; margin-right:12px; }
.news-featured { margin-bottom:24px; }
.news-card { display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--line); color:var(--ink); text-decoration:none; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.news-card:hover { transform:translateY(-5px); border-color:rgba(22,93,255,.4); box-shadow:0 18px 40px rgba(7,26,61,.11); }
.news-card-media { aspect-ratio:16/9; min-height:0; overflow:hidden; background:linear-gradient(120deg,#e8eef8,#f8fafc); }
.news-card-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.news-card:hover .news-card-media img { transform:scale(1.035); }
.news-card-copy { padding:24px 26px 26px; }
.news-card-meta { display:flex; align-items:center; gap:14px; color:var(--muted); font-size:14px; }
.news-card-meta span { color:var(--cobalt); font-weight:700; }
.news-card-copy h3 { margin:14px 0 10px; font-size:22px; line-height:1.45; letter-spacing:-.025em; }
.news-card-copy p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.news-card-link { display:inline-flex; gap:8px; margin-top:22px; color:var(--cobalt); font-size:14px; font-weight:700; }
.news-card-link i { font-style:normal; transition:transform .25s ease; }
.news-card:hover .news-card-link i { transform:translate(3px,-3px); }
.news-featured .news-card { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); }
.news-featured .news-card-media { min-height:360px; }
.news-featured .news-card-copy { display:flex; flex-direction:column; justify-content:center; padding:42px 48px; }
.news-featured .news-card-copy h3 { font-size:clamp(28px,3.2vw,42px); line-height:1.28; }
.news-featured .news-card-copy p { -webkit-line-clamp:5; font-size:17px; }
.news-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.news-card-grid .news-filter-item { min-width:0; }
.news-pagination { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.news-pagination i { font-style:normal; }
.article-richtext { max-width:820px; font-size:18px; line-height:1.92; color:var(--ink); }
.article-richtext > p { margin:0 0 1.25em; }
.article-richtext h2 { margin:2.2em 0 .65em; font-size:30px; line-height:1.35; letter-spacing:-.03em; }
.article-richtext h3 { margin:1.7em 0 .55em; font-size:23px; line-height:1.45; }
.article-richtext strong { color:var(--ink); font-weight:750; }
.article-richtext ul,.article-richtext ol { margin:0 0 1.35em; padding-left:1.45em; }
.article-richtext li { margin:.45em 0; padding-left:.2em; }
.article-richtext hr { margin:2.6em 0; border:0; border-top:1px solid var(--line); }
.article-quote { margin:0 0 1.8em; padding:22px 24px; border-left:3px solid var(--cyan); background:#eef7fb; color:#31506b; font-size:18px; line-height:1.8; }
.article-inline-media { margin:2em 0 2.25em; overflow:hidden; }
.article-inline-media img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.article-related { margin-top:68px; padding-top:42px; border-top:1px solid var(--line); }
.article-related-block + .article-related-block { margin-top:42px; }
.article-related-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.article-related-services .service-card { min-height:150px; }
.article-related-news { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.related-news-card .news-card-copy { padding:18px 20px 20px; }
.related-news-card .news-card-copy h3 { font-size:18px; margin:10px 0 0; }
.related-news-card .news-card-copy p,.related-news-card .news-card-link { display:none; }
.article-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:48px; padding:28px 30px; background:var(--deep-ink); color:#fff; }
.article-cta strong { display:block; font-size:22px; }
.article-cta p { margin:7px 0 0; color:rgba(255,255,255,.7); line-height:1.7; }
@media (max-width: 900px) {
  .news-index-intro { grid-template-columns:1fr; gap:18px; }
  .news-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-featured .news-card { grid-template-columns:1fr; }
  .news-featured .news-card-media { min-height:0; }
  .news-featured .news-card-copy { padding:28px; }
}
@media (max-width: 640px) {
  .news-index-intro h2 { font-size:34px; }
  .news-filter-bar { display:flex; flex-wrap:wrap; gap:8px; padding:12px; }
  .news-filter-bar > span { width:100%; margin:0 0 4px; }
  .news-card-grid,.news-article-related,.article-related-services,.article-related-news { grid-template-columns:1fr; }
  .news-card-copy { padding:20px 20px 22px; }
  .news-card-copy h3 { font-size:20px; }
  .news-featured .news-card-copy h3 { font-size:28px; }
  .news-pagination { align-items:flex-start; flex-direction:column; gap:6px; }
  .article-richtext { font-size:17px; line-height:1.9; }
  .article-richtext h2 { font-size:26px; margin-top:1.9em; }
  .article-richtext h3 { font-size:21px; }
  .article-quote { font-size:16px; padding:18px; }
  .article-cta { align-items:flex-start; flex-direction:column; padding:24px; }
}
@media (prefers-reduced-motion: reduce) {
  .news-card,.news-card-media img,.news-card-link i { transition:none; }
}



.article-cover-media { margin:0 0 30px; overflow:hidden; border:1px solid var(--line); background:#edf2f8; aspect-ratio:16/9; }
.article-cover-media img { display:block; width:100%; height:100%; object-fit:cover; }



/* Case portfolio redesign */
.case-page-shell { position:relative; overflow:hidden; background:var(--deep); color:#fff; }
.case-page-shell::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; background-image:linear-gradient(rgba(91,196,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(91,196,255,.14) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(180deg,#000,transparent 82%); }
.case-page-shell .container { position:relative; z-index:1; }
.case-page-shell .eyebrow { color:#8ccdf4; }
.case-page-shell .eyebrow-line { background:#36c6e9; }
.case-list-lead { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:34px 52px; align-items:end; padding-bottom:56px; border-bottom:1px solid rgba(196,224,244,.2); }
.case-list-lead h2 { margin:0; color:#fff; font-size:clamp(38px,5vw,72px); line-height:1.08; letter-spacing:-.06em; }
.case-list-lead h2 em { color:#75d4ef; font-style:normal; }
.case-list-lead > p { grid-column:1 / 2; max-width:580px; margin:0; color:rgba(226,239,250,.72); font-size:17px; line-height:1.9; }
.case-list-stat { align-self:center; justify-self:end; text-align:right; }
.case-list-stat strong { display:block; color:#fff; font-family:Arial,sans-serif; font-size:72px; font-weight:400; letter-spacing:-.1em; line-height:.85; }
.case-list-stat span { display:block; margin-top:12px; color:#8ccdf4; font-size:13px; letter-spacing:.12em; }
.case-spotlight { margin-top:52px; }
.case-spotlight-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; color:#8ccdf4; font-family:Arial,sans-serif; font-size:11px; letter-spacing:.16em; }
.case-spotlight-label i { color:rgba(255,255,255,.56); font-family:var(--font-body); font-size:13px; font-style:normal; letter-spacing:0; }
.case-portfolio-card { display:block; min-width:0; color:#fff; text-decoration:none; }
.case-spotlight .case-portfolio-card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); background:rgba(17,54,88,.76); border:1px solid rgba(150,220,248,.3); box-shadow:0 24px 70px rgba(0,0,0,.2); }
.case-portfolio-media { position:relative; overflow:hidden; aspect-ratio:16/10; background:linear-gradient(140deg,#0d355d,#06213e); }
.case-portfolio-media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 65%,rgba(2,14,33,.46)); }
.case-portfolio-media img { display:block; width:100%; height:100%; padding:14px; object-fit:contain; transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s ease; }
.case-portfolio-card:hover .case-portfolio-media img { transform:scale(1.035); filter:saturate(1.08); }
.case-portfolio-number { position:absolute; left:22px; top:18px; color:rgba(255,255,255,.82); font-family:Arial,sans-serif; font-size:12px; letter-spacing:.18em; }
.case-portfolio-open { position:absolute; right:22px; top:18px; color:rgba(255,255,255,.7); font-family:Arial,sans-serif; font-size:10px; letter-spacing:.14em; }
.case-portfolio-open i { color:#6dd7f1; font-style:normal; }
.case-portfolio-copy { display:flex; flex-direction:column; justify-content:flex-end; padding:38px 40px 36px; }
.case-portfolio-meta { display:flex; align-items:center; gap:14px; color:#73d2ee; font-size:13px; }
.case-portfolio-meta time { color:rgba(255,255,255,.48); font-family:Arial,sans-serif; font-size:11px; letter-spacing:.08em; }
.case-portfolio-copy h3 { margin:17px 0 13px; color:#fff; font-size:clamp(28px,3.3vw,48px); line-height:1.15; letter-spacing:-.055em; }
.case-portfolio-copy p { margin:0; color:rgba(226,239,250,.72); font-size:16px; line-height:1.82; }
.case-portfolio-link { display:inline-flex; align-items:center; gap:9px; width:max-content; margin-top:28px; padding-bottom:8px; border-bottom:1px solid rgba(115,210,238,.7); color:#fff; font-size:14px; font-weight:700; transition:gap .25s ease,color .25s ease; }
.case-portfolio-link i { color:#73d2ee; font-size:18px; font-style:normal; }
.case-portfolio-card:hover .case-portfolio-link { gap:15px; color:#73d2ee; }
.case-index-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin:88px 0 26px; }
.case-index-heading h3 { margin:0; color:#fff; font-size:32px; letter-spacing:-.04em; }
.case-index-heading > p { max-width:300px; margin:0; color:rgba(226,239,250,.6); font-size:14px; line-height:1.75; text-align:right; }
.case-portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.case-portfolio-grid .case-portfolio-card { background:rgba(255,255,255,.055); border:1px solid rgba(150,220,248,.18); transition:transform .35s ease,border-color .35s ease,background .35s ease; }
.case-portfolio-grid .case-portfolio-card:hover { transform:translateY(-6px); border-color:rgba(115,210,238,.65); background:rgba(255,255,255,.1); }
.case-portfolio-grid .case-portfolio-copy { padding:24px 26px 28px; }
.case-portfolio-grid .case-portfolio-copy h3 { margin:13px 0 10px; font-size:28px; }
.case-portfolio-grid .case-portfolio-copy p { font-size:15px; }
.case-portfolio-grid .is-wide { display:grid; grid-column:span 2; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); }
.case-portfolio-grid .is-wide .case-portfolio-media { height:100%; min-height:280px; aspect-ratio:auto; }
.case-page-shell + .contact-band { margin-top:0; }
@media (max-width:900px) {
  .case-spotlight .case-portfolio-card { grid-template-columns:1fr; }
  .case-spotlight .case-portfolio-media { aspect-ratio:16/10; }
  .case-portfolio-grid .is-wide { display:block; }
  .case-portfolio-grid .is-wide .case-portfolio-media { height:auto; min-height:0; aspect-ratio:16/10; }
}
@media (max-width:640px) {
  .case-list-lead { display:block; padding-bottom:38px; }
  .case-list-lead h2 { font-size:42px; }
  .case-list-stat { display:flex; align-items:baseline; justify-content:flex-start; gap:10px; margin-top:28px; text-align:left; }
  .case-list-stat strong { font-size:52px; }
  .case-list-stat span { margin-top:0; }
  .case-list-lead > p { margin-top:24px; font-size:15px; }
  .case-spotlight { margin-top:36px; }
  .case-spotlight-label { align-items:flex-start; flex-direction:column; gap:8px; }
  .case-portfolio-copy { padding:27px 24px 28px; }
  .case-portfolio-copy h3 { font-size:31px; }
  .case-portfolio-copy p { font-size:15px; }
  .case-portfolio-grid { grid-template-columns:1fr; gap:18px; }
  .case-portfolio-grid .is-wide { grid-column:auto; }
  .case-portfolio-grid .case-portfolio-copy { padding:22px 22px 24px; }
  .case-portfolio-grid .case-portfolio-copy h3 { font-size:25px; }
  .case-index-heading { align-items:flex-start; flex-direction:column; gap:12px; margin:60px 0 22px; }
  .case-index-heading > p { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  .case-portfolio-card,.case-portfolio-media img,.case-portfolio-link { transition:none; }
}


.article-layout-full { display:block; }
.article-layout-full .article-content { width:100%; max-width:920px; margin:0 auto; }
.article-top-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; padding-bottom:18px; border-bottom:1px solid var(--line); color:var(--muted); font-size:14px; }
.article-top-meta .eyebrow { margin:0; color:var(--blue); }
.article-top-meta > p:last-child { margin:0; }
@media (max-width:640px) {
  .article-layout-full .article-content { max-width:none; }
  .article-top-meta { align-items:flex-start; flex-direction:column; gap:8px; }
}

/* Service detail redesign */
.service-detail-section { background:var(--paper); }
.service-detail-container { max-width:1240px; }
.service-detail-header { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; padding-bottom:42px; border-bottom:1px solid var(--line); }
.service-detail-header h2 { margin:0; max-width:760px; color:var(--ink); font-size:clamp(34px,5vw,64px); line-height:1.1; letter-spacing:-.055em; }
.service-detail-header > div > p:last-child { max-width:720px; margin:18px 0 0; color:var(--muted); font-size:17px; line-height:1.85; }
.service-detail-header .button { flex:0 0 auto; }
.service-detail-content { padding-top:44px; }
.service-visual-panel { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:32px; align-items:stretch; }
.service-visual-copy { display:flex; flex-direction:column; justify-content:center; padding:38px 36px; background:var(--deep); color:#fff; }
.service-visual-copy .eyebrow { color:#8bdcf3; }
.service-visual-copy h2 { margin:0 0 20px; font-size:clamp(28px,3.2vw,48px); line-height:1.2; letter-spacing:-.05em; }
.service-visual-copy h2 em { color:#73d2ee; font-style:normal; }
.service-visual-copy > p:last-child { margin:0; color:rgba(226,239,250,.74); font-size:16px; line-height:1.9; }
.service-visual-frame { overflow:hidden; min-height:360px; background:#0b294a; border:1px solid #2d75a3; }
.service-visual-frame img { display:block; width:100%; height:100%; min-height:360px; object-fit:cover; }
.service-copy-section { padding-top:88px; }
.service-section-heading { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:40px; align-items:end; margin-bottom:34px; }
.service-section-heading h2 { margin:0; color:var(--ink); font-size:clamp(30px,4vw,48px); line-height:1.18; letter-spacing:-.05em; }
.service-section-heading h2 em { color:var(--blue); font-style:normal; }
.service-section-heading > p:last-child { max-width:660px; margin:0; color:var(--muted); font-size:16px; line-height:1.9; }
.service-problem-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.service-problem-grid > div { min-height:150px; padding:24px; background:#fff; border:1px solid var(--line); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.service-problem-grid > div:hover { transform:translateY(-4px); border-color:rgba(22,93,255,.4); box-shadow:0 14px 30px rgba(7,26,61,.08); }
.service-problem-grid span { color:var(--blue); font-family:Arial,sans-serif; font-size:13px; letter-spacing:.12em; }
.service-problem-grid p { margin:34px 0 0; color:var(--ink); font-size:17px; line-height:1.7; }
.service-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.service-capability-grid > div { padding:28px 26px; background:#fff; border-top:2px solid var(--blue); }
.service-capability-grid > div > span,.service-deliverables > span { display:block; margin-bottom:18px; color:var(--ink); font-size:18px; font-weight:700; }
.service-bullet-list { display:grid; gap:11px; padding:0; margin:0; list-style:none; }
.service-bullet-list li { position:relative; padding-left:18px; color:var(--muted); font-size:15px; line-height:1.7; }
.service-bullet-list li::before { content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; border-radius:50%; background:var(--cyan); }
.service-process-section { padding-bottom:10px; }
.service-process-line { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-process-line > div { position:relative; min-height:86px; padding:0 18px; border-left:1px solid var(--line); }
.service-process-line > div:first-child { padding-left:0; border-left:0; }
.service-process-line span { display:block; margin-bottom:18px; color:var(--blue); font-family:Arial,sans-serif; font-size:12px; }
.service-process-line strong { display:block; color:var(--ink); font-size:15px; line-height:1.45; }
.service-deliverables { display:grid; grid-template-columns:170px minmax(0,1fr); gap:30px; align-items:start; margin-top:28px; padding:26px 28px; background:#eaf5f9; }
.service-deliverables .service-bullet-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-related-cases-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-related-case { display:grid; grid-template-columns:190px minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--line); color:var(--ink); text-decoration:none; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.service-related-case:hover { transform:translateY(-4px); border-color:rgba(22,93,255,.42); box-shadow:0 14px 30px rgba(7,26,61,.09); }
.service-related-case-media { overflow:hidden; min-height:170px; background:#edf2f8; }
.service-related-case-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.service-related-case:hover img { transform:scale(1.04); }
.service-related-case-copy { padding:22px; }
.service-related-case-copy > span { color:var(--blue); font-size:13px; }
.service-related-case-copy h3 { margin:10px 0 8px; color:var(--ink); font-size:22px; line-height:1.25; }
.service-related-case-copy p { display:-webkit-box; margin:0; color:var(--muted); font-size:14px; line-height:1.65; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.service-related-case-copy b { display:inline-block; margin-top:16px; color:var(--blue); font-size:13px; }
.service-related-case-copy i { font-style:normal; font-size:16px; }
@media (max-width:900px) {
  .service-detail-header { align-items:flex-start; flex-direction:column; gap:24px; }
  .service-visual-panel { grid-template-columns:1fr; }
  .service-visual-frame,.service-visual-frame img { min-height:0; aspect-ratio:16/9; }
  .service-section-heading { grid-template-columns:1fr; gap:16px; }
  .service-capability-grid { grid-template-columns:1fr; }
  .service-process-line { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0; }
  .service-process-line > div:nth-child(4) { padding-left:0; border-left:0; }
}
@media (max-width:640px) {
  .service-detail-content { padding-top:30px; }
  .service-detail-header h2 { font-size:36px; }
  .service-detail-header > div > p:last-child { font-size:15px; }
  .service-visual-copy { padding:26px 22px; }
  .service-visual-copy h2 { font-size:31px; }
  .service-copy-section { padding-top:60px; }
  .service-problem-grid,.service-related-cases-grid { grid-template-columns:1fr; }
  .service-problem-grid p { margin-top:25px; font-size:16px; }
  .service-process-line { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-process-line > div,.service-process-line > div:nth-child(4) { padding-left:0; border-left:0; }
  .service-deliverables { grid-template-columns:1fr; gap:16px; padding:22px; }
  .service-deliverables .service-bullet-list { grid-template-columns:1fr; }
  .service-related-case { grid-template-columns:120px minmax(0,1fr); }
  .service-related-case-media { min-height:150px; }
  .service-related-case-copy { padding:16px; }
  .service-related-case-copy h3 { font-size:19px; }
  .service-related-case-copy p { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .service-problem-grid > div,.service-related-case,.service-related-case-media img { transition:none; }
}


/* Homepage experience module — field-to-product delivery map */
.section-experience {
  color:#f7fbff;
  background:
    radial-gradient(circle at 76% 24%,rgba(44,145,223,.22),transparent 26%),
    radial-gradient(circle at 16% 92%,rgba(20,184,212,.12),transparent 30%),
    linear-gradient(135deg,#061735 0%,#08234a 58%,#071a3d 100%);
  border-top:1px solid rgba(118,197,230,.22);
  border-bottom:1px solid rgba(118,197,230,.22);
}
.section-experience::before {
  opacity:.32;
  background-image:
    linear-gradient(rgba(127,222,238,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,222,238,.12) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,black,transparent 86%);
}
.experience-shell { max-width:1240px; }
.experience-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:54px;
}
.experience-topline .eyebrow { margin:0; color:#83e6f0; }
.experience-topline .eyebrow-line { background:#5be0ea; }
.experience-topline-note {
  color:rgba(190,224,242,.58);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
}
.experience-layout {
  display:grid;
  grid-template-columns:minmax(320px,.76fr) minmax(520px,1.24fr);
  gap:76px;
  align-items:center;
}
.experience-story h2 {
  max-width:620px;
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(38px,4.2vw,62px);
  line-height:1.12;
  letter-spacing:-.075em;
}
.experience-story h2 em {
  color:#5be0ea;
  font-style:normal;
}
.experience-story > p {
  max-width:510px;
  margin:0 0 34px;
  color:rgba(231,244,252,.72);
  font-size:17px;
  line-height:1.9;
}
.experience-story .text-link {
  color:#fff;
  border-color:rgba(255,255,255,.38);
}
.experience-story .text-link::after { background:#5be0ea; }
.experience-proof {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:0 0 34px;
  padding:22px 0 20px;
  border-top:1px solid rgba(157,210,232,.22);
  border-bottom:1px solid rgba(157,210,232,.22);
}
.experience-proof div { min-width:0; }
.experience-proof strong {
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.045em;
}
.experience-proof span {
  display:block;
  margin-top:8px;
  color:rgba(190,224,242,.65);
  font-size:12px;
  line-height:1.5;
}
.experience-map {
  position:relative;
  min-height:450px;
  overflow:hidden;
  border:1px solid rgba(131,230,240,.32);
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),transparent 44%),
    rgba(5,24,55,.64);
  box-shadow:0 24px 55px rgba(0,0,0,.2), inset 0 0 0 1px rgba(255,255,255,.03);
}
.experience-map-grid {
  position:absolute;
  inset:0;
  opacity:.42;
  background-image:
    linear-gradient(rgba(116,205,228,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(116,205,228,.14) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(135deg,black 20%,transparent 86%);
  animation:experience-grid-drift 18s linear infinite;
}
.experience-map::after {
  position:absolute;
  inset:18px;
  content:"";
  pointer-events:none;
  border:1px solid rgba(131,230,240,.13);
}
.experience-map-ring {
  position:absolute;
  left:50%;
  top:50%;
  width:275px;
  height:275px;
  border:1px solid rgba(91,224,234,.35);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.experience-map-ring::before,
.experience-map-ring::after {
  position:absolute;
  content:"";
  border:1px solid rgba(91,224,234,.17);
  border-radius:50%;
}
.experience-map-ring::before { inset:28px; }
.experience-map-ring::after { inset:64px; }
.experience-map-ring.ring-one { animation:experience-ring-spin 22s linear infinite; }
.experience-map-ring.ring-two {
  width:390px;
  height:170px;
  border-color:rgba(96,169,222,.22);
  transform:translate(-50%,-50%) rotate(-20deg);
  animation:experience-ring-breathe 7s ease-in-out infinite;
}
.experience-map-line {
  position:absolute;
  left:50%;
  top:50%;
  width:82%;
  height:1px;
  background:linear-gradient(90deg,transparent,#5be0ea 20%,rgba(91,224,234,.2) 80%,transparent);
  transform-origin:center;
}
.experience-map-line::after {
  position:absolute;
  top:-3px;
  width:7px;
  height:7px;
  content:"";
  border-radius:50%;
  background:#5be0ea;
  box-shadow:0 0 0 5px rgba(91,224,234,.12),0 0 18px rgba(91,224,234,.7);
  animation:experience-pulse 3.8s ease-in-out infinite;
}
.experience-map-line.line-one { transform:translate(-50%,-50%) rotate(24deg); }
.experience-map-line.line-one::after { left:38%; }
.experience-map-line.line-two { transform:translate(-50%,-50%) rotate(-34deg); opacity:.65; }
.experience-map-line.line-two::after { left:68%; animation-delay:1.2s; }
.experience-map-core {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:flex;
  width:160px;
  height:160px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  border:1px solid rgba(141,239,247,.72);
  border-radius:50%;
  background:radial-gradient(circle at 40% 26%,#154f79,#071a3d 72%);
  box-shadow:0 0 0 9px rgba(91,224,234,.06),0 0 34px rgba(91,224,234,.24);
  text-align:center;
  transform:translate(-50%,-50%);
}
.experience-map-core small { color:#86eaf1; font-size:10px; letter-spacing:.2em; }
.experience-map-core strong {
  margin:8px 0;
  color:#fff;
  font-size:19px;
  line-height:1.02;
  letter-spacing:.06em;
}
.experience-map-core span { color:rgba(223,243,249,.62); font-size:11px; }
.experience-map-step {
  position:absolute;
  z-index:3;
  width:170px;
  padding:14px 15px 13px;
  border:1px solid rgba(146,213,235,.28);
  background:rgba(8,39,76,.88);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.experience-map-step:hover {
  border-color:#5be0ea;
  background:rgba(12,61,101,.96);
  transform:translateY(-4px);
}
.experience-map-step b {
  display:block;
  margin-bottom:8px;
  color:#5be0ea;
  font-size:11px;
  letter-spacing:.14em;
}
.experience-map-step strong { display:block; color:#fff; font-size:16px; }
.experience-map-step small { display:block; margin-top:6px; color:rgba(202,230,240,.62); font-size:11px; }
.experience-map-step.step-one { left:30px; top:46px; }
.experience-map-step.step-two { right:30px; top:46px; }
.experience-map-step.step-three { left:30px; bottom:46px; }
.experience-map-step.step-four { right:30px; bottom:46px; }
.experience-map-caption {
  position:absolute;
  right:28px;
  bottom:18px;
  color:rgba(190,224,242,.42);
  font-size:10px;
  letter-spacing:.18em;
}
.experience-cases-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:22px;
  margin-top:62px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(157,210,232,.22);
}
.experience-cases-head span:first-child { color:#fff; font-size:18px; font-weight:600; }
.experience-cases-head span:last-child { color:rgba(190,224,242,.56); font-size:14px; }
.experience-cases {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:12px;
}
.experience-case {
  display:flex;
  min-height:74px;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  color:#fff;
  border:1px solid rgba(157,210,232,.18);
  background:rgba(255,255,255,.045);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.experience-case:hover {
  color:#fff;
  border-color:rgba(91,224,234,.7);
  background:rgba(91,224,234,.1);
  transform:translateY(-3px);
}
.experience-case-index { color:#5be0ea; font-size:11px; letter-spacing:.12em; }
.experience-case-copy { min-width:0; flex:1; }
.experience-case-copy strong {
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:15px;
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.experience-case-copy small { display:block; margin-top:5px; color:rgba(190,224,242,.58); font-size:12px; }
.experience-case i { color:#5be0ea; font-size:17px; font-style:normal; transition:transform .25s ease; }
.experience-case:hover i { transform:translate(3px,-3px); }
@keyframes experience-grid-drift { from { transform:translate3d(0,0,0); } to { transform:translate3d(44px,44px,0); } }
@keyframes experience-ring-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes experience-ring-breathe { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@keyframes experience-pulse { 0%,100% { transform:scale(.7); opacity:.6; } 50% { transform:scale(1.3); opacity:1; } }

@media (max-width: 960px) {
  .experience-layout { grid-template-columns:1fr; gap:42px; }
  .experience-story h2 { max-width:760px; }
  .experience-map { min-height:430px; }
}
@media (max-width: 620px) {
  .experience-topline { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:34px; }
  .experience-topline-note { font-size:9px; }
  .experience-layout { gap:34px; }
  .experience-story h2 { font-size:clamp(34px,10vw,44px); }
  .experience-story > p { font-size:16px; }
  .experience-proof { gap:10px; }
  .experience-proof strong { font-size:19px; }
  .experience-proof span { font-size:11px; }
  .experience-map { min-height:520px; }
  .experience-map-step { width:calc(50% - 28px); padding:11px 10px; }
  .experience-map-step.step-one { left:18px; top:30px; }
  .experience-map-step.step-two { right:18px; top:30px; }
  .experience-map-step.step-three { left:18px; bottom:30px; }
  .experience-map-step.step-four { right:18px; bottom:30px; }
  .experience-map-core { width:138px; height:138px; }
  .experience-map-core strong { font-size:17px; }
  .experience-map-ring { width:240px; height:240px; }
  .experience-map-ring.ring-two { width:330px; height:145px; }
  .experience-map-caption { right:18px; bottom:13px; font-size:8px; }
  .experience-cases-head { align-items:flex-start; flex-direction:column; gap:6px; margin-top:44px; }
  .experience-cases-head span:last-child { font-size:13px; }
  .experience-cases { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .experience-map-grid,
  .experience-map-ring,
  .experience-map-line::after { animation:none !important; }
  .experience-map-step,
  .experience-case { transition:none !important; }
}

@media (min-width: 961px) {
  .experience-layout { grid-template-columns:minmax(460px,.9fr) minmax(520px,1.1fr); gap:56px; }
  .experience-story h2 { font-size:clamp(38px,3.4vw,50px); }
}

/* Experience section transitions into the adjacent process and news surfaces */
.section-process + .section-experience {
  margin-top:-1px;
  border-top:0;
  background:
    radial-gradient(circle at 76% 22%,rgba(44,145,223,.18),transparent 25%),
    linear-gradient(180deg,#0b2b58 0%,#09264c 18%,#071b3b 66%,#0d2b4d 100%);
}
.section-process + .section-experience::before {
  opacity:.26;
  background-image:
    linear-gradient(115deg,transparent 0 48%,rgba(91,224,234,.13) 48.1% 48.25%,transparent 48.35%),
    linear-gradient(rgba(127,222,238,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,222,238,.1) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  mask-image:linear-gradient(180deg,black,transparent 84%);
}
.section-process + .section-experience::after {
  position:absolute;
  z-index:0;
  right:0;
  bottom:-1px;
  left:0;
  height:72px;
  content:"";
  pointer-events:none;
  background:linear-gradient(180deg,rgba(13,43,77,0),#eaf2f8 92%);
}
.section-experience + .section-news {
  margin-top:-1px;
  border-top:0;
  background:
    linear-gradient(180deg,#eaf2f8 0,#f5f8fc 72px,#fff 165px),
    #fff;
}
.section-experience + .section-news::before {
  top:0;
  opacity:.22;
}

/* Clear visual separation: process = dark workflow, experience = light project atlas */
.section-process + .section-experience {
  color:#10284a;
  background:
    linear-gradient(180deg,#0b2b58 0,#eaf2f8 82px,#eef5fa 82px,#eef5fa 100%);
  border-top:0;
  border-bottom:1px solid #d6e3ed;
}
.section-process + .section-experience::before {
  opacity:.72;
  background:
    linear-gradient(135deg,transparent 0 46%,rgba(22,93,255,.045) 46.1% 46.25%,transparent 46.35%),
    linear-gradient(rgba(22,93,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,93,255,.07) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  mask-image:linear-gradient(180deg,transparent 0 6%,black 20%,black 78%,transparent 100%);
}
.section-process + .section-experience::after {
  height:56px;
  background:linear-gradient(180deg,rgba(238,245,250,0),#fff 96%);
}
.experience-topline .eyebrow { color:#165dff; }
.experience-topline .eyebrow-line { background:#165dff; }
.experience-topline-note { color:#7890a8; }
.experience-story h2 { color:#0b2347; }
.experience-story h2 em { color:#165dff; }
.experience-story > p { color:#58708a; }
.experience-story .text-link { color:#165dff; border-color:#9ab3ca; }
.experience-story .text-link::after { background:#165dff; }
.experience-proof {
  border-color:#c8d8e6;
}
.experience-proof strong { color:#0b2347; }
.experience-proof span { color:#7890a8; }
.experience-map {
  border-color:#bfd4e4;
  background:
    radial-gradient(circle at 50% 50%,rgba(91,224,234,.12),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f7fbfe 58%,#edf6fb 100%);
  box-shadow:0 20px 45px rgba(19,65,102,.11),inset 0 0 0 1px rgba(255,255,255,.8);
}
.experience-map-grid {
  opacity:.58;
  background-image:
    linear-gradient(rgba(22,93,255,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,93,255,.1) 1px,transparent 1px);
}
.experience-map::after { border-color:rgba(22,93,255,.12); }
.experience-map-ring { border-color:rgba(22,93,255,.32); }
.experience-map-ring::before,
.experience-map-ring::after { border-color:rgba(20,184,212,.22); }
.experience-map-ring.ring-two { border-color:rgba(22,93,255,.18); }
.experience-map-line {
  background:linear-gradient(90deg,transparent,#165dff 20%,rgba(22,93,255,.16) 80%,transparent);
}
.experience-map-line::after {
  background:#165dff;
  box-shadow:0 0 0 5px rgba(22,93,255,.12),0 0 18px rgba(22,93,255,.35);
}
.experience-map-core {
  border-color:#165dff;
  background:radial-gradient(circle at 40% 24%,#2475ff,#0b2347 74%);
  box-shadow:0 0 0 9px rgba(22,93,255,.08),0 0 34px rgba(22,93,255,.22);
}
.experience-map-step {
  border-color:#c4d8e7;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 22px rgba(19,65,102,.1);
}
.experience-map-step:hover {
  border-color:#165dff;
  background:#fff;
}
.experience-map-step b { color:#165dff; }
.experience-map-step strong { color:#0b2347; }
.experience-map-step small { color:#7890a8; }
.experience-map-caption { color:#7890a8; }
.experience-cases-head { border-color:#c8d8e6; }
.experience-cases-head span:first-child { color:#0b2347; }
.experience-cases-head span:last-child { color:#7890a8; }
.experience-case {
  color:#0b2347;
  border-color:#c8d8e6;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 18px rgba(19,65,102,.04);
}
.experience-case:hover {
  color:#0b2347;
  border-color:#165dff;
  background:#fff;
  box-shadow:0 12px 24px rgba(19,65,102,.1);
}
.experience-case-index { color:#165dff; }
.experience-case-copy strong { color:#0b2347; }
.experience-case-copy small { color:#7890a8; }
.experience-case i { color:#165dff; }
.experience-case:hover i { color:#165dff; }
.section-experience + .section-news {
  background:linear-gradient(180deg,#fff 0,#fff 165px),#fff;
}
@media (prefers-reduced-motion: reduce) {
  .experience-map-grid { animation:none !important; }
}
