.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.service-card.reveal:nth-child(2),.result-card.reveal:nth-child(2){transition-delay:.08s}.service-card.reveal:nth-child(3),.result-card.reveal:nth-child(3){transition-delay:.16s}.hero:before{animation:ant-orbit 18s linear infinite}.hero-panel{animation:ant-float 5s ease-in-out infinite}.hero-copy>*{animation:ant-enter .7s cubic-bezier(.2,.7,.2,1) both}.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}@keyframes ant-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes ant-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ant-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero:before,.hero-panel,.hero-copy>*{animation:none!important}}

.floating .ig{background:#c13584}.floating .wechat{background:#07c160}.social-qr-modal[hidden]{display:none}.social-qr-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.social-qr-backdrop{position:absolute;inset:0;border:0;background:rgba(29,18,11,.72);cursor:pointer}.social-qr-card{position:relative;width:min(420px,100%);padding:38px;text-align:center;background:var(--cream);border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.35);animation:qr-in .22s ease-out}.social-qr-close{position:absolute;right:14px;top:14px;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:26px;cursor:pointer}.social-qr-kicker{color:#9a6a16;letter-spacing:.16em;font-size:10px;font-weight:800}.social-qr-card h2{font-size:32px;margin:10px 0}.social-qr-card p{color:var(--muted);margin:0 0 20px}.social-qr-card img{display:block;width:260px;height:260px;margin:auto;background:#fff;border:12px solid #fff}.social-qr-card small{display:block;margin-top:16px;color:var(--muted)}body.qr-open{overflow:hidden}@keyframes qr-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:767px){.social-qr-modal{display:none!important}}@media(prefers-reduced-motion:reduce){.social-qr-card{animation:none}}
