.region-page { --region-blue: #62b5f3; --region-green: #64d3a1; }
.region-page .hero h1 { max-width: 760px; }
.region-page .hero-glow-one { background: radial-gradient(circle, rgba(98,181,243,.15), transparent 68%); }

.region-page .region-visual::before { display: none; }
.region-visual { min-height: 410px; }
.region-orbit { position:absolute; left:50%; top:50%; border:1px dashed rgba(98,181,243,.14); border-radius:50%; transform:translate(-50%,-50%) rotate(-12deg); }
.region-orbit-one { width:420px; height:250px; }
.region-orbit-two { width:250px; height:410px; transform:translate(-50%,-50%) rotate(35deg); }
.region-globe { position:absolute; left:50%; top:50%; width:285px; height:285px; overflow:hidden; transform:translate(-50%,-50%); border:1px solid rgba(98,181,243,.2); border-radius:50%; background:radial-gradient(circle at 34% 27%,#292d3a,#181a22 62%,#111318); box-shadow:0 35px 70px rgba(0,0,0,.45),inset -25px -20px 50px rgba(0,0,0,.28),0 0 70px rgba(98,181,243,.06); }
.globe-latitude,.globe-longitude { position:absolute; border:1px solid rgba(98,181,243,.13); border-radius:50%; }
.globe-latitude { left:-5%; width:110%; height:82px; }
.latitude-one { top:55px; }
.latitude-two { bottom:45px; }
.globe-longitude { top:-5%; width:95px; height:110%; }
.longitude-one { left:43px; }
.longitude-two { right:43px; }
.globe-center { position:absolute; z-index:2; inset:50% auto auto 50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; line-height:1; }
.globe-center span { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.25em; }
.globe-center b { margin:8px 0 6px; font:700 46px "Yume Quicksand",sans-serif; }
.globe-center small { color:#7f8390; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.map-dot { position:absolute; z-index:3; width:7px; height:7px; border:2px solid #171923; border-radius:50%; background:var(--region-blue); box-shadow:0 0 0 5px rgba(98,181,243,.11),0 0 15px rgba(98,181,243,.6); }
.dot-vn { right:45px; bottom:75px; background:var(--region-green); }
.dot-us { left:42px; top:88px; }
.dot-eu { right:48px; top:68px; background:#b18bf4; }
.license-line { position:absolute; z-index:1; width:100px; border-top:1px dashed rgba(255,255,255,.15); transform-origin:left; }
.line-vn { left:61%; top:61%; transform:rotate(24deg); }
.line-us { left:16%; top:31%; transform:rotate(14deg); }
.line-eu { left:61%; top:30%; transform:rotate(-18deg); }
.region-label { position:absolute; z-index:4; min-width:112px; padding:12px 14px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.10); border-radius:14px; background:rgba(30,30,38,.92); box-shadow:0 16px 35px rgba(0,0,0,.3); backdrop-filter:blur(10px); animation:float-card 5s ease-in-out infinite; }
.region-label b { font:700 17px "Yume Quicksand",sans-serif; }
.region-label span { color:#8b8791; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.label-vn { right:-3%; bottom:13%; border-left:3px solid var(--region-green); }
.label-us { left:-4%; top:13%; border-left:3px solid var(--region-blue); animation-delay:-1.5s; }
.label-eu { right:-3%; top:10%; border-left:3px solid #b18bf4; animation-delay:-3s; }
.region-lock { position:absolute; z-index:5; left:12%; bottom:15%; display:grid; place-items:center; width:43px; height:43px; border:1px solid rgba(255,77,89,.3); border-radius:50%; color:var(--accent); background:rgba(255,77,89,.12); box-shadow:0 0 28px rgba(255,77,89,.2); }
.region-lock svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.scenario-card { display:grid; grid-template-columns:150px auto 1fr; gap:22px; align-items:center; margin-top:28px; padding:23px; border:1px solid var(--line); border-radius:19px; background:var(--surface); }
.scenario-source { display:flex; flex-direction:column; padding:15px; border:1px solid rgba(255,77,89,.17); border-radius:14px; background:rgba(255,77,89,.055); }
.scenario-source span { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.18em; }
.scenario-source strong { margin:3px 0; font-size:14px; }
.scenario-source small { color:#77737c; font-size:9px; }
.scenario-card>i { color:#56525b; font-size:20px; font-style:normal; }
.scenario-regions { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.scenario-regions span { display:flex; flex-direction:column; padding:12px; border:1px solid var(--line); border-radius:12px; color:#8d8992; font-size:9px; text-transform:uppercase; }
.scenario-regions b { color:#eae7eb; font-size:13px; }

.license-terms { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:27px; }
.license-terms article { padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.license-terms span { color:var(--region-blue); font:700 10px "Yume Quicksand",sans-serif; }
.license-terms h3 { margin:10px 0 5px; font-size:14px; }
.license-terms p { margin:0; color:#89858e; font-size:11px; line-height:1.55; }
.region-definition { border-color:rgba(98,181,243,.17); background:rgba(98,181,243,.055); }
.region-definition .definition-symbol { color:var(--region-blue); background:rgba(98,181,243,.12); }

.reason-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; }
.reason-list article { display:flex; gap:15px; padding:20px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.01)); }
.reason-list article:last-child { grid-column:1/-1; }
.reason-icon { flex:0 0 34px; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--region-blue); background:rgba(98,181,243,.11); font:700 14px "Yume Quicksand",sans-serif; }
.reason-list h3 { margin:1px 0 5px; color:#ebe8ec; font-size:14px; }
.reason-list p { margin:0; color:#8f8b94; font-size:11px; line-height:1.6; }

.license-flow { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:29px 0 0; padding:0; list-style:none; counter-reset:flow; }
.license-flow li { position:relative; min-height:137px; padding:20px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.018); }
.license-flow li>span { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:9px; color:var(--accent); background:var(--accent-soft); font:700 9px "Yume Quicksand",sans-serif; }
.license-flow h3 { margin:12px 0 5px; font-size:14px; }
.license-flow p { margin:0; color:#8f8b94; font-size:11px; line-height:1.55; }
.license-flow li:not(:nth-child(2n))::after { content:"→"; position:absolute; z-index:2; right:-19px; top:50%; display:grid; place-items:center; width:25px; height:25px; transform:translateY(-50%); border-radius:50%; color:#716d76; background:var(--bg); font-size:11px; }

.geo-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; margin-top:25px; padding:23px; border:1px solid rgba(98,181,243,.17); border-radius:19px; background:linear-gradient(135deg,rgba(98,181,243,.07),rgba(98,181,243,.015)),var(--surface); }
.geo-lock { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; color:var(--region-blue); background:rgba(98,181,243,.11); }
.geo-lock svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.geo-card>div:nth-child(2)>span { color:var(--region-blue); font-size:9px; font-weight:700; letter-spacing:.14em; }
.geo-card h3 { margin:3px 0 5px; font-size:14px; }
.geo-card p { margin:0; color:#908c95; font-size:11px; line-height:1.55; }
.ip-chip { min-width:90px; padding:11px; display:flex; flex-direction:column; align-items:center; border:1px solid var(--line); border-radius:13px; background:#15151b; }
.ip-chip small { color:#65616a; font-size:8px; }
.ip-chip strong { margin:1px 0; font-size:20px; }
.ip-chip i { color:var(--region-green); font-size:8px; font-style:normal; }

.impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:27px; }
.impact-grid article { min-height:148px; padding:20px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.018); }
.impact-grid span { color:#5e5a63; font:700 10px "Yume Quicksand",sans-serif; }
.impact-grid h3 { margin:13px 0 6px; font-size:14px; }
.impact-grid p { margin:0; color:#8d8992; font-size:11px; line-height:1.6; }
.model-table { min-width:620px; }
.region-conclusion { background:linear-gradient(145deg,rgba(98,181,243,.09),rgba(255,77,89,.025) 64%),var(--surface); border-color:rgba(98,181,243,.18); }
.region-conclusion .conclusion-mark { color:var(--region-blue); }

@media(max-width:640px){
  .scenario-card { grid-template-columns:1fr; gap:12px; }
  .scenario-card>i { transform:rotate(90deg); justify-self:center; }
  .scenario-regions { grid-template-columns:repeat(3,1fr); }
  .license-terms { grid-template-columns:1fr; }
  .reason-list,.license-flow,.impact-grid { grid-template-columns:1fr; }
  .reason-list article:last-child { grid-column:auto; }
  .license-flow li:not(:nth-child(2n))::after { display:none; }
  .geo-card { grid-template-columns:auto 1fr; align-items:start; padding:19px; }
  .ip-chip { grid-column:1/-1; flex-direction:row; justify-content:center; gap:9px; }
  .ip-chip strong { font-size:15px; }
}
