/* Exact visual direction from the supplied Global Freedom hero, scoped to homepage hero only. */
.hero-section.dv2-hero {
  --dv2-bg: #050914; --dv2-surface: rgba(16,24,46,.72); --dv2-surface2: rgba(255,255,255,.05);
  --dv2-border: rgba(148,170,220,.22); --dv2-border-strong: rgba(148,170,220,.42);
  --dv2-text: #f4f7ff; --dv2-muted: #b4c0dc; --dv2-faint: #8b99ba;
  --dv2-accent: #22d3ee; --dv2-violet: #818cf8; --dv2-grad: linear-gradient(135deg,#22d3ee 0%,#3b82f6 100%);
  --dv2-double: linear-gradient(135deg,#818cf8 0%,#6366f1 100%); --dv2-ok: #34d399;
  position: relative; overflow: hidden; padding: 64px 0 !important; color: var(--dv2-text);
  background: radial-gradient(1000px 600px at 12% 0%,rgba(99,60,200,.22),transparent 60%),radial-gradient(900px 600px at 90% 40%,rgba(34,211,238,.10),transparent 60%),var(--dv2-bg);
}
.hero-section.dv2-hero::before { content:none !important; }
.hero-section.dv2-hero .dv2-grid {
  position:relative; z-index:2; width:min(1280px,100% - 48px); max-width:1280px; margin-inline:auto; padding:0;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,680px); gap:48px; align-items:center;
}
.dv2-copy { min-width:0; text-align:left; }
.dv2-live { display:inline-flex; align-items:center; gap:12px; padding:7px 16px 7px 8px; border-radius:999px; font-size:14.5px; color:var(--dv2-muted); background:var(--dv2-surface2); border:1px solid var(--dv2-border); }
.dv2-live b { display:inline-flex; align-items:center; gap:7px; padding:4px 12px; border-radius:999px; font-size:12.5px; font-weight:800; letter-spacing:.08em; color:#05261a; background:var(--dv2-ok); }
.dv2-live b::before { content:""; width:7px; height:7px; border-radius:50%; background:#05261a; animation:dv2Blink 1.6s ease-in-out infinite; }
@keyframes dv2Blink { 50% { opacity:.25; } }
.dv2-title { margin:26px 0 0 !important; font-size:clamp(56px,7.4vw,100px) !important; line-height:1.02 !important; font-weight:700 !important; letter-spacing:-.03em !important; color:var(--dv2-text) !important; }
.dv2-title span { background:var(--dv2-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.dv2-sub { margin-top:26px !important; max-width:540px; font-size:19px !important; line-height:1.65 !important; color:var(--dv2-muted) !important; }
.dv2-cta { margin-top:34px; display:flex; flex-wrap:wrap; gap:14px; }
.dv2-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:58px; padding:0 30px; border-radius:14px; font-size:17px; font-weight:800; transition:transform .15s,filter .2s,background .2s; text-decoration:none !important; }
.dv2-btn:active { transform:translateY(1px); }
.dv2-btn-primary { color:#04101f !important; background:var(--dv2-grad); box-shadow:0 14px 34px rgba(34,211,238,.28); }
.dv2-btn-primary:hover { filter:brightness(1.08); }
.dv2-btn-ghost { color:var(--dv2-text) !important; background:var(--dv2-surface2); border:1px solid var(--dv2-border-strong); }
.dv2-btn-ghost:hover { background:rgba(255,255,255,.1); }
.dv2-ticks { margin:28px 0 0 !important; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,max-content)); gap:12px 32px; }
.dv2-ticks li { display:flex; align-items:center; gap:10px; font-size:15.5px; color:var(--dv2-muted); }
.dv2-ticks i { color:var(--dv2-ok); }
.dv2-trust { margin-top:34px; padding-top:26px; border-top:1px solid var(--dv2-border); display:flex; flex-wrap:wrap; gap:14px 30px; }
.dv2-trust span { display:inline-flex; align-items:center; gap:10px; font-size:14.5px; font-weight:600; color:var(--dv2-muted); }
.dv2-trust i { color:var(--dv2-accent); }
.dv2-showcase { min-width:0; display:grid; gap:14px; }
.dv2-chips { display:flex; flex-wrap:wrap; gap:14px 10px; padding-top:9px; align-items:center; }
.dv2-chips[hidden] { display:none; }
.dv2-chip { position:relative; display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 18px 0 8px; border-radius:999px; cursor:pointer; font-size:15px; font-weight:700; color:var(--dv2-text); background:var(--dv2-surface2); border:1.5px solid var(--dv2-border); transition:border-color .2s,background .2s,transform .15s,opacity .2s; opacity:.58; }
.dv2-chip:hover { border-color:var(--dv2-border-strong); transform:translateY(-1px); opacity:.85; }
.dv2-chip .dv2-code { display:grid; place-items:center; min-width:38px; height:30px; padding:0 6px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.04em; color:var(--dv2-muted); background:rgba(255,255,255,.08); }
.dv2-chip .dv2-chip-label { display:grid; line-height:1.15; text-align:left; }
.dv2-chip .dv2-chip-label small { font-size:12px; font-weight:600; color:var(--dv2-faint); }
.dv2-chip.is-active { opacity:1; border-color:var(--dv2-accent); background:rgba(34,211,238,.12); transform:scale(1.045); }
.dv2-chip.is-active .dv2-code { color:#04101f; background:var(--dv2-grad); }
.dv2-stage.hero-globe { position:relative; width:100% !important; height:clamp(300px,34vw,380px) !important; aspect-ratio:auto !important; margin:0 !important; top:auto; right:auto; border-radius:28px; overflow:hidden; background:radial-gradient(120% 120% at 50% 0%,rgba(34,80,170,.35),rgba(7,13,30,.95) 70%); border:1px solid var(--dv2-border); box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06); pointer-events:auto; }
.dv2-stage.hero-globe::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit; background:radial-gradient(75% 75% at 50% 50%,transparent 45%,rgba(5,9,20,.48) 100%); }
.dv2-stage.hero-globe canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; }
.dv2-stage .hg-label { z-index:2; }
.dv2-pill { position:absolute; z-index:3; top:16px; display:inline-flex; align-items:center; gap:10px; padding:9px 16px; border-radius:999px; font-size:14px; font-weight:600; white-space:nowrap; background:rgba(5,9,20,.78); border:1px solid var(--dv2-border); backdrop-filter:blur(8px); color:var(--dv2-muted); }
.dv2-status { left:16px; color:var(--dv2-muted); }
.dv2-status i { width:9px; height:9px; border-radius:50%; background:var(--dv2-accent); animation:dv2Blink 1s ease-in-out infinite; }
.dv2-hops { right:16px; }
.dv2-caption { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:0 14px; min-height:68px; padding:0 18px; border-radius:20px; background:var(--dv2-surface); border:1px solid var(--dv2-border); backdrop-filter:blur(12px); }
.dv2-cap-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:var(--dv2-accent); background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.35); }
.dv2-cap-title { display:grid; min-width:0; gap:2px; }
.dv2-cap-title strong { font-size:16px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv2-cap-title small { font-size:12px; color:var(--dv2-faint); }
.dv2-tier { padding:3px 9px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.1em; color:#a7f3d0; background:rgba(52,211,153,.14); border:1px solid rgba(52,211,153,.4); }
.dv2-cap-link { display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:800; color:var(--dv2-accent); white-space:nowrap; }
.dv2-route { padding:16px 18px; border-radius:22px; background:var(--dv2-surface); border:1px solid var(--dv2-border); backdrop-filter:blur(12px); }
.dv2-chain { display:flex; align-items:center; gap:12px; }
.dv2-node { flex:1 1 0; min-width:0; display:grid; gap:1px; padding:10px 14px; border-radius:14px; background:var(--dv2-surface2); border:1px solid var(--dv2-border); }
.dv2-node.dv2-exit { border-color:rgba(34,211,238,.5); background:rgba(34,211,238,.08); }
.dv2-tag { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--dv2-faint); }
.dv2-exit .dv2-tag { color:var(--dv2-accent); }
.dv2-node strong { min-height:28px; font-size:19px; line-height:28px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv2-node small { font-size:13.5px; color:var(--dv2-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv2-link { flex:none; display:flex; align-items:center; color:var(--dv2-accent); }
.dv2-facts { display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:12px; padding-top:12px; border-top:1px solid var(--dv2-border); }
.dv2-facts span { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; }
.dv2-facts i { color:var(--dv2-accent); }
.dv2-facts small { font-size:12px; font-weight:600; color:var(--dv2-muted); }
.dv2-note { margin:0; font-size:13.5px; color:var(--dv2-faint); }
.hero-section.dv2-hero + .hero-stats { margin-top:34px; }
@media(max-width:1020px) {
 .hero-section.dv2-hero { padding:44px 0 48px !important; }
 .hero-section.dv2-hero .dv2-grid { grid-template-columns:1fr; gap:44px; }
 .dv2-showcase { width:100%; max-width:620px; margin-inline:auto; }
}
@media(max-width:520px) {
 .hero-section.dv2-hero .dv2-grid { width:min(1280px,100% - 32px); }
 .dv2-ticks { grid-template-columns:1fr; }
 .dv2-chain { flex-direction:column; align-items:stretch; gap:6px; }
 .dv2-link { justify-content:center; transform:rotate(90deg); height:30px; }
 .dv2-caption { min-height:100px; grid-template-columns:auto minmax(0,1fr); align-content:center; gap:6px 14px; }
 .dv2-cap-icon { grid-row:1 / span 2; }
 .dv2-tier { grid-column:2; justify-self:start; }
 .dv2-cap-link { grid-column:2; }
 .dv2-hops { display:none; }
 .dv2-btn { width:100%; }
 .dv2-live { font-size:12px; }
 .dv2-title { font-size:clamp(52px,14vw,76px) !important; }
}
@media(prefers-reduced-motion:reduce) {
 .dv2-hero *, .dv2-hero *::before, .dv2-hero *::after { animation:none !important; transition:none !important; }
 .dv2-chip.is-active { transform:none; }
}

/* Supplied Global Freedom route showcase: multi-hop controls and feature slides. */
.dv2-chip.dv2-double {
  border-color: rgba(245, 190, 82, .62);
  background: linear-gradient(135deg, rgba(245,190,82,.10), rgba(255,255,255,.035));
}
.dv2-chip.dv2-double:hover { border-color: rgba(255,211,112,.95); }
.dv2-chip.dv2-double.is-active {
  border-color: #e9b949;
  background: linear-gradient(135deg, rgba(245,190,82,.19), rgba(129,140,248,.12));
  box-shadow: 0 0 0 1px rgba(233,185,73,.18), 0 7px 24px rgba(233,185,73,.10);
}
.dv2-chip.dv2-double .dv2-code { color:#ffe3a0; background:rgba(245,190,82,.16); }
.dv2-chip.dv2-double.is-active .dv2-code { color:#171006; background:linear-gradient(135deg,#ffe6a0,#d99a27); }
.dv2-pro-badge {
  position:absolute; top:-9px; right:12px; padding:2px 8px; border-radius:999px;
  color:#2a1a02; background:linear-gradient(135deg,#ffe6a0,#d99a27);
  border:1px solid rgba(255,235,180,.85); box-shadow:0 4px 13px rgba(217,154,39,.28);
  font-size:10px; font-weight:900; letter-spacing:.12em; line-height:1.5;
}
.dv2-stage.hero-globe { --dv2-globe-zoom:1.08; }
.dv2-stage.hero-globe canvas { touch-action:pan-y; }
.dv2-stage .hg-label { z-index:2; }
.dv2-status.ready i { background:#34d399; animation:none; box-shadow:0 0 0 4px rgba(52,211,153,.18); }
.dv2-hops.dv2-is-double { color:#ffe3a0; border-color:rgba(233,185,73,.65); }
.dv2-progress { position:absolute; z-index:4; left:0; right:0; bottom:0; height:3px; background:rgba(148,170,220,.15); }
.dv2-progress i { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#22d3ee,#3b82f6); }
.dv2-progress i.run { animation:dv2Fill var(--dv2-dwell,6s) linear forwards; }
@keyframes dv2Fill { to { transform:scaleX(1); } }
#hgShowcase.dv2-paused .dv2-progress i { animation-play-state:paused; }
.dv2-autoplay {
  position:absolute; z-index:5; right:16px; bottom:17px; width:40px; height:40px;
  display:grid; place-items:center; border-radius:50%; cursor:pointer;
  color:var(--dv2-text); background:rgba(5,9,20,.82); border:1px solid var(--dv2-border);
  backdrop-filter:blur(8px); transition:background .2s;
}
.dv2-autoplay:hover { background:rgba(255,255,255,.13); }
.dv2-autoplay .dv2-icon-play { display:none; }
.dv2-autoplay.is-paused .dv2-icon-pause { display:none; }
.dv2-autoplay.is-paused .dv2-icon-play { display:block; }
.dv2-caption { transition:border-color .25s,background .25s; }
.dv2-caption.dv2-double-caption {
  border-color:rgba(233,185,73,.62);
  background:linear-gradient(135deg,rgba(245,190,82,.12),var(--dv2-surface));
}
.dv2-caption.dv2-double-caption .dv2-cap-icon {
  color:#ffe3a0; background:rgba(245,190,82,.14); border-color:rgba(233,185,73,.55);
}
.dv2-caption.dv2-swap .dv2-cap-icon,
.dv2-caption.dv2-swap .dv2-cap-title,
.dv2-caption.dv2-swap .dv2-tier,
.dv2-caption.dv2-swap .dv2-cap-link { animation:dv2CapIn .4s ease both; }
@keyframes dv2CapIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.dv2-cap-title { display:grid; min-width:0; gap:2px; }
.dv2-cap-title strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv2-cap-title small { color:var(--dv2-faint); font-size:12px; }
.dv2-tier { padding:3px 9px; border-radius:999px; font-size:10.5px; font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.dv2-tier.guest { color:#a7f3d0; background:rgba(52,211,153,.14); border:1px solid rgba(52,211,153,.4); }
.dv2-tier.free { color:#a5f3fc; background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.4); }
.dv2-tier.pro { color:#ffe3a0; background:rgba(245,190,82,.14); border:1px solid rgba(233,185,73,.58); }
.dv2-chain { display:flex; align-items:center; gap:12px; }
.dv2-node { flex:1 1 0; min-width:0; display:grid; gap:1px; padding:10px 14px; border-radius:14px; background:var(--dv2-surface2); border:1px solid var(--dv2-border); }
.dv2-node.dv2-exit { border-color:rgba(34,211,238,.5); background:rgba(34,211,238,.08); }
.dv2-node.dv2-entry { border-color:rgba(129,140,248,.5); background:rgba(129,140,248,.08); }
.dv2-node .dv2-tag { color:var(--dv2-faint); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dv2-node.dv2-exit .dv2-tag { color:var(--dv2-accent); }
.dv2-node.dv2-entry .dv2-tag { color:#c7d2fe; }
.dv2-node strong { height:28px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:19px; line-height:28px; font-weight:700; }
.dv2-node small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--dv2-muted); font-size:13px; }
.dv2-chain-link { flex:none; display:flex; align-items:center; gap:4px; color:var(--dv2-accent); }
.dv2-chain-link i { width:32px; height:3px; border-radius:3px; background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 14px); background-size:28px 3px; animation:dv2Flow 1s linear infinite; }
@keyframes dv2Flow { to { background-position:28px 0; } }
.dv2-facts { display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:12px; padding-top:12px; border-top:1px solid var(--dv2-border); }
.dv2-facts span { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; }
.dv2-facts i { color:var(--dv2-accent); }
.dv2-facts small { color:var(--dv2-muted); font-size:12px; font-weight:600; }
.dv2-note { margin:0; color:var(--dv2-faint); font-size:13.5px; }
@media(max-width:620px) {
  .dv2-caption { grid-template-columns:auto minmax(0,1fr); gap:6px 12px; padding:12px 14px; }
  .dv2-cap-icon { grid-row:1 / span 2; }
  .dv2-tier { grid-column:2; justify-self:start; }
  .dv2-cap-link { grid-column:2; }
  .dv2-chain { flex-direction:column; align-items:stretch; gap:6px; }
  .dv2-chain-link { justify-content:center; transform:rotate(90deg); height:24px; }
  .dv2-chain-link i { width:24px; }
  .dv2-facts { gap:8px 14px; }
  .dv2-chip { padding-right:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .dv2-progress,.dv2-autoplay { display:none; }
  .dv2-chain-link i { animation:none; }
}
.dv2-chain-link .dv2-chain-line {
  display:block; width:32px; height:3px; border-radius:3px;
  background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 14px);
  background-size:28px 3px; animation:dv2Flow 1s linear infinite;
}
.dv2-chain-link .dv2-chain-arrow {
  display:block; width:auto; height:auto; background:none; font-size:15px;
}
@media(max-width:620px) { .dv2-chain-link .dv2-chain-line { width:24px; } }

/* Compact, centered Double VPN route carousel over the expanded globe. */
.dv2-showcase { gap:12px; }
.dv2-stage.hero-globe { height:clamp(390px,42vw,470px) !important; }
.dv2-stage.hero-globe .dv2-chips {
  position:absolute; z-index:6; left:0; right:0; bottom:12px;
  display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start;
  gap:10px; width:100%; padding:8px 0 10px; margin:0;
  overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.dv2-stage.hero-globe .dv2-chips::-webkit-scrollbar { display:none; }
.dv2-stage.hero-globe .dv2-chip {
  flex:0 0 31%; min-width:174px; max-width:224px; min-height:52px;
  justify-content:flex-start; padding:0 12px; gap:9px;
  scroll-snap-align:center; opacity:.32; transform:scale(.91);
  background:rgba(5,10,24,.88); border-width:1.5px;
  backdrop-filter:blur(12px); box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.dv2-stage.hero-globe .dv2-chip.is-near { opacity:.62; transform:scale(.96); }
.dv2-stage.hero-globe .dv2-chip.is-active {
  flex-basis:35%; opacity:1; transform:scale(1.045);
  border-color:#e9b949;
  background:linear-gradient(135deg,rgba(24,30,49,.97),rgba(13,21,39,.96));
  box-shadow:0 0 0 1px rgba(233,185,73,.2),0 10px 28px rgba(0,0,0,.4);
}
.dv2-stage.hero-globe .dv2-chip.dv2-double { border-color:rgba(233,185,73,.58); }
.dv2-stage.hero-globe .dv2-chip .dv2-code {
  min-width:36px; height:32px; font-size:17px; background:rgba(245,190,82,.12);
}
.dv2-stage.hero-globe .dv2-chip .dv2-chip-label { min-width:0; }
.dv2-stage.hero-globe .dv2-chip .dv2-chip-label > span {
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.dv2-stage.hero-globe .dv2-chip .dv2-chip-label small { font-size:10px; }
.dv2-stage.hero-globe .dv2-pro-badge { display:none !important; }
.dv2-stage.hero-globe .dv2-progress { bottom:0; }
.dv2-stage.hero-globe .dv2-autoplay { bottom:78px; }
@media(max-width:620px) {
  .dv2-stage.hero-globe { height:390px !important; }
  .dv2-stage.hero-globe .dv2-chips { bottom:8px; gap:8px; }
  .dv2-stage.hero-globe .dv2-chip { flex-basis:62%; min-width:190px; }
  .dv2-stage.hero-globe .dv2-chip.is-active { flex-basis:66%; }
  .dv2-stage.hero-globe .dv2-autoplay { bottom:76px; }
}

/* Original supplied 3-column feature-caption arrangement. */
.dv2-caption {grid-template-columns:auto minmax(0,1fr) auto; height:68px;}
.dv2-cap-title {display:flex; align-items:center; gap:10px;}
.dv2-cap-title small {display:none;}
.dv2-caption .dv2-tier {white-space:nowrap;}
@media(max-width:620px){.dv2-caption{height:auto;min-height:76px;grid-template-columns:auto minmax(0,1fr)}.dv2-caption .dv2-cap-title{flex-wrap:wrap}.dv2-caption .dv2-tier{grid-column:auto}.dv2-caption .dv2-cap-link{grid-column:2}}

/* Screenshot fix: match the originally supplied caption's single 68px row. */
.hero-section.dv2-hero #dv2Caption {
 display:grid !important; grid-template-columns:40px minmax(0,1fr) auto !important;
 align-items:center !important; column-gap:14px !important;
 height:68px !important; min-height:68px !important; padding:0 18px !important;
}
.hero-section.dv2-hero #dv2Caption .dv2-cap-title {
 display:flex !important; flex-flow:row nowrap !important; align-items:center !important;
 min-width:0 !important; column-gap:10px !important; overflow:hidden !important;
}
.hero-section.dv2-hero #dv2CapTitle {
 font-size:16px !important; font-weight:800 !important; color:#f4f7ff !important;
 min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important;
 white-space:nowrap !important;
}
.hero-section.dv2-hero #dv2CapTier {display:inline-flex !important; flex:none !important; grid-column:auto !important;}
.hero-section.dv2-hero #dv2CapLink {
 display:inline-flex !important; grid-column:3 !important; grid-row:1 !important;
 align-items:center !important; justify-self:end !important; white-space:nowrap !important;
 color:#22d3ee !important; font-size:14.5px !important; font-weight:800 !important;
}
.hero-section.dv2-hero #dv2Caption.dv2-double-caption {
 border-color:rgba(129,140,248,.5) !important;
 background:linear-gradient(135deg,rgba(129,140,248,.13),var(--dv2-surface)) !important;
}
.hero-section.dv2-hero #dv2Caption.dv2-double-caption .dv2-cap-icon {
 color:#c7d2fe !important; background:rgba(129,140,248,.16) !important;
 border-color:rgba(129,140,248,.45) !important;
}
.hero-section.dv2-hero #dv2CapTier.pro {color:#c7d2fe !important;background:rgba(129,140,248,.18) !important;border-color:rgba(129,140,248,.55) !important;}
.hero-section.dv2-hero .dv2-node strong {color:#f4f7ff !important;font-size:19px !important;font-weight:700 !important;}
.hero-section.dv2-hero .dv2-node.dv2-exit .dv2-tag {color:#22d3ee !important;}
.hero-section.dv2-hero .dv2-country-flag {display:inline-block !important;flex:none !important;width:22px !important;height:16px !important;object-fit:cover !important;border-radius:3px !important;vertical-align:middle !important;}
.hero-section.dv2-hero .dv2-chip .dv2-code .dv2-country-flag {width:25px !important;height:18px !important;}
.hero-section.dv2-hero .dv2-chip-label small .dv2-country-flag {width:15px !important;height:11px !important;}
.hero-section.dv2-hero .dv2-node small {display:flex !important;align-items:center !important;gap:4px !important;}
@media(max-width:620px){
 .hero-section.dv2-hero #dv2Caption {grid-template-columns:36px minmax(0,1fr) !important;grid-template-rows:auto auto !important;height:auto !important;min-height:92px !important;padding:10px 14px !important;row-gap:5px !important;}
 .hero-section.dv2-hero #dv2Caption .dv2-cap-icon {grid-row:1 / span 2 !important;}
 .hero-section.dv2-hero #dv2Caption .dv2-cap-title {grid-column:2 !important;grid-row:1 !important;}
 .hero-section.dv2-hero #dv2CapLink {grid-column:2 !important;grid-row:2 !important;justify-self:start !important;}
}

/* Route pins are already identified in the chain below; hide the tiny dark map labels. */
.hero-section.dv2-hero #hgShowcase .dv2-stage > .hg-label:not(.is-you) { display:none !important; }
.hero-section.dv2-hero .hg-label.is-you.is-vpn { border-color:rgba(52,211,153,.62) !important; }
.hero-section.dv2-hero .hg-label.is-you.is-vpn span { color:#6ee7b7 !important; }
.hero-section.dv2-hero .dv2-protection-status { display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#9ca3af; }
.hero-section.dv2-hero .dv2-protection-status.is-verified { color:#6ee7b7; }
.hero-section.dv2-hero .dv2-protection-status a { color:#22d3ee;text-decoration:underline;text-underline-offset:3px; }

/* Homepage hero: fit the real content into a shorter phone viewport. */
@media (max-width: 767px) {
  /* main.css gives every .hero-section a 100vh minimum and vertical centring.
     On phones this leaves an empty band above the actual hero copy. */
  .hero-section.dv2-hero {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 34px 0 38px !important;
  }
  .hero-section.dv2-hero .dv2-grid { gap: 24px; }
  .dv2-title { margin-top: 18px !important; }
  .dv2-sub { margin-top: 16px !important; font-size: 15px !important; line-height: 1.52 !important; }
  .dv2-cta { margin-top: 20px; gap: 10px; }
  .dv2-btn { min-height: 50px; padding-inline: 18px; font-size: 14px; }
  .dv2-ticks { margin-top: 19px !important; gap: 9px 15px; }
  .dv2-ticks li { font-size: 12px; }
  .dv2-trust { margin-top: 22px; padding-top: 17px; gap: 10px 16px; }
  .dv2-trust span { font-size: 11px; gap: 7px; }
  .dv2-stage.hero-globe { height: clamp(250px, 72vw, 305px) !important; border-radius: 20px; }
  .dv2-caption { min-height: 84px; }
  .dv2-route { padding: 12px; border-radius: 16px; }
  .dv2-facts { gap: 7px 12px; }
  .dv2-facts span { font-size: 11.5px; }
  .dv2-note { font-size: 11px; }
}
@media (max-width: 520px) {
  .dv2-ticks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dv2-ticks li { align-items: flex-start; line-height: 1.35; }
  .dv2-live { max-width: 100%; gap: 8px; padding-right: 10px; font-size: 11px; }
  .dv2-live b { padding-inline: 9px; font-size: 10px; }
  .dv2-title { font-size: clamp(48px, 12.8vw, 66px) !important; }
  .dv2-btn { width: auto; flex: 1 1 0; padding-inline: 10px; font-size: 12.5px; }
  .dv2-chip { min-height: 40px; padding-inline: 7px 12px; font-size: 12px; }
}


/* Mobile route summary: keep the visitor and exit countries in one clear row. */
@media (max-width: 620px) {
    .hero-section.dv2-hero .dv2-chain {
        display:flex !important; flex-direction:row !important;
        align-items:stretch !important; flex-wrap:nowrap !important;
        gap:6px !important; width:100%; overflow:hidden;
    }
    .hero-section.dv2-hero .dv2-node {
        flex:1 1 0 !important; min-width:0 !important;
        padding:8px 8px !important; border-radius:11px !important;
    }
    .hero-section.dv2-hero .dv2-node .dv2-tag { font-size:9px !important; letter-spacing:.07em; }
    .hero-section.dv2-hero .dv2-node strong { min-height:20px !important; height:20px !important; font-size:12px !important; line-height:20px !important; }
    .hero-section.dv2-hero .dv2-node small { font-size:9px !important; gap:3px !important; }
    .hero-section.dv2-hero .dv2-node small .dv2-country-flag { width:12px !important; height:9px !important; }
    .hero-section.dv2-hero .dv2-chain-link {
        flex:0 0 16px !important; width:16px; height:auto !important;
        justify-content:center !important; align-self:center;
        transform:none !important; gap:0 !important;
    }
    .hero-section.dv2-hero .dv2-chain-link .dv2-chain-line { width:8px !important; height:2px; }
    .hero-section.dv2-hero .dv2-chain-link .dv2-chain-arrow { font-size:9px !important; }
    .hero-section.dv2-hero .dv2-route { padding:10px !important; }
}


/* 2026-11-01 mobile route chips and rotating tool caption. */
@media (max-width:620px) {
  .dv2-stage.hero-globe .dv2-chips {
    left:7px !important; right:7px !important; width:auto !important;
    gap:7px !important; padding-inline:0 !important;
  }
  .dv2-stage.hero-globe .dv2-chip {
    flex:0 0 33% !important; min-width:112px !important; max-width:148px !important;
    min-height:44px !important; padding:0 8px !important; gap:6px !important;
  }
  .dv2-stage.hero-globe .dv2-chip.is-active {
    flex-basis:36% !important; min-width:124px !important; max-width:158px !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-code {
    min-width:29px !important; width:29px !important; height:28px !important;
    font-size:13px !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-chip-label > span {
    font-size:10px !important; line-height:1.2 !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-chip-label small { font-size:8px !important; }
  .hero-section.dv2-hero #dv2Caption {
    min-height:68px !important; padding:8px 10px !important;
    column-gap:8px !important; row-gap:4px !important;
  }
  .hero-section.dv2-hero #dv2Caption .dv2-cap-title strong {
    font-size:14px !important; line-height:1.2 !important;
  }
  .hero-section.dv2-hero #dv2Caption .dv2-tier { font-size:9px !important; padding:3px 6px !important; }
  .hero-section.dv2-hero #dv2CapLink { font-size:10px !important; }
}


/* Compact mobile route chips and tool caption; touch scroll is not intercepted. */
@media (max-width:620px) {
  .dv2-stage.hero-globe .dv2-chips {
    left:6px !important; right:6px !important; width:auto !important;
    gap:5px !important; padding-inline:0 !important;
    overflow-x:auto !important; overscroll-behavior-x:contain;
  }
  .dv2-stage.hero-globe .dv2-chip {
    flex:0 0 20% !important; min-width:64px !important; max-width:78px !important;
    min-height:34px !important; padding:0 5px !important; gap:4px !important;
    border-radius:10px !important;
  }
  .dv2-stage.hero-globe .dv2-chip.is-active {
    flex-basis:22% !important; min-width:70px !important; max-width:88px !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-code {
    min-width:21px !important; width:21px !important; height:21px !important;
    font-size:10px !important; border-radius:7px !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-chip-label > span {
    font-size:9px !important; line-height:1.15 !important;
  }
  .dv2-stage.hero-globe .dv2-chip .dv2-chip-label small { font-size:7px !important; }
  .hero-section.dv2-hero #dv2Caption {
    min-height:58px !important; padding:6px 8px !important;
    column-gap:6px !important; row-gap:3px !important;
  }
  .hero-section.dv2-hero #dv2Caption .dv2-cap-icon {
    width:26px !important; height:26px !important; font-size:12px !important;
  }
  .hero-section.dv2-hero #dv2Caption .dv2-cap-title strong {
    font-size:12px !important; line-height:1.2 !important;
  }
  .hero-section.dv2-hero #dv2Caption .dv2-tier { font-size:8px !important; padding:2px 5px !important; }
  .hero-section.dv2-hero #dv2CapLink { font-size:9px !important; gap:4px !important; }
  .hero-section.dv2-hero .hero-globe canvas { touch-action:pan-y !important; }
}
