/* Global network v5 — Tokyo coordination hub and consulting-grade regional intelligence workflow */
.network-v3 { --nv-cyan:#20d2dd; --nv-blue:#2449d8; --nv-ink:#05152c; --nv-line:#d8e2eb; background:#fff; }
.network-v3 h1,.network-v3 h2,.network-v3 h3 { text-wrap:balance; }
.nv-nowrap { white-space:nowrap; }
.network-v3 main { overflow:hidden; }
.network-v3-hero { position:relative; min-height:720px; display:flex; align-items:center; color:#fff; background:linear-gradient(135deg,#031027,#071d43 58%,#0b326e); }
.network-v3-hero::before { content:""; position:absolute; inset:0; opacity:.18; background:repeating-linear-gradient(0deg,transparent 0 55px,rgba(255,255,255,.06) 56px),repeating-linear-gradient(90deg,transparent 0 55px,rgba(255,255,255,.06) 56px),radial-gradient(circle at 20% 30%,rgba(32,210,221,.4),transparent 23%); }
.network-v3-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr); gap:58px; align-items:center; padding-top:72px; padding-bottom:72px; }
.network-v3-hero-copy h1 { margin:18px 0 0; font-size:clamp(50px,5.2vw,72px); line-height:1.03; letter-spacing:-.055em; }
.network-v3-hero-copy > p { max-width:560px; margin:28px 0 0; color:rgba(255,255,255,.75); font-size:16px; line-height:1.95; }
.network-hero-facts { display:grid; grid-template-columns:repeat(3,1fr); margin-top:40px; border:1px solid rgba(255,255,255,.16); background:rgba(1,11,29,.45); backdrop-filter:blur(10px); }
.network-hero-facts span { min-height:112px; padding:17px; display:flex; flex-direction:column; justify-content:flex-end; color:rgba(255,255,255,.62); border-right:1px solid rgba(255,255,255,.14); font-size:9px; line-height:1.45; letter-spacing:.05em; }
.network-hero-facts span:last-child { border-right:0; }
.network-hero-facts b { margin-bottom:8px; color:var(--nv-cyan); font-size:22px; line-height:1; }
.tokyo-hub-visual { position:relative; height:540px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.22); box-shadow:0 40px 90px rgba(0,0,0,.36); }
.tokyo-hub-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(2,12,31,.93)); pointer-events:none; }
.tokyo-hub-visual img { width:100%; height:100%; object-fit:cover; }
.tokyo-hub-visual figcaption { position:absolute; z-index:2; left:34px; right:34px; bottom:28px; }
.tokyo-hub-visual figcaption span { display:block; color:var(--nv-cyan); font-size:9px; font-weight:900; letter-spacing:.14em; }
.tokyo-hub-visual figcaption strong { display:block; margin-top:6px; font-size:45px; line-height:1; }
.tokyo-hub-visual figcaption small { display:block; margin-top:11px; color:rgba(255,255,255,.73); font-size:11px; }

