html{scroll-behavior:smooth}
.contact-shell{height:auto;min-height:100vh;min-height:100dvh;background:#0a0a0e}.contact-page{--bg:#0a0a0e;--ink:#f4f3ef;--muted:#84848f;--faint:#55555f;--line:rgba(255,255,255,.07);--accent:#8f7bff;background:var(--bg);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased}.contact-page *{margin:0;padding:0;box-sizing:border-box}.contact-page ::selection{background:rgba(143,123,255,.35)}.contact-page .serif{font-family:"Source Han Serif SC","Noto Serif SC","Songti SC",STSong,serif}.contact-container{max-width:1000px;margin:0 auto;padding:0 32px}.contact-page .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.contact-page .reveal.in{opacity:1;transform:translateY(0)}.contact-page .reveal.d1{transition-delay:.12s}.contact-page .reveal.d2{transition-delay:.24s}
.contact-hero{position:relative;padding:170px 0 120px;overflow:hidden}.light{position:absolute;inset:0;pointer-events:none}.light canvas{position:absolute;inset:0;width:100%;height:100%}.lamp-on{animation:lampOn 1.1s ease-out both}@keyframes lampOn{0%{opacity:0}9%{opacity:.55}15%{opacity:.08}24%{opacity:.8}30%{opacity:.35}45%{opacity:1}100%{opacity:1}}.hero-inner{position:relative}.kicker{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:6px;color:var(--muted)}.kicker::before{content:"";width:40px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.contact-hero h1{margin-top:34px;font-size:56px;font-weight:600;letter-spacing:4px;line-height:1.45}.contact-hero .lead{margin-top:30px;max-width:540px;font-size:16px;color:var(--muted);letter-spacing:.5px}
.rows{border-top:1px solid var(--line);margin-bottom:20px}.row{position:relative;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:32px;padding:52px 4px;border-bottom:1px solid var(--line);transition:background .45s ease}.row::before{content:"";position:absolute;left:-32px;top:50%;width:1px;height:0;background:var(--accent);transition:height .35s ease,top .35s ease}.row:hover{background:rgba(255,255,255,.015)}.row:hover::before{top:32%;height:36%}.row-label{font-size:12px;letter-spacing:5px;color:var(--muted)}.row-label small{display:block;margin-top:6px;letter-spacing:2px;color:var(--faint);font-size:11px}.value{font-size:32px;font-weight:600;letter-spacing:1px;word-break:break-all;transition:color .3s ease}.row:hover .value{color:#fff}.hint{display:block;margin-top:10px;font-size:13px;color:var(--muted);letter-spacing:1px}.row-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.contact-page .btn{display:inline-block;padding:10px 22px;font-size:13px;letter-spacing:1px;border-radius:999px;cursor:pointer;text-decoration:none;font-family:inherit;border:1px solid transparent;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .15s ease}.contact-page .btn:hover{transform:translateY(-1px)}.contact-page .btn:active{transform:translateY(0)}.contact-page .btn.solid{background:var(--ink);color:#111114}.contact-page .btn.solid:hover{background:#fff}.contact-page .btn.ghost{background:transparent;color:var(--muted);border-color:rgba(255,255,255,.18)}.contact-page .btn.ghost:hover{color:var(--ink);border-color:rgba(255,255,255,.45)}.contact-page .btn.copied{background:transparent;color:var(--accent);border-color:rgba(143,123,255,.55);pointer-events:none}.assure{padding:90px 0 130px;text-align:center;font-size:14px;color:var(--muted);letter-spacing:2px}.assure .lamp-line{display:block;margin-top:14px;font-size:17px;letter-spacing:4px;color:var(--ink)}
.contact-shell .modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}.contact-shell .modal.open{opacity:1;visibility:visible}.contact-shell .modal .backdrop{position:absolute;inset:0;background:rgba(9,9,13,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-shell .modal .panel{position:relative;width:min(320px,86vw);background:#fff;color:#1a1a1a;border-radius:20px;padding:30px 28px 26px;text-align:center;box-shadow:0 40px 90px rgba(0,0,0,.5);transform:translateY(18px) scale(.97);transition:transform .35s ease}.contact-shell .modal.open .panel{transform:translateY(0) scale(1)}.contact-shell .modal .panel h2{font-size:16px;font-weight:600;letter-spacing:2px}.contact-shell .modal .panel .sub{margin-top:4px;font-size:12px;color:#999;letter-spacing:1px}.contact-shell .modal .close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:none;background:none;cursor:pointer;font-size:20px;line-height:32px;color:#bbb;transition:color .2s ease}.contact-shell .modal .close:hover{color:#333}.qr-crop{position:relative;margin:20px auto 0;width:200px;aspect-ratio:1/1;overflow:hidden;border-radius:10px;background:#fff}.qr-crop img{position:absolute;width:146%;left:-24.5%;top:-51.5%;filter:grayscale(1) contrast(1.05)}.contact-shell .modal .tip{margin-top:16px;font-size:12px;color:#999;letter-spacing:2px}
@media(max-width:900px){.contact-hero{padding:110px 0 80px}.contact-hero h1{font-size:42px}.row{grid-template-columns:1fr;gap:18px;padding:44px 4px}.row-actions{justify-content:flex-start}.assure{padding:70px 0 100px}}@media(max-width:520px){.contact-container{padding:0 24px}.contact-hero{padding:84px 0 60px}.contact-hero h1{font-size:32px;letter-spacing:3px}.contact-hero .lead{font-size:15px}.value{font-size:22px}.row{padding:38px 2px}.row::before{left:-24px}.contact-page .btn{padding:10px 20px;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-page .reveal{opacity:1;transform:none;transition:none}.row,.contact-page .btn,.contact-shell .modal,.contact-shell .modal .panel{transition:none}.lamp-on{animation:none}}
