:root { --ink:#132330; --muted:#5c6d7a; --line:#dce5eb; --blue:#2563d6; --teal:#007c83; --coral:#bd4d4d; --wash:#f4f7f9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; line-height:1.8; letter-spacing:0; }
a { color:inherit; text-underline-offset:4px; }
img { max-width:100%; height:auto; }
.wrap { width:calc(100% - 48px); max-width:1120px; margin:auto; min-width:0; }
.mast { border-bottom:1px solid var(--line); }
.nav { min-height:72px; display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; min-height:44px; }
.brand img { width:144px; display:block; }
.nav-note { color:var(--muted); font-size:12px; }
.nav-actions { margin-left:auto; display:flex; gap:20px; align-items:center; }
.nav-actions a { text-decoration:none; font-size:14px; font-weight:600; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:9px 18px; border-radius:4px; background:var(--blue); color:#fff; font-weight:600; text-decoration:none; font-size:14px; white-space:nowrap; }
a:focus-visible,.table-scroll:focus-visible { outline:3px solid #e5a74c; outline-offset:4px; }
.hero { background:#f7f9fb url('/assets/insights/ai-digital-services-market-observation-2026-09-art.jpg') right center / auto 100% no-repeat; border-bottom:1px solid var(--line); padding:58px 0 52px; }
.eyebrow { color:var(--teal); font-size:13px; font-weight:700; margin:0 0 18px; }
h1 { font-size:46px; line-height:1.4; font-weight:650; margin:0 0 24px; max-width:610px; overflow-wrap:anywhere; text-wrap:balance; }
h1 span { display:block; }
.dek { max-width:580px; margin:0; font-size:18px; color:#354a59; line-height:1.9; }
.meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:26px; font-size:12px; color:var(--muted); }
.scope { margin:28px 0; padding:12px 0 12px 18px; border-left:3px solid var(--teal); color:var(--muted); font-size:14px; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:30px 0; border-block:1px solid var(--line); }
.stats div { padding:22px 24px; border-right:1px solid var(--line); min-width:0; }
.stats div:first-child { padding-left:0; }
.stats div:last-child { border-right:0; }
.stats dt { font-size:30px; font-weight:600; line-height:1.4; font-variant-numeric:tabular-nums; }
.stats dd { margin:6px 0 0; color:var(--muted); font-size:12px; }
.contents { display:flex; flex-wrap:wrap; gap:10px 24px; padding:8px 0 30px; font-size:13px; }
.contents a { color:var(--muted); text-decoration:none; }
.article { display:grid; grid-template-columns:120px minmax(0,1fr); gap:36px; border-top:1px solid var(--line); padding:46px 0; scroll-margin-top:20px; }
.section-no { color:var(--teal); font-size:12px; padding-top:8px; }
.prose { min-width:0; max-width:940px; }
.prose h2 { font-size:29px; font-weight:600; line-height:1.45; margin:0 0 22px; text-wrap:balance; }
.prose h3 { font-size:19px; line-height:1.5; margin:0 0 12px; }
.prose p { margin:0 0 20px; font-size:16px; }
.prose a:not(.button) { text-decoration-color:#2563d670; }
.figure { margin:28px 0; padding:24px 0; border-block:1px solid var(--line); }
figcaption { margin-bottom:22px; }
figcaption strong { display:block; font-size:18px; }
figcaption span,.figure-note { display:block; color:var(--muted); font-size:12px; }
.figure-note { margin-top:16px; }
.breadth-bar { display:flex; min-height:44px; align-items:stretch; }
.breadth-bar span { display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px; font-weight:600; }
.growth { background:var(--teal); }
.decline { background:var(--coral); }
.comparison-axis,.comparison-row { display:grid; grid-template-columns:155px 1fr 1fr 76px; align-items:center; gap:0; }
.comparison-axis { color:var(--muted); font-size:12px; margin-bottom:8px; }
.comparison-axis span:nth-child(2) { text-align:right; padding-right:8px; }
.comparison-axis span:nth-child(3) { padding-left:8px; }
.comparison-axis span:last-child { text-align:right; }
.comparison-row { min-height:46px; border-top:1px solid var(--line); }
.comparison-row b { font-size:13px; font-weight:500; padding-right:10px; }
.comparison-row strong { font-size:14px; text-align:right; font-variant-numeric:tabular-nums; }
.negative,.positive { display:flex; height:14px; }
.negative { justify-content:flex-end; border-right:1px solid #9aaeba; }
.positive { border-left:1px solid #9aaeba; }
.negative i { background:var(--coral); }
.positive i { background:var(--teal); }
.up { color:var(--teal); }
.down { color:var(--coral); }
.paired { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:28px 0; border-block:1px solid var(--line); }
.paired div { padding:22px 0; }
.paired b { display:block; color:var(--teal); font-size:28px; line-height:1.4; }
.paired span { display:block; color:var(--muted); font-size:12px; }
.prose .takeaway { border-left:3px solid var(--teal); padding:6px 0 6px 20px; font-size:15px; }
.table-scroll { max-width:100%; overflow-x:auto; margin:24px 0; border-block:1px solid var(--line); }
table { width:100%; min-width:600px; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
caption { text-align:left; color:var(--muted); font-size:12px; padding:14px 12px; }
th,td { padding:13px 12px; text-align:right; border-bottom:1px solid var(--line); vertical-align:top; white-space:nowrap; }
th:first-child,td:first-child { text-align:left; }
th { background:var(--wash); font-size:12px; font-weight:600; }
tbody tr:last-child td { border-bottom:0; }
.cases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0; }
.case { padding:20px; border:1px solid var(--line); border-radius:6px; }
.case b { display:block; font-size:28px; line-height:1.4; margin:15px 0 4px; }
.case small { display:block; color:var(--muted); font-size:12px; margin-bottom:16px; }
.case p { font-size:14px; margin:0; }
.principles { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:28px 0; }
.principles div { border-top:3px solid var(--blue); padding-top:18px; }
.principles div:nth-child(even) { border-color:var(--teal); }
.principles h3 { font-size:18px; }
.principles p { font-size:14px; color:var(--muted); margin:0; }
.cta-band { padding:30px 0; border-block:1px solid var(--line); margin:28px 0 0; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.cta-band h2 { font-size:25px; margin:0 0 12px; }
.cta-band p { margin:0; color:var(--muted); font-size:15px; }
.cta-actions { display:flex; flex-direction:column; align-items:center; gap:12px; flex-shrink:0; font-size:13px; }
.method-list { padding-left:20px; font-size:14px; color:var(--muted); }
.method-list li { padding-left:4px; margin-bottom:14px; }
.prose .note { font-size:13px; color:var(--muted); }
.related { padding:28px 0; border-top:1px solid var(--line); display:flex; gap:26px; flex-wrap:wrap; font-size:14px; }
.footer { border-top:1px solid var(--line); background:var(--wash); padding:28px 0; }
.footer .wrap { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.footer img { display:block; width:144px; }
.footer p { color:var(--muted); font-size:12px; margin:12px 0 0; }
@media(max-width:1100px) { .hero { background-image:none; } }
@media(max-width:900px) { .article { grid-template-columns:70px minmax(0,1fr); gap:20px; } h1 { font-size:40px; } }
@media(max-width:720px) {
  .wrap { width:calc(100% - 32px); }
  .nav { min-height:64px; gap:12px; }
  .brand img { width:126px; }
  .nav-note,.nav-radar { display:none; }
  .hero { padding:38px 0 32px; background:#f7f9fb; }
  h1 { font-size:32px; line-height:1.45; max-width:100%; }
  .dek { font-size:16px; }
  .meta { gap:5px 18px; margin-top:22px; }
  .scope { font-size:13px; margin:24px 0; }
  .stats { grid-template-columns:1fr 1fr; }
  .stats div { padding:18px 14px; }
  .stats div:first-child { padding-left:14px; }
  .stats div:nth-child(2) { border-right:0; }
  .stats div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .stats dt { font-size:26px; }
  .contents { gap:10px 20px; }
  .article { display:block; padding:32px 0; }
  .section-no { padding:0; margin-bottom:12px; }
  .prose h2 { font-size:24px; }
  .prose p { font-size:15px; }
  .figure { padding:20px 0; }
  .breadth-bar span { font-size:12px; }
  .comparison-axis,.comparison-row { grid-template-columns:112px 1fr 1fr 65px; }
  .comparison-row b { font-size:12px; }
  .comparison-row strong { font-size:12px; }
  .paired { gap:16px; }
  .paired b { font-size:25px; }
  .cases,.principles { grid-template-columns:1fr; gap:20px; }
  .case p,.principles p { font-size:14px; }
  .cta-band { display:block; padding:26px 0; }
  .cta-band h2 { font-size:22px; }
  .cta-actions { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; margin-top:20px; gap:18px; }
  .footer .wrap { display:block; }
  .footer .button { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .nav-actions,.contents,.button,.cta-actions,.footer { display:none; } .hero { background:#fff; padding:24px 0; } h1 { font-size:30px; } .wrap { width:100%; } .article { display:block; padding:24px 0; } .table-scroll { overflow:visible; } table { min-width:0; font-size:11px; } .figure,.case { break-inside:avoid; } }
