/* Services v3.1 (2026-10-29): a plain services hub in the homepage v2.1 system (night / cream / white, film grain, pink accent).
   One design for EN and zh; zh only swaps the copy. No glows, glass, tinted shadows, hover lift or radius >= 24px.
   No-JS: "Add to plan" buttons and the plan box stay hidden; every service link still works. */
.sv{--ink:#17171b;--night:#141417;--cream:#f5f3f0;--pink:#e84274;--line-l:rgba(23,23,27,.14);--mut-d:#a9a7ad;--mut-l:#5c5a60;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;background:#fff;color:var(--ink)}
body:has(main.sv){background:#141417}
.sv section{padding:clamp(88px,9vw,140px) 0;margin:0;border:0}
.sv-night{background:var(--night);color:#fff}
.sv-cream{background:var(--cream)}
.sv-grain{position:relative;isolation:isolate}
.sv-grain:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:180px 180px;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sv .sv-kicker{margin:0 0 18px;max-width:none;font-size:.74rem;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.sv .sv-h2{margin:0;font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:20ch}
.sv .sv-pk{color:var(--pink)}
.sv-head{margin-bottom:clamp(40px,5vw,64px)}
.sv-head-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px 64px;align-items:end}
.sv-head-split>p{margin:0;font-size:1.04rem;line-height:1.65;color:var(--mut-l);max-width:44ch}
.sv-night .sv-head-split>p{color:var(--mut-d)}
.sv-tag{display:inline-block;padding:3px 8px;border-radius:4px;background:rgba(23,23,27,.82);color:#fff;font:600 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.sv-btn{display:inline-flex;align-items:center;gap:10px;background:var(--pink)!important;color:#fff!important;border-color:var(--pink)!important}
.sv-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.sv :focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* A hero: same build as the homepage hero (night, photo with a white card, pink tape) */
.sv .sv-hero{padding:clamp(40px,4vw,64px) 0 0;overflow:hidden}
.sv-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding-bottom:clamp(56px,6vw,88px)}
.sv-hero h1{margin:0;font-size:clamp(3rem,5vw,4.9rem);line-height:.94;letter-spacing:-.045em;font-weight:800}
.sv-hero h1 .sv-pk{display:block}
.sv-lede{margin:26px 0 0;max-width:30em;font-size:clamp(1.06rem,1.35vw,1.24rem);line-height:1.6;color:#d9d7dc}
.sv-actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:36px}
.sv-hero-media{position:relative;margin:0;aspect-ratio:4/4.3;border-radius:14px;overflow:hidden}
.sv-hero-media>img{width:100%;height:100%;object-fit:cover}
.sv-index{position:absolute;left:6%;right:6%;bottom:6%;top:auto;height:auto;margin:0;padding:14px 16px 8px;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.sv-index-h{margin:0 0 4px;font:600 .66rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut-l)}
.sv-index ol{list-style:none;margin:0;padding:0}
.sv-index li+li{border-top:1px solid var(--line-l)}
.sv-index a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline;padding:9px 0;color:var(--ink);text-decoration:none;font-weight:700;font-size:1rem}
.sv-index a span{font:600 .7rem/1 var(--mono);color:var(--pink)}
.sv-index a b{min-width:22px;padding:3px 7px;border-radius:999px;background:var(--cream);text-align:center;font:600 .7rem/1 var(--mono);color:var(--ink)}
.sv-index a:hover{color:var(--pink)}
.sv-tape{position:relative;display:flex;align-items:center;background:var(--pink);color:#fff;overflow:hidden}
.sv-tape-track{display:flex;flex:0 0 auto;white-space:nowrap;animation:sv-tape 44s linear infinite;padding:14px 0}
.sv-tape-track span{font-size:clamp(1.15rem,2vw,1.6rem);font-weight:700;letter-spacing:-.01em;padding:0 22px}
.sv-tape-track span:after{content:"✱";margin-left:44px;font-weight:400}
@keyframes sv-tape{to{transform:translateX(-50%)}}
.sv-tape.is-paused .sv-tape-track{animation-play-state:paused}
.sv-tape-pause{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:6px;background:var(--ink);cursor:pointer;display:grid;place-items:center}
.sv-tape-pause[hidden]{display:none}
.sv-tape-pause span{width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff}
.is-paused .sv-tape-pause span{border-right:0;border-left:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #fff;margin-left:3px}
.sv-tape-pause:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* B goals */
.sv-goal-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sv-goal{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-l);border-radius:16px;overflow:hidden}
.sv-goal img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.sv-goal h3{margin:20px 20px 0;font-size:1.22rem;line-height:1.25;letter-spacing:-.01em}
.sv-goal-k{margin:14px 20px 6px;font:600 .66rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut-l)}
.sv-goal-s{list-style:none;margin:0 20px;padding:0}
.sv-goal-s li{border-top:1px solid var(--line-l)}
.sv-goal-s a{display:block;padding:8px 0;color:var(--ink);font-size:.94rem;font-weight:600;text-decoration:none}
.sv-goal-s a:hover{color:var(--pink)}
.sv-goal-f{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:auto 20px 20px;padding-top:18px}
.sv-goal-add,.sv-add{padding:9px 14px;border:1px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font-family:inherit;font-size:.82rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}
.sv-goal-add[aria-pressed="true"],.sv-add[aria-pressed="true"]{background:var(--ink);color:#fff}
.sv-add[aria-pressed="true"]:before{content:"✓ "}
.sv-goal-more{color:var(--ink);font-size:.86rem;font-weight:600;text-underline-offset:4px}

/* C all services */
.sv-all-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:clamp(40px,5vw,80px);align-items:start}
.sv .sv-group{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line-l);scroll-margin-top:96px}
.sv .sv-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.sv-group h3{display:grid;grid-template-columns:2.2em 1fr;align-items:baseline;column-gap:6px;margin:0 0 8px;font-size:1.5rem;letter-spacing:-.02em}
.sv-group h3 span{font:600 .78rem/1 var(--mono);color:var(--pink)}
.sv-group h3 small{grid-column:2;margin-top:4px;font-size:.95rem;font-weight:400;letter-spacing:0;color:var(--mut-l)}
.sv-group ul{list-style:none;margin:0;padding:0}
.sv-svc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 12px;margin:0 -12px;border-radius:10px}
.sv-svc>div>a{font-size:1.14rem;font-weight:700;color:var(--ink);text-decoration:none}
.sv-svc>div>a:hover{text-decoration:underline;text-underline-offset:4px}
.sv-svc>div>a:after{content:" →";color:var(--pink)}
.sv-svc p{margin:4px 0 0;max-width:54ch;color:var(--mut-l);line-height:1.55;font-size:.95rem}
.sv-svc.is-active{background:var(--cream)}
.sv-side{position:sticky;top:96px;display:grid;gap:16px}
.sv-ex{background:var(--cream);border-radius:16px;padding:18px;border:1px solid var(--line-l)}
.sv-ex-k{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 .74rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.sv-plan-box[hidden]{display:none}
.sv-plan-box{padding:20px 22px;background:#fff;border:1px solid var(--ink);border-radius:16px}
.sv-plan-top{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;font-weight:700}
.sv-plan-top span+span{font:500 .74rem/1 var(--mono);color:var(--mut-l)}
.sv-plan-list{margin:0;padding:0 0 0 20px;display:grid;gap:6px;font-size:.92rem}
.sv-plan-list li{animation:sv-in .3s ease-out}
@keyframes sv-in{from{opacity:0;transform:translateY(-4px)}}
.sv-plan-empty{margin:0;font-size:.88rem;color:var(--mut-l)}
.sv-plan-go{display:block;margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--pink);color:#fff;text-align:center;font-weight:700;text-decoration:none}
.sv-plan-go:hover{background:#d13466}
.sv-bar{display:none}

/* D how we work */
.sv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid #fff}
.sv-steps li{position:relative;padding:28px 22px 30px 0}
.sv-steps li:before{content:"";position:absolute;left:0;top:-8px;width:14px;height:14px;border-radius:50%;background:var(--pink)}
.sv-st{font:600 .74rem/1 var(--mono);color:var(--mut-d)}
.sv-steps h3{margin:12px 0 8px;font-size:1.3rem;letter-spacing:-.01em}
.sv-steps p{margin:0 0 14px;color:var(--mut-d);line-height:1.55;font-size:.95rem}
.sv-who{display:inline-block;margin:0 6px 6px 0;padding:4px 9px;border:1px solid rgba(255,255,255,.5);border-radius:999px;font:600 .66rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.sv-who.is-ai{border-style:dashed;color:var(--mut-d)}
.sv-how-photo{margin:clamp(40px,5vw,64px) 0 0;border-radius:16px;overflow:hidden}
.sv-how-photo img{display:block;width:100%;height:clamp(220px,28vw,380px);object-fit:cover}

/* E ways to start */
.sv-offers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sv-offer{display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid var(--line-l);border-radius:16px}
.sv-offer .sv-offer-p{margin:0;font-size:2.4rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.sv-offer-p small{font:500 .78rem/1 var(--mono);letter-spacing:0;color:var(--mut-l)}
.sv-offer h3{margin:16px 0 10px;font-size:1.2rem}
.sv-offer p{margin:0;color:var(--mut-l);line-height:1.55;font-size:.95rem}
.sv-offer a{margin-top:auto;padding-top:20px;color:var(--ink);font-weight:700;text-underline-offset:5px}
.sv-start-note{margin:32px 0 0;max-width:70ch;color:var(--mut-l);font-size:.92rem;line-height:1.6}
.sv-start-note a{color:var(--ink);font-weight:700}

/* F FAQ */
.sv-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 64px;align-items:start}
.sv-qs details{border-top:1px solid var(--line-l)}
.sv-qs details:last-child{border-bottom:1px solid var(--line-l)}
.sv-qs summary{display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:1.14rem;font-weight:700;cursor:pointer;list-style:none}
.sv-qs summary::-webkit-details-marker{display:none}
.sv-qs summary:after{content:"+";flex:none;font:500 1.4rem/1 var(--mono);color:var(--pink);transition:transform .2s}
.sv-qs details[open] summary:after{content:"−"}
.sv-qs p{margin:0 0 22px;max-width:60ch;color:var(--mut-l);line-height:1.65}
.sv-qs a{color:var(--ink);font-weight:600}

/* G end */
.sv-end-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:56px;align-items:center}
.sv-end-grid .sv-btn{margin-top:32px}
.sv-sum{justify-self:end;width:min(100%,340px);padding:22px 24px;background:#fff;color:var(--ink);border-radius:12px}
.sv-sum-h{margin:0 0 10px;font:600 .7rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut-l)}
.sv-sum ol{margin:0;padding-left:20px;display:grid;gap:6px;font-weight:600}
.sv-sum ol:empty{display:none}
.sv-sum-empty{margin:0;color:var(--mut-l);line-height:1.5}

/* responsive */
@media (max-width:900px){.sv-hero-grid{grid-template-columns:1fr;gap:40px}.sv-hero-media{aspect-ratio:4/3.6;max-width:560px}}
@media (max-width:1100px){.sv-goal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}}
@media (max-width:900px){
  .sv-all-grid,.sv-head-split,.sv-end-grid,.sv-faq-grid{grid-template-columns:1fr}
  .sv-side{position:static}
  .sv-ex{display:none}
  .sv-offers{grid-template-columns:1fr}
  .sv-sum{justify-self:start}
  .sv-bar:not([hidden]){position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 18px;background:var(--ink);color:#fff;border-radius:12px;font:600 .82rem/1.2 var(--mono)}
  .sv-bar a{color:#fff;font-weight:700;text-underline-offset:4px}
}
@media (max-width:620px){
  .sv-goal-list{grid-template-columns:1fr}
  .sv-steps{grid-template-columns:1fr;border-top:0;border-left:2px solid #fff;padding-left:22px}
  .sv-steps li{padding:0 0 28px}
  .sv-steps li:before{left:-30px;top:2px}
  .sv-svc{grid-template-columns:1fr;gap:10px}
  .sv-svc .sv-add{justify-self:start}
  .sv-hero h1{font-size:clamp(2.7rem,12.5vw,3.6rem)}
  .sv-hero-media{aspect-ratio:3/3.9}
  .sv-index{left:4%;right:4%;bottom:4%}
}
@media (prefers-reduced-motion:reduce){.sv *{animation:none!important;transition:none!important}.sv-tape{overflow-x:auto}.sv-tape-pause{display:none!important}}

/* zh: same design; only line-height and tracking for Chinese type */
html[lang="zh-Hans"] .sv .sv-h2{line-height:1.2;letter-spacing:0;max-width:16em}
html[lang="zh-Hans"] .sv-hero h1{line-height:1.12;letter-spacing:0}
html[lang="zh-Hans"] .sv .sv-kicker{letter-spacing:.08em}

/* realistic platform mocks (one per service) */
.sv-pv[hidden]{display:none}
.sv-ui{background:#fff;color:#202124;border:1px solid rgba(23,23,27,.1);border-radius:12px;overflow:hidden;font-size:.84rem;line-height:1.45}
.sv-ui img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.sv-ui p{margin:0}
.sv-av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font:700 .7rem/1 inherit}
.sv-maps{padding:12px}
.sv-q{padding:9px 12px;border:1px solid #dadce0;border-radius:999px}
.sv-map{position:relative;height:150px;margin:10px 0;border-radius:8px;background:#e8eef3 repeating-linear-gradient(35deg,transparent 0 38px,#fff 38px 42px)}
.sv-pin{position:absolute;width:12px;height:12px;border-radius:50% 50% 50% 0;background:#9aa0a6;transform:rotate(-45deg)}
.sv-pin:nth-child(1){left:42%;top:40%}.sv-pin:nth-child(2){left:20%;top:62%}.sv-pin:nth-child(3){left:72%;top:24%}
.sv-pin.is-you{background:var(--pink);font-size:0;width:18px;height:18px}
.sv-res small{color:#5f6368}.sv-res em{color:#188038;font-style:normal}
.sv-chips{display:flex;gap:6px;margin-top:10px!important}
.sv-chips span,.sv-web-cta span{padding:5px 10px;border:1px solid #dadce0;border-radius:999px;color:#1a73e8;font-size:.74rem}
.sv-chips .is-on,.sv-web-cta .is-on{background:#1a73e8;border-color:#1a73e8;color:#fff}
.sv-ad-h,.sv-ig-h{display:flex;align-items:center;gap:8px;padding:10px 12px}
.sv-ad-h small{margin-left:auto;color:#5f6368}
.sv-ad-t{padding:10px 12px 4px}
.sv-ad-cta{margin:6px 12px 12px!important;padding:8px;border-radius:6px;background:#1877f2;color:#fff;text-align:center;font-weight:600}
.sv-ig-a{padding:8px 12px 0;letter-spacing:.3em}
.sv-ig-c{padding:4px 12px 12px}
.sv-reel{position:relative}
.sv-reel img{aspect-ratio:16/10}
.sv-reel-t{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.sv-reel-p{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.5);color:#fff}
.sv-paper{padding:14px;background:#f4f1ea;font-family:Georgia,serif}
.sv-paper-m{display:flex;justify-content:space-between;border-bottom:3px double #222;padding-bottom:6px!important;font:700 1.3rem/1 Georgia,serif}
.sv-paper-m small{font:500 .62rem/1.6 var(--mono);text-transform:uppercase}
.sv-paper-h{margin:10px 0!important;font:700 1.15rem/1.2 Georgia,serif}
.sv-paper img{filter:grayscale(1) contrast(1.05);border-radius:2px}
.sv-rv{padding:14px;display:grid;gap:8px}
.sv-rv small{color:#5f6368}
.sv-rv-r{padding:10px;background:#f1f3f4;border-radius:8px}
.sv-rv-r b{display:block;font-size:.76rem}
.sv-web-bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#f1f3f4}
.sv-web-bar i{width:8px;height:8px;border-radius:50%;background:#c4c7c5}
.sv-web-bar span{margin-left:8px;padding:2px 10px;background:#fff;border-radius:999px;font-size:.72rem;color:#5f6368}
.sv-web-cta{display:flex;gap:6px;padding:10px 12px}
.sv-sms{padding:14px;display:grid;gap:8px;background:#fff}
.sv-sms-in,.sv-sms-out{max-width:80%;padding:8px 12px;border-radius:16px}
.sv-sms-in{background:#e9e9eb}
.sv-sms-out{justify-self:end;background:#1a8cff;color:#fff}
.sv-stamp{margin-top:6px!important;padding:10px 12px;border-radius:10px;background:var(--ink);color:#fff;font:600 .72rem/1.4 var(--mono)}
.sv-stamp span{color:var(--pink);letter-spacing:.12em;margin:0 6px}
.sv-plan{padding:14px}
.sv-plan-h{font-weight:700;margin-bottom:10px!important}
.sv-plan ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sv-plan li{padding:10px 8px;border-radius:8px;background:#f1f3f4;font-size:.76rem}
.sv-plan li:nth-child(2){background:var(--pink);color:#fff}
.sv-plan b{display:block;font:600 .64rem/1.4 var(--mono)}
.sv-brand p{display:flex;gap:6px;padding:10px 12px}
.sv-brand p span{padding:4px 8px;border-radius:4px;background:#f1f3f4;font:600 .66rem/1.3 var(--mono);text-transform:uppercase}
.sv-shot{position:relative}
.sv-tc{position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font:600 .7rem/1 var(--mono)}
.sv-tc span{color:#ff5c5c;margin-right:8px}
.sv-qs-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:-10px!important}
@media (max-width:620px){.sv-goal img{aspect-ratio:16/9}}
