.portfolio-contact-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:25px;padding-top:22px;border-top:1px solid #ffffff30;font-family:Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif}
.portfolio-contact-links .portfolio-contact-button{display:flex;justify-content:space-between;align-items:center;gap:35px;min-width:170px;min-height:45px;padding:10px 15px;border:1px solid #ffffff55;border-radius:0;background:transparent;color:inherit;font:500 12px/1.5 Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif;text-align:left;letter-spacing:0;cursor:pointer;text-decoration:none;transition:background-color .15s,color .15s}
.portfolio-contact-links .portfolio-contact-button>span{font-size:17px;line-height:1}
.portfolio-contact-links .portfolio-contact-button:hover{background:#ffe430;border-color:#ffe430;color:#171717;text-decoration:none}
.portfolio-contact-links .portfolio-contact-button:focus-visible{outline:2px solid #ffe430;outline-offset:4px}
.page-footer>.portfolio-contact-links{grid-column:1/-1;margin-top:4px;border-top-color:#17171725}
.page-footer .portfolio-contact-button{border-color:#17171765}
.page-footer .portfolio-contact-button:focus-visible{outline-color:#171717}
.page-footer>a[href="#top"]{text-align:right}
.wechat-card{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;padding:0;border:1px solid #171717;border-radius:0;background:#fff;color:#171717;box-shadow:8px 8px 0 #00000026;font:400 14px/1.6 Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif}
.wechat-card::backdrop{background:#0009;backdrop-filter:none}
.wechat-card *{box-sizing:border-box;font-family:Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif}
.wechat-card-top{display:flex;justify-content:space-between;align-items:center;min-height:39px;border-bottom:1px dotted #aaa;padding:8px 12px;font-size:10px;line-height:1.5;letter-spacing:.025em}
.wechat-card-top>span{display:flex;align-items:center;gap:9px}
.wechat-card-top>span:before{content:'';width:5px;height:5px;display:block;background:#171717}
.wechat-card-close{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:0;color:#171717;background:transparent;font-size:24px;line-height:1;cursor:pointer}
.wechat-card-close:hover{background:#ffe430}
.wechat-card-body{padding:31px 28px 27px}
.wechat-card h2{margin:0 0 8px;font-size:32px;font-weight:500;line-height:1.3;letter-spacing:-.045em;color:#171717}
.wechat-card-description{margin:0;color:#5e5e5e;font-size:12px;line-height:1.8}
.wechat-card-visual{min-height:230px;margin:25px 0 20px;padding:20px;background:#f3f3f3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;text-align:center}
.wechat-card-visual img{display:block;max-width:230px;width:100%;height:auto;max-height:280px;object-fit:contain;background:#fff}
.wechat-card-visual img[hidden]{display:none}
.wechat-card-visual img{max-width:280px;max-height:360px;background:transparent;mix-blend-mode:multiply}
.wechat-card-visual{isolation:isolate}
[data-maimai-profile] .maimai-card-trigger{margin-left:18px;padding:8px 12px;border:1px solid #aaa;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.wechat-card-pending{font-size:14px;line-height:1.7;margin:0;color:#777}
.wechat-card-pending[hidden]{display:none}
.wechat-card-id{display:block;max-width:100%;margin:0;font-size:19px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.wechat-card-id[hidden]{display:none}
.wechat-card-copy{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:47px;padding:12px 15px;border:1px solid #171717;border-radius:0;background:#ffe430;color:#171717;font-size:12px;line-height:1.5;text-align:left;cursor:pointer}
.wechat-card-copy>span:last-child{font-size:17px;line-height:1}
.wechat-card-copy:disabled{background:#f1f1f1;color:#888;border-color:#d1d1d1;cursor:default}
.wechat-card button:focus-visible{outline:2px solid #171717;outline-offset:4px}
.wechat-card-status{min-height:19px;margin:10px 0 0;font-size:10px;line-height:1.8;color:#666}
.wechat-card-signature{display:flex;justify-content:space-between;gap:15px;padding:10px 12px;border-top:1px dotted #aaa;font-size:9px;line-height:1.5;letter-spacing:.025em}
@media(max-width:700px){.portfolio-contact-links{gap:12px;margin-top:21px;padding-top:20px}.portfolio-contact-links .portfolio-contact-button{min-width:0;flex:1;padding:10px 12px;gap:16px;font-size:11px;min-height:44px}.wechat-card-body{padding:26px 23px 23px}.wechat-card h2{font-size:29px}.wechat-card-visual{min-height:220px}.page-footer>.portfolio-contact-links{margin-top:3px}.wechat-card-signature{font-size:8px}}
@media(max-width:560px){.page-footer>a[href="#top"]{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){.portfolio-contact-links .portfolio-contact-button{transition:none}}

.portfolio-contact-links .portfolio-contact-button:active{background:#ffe430;color:#171717;transform:translateY(1px)}
.wechat-card-top{min-height:52px;padding-block:4px}
.wechat-card-close{width:44px;height:44px;flex-shrink:0;touch-action:manipulation}
.wechat-card-copy{touch-action:manipulation;transition:background-color .14s ease}
.wechat-card-copy:not(:disabled):active{background:#f4d919}
.wechat-card-copy[aria-busy=true]{cursor:progress}
.wechat-card-id{user-select:all;cursor:text}
.wechat-card-id:focus-visible{outline:2px solid #171717;outline-offset:5px}
@media(hover:hover){.wechat-card-copy:not(:disabled):hover{background:#f4d919}}
@media(prefers-reduced-motion:reduce){.wechat-card-copy{transition:none}}

.portfolio-contact-links .portfolio-maimai-link>span:first-child{font-size:inherit;line-height:1.5}
.portfolio-maimai-link small{font:400 10px/1.5 Manrope,'PingFang SC','Microsoft YaHei',Arial,sans-serif;white-space:nowrap}
.portfolio-contact-links .portfolio-contact-button.is-pending{border-style:dotted;opacity:.65;cursor:default;pointer-events:none}
@media(max-width:700px){.portfolio-contact-links{flex-wrap:wrap}.portfolio-contact-links .portfolio-contact-button{gap:10px}.portfolio-maimai-link small{font-size:9px}}
@media(max-width:360px){.portfolio-contact-links .portfolio-contact-button{padding-inline:8px;gap:6px;font-size:10px}}

/* Email and telephone share a copy action; URLs retain their visit action. */
.contact-copy{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:color .15s ease}
.contact-copy-value{min-width:0;user-select:all;overflow-wrap:anywhere}
.contact-copy-value:focus{outline:0}
.contact-copy-feedback{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:17px;line-height:1.4;font-size:10px;white-space:nowrap;user-select:none}
.contact-copy-feedback svg{display:block;flex-shrink:0}
.contact-copy-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-copy:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.contact-copy[aria-busy=true]{cursor:progress}
.contact-copy[data-copy-state=copied] .contact-copy-feedback{font-weight:600}
.direct-contact .contact-copy{align-self:start;font-size:inherit}
.contact-methods .contact-copy{width:100%;padding-bottom:10px;border-bottom:1px solid #999}
.case-footer-links .contact-copy,.footer-links .contact-copy{justify-self:start;min-width:90px}
.profile-links dd>.contact-copy{display:flex;width:100%;font:inherit;line-height:inherit;padding:0}
.profile-links dd>.contact-copy>.contact-copy-feedback{padding-right:12px}
@media(hover:hover){.direct-contact .contact-copy:hover,.case-footer-links .contact-copy:hover,.footer-links .contact-copy:hover{color:#ffe430}.profile-links .contact-copy:hover .contact-copy-value,.contact-methods .contact-copy:hover .contact-copy-value{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:560px){.profile-links dd>.contact-copy>.contact-copy-feedback{padding-right:0}.contact-copy{gap:10px}}
@media(prefers-reduced-motion:reduce){.contact-copy{transition:none}}