.network-v3 .corporate-heading { margin-bottom:40px; }
.coverage-layout-v3 { display:grid; grid-template-columns:330px minmax(0,1fr); gap:18px; align-items:stretch; }
.coverage-register { position:relative; isolation:isolate; min-height:720px; padding:34px 30px; overflow:hidden; color:#fff; background:linear-gradient(150deg,#06152c,#143e83); box-shadow:0 24px 58px rgba(5,21,44,.15); }
.coverage-register::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.28; background:radial-gradient(circle at 50% 62%,transparent 0 72px,rgba(32,210,221,.55) 73px 74px,transparent 75px 118px,rgba(32,210,221,.3) 119px 120px,transparent 121px),repeating-linear-gradient(0deg,transparent 0 34px,rgba(255,255,255,.05) 35px),repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.05) 35px); }
.coverage-register > span { color:var(--nv-cyan); font-size:9px; font-weight:900; letter-spacing:.16em; }
.coverage-register > strong { display:block; margin-top:88px; font-size:126px; line-height:.78; letter-spacing:-.08em; }
.coverage-register h3 { margin:22px 0 0; color:var(--nv-cyan); font-size:12px; letter-spacing:.12em; }
.coverage-register p { margin:28px 0 0; color:rgba(255,255,255,.7); font-size:12px; line-height:1.8; }
.coverage-map { position:absolute; left:28px; right:28px; bottom:38px; height:190px; background:linear-gradient(160deg,transparent 48%,rgba(32,210,221,.35) 49% 50%,transparent 51%),linear-gradient(20deg,transparent 48%,rgba(255,255,255,.14) 49% 50%,transparent 51%); }
.coverage-map i { position:absolute; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:var(--nv-cyan); box-shadow:0 0 0 6px rgba(32,210,221,.12); }
.coverage-map i:nth-child(1){left:10%;top:35%}.coverage-map i:nth-child(2){left:24%;top:58%}.coverage-map i:nth-child(3){left:38%;top:28%}.coverage-map i:nth-child(4){left:50%;top:64%}.coverage-map i:nth-child(5){left:62%;top:36%}.coverage-map i:nth-child(6){left:73%;top:56%}.coverage-map i:nth-child(7){left:83%;top:26%}.coverage-map i:nth-child(8){left:91%;top:68%}
.region-grid-v3 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.region-grid-v3 article { min-width:0; overflow:hidden; border:1px solid var(--nv-line); background:#fff; box-shadow:0 16px 42px rgba(5,21,44,.07); }
.region-grid-v3 figure { position:relative; height:210px; margin:0; overflow:hidden; }
.region-grid-v3 figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(4,17,42,.72)); }
.region-grid-v3 img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.region-grid-v3 article:hover img { transform:scale(1.035); }
.region-grid-v3 article > div { min-height:254px; padding:22px 23px; }
.region-grid-v3 span { color:var(--nv-blue); font-size:9px; font-weight:900; letter-spacing:.13em; }
.region-grid-v3 h3 { margin:8px 0 0; color:var(--nv-ink); font-size:22px; }
.region-grid-v3 p { margin:13px 0 0; color:#5d6a7d; font-size:12px; line-height:1.75; }
.region-grid-v3 b { display:block; margin-top:18px; padding-top:14px; color:#1d3765; border-top:1px solid #dce5ed; font-size:10px; line-height:1.75; }
.region-grid-v3 b .nv-nowrap { color:inherit; font-size:inherit; font-weight:inherit; letter-spacing:inherit; }
.network-v3 .scope-note { margin-top:20px; }

.city-node-grid-v3 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.city-node-grid-v3 article { min-width:0; overflow:hidden; border:1px solid var(--nv-line); background:#fff; box-shadow:0 18px 45px rgba(5,21,44,.07); }
.city-node-grid-v3 article.is-hq { border-color:#8a9edb; box-shadow:0 20px 50px rgba(36,73,216,.12); }
.city-node-grid-v3 figure { position:relative; height:190px; margin:0; overflow:hidden; }
.city-node-grid-v3 figure > img:first-child { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.city-node-grid-v3 .node-flag { position:absolute; left:18px; bottom:16px; width:31px; height:22px; object-fit:cover; border:1px solid rgba(255,255,255,.75); box-shadow:0 6px 16px rgba(0,0,0,.22); }
.city-node-grid-v3 article > div { min-height:300px; padding:24px 22px; }
.city-node-grid-v3 span { color:var(--nv-blue); font-size:8px; font-weight:900; letter-spacing:.12em; }
.city-node-grid-v3 h3 { margin:13px 0 0; color:var(--nv-ink); font-size:28px; }
.city-node-grid-v3 p { min-height:64px; margin:13px 0 0; color:#526176; font-size:11px; line-height:1.7; }
.city-node-grid-v3 address { margin-top:22px; padding-top:16px; color:#718094; border-top:1px solid #dce5ed; font-size:9px; line-height:1.75; font-style:normal; overflow-wrap:anywhere; }

.network-capabilities-v3 { color:#fff; background:linear-gradient(145deg,#041126,#0a2b60); }
.network-capabilities-v3 .corporate-heading h2 { color:#fff; }
.network-capabilities-v3 .corporate-heading p { color:rgba(255,255,255,.65); }
.capability-grid-v3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.capability-grid-v3 article { position:relative; min-height:410px; padding:28px 26px 170px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.045); }
.capability-grid-v3 b { color:var(--nv-cyan); font-size:9px; letter-spacing:.13em; }
.capability-grid-v3 h3 { margin:24px 0 0; font-size:22px; }
.capability-grid-v3 p { margin:13px 0 0; color:rgba(255,255,255,.65); font-size:12px; line-height:1.78; }
.capability-mini { position:absolute; left:26px; right:26px; bottom:26px; height:112px; border:1px solid rgba(255,255,255,.13); background:rgba(2,12,29,.5); }
.capability-mini.access { background:radial-gradient(circle,#20d2dd 0 4px,transparent 5px) 10px 50%/44px 44px repeat-x,linear-gradient(90deg,#20d2dd,#6f86aa) center/100% 1px no-repeat,rgba(2,12,29,.5); }
.capability-mini.experts i { position:absolute; width:18px; height:18px; border:4px solid rgba(255,255,255,.78); border-radius:50%; background:var(--nv-blue); }.capability-mini.experts i:nth-child(1){left:14%;top:28%}.capability-mini.experts i:nth-child(2){left:43%;top:60%}.capability-mini.experts i:nth-child(3){left:66%;top:22%}.capability-mini.experts i:nth-child(4){left:82%;top:58%}.capability-mini.experts::before{content:"";position:absolute;inset:15px;background:linear-gradient(20deg,transparent 48%,rgba(32,210,221,.5) 49% 50%,transparent 51%)}
.capability-mini.synthesis i { position:absolute; left:10%; right:10%; height:10px; background:linear-gradient(90deg,var(--nv-blue),var(--nv-cyan)); }.capability-mini.synthesis i:nth-child(1){top:24%;right:34%}.capability-mini.synthesis i:nth-child(2){top:47%;left:24%;right:20%;opacity:.7}.capability-mini.synthesis i:nth-child(3){top:70%;right:44%;opacity:.45}

.network-method-v3 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.network-method-v3 article { min-width:0; min-height:410px; padding:18px 20px 28px; border:1px solid var(--nv-line); background:#fff; box-shadow:0 18px 44px rgba(5,21,44,.08); }
.method-canvas { position:relative; isolation:isolate; height:190px; margin:-1px -3px 25px; overflow:hidden; border:1px solid #cfdbe6; background:linear-gradient(145deg,#f8fafc,#eaf1f6); box-shadow:inset 0 0 0 1px rgba(255,255,255,.74); }
.method-canvas::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.42; background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(79,105,135,.09) 24px),repeating-linear-gradient(90deg,transparent 0 29px,rgba(79,105,135,.08) 30px),radial-gradient(circle at 82% 15%,rgba(32,210,221,.16),transparent 33%); }
.method-meta { position:absolute; z-index:2; top:8px; left:8px; right:8px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.method-meta span { min-width:0; padding:5px 3px; overflow:hidden; color:#33506f; border:1px solid rgba(75,102,132,.18); background:rgba(255,255,255,.78); font-size:6px; line-height:1; font-weight:900; letter-spacing:.08em; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.method-canvas svg { position:absolute; z-index:1; top:34px; left:6px; width:calc(100% - 12px); height:126px; }
.method-canvas svg * { vector-effect:non-scaling-stroke; }
.method-canvas small { position:absolute; z-index:2; left:10px; right:10px; bottom:7px; overflow:hidden; color:#2449d8; font-size:6px; line-height:1; font-weight:900; letter-spacing:.12em; text-overflow:ellipsis; white-space:nowrap; }
.method-panel { fill:rgba(255,255,255,.78); stroke:#bfcfdd; stroke-width:1; }
.method-grid { fill:none; stroke:#8297ad; stroke-width:1; opacity:.45; }
.method-link { fill:none; stroke:#2449d8; stroke-width:1.45; opacity:.76; }
.method-dash { fill:none; stroke:#7d91a8; stroke-width:1.1; stroke-dasharray:4 3; opacity:.52; }
.method-triangle { fill:rgba(36,73,216,.06); stroke:#2449d8; stroke-width:1.35; opacity:.78; }
.method-fill { fill:#7c9fc1; opacity:.48; }
.method-blue { fill:#2449d8; opacity:.82; }
.method-teal { fill:#20bbc7; opacity:.79; }
.method-muted { fill:#95a6b8; opacity:.48; }
.method-risk { fill:#b86960; stroke:#a85f57; stroke-width:.7; opacity:.7; }
.method-node { fill:#fff; stroke:#2449d8; stroke-width:1.4; }
.method-accent-node { fill:#20c9d3; stroke:#fff; stroke-width:1.5; }
.method-blue-dot { fill:#2449d8; stroke:#fff; stroke-width:1.4; }
.method-teal-dot { fill:#20bbc7; stroke:#fff; stroke-width:1.4; }
.method-outline-dot { fill:#fff; stroke:#71859b; stroke-width:1.4; }
.method-core-ring { fill:rgba(255,255,255,.9); stroke:#2449d8; stroke-width:1.5; }
.method-core { fill:#173f90; stroke:#0f3278; stroke-width:1; }
.method-core-line { fill:#fff; opacity:.65; }
.method-text { fill:#36516e; font-family:"Noto Sans JP",sans-serif; font-size:6px; font-weight:900; letter-spacing:.04em; text-anchor:middle; }
.method-row-label { fill:#536b84; font-family:"Noto Sans JP",sans-serif; font-size:6px; font-weight:900; letter-spacing:.04em; }
.method-core-text { fill:#fff; font-family:"Noto Sans JP",sans-serif; font-size:6px; font-weight:900; letter-spacing:.05em; text-anchor:middle; }
.method-check { fill:none; stroke:#2449d8; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.method-priority-line { fill:none; stroke:#2449d8; stroke-width:1.8; }
.network-method-v3 article > b { color:var(--nv-blue); font-size:9px; letter-spacing:.13em; }
.network-method-v3 h3 { margin:21px 0 0; color:var(--nv-ink); font-size:19px; }
.network-method-v3 p { margin:12px 0 0; color:#617084; font-size:11px; line-height:1.78; }

@media (max-width:1100px) {
  .network-v3-hero-grid { grid-template-columns:.8fr 1.2fr; gap:32px; }
  .network-v3-hero-copy h1 { font-size:60px; }
  .coverage-layout-v3 { grid-template-columns:280px 1fr; }
  .city-node-grid-v3 { grid-template-columns:repeat(2,1fr); }
  .network-method-v3 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px) {
  .network-v3-hero { min-height:auto; }
  .network-v3-hero-grid { grid-template-columns:1fr; padding-top:110px; }
  .tokyo-hub-visual { height:430px; }
  .coverage-layout-v3 { grid-template-columns:1fr; }
  .coverage-register { min-height:430px; }
  .coverage-register > strong { margin-top:48px; }
  .coverage-map { left:auto; width:48%; }
  .capability-grid-v3 { grid-template-columns:1fr; }
  .capability-grid-v3 article { min-height:350px; }
}
@media (max-width:600px) {
  .network-v3-hero-grid { padding-top:92px; padding-bottom:50px; }
  .network-v3-hero-copy h1 { font-size:42px; }
  .network-v3 .corporate-heading h2 { font-size:28px; }
  .network-v3 .contact-card h2 { font-size:28px; }
  .network-v3-hero-copy > p { font-size:14px; }
  .network-hero-facts { grid-template-columns:1fr; }
  .network-hero-facts span { min-height:78px; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .tokyo-hub-visual { height:330px; }
  .tokyo-hub-visual figcaption { left:20px; right:20px; bottom:20px; }
  .tokyo-hub-visual figcaption strong { font-size:34px; }
  .coverage-register { min-height:520px; }
  .coverage-map { left:28px; width:auto; }
  .region-grid-v3,.city-node-grid-v3,.network-method-v3 { grid-template-columns:1fr; }
  .region-grid-v3 article > div { min-height:auto; }
  .city-node-grid-v3 article > div { min-height:auto; }
  .city-node-grid-v3 p { min-height:auto; }
  .network-method-v3 article { min-height:auto; }
}
@media (max-width:360px) {
  .network-v3 .corporate-heading h2,
  .network-v3 .contact-card h2 { font-size:25px; }
}
