:root{
  --bg:#f5f5f7; --ink:#1d1d1f; --dim:#515154; --faint:#86868b;
  --accent:#0071e3; --accent2:#7d5bff; --line:rgba(0,0,0,.10); --line-soft:rgba(0,0,0,.06);
  --glass:rgba(255,255,255,.66); --card:#ffffff;
  --shadow:0 18px 50px rgba(0,0,0,.08); --shadow-lg:0 40px 90px rgba(0,0,0,.14);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC",Roboto,sans-serif;color:var(--ink);
  background:
    radial-gradient(50vw 40vw at 92% -6%,rgba(125,91,255,.16),transparent 62%),
    radial-gradient(48vw 42vw at -6% 18%,rgba(0,113,227,.14),transparent 60%),
    radial-gradient(46vw 40vw at 50% 108%,rgba(255,106,166,.12),transparent 60%),
    radial-gradient(40vw 34vw at 80% 70%,rgba(0,113,227,.08),transparent 60%),
    var(--bg);
  background-attachment:fixed;
  line-height:1.55;overflow-x:hidden;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,56px);}
/* top bar */
.topstack{position:sticky;top:0;z-index:40;}
nav.top{display:flex;align-items:center;justify-content:space-between;gap:clamp(10px,2vw,28px);
  padding:14px clamp(20px,5vw,56px);backdrop-filter:saturate(180%) blur(18px);background:rgba(245,245,247,.78);border-bottom:1px solid var(--line-soft);}
nav.top .brand{font-weight:700;font-size:1.15rem;white-space:nowrap;}
.navright{display:flex;align-items:center;gap:clamp(12px,2vw,22px);white-space:nowrap;}
.navright a{font-size:.92rem;color:var(--dim);font-weight:500;}
.navright a:hover{color:var(--accent);}
.lang-toggle{cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;color:var(--ink);width:40px;height:30px;border-radius:100px;border:1px solid var(--line);background:#fff;transition:.3s var(--ease);}
.lang-toggle:hover{color:var(--accent);border-color:var(--accent);}
/* switcher */
.switchbar{flex:1 1 auto;min-width:0;display:flex;gap:8px;overflow-x:auto;align-items:center;justify-content:center;scrollbar-width:none;}
.switchbar::-webkit-scrollbar{display:none;}
.spill{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:100px;border:1px solid var(--line);
  background:#fff;color:var(--dim);font-weight:600;font-size:.86rem;white-space:nowrap;cursor:pointer;
  transition:transform .3s var(--ease),color .3s,background .3s,border-color .3s,box-shadow .3s;}
.spill:hover{color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.07);}
.spill.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(0,113,227,.3);}
.spill .gem{width:17px;height:17px;border-radius:50%;flex:0 0 auto;position:relative;overflow:hidden;
  background:linear-gradient(145deg,var(--accent),var(--accent2));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -2px 3px rgba(0,0,0,.25),0 2px 6px rgba(0,113,227,.4);transition:transform .4s var(--ease);}
