.responsive-showcase[data-astro-cid-2v6n35kg]{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:2rem;margin-top:2rem;padding:2rem 2.5rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-paper-aizome)}figcaption[data-astro-cid-2v6n35kg] h3[data-astro-cid-2v6n35kg]{font-family:var(--font-display);color:var(--color-indigo);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:500;line-height:1.4;text-wrap:balance}figcaption[data-astro-cid-2v6n35kg] p[data-astro-cid-2v6n35kg]{margin-top:.65rem;max-width:29ch;font-size:.925rem;line-height:1.8;color:var(--color-text-muted);text-wrap:pretty}.device-stage[data-astro-cid-2v6n35kg]{position:relative;width:min(100%,420px);aspect-ratio:2.05;justify-self:end}.device[data-astro-cid-2v6n35kg]{position:absolute;transform-origin:50% 100%}.device-frame[data-astro-cid-2v6n35kg]{height:100%;padding:5%;overflow:hidden;border:2px solid var(--color-border-strong);border-radius:7px;background:var(--color-paper);box-shadow:0 6px 16px color-mix(in srgb,var(--color-sumi) 7%,transparent)}.device-desktop[data-astro-cid-2v6n35kg]{width:72%;height:84%;top:0;left:12%}.device-desktop[data-astro-cid-2v6n35kg]:after{content:"";position:absolute;top:100%;left:38%;width:24%;height:8%;border-bottom:3px solid var(--color-border-strong);background:linear-gradient(to right,transparent 25%,var(--color-border-strong) 25% 75%,transparent 75%)}.device-tablet[data-astro-cid-2v6n35kg]{width:29%;height:76%;left:0;bottom:0}.device-phone[data-astro-cid-2v6n35kg]{width:18%;height:62%;right:0;bottom:0}.device-tablet[data-astro-cid-2v6n35kg] .device-frame[data-astro-cid-2v6n35kg]{padding:9%;border-radius:9px}.device-phone[data-astro-cid-2v6n35kg] .device-frame[data-astro-cid-2v6n35kg]{padding:10% 8%;border-radius:11px}.screen-nav[data-astro-cid-2v6n35kg]{display:flex;justify-content:space-between;align-items:center;height:9%;margin-bottom:7%}.screen-nav[data-astro-cid-2v6n35kg] span[data-astro-cid-2v6n35kg]{width:25%;height:3px;border-radius:2px;background:var(--color-indigo);opacity:.55}.screen-nav[data-astro-cid-2v6n35kg] span[data-astro-cid-2v6n35kg]+span[data-astro-cid-2v6n35kg]{width:17%;opacity:.2}.screen-layout[data-astro-cid-2v6n35kg]{display:grid;grid-template-columns:1fr 1fr;gap:10%;height:53%;align-items:center}.screen-copy[data-astro-cid-2v6n35kg]{display:flex;flex-direction:column;gap:5px}.screen-copy[data-astro-cid-2v6n35kg]>span[data-astro-cid-2v6n35kg]{width:95%;height:4px;border-radius:2px;background:var(--color-indigo);opacity:.7}.screen-copy[data-astro-cid-2v6n35kg]>span[data-astro-cid-2v6n35kg]+span[data-astro-cid-2v6n35kg]{width:70%}.screen-copy[data-astro-cid-2v6n35kg] i[data-astro-cid-2v6n35kg]{display:block;width:35%;height:7px;margin-top:4px;border-radius:2px;background:var(--color-cochineal-muted)}.screen-art[data-astro-cid-2v6n35kg]{width:100%;height:100%;min-height:0;object-fit:contain}.screen-grid[data-astro-cid-2v6n35kg]{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;height:15%;margin-top:6%}.screen-grid[data-astro-cid-2v6n35kg] span[data-astro-cid-2v6n35kg]{border-radius:2px;background:var(--color-chip-rose-bg);border:1px solid var(--color-border)}.device-tablet[data-astro-cid-2v6n35kg] .screen-layout[data-astro-cid-2v6n35kg],.device-phone[data-astro-cid-2v6n35kg] .screen-layout[data-astro-cid-2v6n35kg]{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:10%;height:70%}.device-tablet[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg],.device-phone[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg]{gap:3px}.device-tablet[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg]>span[data-astro-cid-2v6n35kg],.device-phone[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg]>span[data-astro-cid-2v6n35kg]{height:3px}.device-tablet[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg] i[data-astro-cid-2v6n35kg],.device-phone[data-astro-cid-2v6n35kg] .screen-copy[data-astro-cid-2v6n35kg] i[data-astro-cid-2v6n35kg]{display:none}.device-tablet[data-astro-cid-2v6n35kg] .screen-grid[data-astro-cid-2v6n35kg],.device-phone[data-astro-cid-2v6n35kg] .screen-grid[data-astro-cid-2v6n35kg]{height:10%;grid-template-columns:1fr 1fr}.device-tablet[data-astro-cid-2v6n35kg] .screen-grid[data-astro-cid-2v6n35kg] span[data-astro-cid-2v6n35kg]:last-child,.device-phone[data-astro-cid-2v6n35kg] .screen-grid[data-astro-cid-2v6n35kg] span[data-astro-cid-2v6n35kg]:last-child{display:none}@media(prefers-reduced-motion:no-preference){[data-astro-cid-2v6n35kg][data-revealed] .device[data-astro-cid-2v6n35kg]{animation:device-settle .6s cubic-bezier(.22,1,.36,1) both}[data-astro-cid-2v6n35kg][data-revealed] .device-tablet[data-astro-cid-2v6n35kg]{animation-delay:.14s}[data-astro-cid-2v6n35kg][data-revealed] .device-phone[data-astro-cid-2v6n35kg]{animation-delay:.28s}}@keyframes device-settle{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.responsive-showcase[data-astro-cid-2v6n35kg]{grid-template-columns:1fr;padding:1.5rem 1.25rem;gap:1.75rem}figcaption[data-astro-cid-2v6n35kg] h3[data-astro-cid-2v6n35kg]{font-size:1.35rem}figcaption[data-astro-cid-2v6n35kg] p[data-astro-cid-2v6n35kg]{max-width:none}.device-stage[data-astro-cid-2v6n35kg]{width:min(100%,360px);justify-self:center}}.panda-palette-defs[data-astro-cid-gshed4n5]{position:absolute;pointer-events:none;overflow:hidden}.services-page{--sv-gutter: clamp(1.25rem, 5vw, 4rem);background:var(--color-paper);color:var(--color-text);padding-bottom:clamp(2rem,4vw,4rem)}.sv-wrap{width:min(100% - var(--sv-gutter) * 2,1160px);margin-inline:auto}.services-page a:focus-visible,.services-page summary:focus-visible{outline:2px solid var(--color-indigo);outline-offset:6px;border-radius:3px}.sv-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:2rem;font-size:.875rem}.sv-breadcrumb{display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);min-width:0}.sv-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.sv-breadcrumb>span[aria-hidden]{opacity:.5}.sv-breadcrumb>span[aria-current]{white-space:nowrap}.sv-languages{display:flex;align-items:center;gap:.5rem;flex-shrink:0;white-space:nowrap}.sv-languages a{padding:.55rem .3rem;min-height:44px;min-width:44px;display:inline-flex;justify-content:center;align-items:center;color:var(--color-text-muted)}.sv-languages a[aria-current]{color:var(--color-indigo);text-decoration:underline;text-underline-offset:5px;font-weight:800}.sv-languages>span{color:var(--color-border-strong)}.sv-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:1.5rem;padding-top:3.4rem;padding-bottom:4.5rem}.sv-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;line-height:1.6;color:var(--color-indigo)}.sv-hero h1{font-family:var(--font-display);font-size:clamp(2.8rem,4.3vw,4rem);font-weight:500;line-height:1.13;letter-spacing:-.045em;color:var(--color-sumi);margin:1.1rem 0 1.65rem}.services-page em{color:var(--color-indigo);font-weight:inherit}.sv-lead{max-width:470px;font-size:1.075rem;line-height:1.85}.sv-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.sv-button{display:inline-flex;justify-content:center;align-items:center;gap:1.6rem;min-height:50px;padding:.8rem 1.3rem;border-radius:7px;background:var(--color-indigo);color:var(--color-paper);font-size:.95rem;font-weight:750;box-shadow:0 3px color-mix(in srgb,var(--color-indigo) 20%,transparent);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.sv-button:active{transform:scale(.97)}.sv-text-link{display:inline-flex;align-items:center;gap:.8rem;font-size:.95rem;font-weight:750;color:var(--color-indigo);text-decoration:underline;text-decoration-color:var(--color-border-strong);text-underline-offset:5px;padding-block:.55rem;min-height:44px}.sv-note{color:var(--color-text-muted);font-size:.85rem;line-height:1.75}.sv-collage{position:relative;height:450px;min-width:0}.sv-orbit{position:absolute;width:82%;aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--color-indigo) 18%,transparent);border-radius:50%;top:4%;left:10%;transform:rotate(-12deg)}.sv-site{border:1px solid var(--color-border-strong);border-radius:8px;overflow:hidden;background:var(--color-card);box-shadow:var(--shadow-hero)}.sv-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.6rem .8rem;font-size:9px;letter-spacing:.04em;background:var(--color-paper-light);color:var(--color-text-muted)}.sv-browser-bar>span{white-space:nowrap}.sv-browser-bar>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.sv-browser-dots{font-size:7px;letter-spacing:2px;color:var(--color-cochineal-muted);flex-shrink:0}.sv-site-back{position:absolute;width:66%;top:14px;left:3%;transform:rotate(-7deg)}.sv-mini-portfolio{padding:1.1rem 1.35rem 1rem}.sv-mini-portfolio p{margin:0 0 1rem;font-family:var(--font-display);color:var(--color-indigo);font-size:clamp(1.1rem,2.2vw,1.9rem);line-height:1.15;letter-spacing:-.03em}.sv-mini-art{height:96px;overflow:hidden;border-radius:48% 48% 2px 2px}.sv-mini-art img{width:100%;height:100%;object-fit:cover;object-position:50% 76%;transform:scale(1.08)}.sv-site-front{position:absolute;width:76%;top:190px;right:-1%;transform:rotate(6deg)}.sv-site-front>img{width:100%}.sv-hero-sticker{position:absolute;right:0;top:24px;width:99px;height:99px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:50%;background:var(--color-chip-rose-bg);color:var(--color-cochineal-muted);border:1px dashed var(--color-cochineal-muted);transform:rotate(13deg);font-size:.85rem;line-height:1.5;font-weight:700}.sv-hero-sticker>span{white-space:nowrap}.sv-hero-sticker>i{font-family:var(--font-display);font-size:1rem;font-weight:500}.sv-panda{display:block;background:var(--panda-light) center / contain no-repeat}[data-theme=dark] .sv-panda{background-image:var(--panda-night)}.sv-hero-panda{position:absolute;width:165px;height:158px;left:-1%;bottom:10px}.sv-hero-panda-art{width:100%;height:100%;transform:rotate(-4deg);transform-origin:50% 88%;transition:transform var(--dur-base) var(--ease-out)}.sv-annotation{position:absolute;bottom:-42px;right:8%;white-space:pre-line;font-family:var(--font-display);font-style:italic;font-size:1rem;line-height:1.5;color:var(--color-cochineal-muted);transform:rotate(-4deg)}.sv-section{padding-block:5.5rem;scroll-margin-top:80px}.sv-section-head{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:end;margin-bottom:2.75rem}.services-page h2{color:var(--color-sumi);font-family:var(--font-display);font-size:clamp(2rem,3vw,2.8rem);font-weight:500;letter-spacing:-.035em;line-height:1.2;margin-top:.8rem}.sv-section-head>p{line-height:1.8;font-size:1rem;max-width:380px;justify-self:end}.sv-service{display:grid;grid-template-columns:55px 1fr 1.07fr;gap:1.75rem;padding-block:2.1rem;border-top:1px solid var(--color-border-strong);scroll-margin-top:100px}.sv-service:last-child{border-bottom:1px solid var(--color-border-strong)}.sv-number{font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:var(--color-cochineal-muted);padding-top:3px}.sv-service-title h3{margin-top:.7rem;color:var(--color-sumi);font-family:var(--font-display);font-weight:450;font-size:1.7rem;letter-spacing:-.03em;line-height:1.3;max-width:340px}.sv-service-description>p{font-size:1rem;line-height:1.85}.sv-service-description ul{display:flex;flex-wrap:wrap;list-style:none;gap:.4rem .65rem;margin-top:1rem}.sv-service-description li{font-size:.78rem;color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:4px;padding:.2rem .6rem}.sv-work-section{background:var(--color-paper-aizome);border-block:1px solid var(--color-border)}.sv-work-more{justify-self:end;white-space:nowrap}.sv-work-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:2.8rem}.sv-project-image{display:flex;height:295px;align-items:center;justify-content:center;margin-bottom:1.75rem;border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.sv-mizuki{background:color-mix(in srgb,var(--color-sage) 14%,var(--color-paper));padding:2rem}.sv-mizuki>.sv-site{width:100%;transform:rotate(-3deg);transition:transform var(--dur-base) var(--ease-out)}.sv-portfolio{background:var(--color-chip-rose-bg);padding:1.7rem}.sv-portfolio-screenshot{width:100%;transform:rotate(3deg);transition:transform var(--dur-base) var(--ease-out)}.sv-portfolio-screenshot img{width:100%;height:auto}.sv-work h3{margin-top:.55rem;font-family:var(--font-display);font-size:1.7rem;font-weight:500;color:var(--color-sumi)}.sv-work-description{margin-block:.75rem;line-height:1.8}.sv-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:1rem}.sv-steps li{padding:clamp(1.25rem,2.4vw,2rem);border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-paper-light)}.sv-step-heading{display:flex;align-items:baseline;gap:.85rem}.sv-step-number{flex-shrink:0;font-family:var(--font-display);font-style:italic;color:var(--color-cochineal-muted);font-size:1.2rem}.sv-steps h3{font-family:var(--font-display);color:var(--color-sumi);font-size:1.35rem;line-height:1.4;font-weight:500}.sv-steps p{margin-top:1rem;line-height:1.8;font-size:.975rem;text-wrap:pretty}.sv-steps p span{display:block}.sv-steps p span+span{margin-top:.35rem}.services-zh .sv-steps p span,.services-zh .sv-contact-intro{text-wrap:balance}.sv-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;padding-top:1rem}.sv-questions details{border-bottom:1px solid var(--color-border-strong)}.sv-questions details:first-child{border-top:1px solid var(--color-border-strong)}.sv-questions summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;cursor:pointer;padding-block:1.2rem;font-size:1rem;font-weight:700;color:var(--color-sumi);list-style:none}.sv-questions summary::-webkit-details-marker{display:none}.sv-questions summary>span{color:var(--color-indigo);font-size:1.5rem;font-weight:400;flex-shrink:0}.sv-questions details[open] summary>span{transform:rotate(45deg)}.sv-questions details>p{font-size:.975rem;line-height:1.85;padding:0 2rem 1.3rem 0}.sv-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.48fr);align-items:end;gap:2rem;padding:3.5rem 4rem;background:var(--color-chip-rose-bg);border:1px solid var(--color-border);border-radius:12px}.sv-contact>div{min-width:0}.sv-contact h2{font-size:clamp(2.1rem,3.4vw,3.25rem)}.sv-contact-intro{line-height:1.8;margin-block:1.4rem 1.6rem;max-width:490px}.sv-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.4rem}.sv-contact .sv-note{margin-top:1.5rem;max-width:480px}.sv-contact-panda{width:100%;max-width:320px;height:auto;justify-self:end}[data-theme=dark] .sv-contact{background:var(--color-card)}[data-theme=dark] .sv-contact-panda{filter:url(#panda-night-palette)}.services-zh{font-family:Nunito Variable,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.services-zh h1,.services-zh h2,.services-zh h3{font-family:Fraunces Variable,Songti SC,"Noto Serif CJK SC",SimSun,serif;line-height:1.45;letter-spacing:-.025em}.services-zh h1{font-size:clamp(2.3rem,3.6vw,3.2rem)}.services-zh em{font-style:normal}.services-zh .sv-lead{line-height:2}.services-zh .sv-annotation{font-size:.9rem;font-style:normal}.services-zh .sv-mini-portfolio p{line-height:1.55;font-size:clamp(1rem,1.7vw,1.45rem)}.services-zh .sv-service-title h3{font-size:1.5rem}@media(hover:hover)and (pointer:fine){.sv-button:hover{transform:translateY(-2px);box-shadow:0 5px color-mix(in srgb,var(--color-indigo) 16%,transparent)}.sv-text-link:hover{text-decoration-color:currentColor}.sv-project-image:hover>.sv-site{transform:rotate(0)}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.sv-hero-panda:hover .sv-hero-panda-art{transform:translate(-3px,-2px) rotate(-11deg)}}@media(max-width:1000px){.sv-hero{gap:1rem}.sv-hero h1{font-size:3rem}.services-zh .sv-hero h1{font-size:2.35rem}.sv-collage{height:405px}.sv-site-front{top:170px}.sv-hero-sticker{width:78px;height:78px;font-size:.7rem}.sv-hero-sticker>i{font-size:.85rem}.sv-hero-panda{width:130px;height:130px;bottom:0}.sv-annotation{font-size:.9rem;right:0}.sv-section-head{gap:2rem}.sv-service{grid-template-columns:35px .85fr 1fr;gap:1.2rem}.sv-project-image{height:240px;padding:1.3rem}.sv-contact{padding:3rem}}@media(max-width:720px){.sv-topline{padding-top:.5rem;gap:.5rem}.sv-breadcrumb{gap:.5rem;font-size:.8125rem}.sv-languages{gap:.1rem;font-size:.8125rem}.sv-hero{grid-template-columns:1fr;padding-top:1.5rem;padding-bottom:3rem;gap:.5rem}.sv-hero h1{font-size:clamp(2.1rem,8.9vw,3.65rem);margin:.75rem 0 1.1rem;text-wrap:balance}.services-zh .sv-hero h1{font-size:clamp(1.875rem,7.1vw,3.1rem);line-height:1.45}.sv-lead{font-size:1rem;line-height:1.75;max-width:540px}.services-zh .sv-lead{line-height:1.85}.sv-actions{display:grid;grid-template-columns:minmax(0,1fr);margin-top:1.3rem;gap:.5rem;max-width:390px}.sv-actions .sv-button{font-size:.9rem;gap:.7rem;padding:.75rem 1rem}.sv-actions .sv-text-link{justify-self:center;font-size:.875rem;gap:.5rem}.sv-collage{width:min(100%,390px);height:clamp(300px,83vw,340px);margin:1rem auto 0}.sv-orbit{width:78%;top:6%}.sv-site-back{width:63%;left:5%;top:10px}.sv-site-front{width:72%;right:1%;top:128px}.sv-mini-portfolio{padding:.85rem 1.1rem .75rem}.sv-mini-portfolio p{font-size:1.25rem;margin:0 0 .7rem}.services-zh .sv-mini-portfolio p{font-size:1.05rem}.sv-mini-art{height:58px}.sv-hero-sticker{right:1%;top:16px;width:78px;height:78px;font-size:.68rem}.sv-hero-panda{width:116px;height:116px;bottom:26px;left:0}.sv-annotation{bottom:-32px;right:2%;font-size:.875rem}.sv-section{padding-block:2.75rem;scroll-margin-top:64px}.sv-section-head{grid-template-columns:1fr;gap:1rem;margin-bottom:1.75rem}.sv-section-head>p{max-width:none;justify-self:start}.sv-work-more{justify-self:start}.services-page h2{font-size:clamp(1.75rem,6.6vw,2.2rem);text-wrap:balance;scroll-margin-top:80px}.sv-service{grid-template-columns:24px 1fr;gap:.8rem .75rem;padding-block:1.65rem}.sv-service-description{grid-column:1 / -1}.sv-service-description>p{line-height:1.75}.sv-service-title h3{font-size:1.6rem;max-width:none;margin:.45rem 0 0;text-wrap:pretty}.sv-service-title .sv-eyebrow{font-size:.75rem;letter-spacing:.08em}.sv-service-description li{font-size:.8125rem;padding:.3rem .55rem}.sv-work-grid{grid-template-columns:1fr;gap:2.5rem}.sv-project-image{height:auto;aspect-ratio:1.8;margin-bottom:1.2rem;padding:.65rem}.sv-project-image>.sv-site{transform:none;border-radius:5px}.sv-project-image .sv-browser-bar{padding:.4rem .6rem}.sv-work h3{font-size:1.65rem}.sv-work-description{line-height:1.75}.sv-steps{grid-template-columns:1fr}.sv-steps p{font-size:1rem;line-height:1.75}.sv-faq{grid-template-columns:1fr;gap:1.75rem;padding-top:.75rem}.sv-questions summary{min-height:64px;line-height:1.6;gap:1rem}.sv-questions summary>span{width:24px;text-align:center}.sv-questions details>p{padding-right:0;font-size:1rem;line-height:1.8}.sv-contact{grid-template-columns:1fr;padding:1.75rem 1.25rem;gap:1.5rem}.sv-contact h2{font-size:clamp(1.75rem,6.2vw,2.5rem)}.sv-contact-actions{display:grid;gap:.4rem}.sv-contact-actions .sv-button{width:100%}.sv-contact-panda{width:min(75%,230px);justify-self:center}.sv-contact .sv-eyebrow{font-size:.75rem;letter-spacing:.08em}.sv-note{font-size:.875rem}.sv-contact .sv-note{margin-top:.75rem}.services-page .sv-eyebrow{overflow-wrap:anywhere}body:has(.services-page) #back-to-top{display:none}}@media(max-width:360px){.sv-world{display:none}.sv-hero h1{letter-spacing:-.05em}.sv-collage{margin-top:.75rem}}@media(prefers-reduced-motion:reduce){.services-page a,.services-page .sv-site,.sv-hero-panda-art{transition:none}.sv-button:hover,.sv-button:active{transform:none}}
