*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.65 var(--body-font);color:var(--ink);background:radial-gradient(ellipse 90% 50% at 15% -10%,rgba(59,130,246,.14),transparent),radial-gradient(ellipse 70% 40% at 100% 0,rgba(201,124,225,.09),transparent),var(--page)}h1,h2,h3,h4,p,ul,figure{margin:0}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}h1{font-size:var(--title-size);font-weight:700}h2{font-size:var(--section-title-size)}h3{font-size:1.2rem}p{color:var(--muted)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img,svg{display:block;max-width:100%}ul{padding:0;list-style:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}main:focus{outline:none}.container{width:100%;max-width:var(--content-width);padding:0 var(--gutter);margin:0 auto}.skip-link{position:fixed;top:8px;left:12px;z-index:300;padding:12px 18px;background:white;border-radius:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;height:var(--header-height);z-index:100;display:flex;align-items:center;background:rgba(248,250,252,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;line-height:1.2;font-weight:750;white-space:nowrap;letter-spacing:-.025em}.brand-logo{width:32px;height:32px;object-fit:contain}.brand .brand-cn{font-size:.78rem;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:3px}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a,.nav-link-button{font-size:.94rem;font-weight:500;color:var(--muted);padding:0;position:relative;transition:color var(--motion-hover)}.nav-links a:hover,.nav-link-button:hover{color:var(--ink)}.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a:after{content:"";height:2px;position:absolute;left:0;right:0;bottom:-25px;background:var(--brand-gradient);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--ease-ui)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-right{display:flex;gap:14px;align-items:center}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:10px}.nav-toggle svg{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 28px;border-radius:var(--radius-pill);font-size:.96rem;font-weight:600;border:1px solid transparent;line-height:1.65;white-space:nowrap;transition:transform var(--motion-hover),box-shadow var(--motion-hover),background var(--motion-hover),color var(--motion-hover),opacity var(--motion-hover)}.btn-primary{background:var(--action-gradient);color:#fff;box-shadow:var(--button-shadow)}.btn-primary:hover{transform:translateY(-2px)}.btn-outline{background:rgba(255,255,255,.65);border-color:var(--line-strong);color:var(--ink)}.btn-outline:hover{color:#0369a1;border-color:var(--cyan);background:#fff}.btn-small{font-size:.86rem;padding:9px 18px;min-height:44px}.btn svg{width:17px;height:17px;flex:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:#0369a1;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.25);padding:6px 14px;border-radius:var(--radius-pill)}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan)}.gradient-text{background:var(--text-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}section{padding:var(--section-space) 0}.hero{padding:84px 0 60px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.hero-copy h1{margin:18px 0 20px}.hero-copy p{font-size:1.08rem;max-width:560px;text-wrap:balance}.hero-copy h1 .headline-line{display:block}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.hero-art{position:relative;min-width:0}.hero-art img,.hero-art svg{width:100%;height:auto;filter:drop-shadow(0 30px 60px rgba(59,130,246,.16))}.stats-section{padding:0 0 20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-block:1px solid var(--line);padding:36px 0}.stat{text-align:center}.stat strong{font-size:2rem;font-weight:800;line-height:1.65;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.stat strong sup{font-size:.48em;font-weight:800;line-height:0;vertical-align:super;margin-left:1px;letter-spacing:0;color:var(--violet);-webkit-text-fill-color:var(--violet)}.stat strong .stat-unit{font-size:.5em;font-weight:700;line-height:1;margin-left:2px;letter-spacing:0;color:var(--violet);-webkit-text-fill-color:var(--violet)}.stat > span{display:block;color:var(--faint);font-size:.88rem;margin-top:6px}.section-head{max-width:640px;text-align:center;margin:0 auto 48px}.section-head h2{margin-top:0}.section-head p{font-size:1.05rem;margin-top:14px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:30px;box-shadow:0 2px 10px -4px rgba(30,41,82,.06);transition:box-shadow 250ms,border-color 250ms}.card:hover{box-shadow:var(--card-shadow);border-color:var(--line-strong)}.card-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:18px;border-radius:8px;background:rgba(59,130,246,.09);color:var(--blue)}.card-icon svg{width:25px;height:25px;stroke-width:1.7}.card h3{margin-bottom:10px}.card p{font-size:.95rem}.features-grid .card,.scenarios-grid .card{min-height:0}
.features-grid,.scenarios-grid{counter-reset:card-index}
.features-grid .card,.scenarios-grid .card{position:relative;counter-increment:card-index}
.features-grid .card:before,.scenarios-grid .card:before{content:"0" counter(card-index);position:absolute;top:22px;right:24px;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--faint);font-variant-numeric:tabular-nums}.regions-panel{position:relative;border:1px solid var(--line);border-radius:var(--radius-card);padding:0;overflow:hidden;background:linear-gradient(180deg,#fff,#e9f1ff);box-shadow:0 24px 70px -46px rgba(30,41,82,.4)}
.regions-panel:before{content:"";position:absolute;inset:0;z-index:0;opacity:.28;background-image:radial-gradient(rgba(108,151,226,.4) 1px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(ellipse at 50% 45%,#000,transparent 74%)}
.regions-panel:after{content:"";position:absolute;z-index:0;width:640px;height:640px;right:-80px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.12),rgba(59,130,246,.07) 45%,transparent 70%)}
@keyframes map-drift{to{transform:translate(-42px,28px) scale(1.08)}}
.map-stage{position:relative;z-index:1}
.coverage-map{display:block;width:100%;height:auto}
.map-grid line{stroke:var(--map-grid);stroke-width:.7;opacity:.4}
.map-land{fill:none;stroke:var(--map-land);stroke-width:2.9;stroke-linecap:round}
.arc-halo{fill:none;stroke:url(#mapArcGrad);stroke-width:7;opacity:.1;stroke-linecap:round}
.arc{fill:none;stroke:url(#mapArcGrad);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 8;animation:map-flow 2.4s linear infinite;opacity:.95}
@keyframes map-flow{to{stroke-dashoffset:-26}}
.comet,.comet-halo{fill:none;opacity:0;stroke-linecap:round;stroke-dasharray:10 100}
.comet{stroke:#0ea5e9;stroke-width:2.8}
.comet-halo{stroke:#0ea5e9;stroke-width:8;filter:url(#mapCometGlow)}
@media(prefers-reduced-motion:no-preference){.comet{opacity:.95;animation:map-comet 5.2s linear infinite}.comet-halo{opacity:.28;animation:map-comet 5.2s linear infinite}}
@keyframes map-comet{0%{stroke-dashoffset:0}70%,100%{stroke-dashoffset:-110}}
.node .ring{display:none}
.node .core{fill:#fff;stroke:url(#mapArcGrad);stroke-width:2.6;filter:url(#mapNodeGlow)}
.node .halo{fill:url(#mapNodeHalo)}
@keyframes map-ping{0%{transform:scale(.5);opacity:.8}60%{opacity:0}100%{transform:scale(3.4);opacity:0}}
.coverage-caption{margin-top:14px;font-size:.78rem;color:var(--muted);text-align:center}.regions-panel.is-offscreen .coverage-map *,.regions-panel.is-offscreen:after{animation-play-state:paused}.coverage-caption a{white-space:nowrap}#coverage .section-head{max-width:760px}.data-caption{position:relative;margin-top:20px;font-size:.78rem;color:var(--muted);text-align:center}.price-card{position:relative;min-height:0;display:flex;flex-direction:column}.price-card.featured{border-color:var(--violet);box-shadow:var(--button-shadow)}.feature-tag{position:absolute;right:24px;top:-14px;background:var(--action-gradient);color:white;font-size:.76rem;font-weight:700;padding:5px 14px;border-radius:var(--radius-pill)}.price-value{display:flex;gap:6px;align-items:baseline;margin:18px 0 6px}.price-value strong{font-size:2.5rem;line-height:1.4;color:var(--ink);font-weight:800}.price-value span{font-size:.9rem;color:var(--faint)}.plan-tagline{font-size:.92rem;color:var(--muted);margin-top:2px;min-height:3.4em}.plan-features{display:grid;gap:9px;margin:16px 0 22px;padding:16px 0 0;border-top:1px solid var(--line);flex:1;align-content:start}.plan-features li{position:relative;padding-left:24px;font-size:.9rem;line-height:1.45;color:var(--muted)}.plan-features .check{position:absolute;left:0;top:-1px;color:var(--blue);font-weight:800}.plan-features li.is-key{color:var(--ink);font-weight:600}.price-card.featured .plan-features .check{color:var(--violet)}.plan-buy{width:100%;margin-top:auto}.price-meta{font-size:.8rem!important;color:#536d9b;margin-top:14px}.center-action{text-align:center;margin-top:28px}.feedback-card{display:flex;flex-direction:column}.feedback-card .quote{font-size:.96rem;color:var(--ink);margin-bottom:18px;min-height:76px;flex:1}.feedback-meta{display:flex;align-items:center;gap:12px;margin-top:auto}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#e5f1ff,#ede6ff);color:#5a70ab;font-weight:700;font-size:.9rem}.feedback-meta strong{display:block;font-size:.9rem;font-weight:600}.feedback-meta small{display:block;font-size:.8rem;color:var(--faint)}.faq-list{max-width:760px;margin:0 auto}.faq-item{border:1px solid var(--line);border-radius:var(--radius-small);margin-bottom:12px;background:white;overflow:hidden}.faq-item summary{padding:20px 24px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-weight:600;line-height:1.65}.faq-item summary::-webkit-details-marker{display:none}.chevron{width:18px;height:18px;flex-shrink:0;transition:transform var(--motion-hover);color:var(--faint)}details[open] .chevron{transform:rotate(180deg)}.faq-content{overflow:hidden}.faq-answer{padding:0 24px 22px;font-size:.94rem;color:var(--muted)}.faq-answer a{color:#3269bf;text-decoration:underline;text-underline-offset:3px}.cta-banner{position:relative;padding:56px;text-align:center;border-radius:var(--radius-card);background:var(--action-gradient);overflow:hidden}.cta-banner:before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-150px;top:-280px;pointer-events:none}.cta-banner h2{color:#fff;margin-bottom:12px}.cta-banner p{color:rgba(255,255,255,.9);margin-bottom:28px}.cta-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.cta-banner .btn-outline{color:white;border-color:rgba(255,255,255,.55);background:rgba(30,41,82,.14)}.cta-banner .btn-outline:hover{background:rgba(30,41,82,.24)}.cta-banner .btn-white{color:#526bd7;background:white;box-shadow:0 6px 20px rgba(33,39,93,.12)}.site-footer{border-top:1px solid var(--line);padding:64px 0 32px;background:var(--surface-soft)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:40px}.footer-brand p{margin:14px 0 18px;max-width:280px;font-size:.9rem}.footer-col h3{font-size:.9rem;margin-bottom:16px}.footer-col ul{display:flex;flex-direction:column;gap:10px}.footer-col a,.footer-col button{display:inline-block;font-size:.88rem;line-height:1.65;color:var(--muted);text-align:left;padding:0;min-height:28px}.footer-col a:hover,.footer-col button:hover{color:#0369a1}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:24px;font-size:.82rem;color:var(--faint)}.about-note{font-size:.8rem!important;color:var(--muted)}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.modal{border:1px solid var(--line);border-radius:24px;padding:32px;max-width:560px;width:calc(100% - 32px);box-shadow:0 28px 100px rgba(30,41,82,.2);background:var(--surface);color:var(--ink)}.modal::backdrop{background:rgba(20,34,65,.38);backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.modal h2{font-size:1.5rem}.modal-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface-soft);flex:none}.modal p{font-size:.94rem}.download-list{margin-top:22px;display:grid;gap:10px}.download-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px}.download-row span{font-size:.92rem;font-weight:600}.download-row small{color:var(--muted);font-size:.8rem}.download-row a{color:#2464bf;font-size:.86rem}.modal-note{margin-top:18px!important;font-size:.8rem!important}.modal-note a{color:#2464bf;text-decoration:underline;text-underline-offset:3px}.reveal{opacity:1;transform:none}.js-motion .reveal:not(.is-visible){opacity:0;transform:translateY(var(--enter-offset))}.js-motion .reveal{transition:opacity var(--motion-enter) var(--ease-enter),transform var(--motion-enter) var(--ease-enter)}.js-motion .card.reveal{transition:opacity var(--motion-enter) var(--ease-enter),transform var(--motion-enter) var(--ease-enter),border-color 250ms,box-shadow 250ms}.motion-ready .hero-copy,.motion-ready .hero-art{transition-delay:0ms}
/* ---- Standalone pages: pricing / faq / about ---- */
.page-hero{position:relative;overflow:hidden;padding:88px 0 52px;text-align:center}
.page-hero:before{content:"";position:absolute;inset:-42% 5% auto;height:640px;background:radial-gradient(ellipse at 50% 35%,rgba(59,130,246,.18),rgba(139,92,246,.08) 45%,transparent 70%);pointer-events:none;animation:page-glow 16s ease-in-out infinite alternate}
@keyframes page-glow{to{transform:translate3d(0,22px,0) scale(1.06);opacity:.82}}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{margin:18px 0 0}
.page-hero p{max-width:720px;margin:18px auto 0;font-size:1.05rem}
.page-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.step-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:16px;border-radius:50%;background:rgba(59,130,246,.1);color:var(--blue);font-size:.88rem;font-weight:800;letter-spacing:.02em}
.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 2px 10px -4px rgba(30,41,82,.06);scrollbar-width:thin}
.compare-wrap:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.compare{width:100%;min-width:700px;border-collapse:collapse;font-size:.92rem}
.compare th,.compare td{padding:15px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{background:var(--surface-soft);font-size:.82rem;font-weight:700;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.compare tbody th{font-weight:600;color:var(--ink);white-space:nowrap}
.compare tbody td{color:var(--muted)}
.compare tbody tr{transition:background 200ms}
.compare tbody tr:hover{background:rgba(59,130,246,.045)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.compare .is-featured{background:rgba(139,92,246,.055)}
.compare .yes{color:var(--blue);font-weight:800}
.compare-hint{display:none;margin-top:10px;font-size:.78rem;color:var(--muted);text-align:center}
.pricing-note{border:1px solid var(--line);border-radius:var(--radius-card);padding:32px;background:var(--surface);box-shadow:0 2px 10px -4px rgba(30,41,82,.06)}
.pricing-note h2{font-size:1.35rem;margin-bottom:8px}
.pricing-note ul{display:grid;gap:10px;margin-top:16px}
.pricing-note li{position:relative;padding-left:18px;font-size:.92rem;color:var(--muted)}
.pricing-note li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.region-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.region-tag{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:.9rem;color:var(--muted)}
.about-story{max-width:800px;margin:0 auto;text-align:center}
.about-story h2{margin-bottom:18px}
.about-story p{font-size:1.03rem}
.about-story p+p{margin-top:14px}
.about-note-line{max-width:720px;margin:24px auto 0;font-size:.8rem;color:var(--muted);text-align:center}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* ---- Home page motion layer ---- */
.hero-art img{animation:hero-float 8s ease-in-out infinite alternate}
.gradient-text{background-size:200% 100%;animation:gradient-pan 8s ease-in-out infinite alternate}
.eyebrow-dot{animation:eyebrow-pulse 2.6s ease-in-out infinite}
.card-icon{transition:transform 250ms var(--ease-ui),background-color 250ms var(--ease-ui)}
.card:hover .card-icon{transform:translateY(-2px) scale(1.06);background-color:rgba(59,130,246,.14)}
.stat strong{font-variant-numeric:tabular-nums}
.cta-banner:after{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.2),transparent 45%);pointer-events:none;z-index:0;animation:cta-glow 12s ease-in-out infinite alternate}
.cta-banner > *{position:relative;z-index:1}
dialog.modal[open]{animation:modal-in 220ms ease-out}
dialog.modal::backdrop{animation:backdrop-in 220ms ease-out}
@keyframes hero-float{to{transform:translateY(-10px)}}
@keyframes gradient-pan{to{background-position:100% 50%}}
@keyframes eyebrow-pulse{50%{transform:scale(1.45);opacity:.55}}
@keyframes cta-glow{to{transform:translate3d(7%,-4%,0) scale(1.08)}}
@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes backdrop-in{from{opacity:0}}
/* ---- Legal pages ---- */
.legal-hero{padding-bottom:36px}.legal-hero p{max-width:820px}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,780px);gap:56px;justify-content:center;align-items:start}
.legal-toc{position:sticky;top:104px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-small);background:rgba(255,255,255,.72)}
.legal-toc h2{font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:12px}
.legal-toc ol{list-style:none;padding:0;display:grid;gap:9px;counter-reset:toc}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:block;font-size:.88rem;line-height:1.5;color:var(--muted)}
.legal-toc a:before{content:counter(toc,decimal-leading-zero) "  ";color:var(--faint);font-variant-numeric:tabular-nums}
.legal-toc a:hover{color:var(--ink)}
.legal-doc{min-width:0}
.legal-note{padding:18px 20px;border-left:3px solid var(--blue);border-radius:0 var(--radius-small) var(--radius-small) 0;background:rgba(59,130,246,.06);font-size:.9rem;line-height:1.75;color:var(--muted);margin-bottom:30px}
.legal-doc h2{font-size:1.32rem;margin:38px 0 12px;scroll-margin-top:112px}
.legal-doc h2:first-of-type{margin-top:0}
.legal-doc h3{font-size:1.02rem;margin:22px 0 8px;scroll-margin-top:112px}
.legal-doc p{font-size:.95rem;line-height:1.85;color:var(--muted);margin:0 0 12px}
.legal-doc ul,.legal-doc ol{margin:8px 0 18px;padding-left:22px}
.legal-doc ul{list-style:disc}
.legal-doc ol{list-style:decimal}
.legal-doc li{font-size:.95rem;line-height:1.8;color:var(--muted);margin-bottom:8px}
.legal-doc strong{color:var(--ink);font-weight:600}
.legal-doc a{color:#2464bf;text-decoration:underline;text-underline-offset:3px}
.legal-meta{font-size:.8rem;color:var(--faint);margin-top:14px}
.legal-related{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:.88rem}
.legal-related a{color:#2464bf;text-decoration:underline;text-underline-offset:3px}
.footer-col a[aria-current=page]{color:var(--ink);font-weight:600}
/* ---- Footer contact ---- */
.footer-contact{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding:30px 36px;margin-bottom:44px;border:1px solid rgba(59,130,246,.18);border-radius:var(--radius-card);background:linear-gradient(135deg,rgba(59,130,246,.11),rgba(139,92,246,.07))}
.footer-contact:before{content:"";position:absolute;right:-70px;top:-90px;width:340px;height:340px;background:radial-gradient(circle,rgba(139,92,246,.16),transparent 68%);pointer-events:none;animation:contact-glow 14s ease-in-out infinite alternate}
@keyframes contact-glow{to{transform:translate3d(-18px,14px,0) scale(1.08);opacity:.8}}
.footer-contact > *{position:relative;z-index:1}
.footer-contact-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:#0369a1}
.footer-contact-kicker svg{width:16px;height:16px;flex:none}
.footer-contact h2{font-size:clamp(1.3rem,2vw,1.55rem);margin:12px 0 10px}
.footer-contact-intro p{max-width:460px;font-size:.92rem;line-height:1.75}
.footer-contact-details{display:grid;gap:12px}
.footer-email{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-small);background:rgba(255,255,255,.86);color:var(--ink);transition:transform 250ms var(--ease-ui),border-color 250ms,box-shadow 250ms}
.footer-email:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--card-shadow)}
.footer-email-text{display:grid;gap:2px;min-width:0}
.footer-email-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--muted)}
.footer-email strong{font-size:1rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.footer-email-arrow{width:18px;height:18px;flex:none;color:var(--blue);transition:transform 250ms var(--ease-ui)}
.footer-email:hover .footer-email-arrow{transform:translateX(4px)}
.footer-hours{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--muted)}
.footer-hours svg{width:16px;height:16px;flex:none;color:var(--blue)}
.footer-hours strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.footer-contact{grid-template-columns:1fr;gap:24px;padding:28px}}
@media(max-width:560px){.footer-contact{padding:22px;margin-bottom:32px}.footer-contact h2{font-size:1.25rem}.footer-email strong{font-size:.88rem}}
/* ---- Home FAQ editorial ---- */
.faq-editorial{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:48px;align-items:start}
.faq-side{position:sticky;top:110px;overflow:hidden;padding:32px;border:1px solid rgba(59,130,246,.18);border-radius:var(--radius-card);background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(139,92,246,.07))}
.faq-side:before{content:"";position:absolute;right:-70px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.16),transparent 68%);pointer-events:none;animation:faq-side-glow 16s ease-in-out infinite alternate}
@keyframes faq-side-glow{to{transform:translate3d(-14px,12px,0) scale(1.06);opacity:.8}}
.faq-side > *{position:relative;z-index:1}
.faq-side-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:#0369a1}
.faq-side-kicker svg{width:16px;height:16px;flex:none}
.faq-side h3{font-size:1.55rem;line-height:1.3;margin:14px 0 10px}
.faq-side p{font-size:.92rem;line-height:1.75}
.faq-side .btn{width:100%;margin-top:20px}
.faq-side-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:.86rem;color:#2464bf}
.faq-side-link span{transition:transform 250ms var(--ease-ui)}
.faq-side-link:hover span{transform:translateX(4px)}
.faq-side-note{display:block;margin-top:14px;font-size:.74rem;color:var(--faint)}
.faq-answers{display:grid;gap:16px}
.faq-answer-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:26px 30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 2px 10px -4px rgba(30,41,82,.06);transition:transform 250ms var(--ease-ui),box-shadow 250ms,border-color 250ms;overflow:hidden}
.faq-answer-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--action-gradient);transform:scaleY(0);transform-origin:top;transition:transform 250ms var(--ease-ui)}
.faq-answer-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--card-shadow)}
.faq-answer-card:hover:before{transform:scaleY(1)}
.faq-answer-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(59,130,246,.1);color:var(--blue);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}
.faq-answer-tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.08em;color:#0369a1;margin-bottom:6px}
.faq-answer-card h3{font-size:1.16rem;margin:0 0 8px}
.faq-answer-card p{font-size:.93rem;line-height:1.78;color:var(--muted)}
@media(max-width:900px){.faq-editorial{grid-template-columns:1fr;gap:24px}.faq-side{position:relative;top:auto;order:2}.faq-answers{order:1}}
@media(max-width:560px){.faq-answer-card{grid-template-columns:1fr;gap:12px;padding:22px}.faq-side{padding:24px}.faq-side h3{font-size:1.35rem}}
/* ---- FAQ page layout ---- */
.faq-page-layout{display:grid;grid-template-columns:220px minmax(0,780px);gap:48px;justify-content:center;align-items:start}
.faq-page-toc{position:sticky;top:104px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-small);background:rgba(255,255,255,.72)}
.faq-page-toc h2{font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:10px}
.faq-page-toc nav{display:grid;gap:4px}
.faq-page-toc a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;font-size:.88rem;color:var(--muted);transition:background 200ms,color 200ms}
.faq-page-toc a:hover{background:rgba(59,130,246,.08);color:var(--ink)}
.faq-page-toc a span{font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}
.faq-page-help{margin-top:18px;padding:16px;border:1px solid rgba(59,130,246,.16);border-radius:var(--radius-small);background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(139,92,246,.06))}
.faq-page-help strong{display:block;font-size:.9rem;color:var(--ink)}
.faq-page-help p{font-size:.8rem;line-height:1.65;margin:6px 0 10px}
.faq-page-help a{font-size:.82rem;color:#2464bf}
.faq-page-list{min-width:0}
.faq-page-list .faq-list{max-width:none}
.faq-group{padding:0}.faq-group + .faq-group{margin-top:34px}
.faq-group-title{font-size:1.2rem;margin-bottom:14px;display:flex;align-items:center;gap:10px;scroll-margin-top:112px}
.faq-group-title:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--action-gradient);flex:none}
@media(max-width:900px){.faq-page-layout{grid-template-columns:1fr;gap:24px}.faq-page-toc{position:static}.faq-page-toc nav{grid-template-columns:repeat(2,1fr)}.faq-page-help{margin-top:14px}}
@media(max-width:560px){.faq-page-toc nav{grid-template-columns:1fr}.faq-group-title{font-size:1.08rem}}
@media(max-width:1100px){.nav-links{gap:20px}.brand-cn{display:none!important}.header-inner{gap:16px}}
@media(min-width:621px) and (max-width:900px){.hero-copy h1 .headline-line{display:inline}}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:28px}.legal-toc{position:static}.legal-toc ol{grid-template-columns:repeat(2,1fr)}.page-hero{padding:64px 0 40px}.guide-grid{grid-template-columns:1fr}.compare{min-width:680px}.hero-grid{grid-template-columns:1fr}.hero-art{order:-1}.cards-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid,.feedback-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.price-card{min-height:0}.feedback-card .quote{min-height:0}}
@media(max-width:860px){.nav-links{position:absolute;inset:var(--header-height) 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--surface-soft);padding:8px 24px 20px;border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity var(--motion-menu),transform var(--motion-menu),visibility var(--motion-menu)}.nav-links.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.nav-links a,.nav-links button{width:100%;text-align:left;padding:13px 0;border-bottom:1px solid var(--line);min-height:48px}.nav-links a:after{display:none}.nav-toggle{display:flex}.nav-right>.btn{display:none}}
@media(max-width:760px){.compare-hint{display:block}.page-section{padding:64px 0}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cards-grid{grid-template-columns:1fr}.features-grid .card,.scenarios-grid .card{min-height:0}}
@media(max-width:560px){.legal-toc ol{grid-template-columns:1fr}.legal-doc p,.legal-doc li{font-size:.92rem}.legal-doc h2{font-size:1.18rem}.page-hero h1{font-size:2.1rem}.pricing-note{padding:24px}.compare{min-width:640px}.footer-grid{grid-template-columns:1fr}.hero{padding-top:84px}.hero-actions{gap:12px}.hero-actions .btn{padding-inline:22px}.cta-banner{padding:40px 24px}.cta-actions{gap:12px}.map-land{stroke-width:5}.node .core{r:6}.node .halo{r:17}.node .ring{r:6.5}.brand-cn{display:inline!important}.section-head p{font-size:1rem}.feedback-grid .card{padding:26px}.footer-bottom{font-size:.78rem}.modal{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}dialog.modal::backdrop{animation:none}.js-motion .reveal:not(.is-visible){opacity:1;transform:none}.btn-primary:hover{transform:none}.card:hover .card-icon{transform:none}}

@media(prefers-reduced-motion:reduce){.hero-art .hero-link-flow,.hero-art .ring-progress,.hero-art .bar{animation:none!important}.hero-art .hero-link-flow{stroke-dashoffset:0!important}.hero-art .ring-progress{stroke-dashoffset:0!important}.hero-art .bar{transform:scaleX(1)!important}}
