/* 小胖VPN design tokens — pale aqua + dusty teal + deep navy. No electric blue. */
:root{--navy:#0b2054;--ink:#233752;--muted:#607688;--accent:#659dac;--accent-deep:#457f8e;--accent-soft:#dceef1;--aqua:#e6f9fb;--mist:#f6fbfb;--line:#dde9ed;--white:#fff;--shadow:0 12px 40px rgba(30,70,87,.055);--radius:20px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--navy);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%}
h1,h2,h3,p{margin:0}
p{line-height:1.8;color:var(--muted)}
h1,h2,h3{font-weight:780;letter-spacing:-.03em}
h1{font-size:clamp(2.45rem,4.7vw,4.35rem);line-height:1.19}
h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.28}
h3{font-size:1.22rem}
svg{flex-shrink:0}
.container{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}
.header{background:rgba(255,255,255,.97);border-bottom:1px solid #e9f2f3;position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}
.header-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:22px;font-weight:850;color:var(--navy)}
.brand img{background:#fff;border-radius:50%;border:1px solid #e9eff0;object-fit:cover;width:42px;height:42px}
.navigation{display:flex;align-items:center;gap:20px}
.navigation a{color:#62778a;font-size:13px;padding:12px 2px;position:relative;font-weight:650}
.navigation a.active,.navigation a:hover{color:var(--navy)}
.navigation a.active:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--accent);border-radius:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 25px;border-radius:12px;background:var(--accent-deep);color:#fff;font-weight:750;font-size:14px;white-space:nowrap;border:1px solid var(--accent-deep);transition:background .2s,transform .2s}
.btn:hover{background:#386977;transform:translateY(-1px)}
.btn.outline{color:var(--accent-deep);background:#fff;border-color:#bcd9e0}
.btn.outline:hover{background:var(--aqua)}
.nav-cta{padding:9px 18px;min-height:40px;font-size:12px}
.menu{display:none;border:0;background:transparent;color:var(--navy);padding:7px}
.hero{background:linear-gradient(105deg,#fff 2%,#f6fbfc 41%,#e8f8fa 100%);overflow:hidden;position:relative}
.hero:before{content:'';position:absolute;right:-11%;top:-44%;width:67%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#d9f1f4 5%,transparent 68%)}
.hero-inner{display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:30px;min-height:500px;position:relative}
.hero-inner.hero-centered{display:block;text-align:center;min-height:350px;padding-top:60px;padding-bottom:60px}
.hero-centered .hero-text{max-width:760px;margin:0 auto}
.hero-text{padding:65px 0}
.hero-text h1{margin-bottom:20px}
.hero-text h1 span{color:var(--accent-deep)}
.hero-text>p{max-width:510px;margin-bottom:26px;font-size:16px}
.hero-centered .hero-text>p{margin-left:auto;margin-right:auto}
.eyebrow{font-size:12px;color:var(--accent-deep);font-weight:850;letter-spacing:.10em;display:inline-block;margin-bottom:16px}
.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hero-centered .button-row{justify-content:center}
.section{padding:83px 0}
.section.tinted,.tinted{background:linear-gradient(120deg,#faffff,#eaf7f9)}
.section-title{text-align:center;max-width:760px;margin:0 auto 38px}
.section-title h2{margin-bottom:11px}
.section-title p{font-size:14px}
.section-title .eyebrow{margin-bottom:10px}
.updated{display:block;text-align:center;font-size:12px;color:#8a9aa2;margin-top:10px}
.final-cta{border-radius:22px;background:linear-gradient(113deg,#e4f5f8,#f4fcfd,#e4f5f8);border:1px solid #d3e8ed;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px;margin-bottom:75px;padding-top:40px;padding-bottom:40px;position:relative;overflow:hidden}
.final-cta:after{content:'';position:absolute;width:290px;height:290px;right:9%;bottom:-260px;background:#bbdfe7;border-radius:50%}
.final-cta h2{font-size:1.7rem;margin-bottom:8px}
.final-cta p{font-size:13px}
.final-cta>.btn{position:relative;z-index:1;flex-shrink:0}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;margin-top:-10px;position:relative;box-shadow:var(--shadow)}
.feature-strip-item{padding:23px 18px;display:flex;align-items:center;gap:12px}
.feature-strip-item:not(:last-child){border-right:1px solid var(--line)}
.feature-strip-item>span,.icon-circle{color:var(--accent-deep);background:#e5f2f5;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;flex-shrink:0}
.feature-strip-item strong,.feature-strip-item small{display:block}
.feature-strip-item strong{font-size:14px}
.feature-strip-item small{font-size:11px;color:var(--muted);margin-top:4px}
.platform-inline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.platform-inline>a{padding:20px 11px;display:flex;align-items:center;flex-direction:column;gap:9px;border:1px solid var(--line);background:#fff;border-radius:15px;transition:transform .2s,border-color .2s}
.platform-inline>a:hover{transform:translateY(-3px);border-color:var(--accent)}
.platform-mark{color:var(--accent-deep);display:grid;place-items:center;height:34px}
.platform-inline strong{font-size:15px}
.platform-inline small{color:var(--muted);font-size:11px}
.use-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.use-tile{display:block;background:white;border:1px solid var(--line);border-radius:19px;padding:19px;min-height:224px;transition:border-color .2s,transform .2s}
.use-tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.use-icon{display:grid;place-items:center;background:linear-gradient(115deg,#e4f5f8,#f5f8f9);width:100%;height:90px;border-radius:15px;color:var(--accent-deep);margin-bottom:20px}
.use-tile h3{font-size:17px;margin-bottom:7px}
.use-tile p{font-size:12px;min-height:47px}
.text-link{color:var(--accent-deep);display:inline-flex;gap:7px;align-items:center;font-weight:750;font-size:13px;margin-top:15px}
.text-link:hover{text-decoration:underline}
.diagram-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);align-items:center;gap:42px}
.diagram-section h2{margin-bottom:13px}
.diagram-section p{font-size:14px}
.network-diagram{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:20px;padding:28px 22px;background:linear-gradient(120deg,#edf9fa,#fbfefe);border:1px solid #dfeef0}
.network-diagram>div:not(.diagram-connector){display:flex;flex-direction:column;align-items:center;text-align:center;min-width:88px}
.diagram-icon{width:75px;height:75px;border-radius:20px;display:grid;place-items:center;background:#fff;color:var(--accent-deep);box-shadow:var(--shadow);margin-bottom:12px}
.diagram-secure{background:#d7edf1}
.network-diagram strong{font-size:13px}
.network-diagram small{font-size:10px;color:var(--muted);margin-top:5px}
.diagram-connector{color:#81b8c3;display:flex;align-items:center;gap:2px;flex:1 1 0;min-width:0;overflow:hidden;justify-content:center}
.diagram-connector span{letter-spacing:2px}
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.step-block{border:1px solid var(--line);background:white;border-radius:18px;padding:25px 19px;display:flex;gap:17px;align-items:flex-start;min-height:118px}
.step-block>b{font-size:22px;background:#e0f1f4;color:var(--accent-deep);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;flex-shrink:0}
.step-block strong{font-size:16px}
.step-block p{font-size:12px;margin-top:8px}
.steps-large .step-block{min-height:176px}
.home-pricing,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-plan,.pricing-card{border:1px solid var(--line);border-radius:18px;background:white;padding:28px;position:relative}
.home-plan.featured,.pricing-card.featured{border:2px solid #9ec9d2;background:linear-gradient(160deg,#fff,#eff8f9)}
.home-plan>span{color:var(--accent-deep)}
.home-plan h3{margin:18px 0 5px}
.home-plan p{font-size:13px}
.home-plan strong{font-size:13px;color:var(--accent-deep);display:flex;align-items:center;gap:7px;margin-top:20px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.copy h2{margin-bottom:15px}
.copy p{font-size:15px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card{display:flex;gap:18px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:147px}
.feature-card h3{font-size:16px;margin:6px 0 9px}
.feature-card p{font-size:12px}
.art-box{height:310px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#d5eef2,#f7fcfc 68%);border-radius:27px;border:1px solid var(--line);color:#6da9b6}
.art-earth{position:relative;width:230px;height:230px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f6ffff,#cde8ed);box-shadow:0 0 0 20px #cce9ee50}
.orbit-dot{position:absolute;width:12px;height:12px;background:#6ca9b8;border:3px solid white;border-radius:50%}
.d1{left:21%;top:10%}
.d2{right:7%;top:31%}
.d3{left:10%;bottom:27%}
.d4{right:21%;bottom:8%}
.art-label{position:absolute;background:white;display:flex;gap:7px;align-items:center;padding:9px 13px;border-radius:12px;box-shadow:var(--shadow);font-size:11px;font-weight:700;color:var(--accent-deep)}
.art-label-l{left:18px;top:48px}
.art-label-r{right:20px;bottom:50px}
.shield-rings,.speed-meter{display:grid;place-items:center;background:#e0f3f6;border-radius:50%;width:230px;height:230px;box-shadow:0 0 0 18px #e0f3f659}
.unverified{color:#5f7079}
.filter-tabs{display:flex;gap:9px;flex-wrap:wrap}
.filter-tabs button,.billing-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;color:#5d6f80;padding:10px 16px;font-size:12px;font-weight:700}
.filter-tabs button.active,.billing-tabs button.selected{background:var(--accent-deep);border-color:var(--accent-deep);color:white}
.faq-search{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--accent-deep);max-width:360px}
.faq-search input{background:transparent;border:none;min-width:0;outline:0;font-size:13px;width:100%;color:var(--navy)}
.faq-wrap{max-width:950px}
.faq-component>.faq-search{max-width:none;margin-bottom:15px}
.faq-component>.filter-tabs{margin-bottom:22px}
.faq-list{display:grid;gap:9px}
.faq-entry{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden}
.faq-entry>button{border:0;background:white;width:100%;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;color:var(--navy);font-weight:750;font-size:14px}
.faq-entry>button svg{flex-shrink:0;transition:transform .2s}
.faq-entry.expanded>button svg{transform:rotate(180deg)}
.faq-entry>p{border-top:1px solid #edf3f4;background:#fbfefe;padding:17px 20px;font-size:13px;display:none}
.faq-entry.expanded>p{display:block}
.empty{padding:30px;text-align:center}
.platform-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}
.platform-tabs button{border:1px solid var(--line);background:white;border-radius:13px;padding:19px 8px;font-size:14px;font-weight:750;color:var(--muted)}
.platform-tabs button.selected{border:2px solid var(--accent);color:var(--navy);background:var(--aqua)}
.selected-platform{background:linear-gradient(116deg,#f1fafb,#fff);border:1px solid var(--line);padding:30px;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.selected-platform[hidden]{display:none}
.selected-platform h3{font-size:25px;margin-bottom:15px}
.selected-platform p{font-size:13px;margin:8px 0}
.selected-platform .btn{margin-top:18px}
.selected-platform-guides{border-left:1px solid #d8e8ed;padding-left:25px}
.selected-platform-guides>strong{font-size:16px}
.selected-platform-guides p{display:flex;align-items:flex-start;gap:11px}
.selected-platform-guides p b{flex-shrink:0;background:#d6eaf0;color:var(--accent-deep);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:12px;color:#3c6b78}
.platform-mini-links{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}
.platform-mini-links a{display:inline-flex;align-items:center;gap:5px;color:var(--accent-deep);padding:8px 11px;border:1px solid var(--line);border-radius:9px;font-size:12px}
.download-action{display:flex;align-items:flex-start;flex-direction:column;gap:15px;margin-top:20px}
.download-action .fineprint{margin-top:0}
.fineprint{color:#5f7079;font-size:11px;line-height:1.8;margin-top:15px}
.fineprint.centered{text-align:center}
.meta-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.meta-tags span{display:flex;align-items:center;gap:5px;font-size:11px;color:#566d78}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.simple-card{background:white;border:1px solid var(--line);border-radius:20px;padding:33px}
.simple-card h2{font-size:23px;margin-bottom:24px}
.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0;font-size:13px}
.detail-list dt,.detail-list dd{padding:16px 4px;border-bottom:1px solid var(--line);margin:0}
.detail-list dt{color:var(--muted)}
.check-list{margin:0;padding:0;list-style:none;display:grid;gap:24px}
.check-list li{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.check-list svg{color:var(--accent-deep);width:20px}
.install-grid{grid-template-columns:repeat(2,1fr)}
.pending-list{gap:14px}
.pending-list svg{color:#9ab0b9}
.footer-bottom a:hover{color:var(--navy)}
.backline{padding-top:30px;display:flex}
.backline a{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--accent-deep)}
.pricing-card{min-height:320px;display:flex;flex-direction:column;gap:17px}
.price-head h3{font-size:22px;margin-bottom:7px}
.price-head p{font-size:12px}
.price-number{font-size:30px;font-weight:800}
.price-number small{font-size:12px;color:var(--muted)}
.pricing-card ul{padding:0;margin:0;list-style:none;display:grid;gap:12px}
.pricing-card li{font-size:13px;color:var(--muted);display:flex;align-items:start;gap:7px}
.pricing-card li svg{color:var(--accent-deep);flex-shrink:0}
.popular{position:absolute;right:16px;top:-13px;background:var(--accent-deep);color:white;border-radius:15px;padding:6px 12px;font-size:11px}
.pending-note{background:#edf3f4;color:#4c6773;border:1px solid #cfdfe1;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;font-size:13px;font-weight:750}
.billing-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:24px}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.trust-row>div{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}
.trust-row svg{grid-row:span 2;width:42px;height:42px;color:var(--accent-deep)}
.trust-row strong{font-size:14px}
.trust-row p{font-size:12px}
.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0;width:100%;border:1.5px solid var(--line);border-radius:16px;padding:22px;background:#fff;color:var(--navy);font:inherit;text-align:left;cursor:pointer;transition:border-color .25s ease,border-width .25s ease,transform .25s ease,box-shadow .25s ease,background .25s ease}
.mode-card:hover{border-color:var(--accent);background:var(--mist);transform:translateY(-2px);box-shadow:0 4px 16px rgba(69,127,142,.10)}
.mode-card.chosen{border:2px solid var(--accent-deep);background:var(--mist);transform:translateY(-3px);box-shadow:0 8px 28px rgba(69,127,142,.18)}
.mode-card.chosen .mode-picture{background:var(--accent-deep)}
.mode-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.mode-picture{display:grid;place-items:center;width:58px;height:58px;border-radius:12px;background:var(--aqua);transition:background .25s ease}
.mode-emoji{font-size:28px}
.mode-card strong{font-size:17px}
.mode-card p{color:var(--muted);font-size:13px;line-height:1.7;flex:1}
.mode-more{display:flex;align-items:center;gap:7px;color:var(--accent-deep);font-weight:700;font-size:13px}
.mode-more svg{transition:transform .25s ease}
.mode-card.chosen .mode-more svg{transform:rotate(90deg)}
.advice-callout{display:none;flex-direction:column;gap:5px;width:100%;padding:13px 15px 14px;background:var(--accent-soft);border-radius:12px;border:1px solid rgba(69,127,142,.2);border-left:3px solid var(--accent-deep)}
.advice-label{font-size:10px;font-weight:850;letter-spacing:.09em;color:var(--accent-deep);text-transform:uppercase}
.advice-text{font-size:13px;color:var(--ink);line-height:1.65}
.mode-card.chosen .advice-callout{display:flex;animation:adviceReveal .28s cubic-bezier(.4,0,.2,1) both}
@keyframes adviceReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.advice-panel{background:#e9f7f8;border:1px solid #cbdfe4;border-radius:16px;padding:26px;display:flex;align-items:center;gap:18px;margin-top:20px}
.advice-panel[hidden]{display:none}
.advice-panel>svg{color:var(--accent-deep);flex-shrink:0}
.advice-panel>div{flex:1}
.advice-panel b{font-size:14px}
.advice-panel p{font-size:13px;color:#55697a}
.notice{display:flex;gap:9px;align-items:center;font-size:12px;padding:15px;background:#f2fafb;border-radius:12px}
.legal-page{background:#fff;padding:60px 0 84px}
.legal-body{max-width:720px;margin:0 auto}
.legal-body h1{font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.32;letter-spacing:-.02em;margin:0 0 8px}
.legal-body .updated{display:block;text-align:left;margin:0 0 24px;color:#5e717c}
.legal-body .legal-intro{font-size:15px;line-height:1.85;padding-bottom:6px;border-bottom:1px solid var(--line)}
.legal-body h2{font-size:1.1rem;margin:30px 0 10px}
.legal-body p{font-size:14px;line-height:1.9}
@media(max-width:620px){.legal-page{padding:40px 0 60px}.legal-body h2{margin:26px 0 9px}}
.footer{background:#f5fafa;border-top:1px solid #e2eeef;padding:55px 0 24px}
.footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:45px}
.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:13px}
.footer-main h3{font-size:14px;margin:6px 0}
/* Slightly darker than --muted: on the footer's tinted background --muted
   lands at 4.49:1, just under AA. Brand tokens themselves are untouched. */
.footer-main a:not(.brand),.footer-main span{font-size:12px;color:#55697a}
.footer-main a:not(.brand):hover{color:var(--navy)}
.footer-main p{font-size:12px;margin-top:14px;color:#55697a}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;margin-top:34px;border-top:1px solid var(--line);font-size:11px;color:#5e717c}

/* Coded illustrations — the reference screenshots are never rendered as a single image. */
.hero-visual{height:410px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.orbit{position:absolute;border:1px solid #b8dee6;border-radius:50%;pointer-events:none}
.orbit.one{width:360px;height:360px;right:10%;top:15px;background:radial-gradient(circle,#d4eff3,transparent 68%);transform:rotate(20deg);z-index:-1}
.orbit.two{width:460px;height:270px;right:0;top:50px;transform:rotate(-22deg);z-index:-1}
.orbit-globe{position:absolute;right:4%;top:5%;height:310px;width:310px;stroke:#98ccd5;stroke-width:.6;opacity:.52;z-index:-1}
.orbit-badge{position:absolute;right:1%;top:15%;width:49px;height:49px;stroke:#5d9eae;z-index:0}
.device-laptop{position:relative;width:75%;margin-top:35px;z-index:1}
.laptop-display{border:13px solid #233b4d;border-radius:16px 16px 7px 7px;overflow:hidden;aspect-ratio:1.62;background:#d8f2f6;box-shadow:0 16px 38px #53778335}
.laptop-base{height:12px;background:linear-gradient(180deg,#aebec6,#738d9a);border-radius:2px 2px 35px 35px;margin:0 -18px}
.device-phone{position:absolute;right:2%;bottom:24px;width:25%;height:57%;border:9px solid #263746;border-radius:22px;background:#eaf7fa;overflow:hidden;box-shadow:0 10px 25px #53778335;z-index:3}
.device-phone .screen-ui{height:100%}
.screen-ui{height:100%;background:linear-gradient(125deg,#f7ffff,#e9f8fa);color:var(--navy);display:flex;flex-direction:column;padding:9px}
.screen-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.screen-dots{font-size:7px;letter-spacing:3px;color:#a8d3dc}
.screen-app{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;white-space:nowrap}
.screen-app img{border-radius:50%;background:white;width:20px;height:20px}
.screen-body{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;gap:8px}
.screen-body strong{font-size:11px}
.power-halo{width:83px;height:83px;background:#d7eff3;border-radius:50%;border:9px solid #eafafb;display:grid;place-items:center;color:var(--accent-deep)}
.power-halo svg{background:#91c2cc;color:white;border-radius:50%;padding:10px;width:60px;height:60px}
.status-text{font-size:9px;color:#5f7079}
.server-strip{font-size:10px;color:#577d8a;background:#fff;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:9px;margin-top:3px}
.screen-ui.small{padding:5px}
.screen-ui.small .screen-dots,.screen-ui.small .screen-top>svg{display:none}
.screen-ui.small .screen-app{font-size:6px;gap:3px}
.screen-ui.small .screen-app img{width:14px;height:14px}
.screen-ui.small .power-halo{width:57px;height:57px;border-width:6px}
.screen-ui.small .power-halo svg{width:40px;height:40px;padding:7px}
.screen-ui.small .server-strip{font-size:6px;padding:5px;gap:3px}
.screen-ui.small .server-strip svg{width:9px}
.screen-ui.small .screen-body strong,.screen-ui.small .status-text{font-size:7px}
.floating-note{position:absolute;background:#fff;border-radius:17px;padding:13px;color:#75aab6;box-shadow:var(--shadow);z-index:2}
.note-a{top:26px;left:9%}
.note-b{right:10%;bottom:5px}
.platform-graphic{min-height:360px;position:relative;display:grid;place-items:center}
/* Each download page ships its own SVG composition; it scales with the column. */
.os-art{display:block;width:100%;max-width:540px;height:auto}
.pg-orb{width:75%;height:75%;border-radius:50%;background:radial-gradient(circle,#cdeaf1,transparent 69%);position:absolute}
.illustrated-laptop{border:12px solid #263b4c;border-radius:17px;width:73%;max-width:440px;aspect-ratio:1.5;overflow:hidden;box-shadow:0 16px 30px #28475a24;z-index:1}
.illustrated-phone{border:12px solid #263b4c;border-radius:26px;width:45%;height:310px;max-width:210px;overflow:hidden;box-shadow:0 16px 30px #28475a24;z-index:1}
.illustrated-phone .screen-ui{height:100%}

@media(max-width:1020px){.navigation{gap:10px}
.navigation a{font-size:12px}
.nav-cta{display:none}
.hero-inner{grid-template-columns:1fr 1fr;gap:10px}
.hero-visual{height:360px}
.feature-strip{grid-template-columns:repeat(2,1fr)}
.feature-strip-item:nth-child(2){border-right:0}
.feature-strip-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
.split{gap:30px}
.footer-main{gap:18px}
/* The diagram keeps full desktop metrics down to 760px otherwise, which
   overflows the page at tablet widths. Compact it from 1020px instead. */
.diagram-section{grid-template-columns:1fr;gap:28px}
.network-diagram{padding:18px 12px}
.diagram-icon{width:56px;height:56px;border-radius:16px}
.diagram-icon svg{width:28px;height:28px}
.network-diagram>div:not(.diagram-connector){min-width:68px}
.diagram-connector span{display:none}
.install-grid{grid-template-columns:1fr}
}

@media(max-width:760px){.container{padding-left:18px;padding-right:18px}
.header-row{height:67px}
.brand{font-size:19px}
.brand img{width:37px;height:37px}
.menu{display:block}
.navigation{display:none;position:absolute;top:67px;left:0;right:0;flex-direction:column;align-items:stretch;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:0}
.navigation.show{display:flex}
.navigation a{padding:13px;font-size:14px}
.navigation a.active:after{display:none}
.hero-inner{grid-template-columns:1fr;gap:0;min-height:0}
.hero-text{padding:47px 0 10px}
.hero-text>p{font-size:14px}
.hero-visual{height:330px}
.hero-inner.hero-centered{min-height:0;padding-top:10px;padding-bottom:18px}
.section{padding:61px 0}
.section-title{margin-bottom:28px}
.platform-inline{grid-template-columns:repeat(2,1fr)}
.platform-inline>a:last-child{grid-column:1/-1}
.use-grid,.feature-grid,.pricing-grid,.home-pricing,.steps-row{grid-template-columns:1fr 1fr}
.install-grid{grid-template-columns:1fr}
.diagram-section,.split,.two-col,.selected-platform{grid-template-columns:1fr;gap:25px}
.selected-platform-guides{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}
.network-diagram{padding:15px 10px}
.diagram-icon{width:45px;height:45px;border-radius:13px}
.diagram-icon svg{width:25px}
.network-diagram>div:not(.diagram-connector){min-width:60px}
.diagram-connector span{display:none}
.platform-tabs{grid-template-columns:repeat(3,1fr)}
.feature-strip-item{padding:15px 10px}
.feature-strip-item small{font-size:10px}
.trust-row{grid-template-columns:1fr}
.footer-main{grid-template-columns:repeat(2,1fr);row-gap:33px}
.final-cta{flex-direction:column;align-items:flex-start;margin-bottom:55px;padding-top:30px;padding-bottom:30px}
.footer-bottom{flex-direction:column}
.platform-graphic{min-height:300px}
}

@media(max-width:500px){h1{font-size:2.45rem}
.hero-visual{height:270px}
.hero-text h1{font-size:2.4rem}
.hero-visual .orbit.one{width:250px;height:250px}
.hero-visual .orbit.two{width:290px}
.orbit-globe{height:220px;width:220px}
.device-laptop{width:75%}
.use-grid,.feature-grid,.pricing-grid,.home-pricing,.steps-row{grid-template-columns:1fr}
.feature-strip{grid-template-columns:1fr 1fr}
.feature-strip-item{gap:8px}
.feature-strip-item>span{width:35px;height:35px}
.feature-strip-item strong{font-size:11px}
.platform-tabs{grid-template-columns:repeat(2,1fr)}
.network-diagram{overflow-x:auto;justify-content:flex-start}
.network-diagram>div:not(.diagram-connector){min-width:70px}
.steps-row .step-block{min-height:100px}
.selected-platform h3{font-size:20px}
.selected-platform{padding:20px}
.section-title h2{font-size:1.6rem}
.footer-main{gap:19px}
.art-box{height:270px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.advice-callout{animation:none!important;transition:none!important}
.btn,.mode-card,.mode-picture,.mode-more svg,.navigation a,.platform-inline>a,.use-tile{transition:none!important}
}

/* /vpn-for-you/ scenario cards — inline advice anchored to each card */
@media(max-width:850px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.mode-grid{grid-template-columns:1fr}.mode-card{padding:18px}}

/* Pricing cards now carry real figures: a term line that keeps its slot on all
   three cards, and a full-width CTA into the internal download page. */
.price-term{font-size:12px;color:var(--muted);min-height:17px;line-height:1.4}
.pricing-card .btn{width:100%}
/* Platform pages: the system/file table was removed, so the remaining tips card
   is centred instead of sitting in a half-width column. */
.usage-card{max-width:720px;margin:0 auto}
/* Centred heroes: at 1440 a 68px H1 needs more than 760px and broke mid-word on
   Pricing, Download and 适合我. Width only — type and copy are unchanged. */
@media(min-width:1200px){.hero-centered .hero-text{max-width:1100px}
.hero-centered .hero-text h1{width:max-content;max-width:100%;margin-left:auto;margin-right:auto}}

/* The longer partner CTA label made the Plus/Premium columns claim extra width
   at ~768px, leaving 免费版 visibly narrower. Pin the tracks to equal widths and
   trim the CTA's side padding so the label still fits on one line there.
   This restores the approved three-equal-cards layout; nothing else changes. */
@media(min-width:761px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