.spill .gem::before{content:"";position:absolute;top:2px;left:3px;width:7px;height:5px;border-radius:50%;background:rgba(255,255,255,.92);}
.spill .gem::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%);background-size:250% 100%;animation:gemShine 3.6s linear infinite;}
.spill:hover .gem{transform:scale(1.18) rotate(8deg);}
.spill.active .gem{background:linear-gradient(145deg,#fff,rgba(255,255,255,.72));}
@keyframes gemShine{0%{background-position:200% 0}100%{background-position:-120% 0}}
/* panels */
.ppanel[hidden]{display:none!important;}
.ppanel{animation:panelIn .6s var(--ease);}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* hero */
.phero{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,68px);align-items:center;padding-top:clamp(34px,6vh,72px);padding-bottom:clamp(26px,4vh,52px);}
.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.phero h1{font-size:clamp(2.6rem,6.5vw,5rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin-top:14px;}
.phero h1 .hl{background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:220% 100%;animation:hue 7s ease-in-out infinite;}
@keyframes hue{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.phero .lead{font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--dim);margin-top:22px;max-width:34ch;font-weight:400;}
.phero .btns{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:7px;padding:14px 28px;border-radius:100px;font-weight:600;font-size:1rem;transition:transform .4s var(--ease);position:relative;overflow:hidden;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 14px 30px rgba(0,113,227,.3);}
.btn-primary::after{content:"";position:absolute;top:0;left:-60%;width:38%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:sheen 4.5s ease-in-out infinite;}
@keyframes sheen{0%,100%{left:-60%}55%{left:135%}}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff;}
.btn:hover{transform:translateY(-3px);}
/* price summary glass card */
.pcard{position:relative;border-radius:26px;padding:clamp(26px,3vw,38px);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);overflow:hidden;}
.pcard::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 55%,color-mix(in srgb,var(--accent2) 18%,transparent));pointer-events:none;}
.pcard h3{font-size:1.05rem;font-weight:600;position:relative;}
.pcard .prow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-soft);position:relative;}
.pcard .prow:last-of-type{border-bottom:0;}
.pcard .prow .k{color:var(--dim);font-size:.95rem;}
.pcard .prow .v{font-weight:800;font-size:1.25rem;letter-spacing:-.02em;}
.pcard .prow .v small{font-weight:600;font-size:.8rem;color:var(--faint);}
.pcard .note{position:relative;margin-top:14px;color:var(--faint);font-size:.84rem;}
/* sections */
section.sec{padding-block:clamp(38px,6vh,68px);}
.sec-head{max-width:760px;}
.sec-tag{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.sec-title{font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:700;letter-spacing:-.025em;margin-top:12px;line-height:1.08;}
.sec-title .hl{background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sec-sub{color:var(--dim);font-size:1.08rem;margin-top:16px;max-width:60ch;}
/* feature cards (implementation logic) */
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:clamp(34px,5vw,56px);}
.feat{position:relative;background:rgba(255,255,255,.55);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);
  border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:clamp(24px,2.4vw,34px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,var(--shadow);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .5s var(--ease);overflow:hidden;}
.feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);background:rgba(255,255,255,.7);}
.feat__ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:18px;position:relative;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 86%,#fff),var(--accent2));
  box-shadow:inset 0 1px 2px rgba(255,255,255,.7),0 8px 20px rgba(0,113,227,.28);}
.feat__ic svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.feat h3{font-size:1.3rem;font-weight:650;letter-spacing:-.01em;}
.feat .what{color:var(--dim);margin-top:8px;font-size:1.02rem;}
.feat .how{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);font-size:.96rem;color:var(--ink);}
.feat .how b{color:var(--accent);font-weight:600;}
/* deliverables */
.deliv{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(28px,4vw,44px);}
.deliv li{list-style:none;display:flex;gap:15px;align-items:flex-start;background:rgba(255,255,255,.55);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:18px 22px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,var(--shadow);
  transition:transform .4s var(--ease),background .4s var(--ease);}
.deliv li:hover{transform:translateY(-3px);background:rgba(255,255,255,.72);}
.deliv .ck{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;margin-top:2px;
  background:linear-gradient(150deg,var(--accent),var(--accent2));box-shadow:inset 0 1px 1px rgba(255,255,255,.5),0 6px 14px rgba(0,113,227,.3);}
.deliv .ck svg{width:15px;height:15px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.deliv .dl-txt{display:flex;flex-direction:column;gap:3px;}
.deliv b{font-weight:650;display:block;font-size:1.08rem;letter-spacing:-.01em;}
.deliv .dl-txt>span{color:var(--dim);font-size:.96rem;line-height:1.45;}
/* pricing tiers */
.modes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,32px);margin-top:clamp(34px,5vw,56px);align-items:start;}
.mode{background:rgba(255,255,255,.6);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);
  border:1px solid rgba(255,255,255,.72);border-radius:26px;padding:clamp(26px,2.8vw,40px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,var(--shadow);}
