/* A route map, with live readable labels and no decorative text baked into images. */
.as-acquisition { border-bottom:1px solid #d6e1f1; }
.ac-spotlight { display:grid; grid-template-columns:1.8fr 1fr; align-items:end; gap:40px; padding:44px; margin-bottom:26px; border-radius:44px 8px 44px 8px; background:radial-gradient(ellipse at 95% 0,#2b90e8,transparent 55%),linear-gradient(125deg,#123985,#0a58d7); box-shadow:0 24px 55px #1459ad18; }
.analysis-story .ac-spotlight .as-kicker { background:none; padding:0; color:#c0eaff; margin-bottom:24px; }
.analysis-story .ac-spotlight h2 { font-size:clamp(38px,4.5vw,70px); color:#fff; line-height:1.05; letter-spacing:-.04em; }
.analysis-story .ac-spotlight h2 em { color:#d4f79a; }
.analysis-story .ac-spotlight>p { color:#edf5ff; font-size:17px; line-height:1.55; padding-bottom:5px; }
.ac-usual { display:grid; grid-template-columns:1fr auto; gap:10px 26px; align-items:center; margin:0 0 40px; padding:22px 28px; border-left:3px solid #9aacc7; background:#eaf0f9; border-radius:0 18px 18px 0; }
.ac-usual>span { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#5a6c88; font-weight:750; }
.analysis-story .ac-usual p { grid-column:1; font-size:14px; }.ac-usual i { font-style:normal; color:#7890b2; padding:0 5px; }
.ac-usual strong { grid-column:2; grid-row:1/4; max-width:230px; font-size:23px; line-height:1.2; color:#124cac; }
.analysis-story .ac-usual .ac-usual-chain { font-weight:700; color:#294971; }
.analysis-story .ac-paths-intro { margin-bottom:24px; font-size:18px; font-weight:750; color:#163c70; }
.ac-layout { display:grid; grid-template-columns:1fr 1.05fr; gap:7%; align-items:center; }
.ac-map { position:relative; margin:0 0 0 8px; padding:32px 25px 22px; border:1px solid #d2e0f3; border-radius:8px 44px 8px 8px; background:linear-gradient(90deg,#dce8f33b 1px,transparent 1px),linear-gradient(#dce8f33b 1px,transparent 1px),linear-gradient(135deg,#fff,#f0f7ff); background-size:28px 28px,28px 28px,auto; box-shadow:-10px 10px 0 #deebfb,0 24px 60px #1f49711c; transform:rotate(-2deg); }
.ac-map { width:calc(100% - 16px); max-width:480px; justify-self:center; }
.ac-map:before { content:''; position:absolute; width:90px; height:25px; background:#b5d7fbb3; top:-13px; left:38%; transform:rotate(7deg); }
.ac-map figcaption { font-size:21px; line-height:1.3; color:#344e73; padding-left:8px; }.ac-map figcaption b { color:#0b2857; }
.ac-map-canvas { position:relative; aspect-ratio:500/420; margin-top:22px; }
.ac-map-canvas>svg { position:absolute; inset:0; width:100%; height:100%; }
.ac-map-tag { position:absolute; display:block; background:#fff; border:1px solid #d3e2f8; border-radius:6px; padding:10px 13px; font-size:14px; font-weight:750; line-height:1.3; box-shadow:0 7px 16px #153e7310; white-space:nowrap; }
.ac-map-tag--partners { left:3%; top:4%; color:#1263f5; border-bottom:3px solid #1263f5; }
.ac-map-tag--community { right:1%; top:4%; color:#7945af; border-bottom:3px solid #8553be; }
.ac-map-tag--moment { left:1%; top:52%; color:#207a56; border-bottom:3px solid #268a65; }
.ac-map-client { position:absolute; top:72%; left:42%; width:55%; display:flex; align-items:center; gap:12px; padding:17px 16px; background:#1263f5; color:#fff; border:5px solid #fff; border-radius:16px 16px 30px 16px; box-shadow:0 10px 24px #1263f52b; }
.ac-map-client svg { width:35px; height:40px; fill:#d4f4ff; flex:none; }.ac-map-client strong { font-size:21px; line-height:1.12; letter-spacing:-.02em; }
.ac-map-note { display:block; margin:19px 0 0 8px; color:#607597; font-size:12px; line-height:1.4; }
.ac-map-tag--moment { top:46%; }
.ac-paths { position:relative; }
.ac-path { --path:#1263f5; position:relative; padding:0 0 24px 28px; border-left:2px solid #cddff5; }
.ac-path:before { content:''; position:absolute; left:-8px; top:2px; width:14px; height:14px; background:var(--path); border:3px solid #f4f8ff; border-radius:50%; box-shadow:0 0 0 1px var(--path); }
.ac-path+.ac-path { padding-top:22px; }.ac-path+.ac-path:before { top:24px; }.ac-path:last-child { padding-bottom:0; border-color:transparent; }
.ac-path--moment { --path:#268a65; }.ac-path--community { --path:#8553be; }
.ac-path>span { display:block; font-size:11px; font-weight:750; letter-spacing:.06em; color:var(--path); margin-bottom:12px; }
.analysis-story .ac-path h3 { font-size:clamp(24px,2vw,30px); margin-bottom:12px; }.analysis-story .ac-path p { max-width:530px; }
.ac-result { position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:24px 45px; margin-top:46px; padding:32px 36px; border-radius:26px 6px 26px 6px; background:linear-gradient(120deg,#e4f8c5,#f4ffe9); border:1px solid #bdd694; }
.ac-result>div { grid-row:span 2; align-self:center; }.ac-result>div>span { display:block; color:#486b32; font-size:11px; font-weight:750; letter-spacing:.06em; margin-bottom:12px; }.analysis-story .ac-result h3 { font-size:clamp(26px,2.65vw,38px); margin:0; }.ac-result h3 em { color:#246947; font-style:normal; }
.ac-result ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:9px; counter-reset:acstep; }
.ac-result li { counter-increment:acstep; font-size:14px; font-weight:650; color:#284774; }.ac-result li:before { content:counter(acstep) '.'; color:#1263f5; margin-right:5px; }.ac-result li:not(:last-child):after { content:'→'; padding-left:9px; color:#6a86b1; }
.ac-result a { color:#0b50ca; font-size:16px; font-weight:750; min-height:44px; display:inline-flex; align-items:center; gap:16px; justify-self:start; }
.analysis-story .ac-note { margin-top:20px; font-size:13px; max-width:850px; color:#566d90; }
.as-map-rows .as-map-acquisition { background:#edf8dd; border:1px solid #c3dba7; border-left:4px solid #73a841; border-radius:4px 20px 4px 20px; padding:24px 20px; margin:12px 0; }.as-map-acquisition h3 { color:#246947; }
@media(max-width:1100px) { .ac-spotlight { grid-template-columns:1.6fr 1fr; gap:25px; padding:32px; }.analysis-story .ac-spotlight>p { font-size:16px; }.ac-usual { grid-template-columns:1fr; }.ac-usual strong { grid-column:1; grid-row:auto; max-width:none; font-size:21px; } }
@media(max-width:760px) { .ac-spotlight { grid-template-columns:1fr; gap:22px; padding:28px 22px; border-radius:28px 6px 28px 6px; }.analysis-story .ac-spotlight h2 { font-size:clamp(32px,8.3vw,46px); }.analysis-story .ac-spotlight .as-kicker { font-size:10px; line-height:1.5; margin-bottom:18px; }.ac-usual { padding:18px; margin-bottom:30px; }.analysis-story .ac-usual p { line-height:1.8; }.ac-usual strong { font-size:20px; }.as-map-rows .as-map-acquisition { padding:22px 14px; } }
@media(max-width:1100px) { .ac-layout { gap:5%; }.ac-map { padding:26px 17px 20px; }.ac-map-client { gap:8px; padding:12px 10px; }.ac-map-client strong { font-size:18px; }.ac-map-client svg { width:25px; height:30px; }.ac-map-tag { font-size:12px; padding:8px 10px; }.ac-map figcaption { font-size:19px; } }
@media(max-width:900px) { .ac-layout { grid-template-columns:1fr; gap:48px; }.ac-map { width:calc(100% - 24px); max-width:540px; justify-self:center; }.ac-paths { max-width:650px; }.ac-map-client strong { font-size:21px; }.ac-map-tag { font-size:14px; }.ac-result { grid-template-columns:1fr; gap:20px; }.ac-result>div { grid-row:auto; } }
@media(max-width:760px) { .ac-map { transform:none; padding:25px 12px 20px; margin-left:7px; width:calc(100% - 14px); border-top-right-radius:30px; box-shadow:-7px 7px 0 #deebfb,0 15px 35px #1f497114; }.ac-map figcaption { font-size:19px; }.ac-map-tag { font-size:12px; padding:8px; }.ac-map-client { top:74%; left:38%; width:61%; padding:12px 9px; gap:7px; border-width:3px; }.ac-map-client strong { font-size:17px; }.ac-map-client svg { width:25px; }.ac-map-note { margin-top:25px; font-size:11px; }.ac-layout { gap:38px; }.ac-path { padding-left:23px; }.ac-path>span { line-height:1.5; }.analysis-story .ac-path h3 { font-size:24px; }.ac-result { padding:25px 22px; margin-top:32px; }.ac-result ol { flex-direction:column; gap:10px; }.ac-result li:after { display:none; }.analysis-story .ac-note { font-size:12px; } }
