@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #102a56;
  --ink-2: #173b72;
  --surface: #f4f8ff;
  --paper: #ffffff;
  --silver: #e7edf7;
  --silver-2: #8ea3c1;
  --muted: #66758f;
  --line: rgba(70, 112, 170, .18);
  --blue: #2878f0;
  --blue-dark: #1760d4;
  --cyan: #67b7ff;
  --violet: #7c8fff;
  --radius: 18px;
  --shadow: 0 20px 60px rgba(49, 91, 145, .12);
  --max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--surface); color: var(--ink); font-family: 'Inter', 'Noto Sans SC', sans-serif; line-height: 1.6; }
body.dialog-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid rgba(41, 98, 255, .48); outline-offset: 3px; }
img { max-width: 100%; }

.site-shell { overflow: clip; }
.container { width: min(calc(100% - 48px), var(--max)); 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; }
.eyebrow, .section-kicker { margin: 0 0 14px; color: var(--blue); font: 500 .75rem/1.2 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.section-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 36px; }
.section-heading h2 { max-width: 720px; margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.16; letter-spacing: -.045em; }
.section-heading p { max-width: 380px; margin: 0; color: var(--muted); }

.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(17,24,39,.84); backdrop-filter: blur(18px); }
.header-inner { min-height: 72px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; font-weight: 700; letter-spacing: -.03em; }
.brand-mark { display: grid; grid-template-columns: repeat(5, 4px); align-items: center; gap: 2px; width: 28px; height: 22px; }
.brand-mark i { display: block; height: 12px; background: var(--blue); transform: skewX(-24deg); }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(4) { height: 18px; background: #79a0ff; }
.brand-mark i:nth-child(3) { height: 22px; background: var(--cyan); }
.main-nav { display: flex; gap: 6px; align-items: center; }
.main-nav a, .search-trigger { color: #cad4e7; padding: 8px 11px; border-radius: 8px; font-size: .88rem; background: transparent; border: 0; }
.main-nav a:hover, .main-nav a[aria-current='page'], .search-trigger:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-cta { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid rgba(105,154,255,.6); background: rgba(41,98,255,.18); color: #fff; border-radius: 8px; font-size: .84rem; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: transparent; color: #fff; }

.hero { position: relative; background: var(--ink); color: #fff; min-height: 610px; display: flex; align-items: center; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 74% 40%, rgba(41,98,255,.34), transparent 31%), radial-gradient(circle at 88% 92%, rgba(53,211,255,.11), transparent 26%), linear-gradient(115deg, rgba(17,24,39,.4), rgba(17,24,39,.93)); }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(201,218,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(201,218,255,.06) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg, transparent 8%, #000 45%, #000); }
.hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 50px; align-items: center; padding: 92px 0 76px; }
.hero h1 { max-width: 720px; margin: 0; font-size: clamp(3.1rem, 6vw, 5.8rem); line-height: 1.03; letter-spacing: -.07em; }
.hero h1 em { color: #8cabff; font-style: normal; }
.hero-lead { max-width: 580px; margin: 25px 0 32px; color: #cbd5e7; font-size: 1.12rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.primary-button, .secondary-button, .download-button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 47px; padding: 0 18px; border-radius: 9px; font-weight: 700; font-size: .9rem; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.primary-button { border: 1px solid var(--blue); background: var(--blue); color: #fff; box-shadow: 0 8px 22px rgba(41,98,255,.27); }
.primary-button:hover { background: #4074ff; transform: translateY(-2px); }
.secondary-button { border: 1px solid rgba(227,235,249,.32); background: rgba(255,255,255,.03); color: #fff; }
.secondary-button:hover { border-color: rgba(227,235,249,.7); background: rgba(255,255,255,.1); }
.hero-footnote { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 46px; color: #93a2bc; font: .72rem 'IBM Plex Mono', monospace; }
.hero-footnote strong { color: #d7e2f9; font-weight: 500; }
.signal-frame { position: relative; min-height: 386px; border: 1px solid rgba(181,202,255,.2); border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, rgba(41,98,255,.2), rgba(15,22,38,.35)); box-shadow: inset 0 0 60px rgba(0,0,0,.12); }
.signal-frame::before { content: ''; position: absolute; inset: 20px; border: 1px solid rgba(179,206,255,.15); border-radius: 12px; }
.signal-label { position: absolute; top: 27px; left: 30px; color: #9baac4; font: .68rem 'IBM Plex Mono', monospace; letter-spacing: .1em; }
.signal-status { position: absolute; right: 30px; top: 27px; display: inline-flex; gap: 7px; align-items: center; color: #bdeaff; font: .68rem 'IBM Plex Mono', monospace; }
.signal-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.signal-core { position: absolute; top: 50%; left: 50%; width: 146px; aspect-ratio: 1; transform: translate(-50%, -50%); border: 1px solid rgba(118,164,255,.7); border-radius: 50%; background: radial-gradient(circle, rgba(41,98,255,.68), rgba(41,98,255,.08) 50%, transparent 70%); box-shadow: 0 0 60px rgba(41,98,255,.45); }
.signal-core::before, .signal-core::after { content: ''; position: absolute; inset: 25%; border: 1px solid #79a0ff; transform: rotate(45deg); }
.signal-core::after { inset: 38%; background: var(--cyan); border: 0; box-shadow: 0 0 24px var(--cyan); }
.signal-line { position: absolute; height: 1px; transform-origin: 0 0; background: linear-gradient(90deg, transparent, rgba(104,158,255,.9), transparent); }
.line-1 { width: 300px; top: 47%; left: 8%; transform: rotate(-19deg); } .line-2 { width: 250px; top: 57%; left: 48%; transform: rotate(25deg); } .line-3 { width: 180px; top: 27%; left: 50%; transform: rotate(65deg); }
.signal-node { position: absolute; width: 10px; aspect-ratio: 1; border-radius: 50%; background: #e5efff; box-shadow: 0 0 18px #86abff; }
.node-1 { top: 35%; left: 15%; } .node-2 { top: 68%; right: 13%; } .node-3 { top: 13%; right: 30%; }
.signal-card { position: absolute; right: 24px; bottom: 22px; width: min(228px, 62%); padding: 14px; border: 1px solid rgba(195,215,255,.25); border-radius: 10px; background: rgba(12,20,38,.7); backdrop-filter: blur(12px); }
.signal-card span { display: block; color: #9eabc1; font: .62rem 'IBM Plex Mono', monospace; } .signal-card strong { display: block; margin: 4px 0 6px; font-size: .89rem; } .signal-card p { margin: 0; color: #b9c6d9; font-size: .72rem; line-height: 1.5; }

.trust-strip { background: #e9eef7; border-bottom: 1px solid #d5deec; }
.trust-inner { min-height: 94px; display: flex; align-items: center; gap: 34px; color: #5f6d83; }
.trust-title { color: var(--ink); font: 500 .74rem 'IBM Plex Mono', monospace; letter-spacing: .08em; white-space: nowrap; }
.trust-points { display: flex; flex: 1; justify-content: space-between; gap: 18px; } .trust-points span { font-size: .84rem; } .trust-points b { color: var(--ink); }

.section { padding: 105px 0; } .section-dark { background: var(--ink); color: #fff; } .section-muted { background: #eef3fa; } .section-tight { padding: 70px 0; }
.flow-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; border-top: 1px solid var(--line); padding-top: 30px; }
.flow-intro h2 { margin: 0; font-size: clamp(2.1rem, 4vw, 3.6rem); line-height: 1.15; letter-spacing: -.05em; }
.flow-intro p { max-width: 590px; color: var(--muted); font-size: 1.08rem; }
.flow-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 56px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.flow-step { padding: 23px 19px 24px; border-right: 1px solid var(--line); } .flow-step:last-child { border-right: 0; }
.flow-step small { color: var(--blue); font: .68rem 'IBM Plex Mono', monospace; } .flow-step h3 { margin: 28px 0 10px; font-size: 1rem; } .flow-step p { margin: 0; color: var(--muted); font-size: .84rem; }

.product-rail { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.product-card { min-height: 310px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); transition: background .22s ease, transform .22s ease; }
.product-card:hover { background: #f1f5ff; transform: translateY(-4px); } .product-card small { color: var(--blue); font: .68rem 'IBM Plex Mono', monospace; } .product-card h3 { margin: 50px 0 12px; font-size: 1.25rem; letter-spacing: -.035em; } .product-card p { color: var(--muted); font-size: .86rem; } .product-card a { display: inline-flex; gap: 7px; margin-top: 20px; color: var(--blue-dark); font-weight: 700; font-size: .83rem; }

.case-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 44px; align-items: stretch; }
.case-stage { position: relative; min-height: 392px; padding: 28px; border: 1px solid rgba(203,218,247,.18); border-radius: var(--radius); overflow: hidden; background: linear-gradient(135deg, #17284d, #101827); }
.case-index { display: flex; justify-content: space-between; position: relative; z-index: 2; color: #91a5c8; font: .68rem 'IBM Plex Mono', monospace; letter-spacing: .08em; }.case-copy { position: relative; z-index: 2; max-width: 62%; margin-top: 46px; }.case-client { margin: 0 0 10px; color: #88a9ff; font-size: .78rem; }.case-copy h3 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.15; letter-spacing: -.05em; }.case-copy > p:not(.case-client) { color: #b7c3d7; }.metric-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }.metric-row span, .modal-tags span { padding: 5px 9px; border: 1px solid rgba(155,185,255,.3); border-radius: 999px; color: #c3d5ff; font: .66rem 'IBM Plex Mono', monospace; }.text-button { padding: 0; border: 0; background: transparent; color: var(--blue); font-weight: 700; font-size: .86rem; }.section-dark .text-button { color: #b6cbff; }.text-button i { margin-left: 4px; font-style: normal; transition: transform .2s ease; }.text-button:hover i { display: inline-block; transform: translate(2px, -2px); }
.case-visual { position: absolute; inset: 0 0 0 46%; background: radial-gradient(circle at 65% 52%, rgba(41,98,255,.45), transparent 30%); }.case-visual.tone-cyan { background: radial-gradient(circle at 65% 52%, rgba(53,211,255,.28), transparent 30%); }.case-visual.tone-silver { background: radial-gradient(circle at 65% 52%, rgba(184,197,225,.28), transparent 30%); }.case-orbit { position: absolute; width: 260px; aspect-ratio: 1; border: 1px solid rgba(164,197,255,.25); border-radius: 50%; }.orbit-a { top: 52px; right: -30px; }.orbit-b { top: 115px; right: 50px; width: 160px; border-color: rgba(164,197,255,.16); }.case-node { position: absolute; width: 12px; aspect-ratio: 1; border-radius: 50%; background: #d8e5ff; box-shadow: 0 0 18px #78a5ff; }.node-a { right: 112px; top: 93px; }.node-b { right: 35px; top: 216px; }.node-c { right: 197px; top: 265px; background: var(--cyan); }.visual-label { position: absolute; right: 28px; bottom: 28px; color: #aebed8; font: .64rem 'IBM Plex Mono', monospace; text-align: right; }
.case-side { display: flex; flex-direction: column; justify-content: space-between; }.case-side p { margin-top: 0; color: #aab8cf; }.case-controls { display: flex; align-items: center; gap: 10px; }.case-control { width: 44px; height: 44px; border: 1px solid rgba(211,224,248,.28); border-radius: 50%; background: transparent; color: #fff; font-size: 1.2rem; }.case-control:hover { border-color: #fff; }.case-rail { display: flex; gap: 8px; margin: 24px 0; }.case-dot { width: 28px; height: 3px; padding: 0; border: 0; background: #42506a; }.case-dot.is-active { background: var(--blue); }.case-stat { padding-top: 24px; border-top: 1px solid rgba(211,224,248,.18); }.case-stat strong { display: block; color: #fff; font-size: 2.7rem; letter-spacing: -.06em; }.case-stat span { color: #9baac1; font-size: .8rem; }

.insight-preview { display: grid; grid-template-columns: 1.25fr .75fr; gap: 0; border: 1px solid var(--line); }.featured-insight { padding: 40px; background: var(--paper); }.featured-insight h3 { max-width: 680px; margin: 52px 0 18px; font-size: clamp(1.75rem, 3vw, 2.7rem); line-height: 1.18; letter-spacing: -.05em; }.featured-insight p { max-width: 580px; color: var(--muted); }.insight-preview-list { background: #edf2fa; }.mini-insight { display: block; padding: 28px; border-bottom: 1px solid var(--line); transition: background .2s ease; }.mini-insight:hover { background: #e5edfb; }.mini-insight small { color: var(--blue); font: .67rem 'IBM Plex Mono', monospace; }.mini-insight h4 { margin: 15px 0 0; font-size: 1.03rem; line-height: 1.4; }

.credibility-band { position: relative; overflow: hidden; background: var(--blue); color: #fff; }.credibility-band::after { content: '10'; position: absolute; right: -20px; bottom: -155px; color: rgba(255,255,255,.08); font: 800 500px/1 'Inter', sans-serif; letter-spacing: -.15em; }.credibility-inner { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: end; }.credibility-inner h2 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: 1.05; letter-spacing: -.065em; }.credibility-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.credibility-points div { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.38); }.credibility-points strong { display: block; font-size: 1rem; }.credibility-points span { font-size: .78rem; color: #d7e2ff; }

.page-hero { position: relative; overflow: hidden; padding: 92px 0 72px; background: var(--ink); color: #fff; }.page-hero::after { content: ''; position: absolute; width: 460px; aspect-ratio: 1; top: -220px; right: 5%; border: 1px solid rgba(132,167,255,.16); border-radius: 50%; box-shadow: 0 0 0 52px rgba(132,167,255,.05), 0 0 0 104px rgba(132,167,255,.03); }.page-hero .container { position: relative; z-index: 1; }.page-hero h1 { max-width: 820px; margin: 0; font-size: clamp(3rem, 6vw, 5.4rem); line-height: 1.05; letter-spacing: -.07em; }.page-hero p:not(.eyebrow) { max-width: 650px; margin: 22px 0 0; color: #b8c5db; font-size: 1.1rem; }.breadcrumb { display: flex; gap: 9px; margin-bottom: 35px; color: #99a9c3; font: .7rem 'IBM Plex Mono', monospace; }.breadcrumb a:hover { color: #fff; }

.capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.capability { min-height: 250px; padding: 26px; background: var(--paper); }.capability span { display: inline-flex; min-width: 34px; height: 28px; align-items: center; justify-content: center; border-radius: 6px; color: var(--blue); background: #e8efff; font: .73rem 'IBM Plex Mono', monospace; }.capability h3 { margin: 45px 0 10px; font-size: 1.35rem; letter-spacing: -.04em; }.capability p { max-width: 440px; margin: 0; color: var(--muted); font-size: .88rem; }
.product-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }.product-detail { padding: 23px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }.product-detail .table-tag { display: inline-flex; margin-bottom: 40px; }.product-detail h3 { margin: 0 0 10px; font-size: 1.25rem; }.product-detail p { min-height: 96px; margin: 0; color: var(--muted); font-size: .84rem; }.product-detail ul { min-height: 105px; padding: 0; margin: 20px 0; list-style: none; border-top: 1px solid var(--line); }.product-detail li { padding: 9px 0; border-bottom: 1px solid var(--line); color: #4b5a72; font-size: .78rem; }
.compare-shell { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }.comparison-picker { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }.compare-option { display: flex; gap: 10px; align-items: center; min-height: 70px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fbfcff; text-align: left; }.compare-option.is-selected { border-color: rgba(41,98,255,.55); background: #eff4ff; }.option-marker { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: var(--blue); background: #e1eaff; font-size: .8rem; }.compare-option.is-selected .option-marker { color: #fff; background: var(--blue); }.compare-option small, .compare-option strong { display: block; }.compare-option small { color: var(--muted); font-size: .64rem; }.compare-option strong { font-size: .78rem; line-height: 1.2; }.comparison-table-wrap { overflow-x: auto; margin-top: 18px; }.comparison-table { width: 100%; min-width: 680px; border-collapse: collapse; text-align: left; }.comparison-table th, .comparison-table td { padding: 17px; border-bottom: 1px solid var(--line); vertical-align: top; }.comparison-table thead th { color: var(--ink); font-size: 1rem; }.comparison-table tbody th { width: 145px; color: var(--muted); font-size: .78rem; font-weight: 500; }.comparison-table td { color: #46556d; font-size: .84rem; }.table-tag { display: inline-block; color: var(--blue); font: .63rem 'IBM Plex Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }

.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }.filter-chip { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #52617a; background: transparent; font-size: .78rem; }.filter-chip:hover, .filter-chip.is-active { border-color: var(--blue); background: #eaf0ff; color: var(--blue-dark); }.insight-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.insight-card { display: flex; min-height: 370px; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }.insight-meta { display: flex; justify-content: space-between; color: var(--blue); font: .65rem 'IBM Plex Mono', monospace; }.insight-card h2 { margin: 43px 0 14px; font-size: 1.35rem; line-height: 1.3; letter-spacing: -.04em; }.insight-card > p { margin: 0; color: var(--muted); font-size: .85rem; }.author-line { display: flex; gap: 9px; align-items: center; margin-top: auto; padding-top: 24px; }.author-avatar { display: grid; flex: 0 0 auto; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--blue), var(--violet)); font-size: .76rem; }.author-line strong, .author-line small { display: block; }.author-line strong { font-size: .76rem; }.author-line small { color: var(--muted); font-size: .65rem; }.insight-card .text-button { margin-top: 20px; }

.investor-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px; }.investor-card { padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }.investor-card h2 { margin: 0 0 12px; font-size: 1.4rem; }.investor-card p { margin: 0; color: var(--muted); font-size: .9rem; }.investor-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }.investor-facts div { padding: 25px; background: #172235; color: #fff; }.investor-facts strong { display: block; margin-bottom: 7px; font-size: 1.1rem; }.investor-facts span { color: #9eb0ce; font-size: .75rem; }.report-list { border-top: 1px solid var(--line); }.report-row { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); }.report-row h3 { margin: 8px 0; font-size: 1.12rem; }.report-row p { margin: 0; color: var(--muted); font-size: .84rem; }.report-actions { display: flex; align-items: center; gap: 18px; color: var(--muted); text-align: right; font: .66rem 'IBM Plex Mono', monospace; }.download-button { min-height: 38px; padding: 0 13px; border: 1px solid var(--line); background: var(--paper); color: var(--blue-dark); }.download-button:hover { border-color: var(--blue); background: #edf3ff; }.news-list { border-top: 1px solid var(--line); }.news-row { display: grid; grid-template-columns: 110px 1fr; gap: 30px; padding: 28px 0; border-bottom: 1px solid var(--line); }.news-row time { color: var(--blue); font: .72rem 'IBM Plex Mono', monospace; }.news-row h3 { margin: 10px 0 8px; font-size: 1.3rem; }.news-row p { max-width: 650px; margin: 0 0 14px; color: var(--muted); font-size: .87rem; }

.company-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }.company-intro h2 { margin: 0; font-size: clamp(2.1rem, 4vw, 3.6rem); line-height: 1.17; letter-spacing: -.06em; }.company-intro p { color: var(--muted); font-size: 1rem; }.company-intro strong { color: var(--ink); }.company-timeline { border-top: 1px solid var(--line); }.timeline-row { display: grid; grid-template-columns: 120px 1fr; gap: 32px; padding: 26px 0; border-bottom: 1px solid var(--line); }.timeline-row time { color: var(--blue); font: .75rem 'IBM Plex Mono', monospace; }.timeline-row h3 { margin: 0 0 7px; font-size: 1.1rem; }.timeline-row p { margin: 0; color: var(--muted); font-size: .87rem; }.credential-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.credential { min-height: 210px; padding: 24px; border-radius: 12px; background: #172235; color: #fff; }.credential-num { color: #7ba3ff; font: .75rem 'IBM Plex Mono', monospace; }.credential h3 { margin: 52px 0 9px; font-size: 1.16rem; }.credential p { margin: 0; color: #aab8cd; font-size: .82rem; }.contact-panel { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; padding: 34px; border-radius: 16px; background: var(--blue); color: #fff; }.contact-panel h2 { margin: 0 0 12px; font-size: clamp(1.9rem, 3vw, 2.9rem); line-height: 1.2; letter-spacing: -.05em; }.contact-panel p { margin: 0; color: #d9e3ff; }.contact-items { display: grid; gap: 10px; align-content: center; }.contact-item { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.28); }.contact-item small, .contact-item strong { display: block; }.contact-item small { color: #c9d8ff; font: .66rem 'IBM Plex Mono', monospace; }.contact-item strong { font-size: .9rem; }

.site-footer { padding: 44px 0 26px; background: #0c1220; color: #fff; }.footer-top { display: grid; grid-template-columns: 1fr auto; gap: 40px; padding-bottom: 36px; border-bottom: 1px solid rgba(215,228,255,.13); }.footer-copy { max-width: 530px; margin: 16px 0 0; color: #98a8c0; font-size: .83rem; }.footer-nav { display: grid; grid-template-columns: repeat(2, 120px); gap: 14px; }.footer-nav a { color: #c3cee0; font-size: .82rem; }.footer-nav a:hover { color: #fff; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 21px; color: #7687a2; font: .65rem 'IBM Plex Mono', monospace; }

.dialog-layer { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(9,14,26,.75); backdrop-filter: blur(7px); }.dialog-layer[hidden] { display: none; }.dialog-panel { position: relative; width: min(100%, 690px); max-height: min(780px, calc(100vh - 36px)); overflow: auto; border: 1px solid rgba(176,199,239,.3); border-radius: 16px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.34); }.search-panel { width: min(100%, 760px); background: #111827; color: #fff; }.dialog-close { position: absolute; top: 13px; right: 13px; z-index: 1; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 1.1rem; }.search-panel .dialog-close { border-color: rgba(220,231,249,.2); background: rgba(255,255,255,.08); color: #fff; }.dialog-content { padding: 42px; }.dialog-content h2 { max-width: 550px; margin: 0 0 10px; font-size: clamp(1.7rem, 4vw, 2.65rem); line-height: 1.18; letter-spacing: -.05em; }.dialog-meta { margin: 0 0 26px; color: var(--muted); font: .68rem 'IBM Plex Mono', monospace; }.dialog-copy { color: #45536b; }.dialog-copy p { font-size: 1rem; }.modal-section { padding: 17px 0; border-top: 1px solid var(--line); }.modal-section h3 { margin: 0 0 7px; color: var(--ink); font-size: .92rem; }.modal-section p { margin: 0; font-size: .9rem; }.modal-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }.modal-tags span { color: var(--blue-dark); border-color: #bdcdf4; }.author-detail { display: flex; gap: 10px; align-items: center; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }.author-detail p { margin: 0; font-size: .8rem; }.search-body { padding: 48px 24px 24px; }.search-label { display: block; margin-bottom: 9px; color: #aebbd1; font: .67rem 'IBM Plex Mono', monospace; }.search-input { width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(219,230,250,.24); outline: 0; background: transparent; color: #fff; font-size: 1.35rem; }.search-input::placeholder { color: #63718a; }.search-count { margin: 18px 0 10px; color: #9baac0; font-size: .77rem; }.search-results { display: grid; gap: 6px; }.search-result { display: grid; grid-template-columns: 105px 1fr; column-gap: 12px; padding: 11px; border-radius: 8px; }.search-result:hover { background: rgba(255,255,255,.08); }.search-result span { grid-row: span 2; color: #80a7ff; font: .63rem 'IBM Plex Mono', monospace; }.search-result strong { color: #fff; font-size: .92rem; }.search-result small { color: #a9b6c9; font-size: .72rem; }.search-empty { padding: 18px 10px; color: #a9b6c9; font-size: .84rem; }

@media (max-width: 960px) { .hero-inner, .case-layout, .company-intro, .credibility-inner, .investor-hero-grid { grid-template-columns: 1fr; }.hero { min-height: auto; }.hero-inner { padding-top: 72px; }.signal-frame { min-height: 320px; }.product-rail, .product-detail-grid { grid-template-columns: repeat(2, 1fr); }.flow-steps { grid-template-columns: repeat(2, 1fr); }.flow-step:nth-child(2) { border-right: 0; }.flow-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.case-copy { max-width: 58%; }.insight-list { grid-template-columns: repeat(2, 1fr); }.comparison-picker { grid-template-columns: repeat(2, 1fr); }.credibility-points { grid-template-columns: repeat(3, 1fr); }.section-heading { display: block; }.section-heading p { margin-top: 16px; }.footer-top { grid-template-columns: 1fr; }.contact-panel { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .container { width: min(calc(100% - 32px), var(--max)); }.header-inner { min-height: 64px; }.menu-toggle { display: grid; place-items: center; }.main-nav { position: absolute; top: 64px; left: 0; right: 0; display: none; padding: 14px 16px 18px; border-bottom: 1px solid rgba(255,255,255,.12); background: #111827; flex-direction: column; align-items: stretch; }.main-nav.is-open { display: flex; }.main-nav a, .search-trigger, .nav-cta { width: 100%; text-align: left; }.hero h1, .page-hero h1 { font-size: clamp(2.65rem, 14vw, 4.2rem); }.hero-inner { padding: 56px 0 46px; gap: 36px; }.hero-lead { font-size: 1rem; }.signal-frame { min-height: 270px; }.signal-card { right: 15px; bottom: 15px; }.trust-inner { display: block; padding: 20px 0; }.trust-points { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 11px; }.section { padding: 72px 0; }.flow-intro { grid-template-columns: 1fr; gap: 20px; }.flow-steps, .product-rail, .product-detail-grid, .insight-list, .credential-grid { grid-template-columns: 1fr; }.flow-step, .flow-step:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }.flow-step:last-child { border-bottom: 0; }.product-card { min-height: 230px; }.product-card h3 { margin-top: 26px; }.case-stage { min-height: 425px; }.case-copy { max-width: 100%; margin-top: 34px; }.case-visual { opacity: .55; left: 25%; }.case-side { margin-top: 28px; }.insight-preview { grid-template-columns: 1fr; }.featured-insight { padding: 26px; }.featured-insight h3 { margin-top: 34px; }.credibility-points { grid-template-columns: 1fr; }.capability-grid { grid-template-columns: 1fr; }.comparison-picker { grid-template-columns: 1fr; }.compare-option { min-height: 58px; }.report-row, .news-row { grid-template-columns: 1fr; gap: 12px; }.report-actions { justify-content: space-between; text-align: left; }.news-row { padding: 22px 0; }.timeline-row { grid-template-columns: 1fr; gap: 8px; }.footer-nav { grid-template-columns: 1fr 1fr; }.footer-bottom { display: block; }.footer-bottom span + span { display: block; margin-top: 6px; }.dialog-content { padding: 32px 24px; }.search-result { grid-template-columns: 1fr; }.search-result span { grid-row: auto; }.page-hero { padding: 66px 0 56px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* 阅读密度修正：保留科技感，但让页面信息更克制、易读。 */
body { font-size: 15px; }
.hero h1 { max-width: 650px; font-size: clamp(2.75rem, 5vw, 4.65rem); }
.hero-lead { max-width: 540px; font-size: 1rem; }
.page-hero h1 { font-size: clamp(2.7rem, 5vw, 4.45rem); }
.page-hero p:not(.eyebrow) { max-width: 600px; font-size: 1rem; }
.section-heading h2, .flow-intro h2 { font-size: clamp(1.85rem, 3.2vw, 2.8rem); }
.section { padding: 84px 0; }
.product-card h3, .capability h3, .product-detail h3 { font-size: 1.1rem; }
.product-card p, .capability p, .product-detail p, .product-detail li, .insight-card > p, .news-row p { font-size: .82rem; }
.insight-card h2 { font-size: 1.15rem; }
.news-row h3 { font-size: 1.12rem; }
.footer-copy { font-size: .78rem; }
@media (max-width: 720px) {
  .hero h1, .page-hero h1 { font-size: clamp(2.45rem, 12vw, 3.5rem); }
  .section { padding: 64px 0; }
  .hero-lead, .page-hero p:not(.eyebrow) { font-size: .94rem; }
}

/* 参考 shili-tech.app.workbuddy.host：浅蓝背景、深海军蓝文字、明亮蓝色强调。 */
.site-header { border-bottom-color: rgba(16,42,86,.08); background: rgba(255,255,255,.92); }
.brand { color: var(--ink); }
.brand-mark i { background: var(--blue); }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(4) { background: #6aa9ff; }
.brand-mark i:nth-child(3) { background: var(--cyan); }
.main-nav a, .search-trigger { color: #526989; }
.main-nav a:hover, .main-nav a[aria-current='page'], .search-trigger:hover { color: var(--ink); background: #edf4ff; }
.nav-cta { border-color: rgba(40,120,240,.3); background: linear-gradient(135deg, var(--blue), #4c9cff); color: #fff; box-shadow: 0 7px 18px rgba(40,120,240,.2); }
.menu-toggle { border-color: rgba(16,42,86,.16); color: var(--ink); }
.hero { background: #edf5ff; color: var(--ink); }
.hero::before { background: radial-gradient(circle at 74% 36%, rgba(104,174,255,.3), transparent 34%), radial-gradient(circle at 15% 88%, rgba(177,215,255,.38), transparent 34%), linear-gradient(115deg, rgba(244,249,255,.9), rgba(224,238,255,.78)); }
.hero-grid { background-image: linear-gradient(rgba(40,120,240,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(40,120,240,.055) 1px, transparent 1px); mask-image: linear-gradient(90deg, transparent 8%, #000 45%, #000); }
.hero h1 { color: var(--ink); }
.hero h1 em { color: var(--blue); }
.hero-lead { color: #536985; }
.hero-footnote { color: #6d83a0; }
.hero-footnote strong { color: var(--ink); }
.signal-frame { border-color: rgba(64,132,220,.2); background: linear-gradient(135deg, rgba(102,177,255,.2), rgba(255,255,255,.48)); box-shadow: inset 0 0 60px rgba(40,120,240,.08); }
.signal-frame::before { border-color: rgba(64,132,220,.18); }
.signal-label { color: #6784a9; }
.signal-status { color: #2878f0; }
.signal-status::before { background: var(--blue); box-shadow: 0 0 14px rgba(40,120,240,.5); }
.signal-core { border-color: rgba(40,120,240,.55); background: radial-gradient(circle, rgba(76,156,255,.56), rgba(76,156,255,.1) 50%, transparent 70%); box-shadow: 0 0 60px rgba(40,120,240,.22); }
.signal-core::before { border-color: #6aa9ff; }
.signal-core::after { background: var(--blue); box-shadow: 0 0 24px rgba(40,120,240,.55); }
.signal-line { background: linear-gradient(90deg, transparent, rgba(40,120,240,.68), transparent); }
.signal-node { background: #fff; box-shadow: 0 0 18px #6aa9ff; }
.signal-card { border-color: rgba(64,132,220,.2); background: rgba(255,255,255,.78); box-shadow: 0 14px 32px rgba(49,91,145,.12); }
.signal-card span { color: #7188a5; }
.signal-card strong { color: var(--ink); }
.signal-card p { color: #5d7190; }
.page-hero { background: linear-gradient(135deg, #eaf3ff, #dcecff); color: var(--ink); }
.page-hero p:not(.eyebrow) { color: #5d7190; }
.breadcrumb { color: #7590b1; }
.breadcrumb a:hover { color: var(--blue); }
.case-stage { border-color: rgba(64,132,220,.2); background: linear-gradient(135deg, #e8f2ff, #f7fbff); color: var(--ink); }
.case-index { color: #6f88a8; }
.case-client { color: var(--blue-dark); }
.case-copy > p:not(.case-client) { color: #5e7391; }
.metric-row span, .modal-tags span { border-color: rgba(40,120,240,.22); color: var(--blue-dark); }
.section-muted { background: #edf4ff; }
.site-footer { background: #102a56; }
.dialog-layer { background: rgba(16,42,86,.42); }
.search-panel { background: var(--ink); }
@media (max-width: 720px) {
  .main-nav { border-bottom-color: rgba(16,42,86,.1); background: #fff; }
  .main-nav a, .search-trigger, .nav-cta { color: #526989; }
  .menu-toggle { background: #fff; }
}