.mode__k{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent);}
.mode__t{font-size:1.5rem;font-weight:700;margin-top:8px;letter-spacing:-.01em;}
.mode__d{color:var(--dim);margin-top:8px;font-size:1rem;}
.tier{margin-top:22px;padding-top:22px;border-top:1px solid var(--line-soft);}
.tier__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.tier__name{font-weight:600;font-size:1.08rem;}
.tier__price{font-weight:800;font-size:1.7rem;letter-spacing:-.02em;background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.tier__price small{font-size:.7rem;font-weight:600;color:var(--faint);-webkit-text-fill-color:var(--faint);}
.tier ul{margin-top:12px;}
.tier li{list-style:none;color:var(--dim);font-size:.96rem;padding:5px 0 5px 22px;position:relative;}
.tier li::before{content:"";position:absolute;left:0;top:11px;width:11px;height:11px;border-radius:3px;background:linear-gradient(150deg,var(--accent),var(--accent2));opacity:.85;}
.mode--feat{position:relative;border-color:transparent;box-shadow:0 30px 70px rgba(0,113,227,.18);}
.mode--feat::before{content:"";position:absolute;inset:0;border-radius:26px;padding:1.5px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
/* cta */
.cta{text-align:center;padding:clamp(56px,10vh,120px) 0;}
.cta .sec-tag{display:block;}
.cta h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:700;letter-spacing:-.025em;margin-top:12px;}
.cta h2 .hl{background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cta-sub{color:var(--dim);margin:16px auto 0;font-size:1.12rem;max-width:50ch;}
.contact-card{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:780px;margin:clamp(30px,4vw,46px) auto 0;text-align:left;}
.cmethod{font:inherit;color:inherit;display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:20px;cursor:pointer;
  background:var(--glass);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,var(--shadow);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.cmethod:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.cic{flex:0 0 auto;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--accent),var(--accent2));box-shadow:inset 0 1px 2px rgba(255,255,255,.55),0 10px 22px rgba(0,113,227,.3);}
.cic svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cinfo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cinfo b{font-weight:650;font-size:1.05rem;}
.cval{color:var(--dim);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ccopy{flex:0 0 auto;font-weight:600;font-size:.84rem;color:var(--accent);padding:8px 15px;border-radius:100px;background:rgba(0,113,227,.08);border:1px solid rgba(0,113,227,.2);transition:.3s var(--ease);white-space:nowrap;}
.cmethod:hover .ccopy{background:var(--accent);color:#fff;border-color:transparent;}
@media(max-width:680px){.contact-card{grid-template-columns:1fr;}}
footer{border-top:1px solid var(--line-soft);padding:30px 0;text-align:center;color:var(--faint);font-size:.86rem;}
footer a{color:var(--accent);font-weight:600;}
/* reveal */
.rv{opacity:0;transform:translateY(34px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);}
.rv.in{opacity:1;transform:none;filter:blur(0);}
@media(max-width:900px){
  .phero{grid-template-columns:1fr;}.feat-grid,.modes{grid-template-columns:1fr;}.deliv{grid-template-columns:1fr;}
  nav.top{flex-wrap:wrap;}.switchbar{order:3;width:100%;justify-content:flex-start;}
}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;filter:none;}.spill .gem::after,.phero h1 .hl,.btn-primary::after,.ppanel{animation:none!important;}
}

/* ===================== contact (matches homepage) ===================== */
.contact{padding:clamp(70px,13vh,160px) clamp(20px,6vw,80px);text-align:center;}
.contact__inner{max-width:1040px;margin:0 auto;}
.contact__title{font-size:clamp(2.6rem,8vw,6.2rem);font-weight:700;line-height:1.0;letter-spacing:-.03em;margin:12px 0 30px;}
.contact__title .hl{background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:220% 100%;animation:hue 7s ease-in-out infinite;}
.contact__mail{font-size:clamp(1.2rem,3vw,2rem);display:inline-block;font-weight:650;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.contact__meta{color:var(--dim);margin-top:18px;font-weight:400;letter-spacing:.02em;}
.contact__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px;}
.contact__socials{display:flex;gap:24px;justify-content:center;margin-top:42px;flex-wrap:wrap;}
.wechat-copy{display:inline-flex;align-items:center;gap:10px;cursor:pointer;padding:12px 22px;border-radius:100px;font:inherit;font-size:.98rem;color:var(--ink);
  background:var(--glass);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,var(--shadow);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.wechat-copy:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.wechat-copy svg{flex:none;}
.wechat-copy .wechat-id{font-weight:650;}
.wechat-copy .copy-hint{font-size:.8rem;color:var(--faint);padding-left:8px;border-left:1px solid var(--line);transition:color .3s;}
.wechat-copy.copied .copy-hint{color:#09b83e;}
.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:34px clamp(20px,6vw,80px);border-top:1px solid var(--line-soft);color:var(--faint);font-size:.85rem;}

/* ===================== deliverable tech chip ===================== */
.deliv .dl-d{color:var(--dim);font-size:.95rem;line-height:1.45;}
.dl-tech{display:inline-block;margin-top:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:var(--accent);
  background:rgba(0,113,227,.08);border:1px solid rgba(0,113,227,.16);border-radius:8px;padding:3px 9px;letter-spacing:0;line-height:1.5;}

/* ===================== more motion ===================== */
/* drifting background blobs */
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(72px);pointer-events:none;}
body::before{width:44vw;height:44vw;top:-12%;right:-6%;background:radial-gradient(circle,rgba(125,91,255,.18),transparent 64%);animation:drift1 24s ease-in-out infinite alternate;}
body::after{width:42vw;height:42vw;bottom:-14%;left:-8%;background:radial-gradient(circle,rgba(0,113,227,.16),transparent 64%);animation:drift2 30s ease-in-out infinite alternate;}
@keyframes drift1{to{transform:translate(-8%,10%) scale(1.16)}}
@keyframes drift2{to{transform:translate(10%,-8%) scale(1.12)}}
/* animated mesh on the price card */
.pcard::before{background-size:200% 200%;animation:meshmove 13s ease-in-out infinite;}
@keyframes meshmove{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
/* feature icon float */
.feat__ic{animation:floaty 5s ease-in-out infinite;}
.feat-grid .feat:nth-child(2) .feat__ic{animation-delay:-1.2s}
.feat-grid .feat:nth-child(3) .feat__ic{animation-delay:-2.4s}
.feat-grid .feat:nth-child(4) .feat__ic{animation-delay:-3.6s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* cursor spotlight sheen on cards */
.feat::after,.mode::after,.deliv li::after,.pcard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.4),transparent 46%);opacity:0;transition:opacity .45s var(--ease);}
.feat:hover::after,.mode:hover::after,.deliv li:hover::after,.pcard:hover::after{opacity:1;}
/* stagger reveal */
.feat-grid .feat:nth-child(2),.deliv li:nth-child(2n){transition-delay:.07s;}
.feat-grid .feat:nth-child(3),.deliv li:nth-child(3n){transition-delay:.14s;}
.feat-grid .feat:nth-child(4){transition-delay:.21s;}
/* scroll progress bar */
.scrollbar{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;z-index:60;
  background:linear-gradient(90deg,var(--accent),var(--accent2),#ff6aa6);box-shadow:0 0 12px rgba(0,113,227,.4);}

@media(prefers-reduced-motion:reduce){
  body::before,body::after,.pcard::before,.feat__ic,.contact__title .hl{animation:none!important;}
}
