.svc-hero{margin-bottom:var(--space-8);max-width:720px}.svc-hero h1{margin:0 0 var(--space-2);font:400 var(--font-size-display)/var(--line-height-tight) var(--font-heading);letter-spacing:-.04em;color:var(--color-text-strong)}.svc-hero p{margin:0;font-size:var(--font-size-body);color:var(--color-text-secondary)}@media (max-width:1023px){.svc-hero h1{font-size:var(--font-size-display-mob)}}@media (max-width:600px){.svc-hero h1{font-size:var(--font-size-title)}}.svc-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-6)}.svc-search{flex:1 1 260px;max-width:420px}.svc-category{flex:0 0 200px}.svc-filter-row{align-items:center;justify-content:space-between;margin:var(--space-2) 0 var(--space-6)}.svc-chips,.svc-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.svc-chips{margin:0}.svc-chip{min-height:32px;padding:0 var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1-5);border:var(--border-width-control) solid var(--color-border-strong);border-radius:var(--radius-chip);background:var(--color-surface);color:var(--color-text-secondary);font:500 var(--font-size-label)/1 var(--font-body);cursor:pointer;transition:background var(--motion-duration-quick),border-color var(--motion-duration-quick),color var(--motion-duration-quick)}.svc-chip:hover{background:var(--color-surface-hover);color:var(--color-text)}.svc-chip.is-selected{background:var(--color-surface-selected);border-color:var(--color-border-strong);color:var(--color-text-strong)}.svc-chip.is-clear{border-style:dashed}.svc-chip:focus-visible{outline:var(--focus-ring);outline-offset:var(--space-0-5)}.svc-chip--filters{font-weight:600;background:var(--color-surface-raised)}.svc-chip--filters svg{width:14px;height:14px}.svc-chip--filters.is-open{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.svc-chip--filters.is-open:hover{background:var(--color-accent-hover)}.svc-chips span.svc-chip.is-selected{cursor:default}.svc-sort{display:grid;grid-gap:0;gap:0}.svc-sort .ui-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.svc-sort .ui-select-wrap{min-height:36px}@media (max-width:600px){.svc-sort,.svc-sort .ui-select-wrap{width:100%}}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.svc-card{display:flex;flex-direction:column;overflow:hidden;border:var(--border-width-hairline) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-panel);text-decoration:none;color:inherit;transition:background var(--motion-duration-base),border-color var(--motion-duration-base),box-shadow var(--motion-duration-base)}.svc-card:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);box-shadow:var(--shadow-card-interactive)}.svc-card:focus-visible{outline:var(--focus-ring);outline-offset:var(--space-1)}.svc-results{position:relative}.svc-results .vp-grid{animation:svc-cards-in .46s var(--motion-ease-out) 1.25s both}.svc-skeleton{position:absolute;inset:0;background:var(--nav-page-bg);pointer-events:none;animation:svc-skeleton-out .42s var(--motion-ease-out) 1.3s forwards}.svc-skeleton-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(16px,2vw,24px);gap:clamp(16px,2vw,24px)}@media (min-width:1040px){.svc-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.vp-skel{display:flex;flex-direction:column;gap:var(--space-4);height:100%;padding:clamp(16px,1.6vw,20px);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}.vp-skel-media{aspect-ratio:16/10;border-radius:var(--radius-thumb);background:var(--color-surface-selected);animation:svc-pulse 1.4s var(--motion-ease-in-out,ease-in-out) infinite}.vp-skel-lines{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.vp-skel-line{height:10px;border-radius:var(--radius-chip);background:linear-gradient(90deg,var(--color-surface-selected) 0,var(--color-surface-hover) 45%,var(--color-surface-selected) 90%);background-size:220% 100%;animation:svc-shimmer 1.5s linear infinite}.vp-skel-line.is-title{height:14px;width:72%}.vp-skel-line.is-meta{width:48%}.vp-skel-line.is-short{width:34%}.vp-skel-price{height:18px;margin-top:auto;width:56%;border-radius:var(--radius-chip);background:var(--color-surface-selected);animation:svc-pulse 1.4s var(--motion-ease-in-out,ease-in-out) infinite}@keyframes svc-skeleton-out{to{opacity:0;visibility:hidden}}@keyframes svc-cards-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes svc-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes svc-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.svc-skeleton{display:none}.svc-results .vp-grid,.vp-skel-line,.vp-skel-media,.vp-skel-price{animation:none}}.svc-media{position:relative;height:140px;display:grid;place-items:center;background:var(--color-surface-subtle);border-bottom:var(--border-width-hairline) solid var(--color-border);font-size:40px}.svc-media img{width:100%;height:100%;object-fit:cover;display:block}.svc-card-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex:1 1}.svc-card-title{font:600 var(--font-size-body)/var(--line-height-ui) var(--font-body);color:var(--color-text-strong)}.svc-card-meta{display:flex;flex-direction:column;gap:var(--space-1);margin-top:auto}.svc-price{font:500 var(--font-size-body)/var(--line-height-ui) var(--font-body);color:var(--color-text)}.svc-location,.svc-rating{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-label)}.svc-verified{display:inline-flex;align-items:center;gap:var(--space-1);align-self:flex-start;padding:2px var(--space-2);border-radius:var(--radius-chip);background:var(--color-accent-surface);color:var(--color-accent-hover);font:600 var(--font-size-caption)/var(--line-height-ui) var(--font-body)}.svc-count{color:var(--color-text-muted);font-size:var(--font-size-caption);margin-bottom:var(--space-4)}.svc-detail{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6);align-items:start}@media (min-width:1024px){.svc-detail{grid-template-columns:minmax(0,1fr) 340px}}.svc-gallery{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.svc-gallery-main{position:relative;height:min(420px,46vw);min-height:240px;display:grid;place-items:center;border:var(--border-width-hairline) solid var(--color-border);border-radius:var(--radius-thumb);overflow:hidden;background:var(--color-surface-subtle);font-size:64px}.svc-gallery-main img{width:100%;height:100%;object-fit:cover}.svc-detail-title{margin:var(--space-6) 0 var(--space-2);font:400 var(--font-size-display)/var(--line-height-tight) var(--font-heading);letter-spacing:-.04em;color:var(--color-text-strong)}@media (max-width:1023px){.svc-detail-title{font-size:var(--font-size-display-mob)}}@media (max-width:600px){.svc-detail-title{font-size:var(--font-size-title)}}.svc-detail-desc{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:pre-line}.svc-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.svc-tag{padding:var(--space-1) var(--space-2);border-radius:var(--radius-chip);background:var(--color-surface-selected);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.svc-stats{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-4) 0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-label)}.svc-stats b{display:block;color:var(--color-text);font-weight:600;font-size:var(--font-size-body-sm);margin-top:2px}.svc-order-card{position:-webkit-sticky;position:sticky;top:72px}.svc-order-price{font:400 28px/1 var(--font-heading);color:var(--color-text-strong)}.svc-order-unit{color:var(--color-text-muted);font-size:var(--font-size-body-sm)}.svc-order-note{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-body)}.svc-breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.svc-breadcrumb a{color:var(--color-text-muted);font-size:var(--font-size-label);text-decoration:none}.svc-breadcrumb a:hover{color:var(--color-text);text-decoration:underline}.svc-breadcrumb span{color:var(--color-text-soft);font-size:var(--font-size-label)}@media (max-width:600px){.svc-grid{grid-template-columns:1fr}.svc-order-card{position:static}}.artisan-profile-card{margin-bottom:var(--space-8)}.artisan-profile-head{display:flex;align-items:flex-start;gap:var(--space-4)}.artisan-avatar{flex:0 0 auto}.artisan-avatar .ui-avatar{width:64px;height:64px;font-size:var(--font-size-title)}.artisan-profile-id{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0}.artisan-profile-name{margin:0;font:400 var(--font-size-display)/var(--line-height-tight) var(--font-heading);letter-spacing:-.04em;color:var(--color-text-strong)}@media (max-width:1023px){.artisan-profile-name{font-size:var(--font-size-display-mob)}}@media (max-width:600px){.artisan-profile-name{font-size:var(--font-size-title)}}.artisan-profile-badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.artisan-profile-bio,.artisan-profile-stats{margin:var(--space-5) 0 0}.artisan-profile-bio{padding-top:var(--space-4);border-top:var(--border-width-hairline) solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:pre-line}.artisan-services{margin-top:var(--space-8)}.artisan-services-title{margin:0 0 var(--space-4);font:400 var(--font-size-title-sm)/var(--line-height-tight) var(--font-heading);letter-spacing:-.02em;color:var(--color-text-strong)}@media (min-width:1024px){.artisan-services-title{font-size:var(--font-size-display-mob)}}.artisan-empty-action{display:flex;justify-content:center;margin-top:var(--space-2)}.svc-artisan-card{margin-top:var(--space-4)}.svc-artisan-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.svc-artisan-id{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.svc-artisan-id strong{font:600 var(--font-size-body-sm)/var(--line-height-ui) var(--font-body);color:var(--color-text-strong)}.svc-artisan-meta{color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-ui)}.svc-artisan-link{display:inline-flex;align-items:center;font:500 var(--font-size-label)/1 var(--font-body);color:var(--color-accent);text-decoration:none}.svc-artisan-link:hover{text-decoration:underline}.svc-artisan-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--space-0-5)}.svc-chip{transition:transform var(--motion-duration-quick) var(--motion-ease-out),background var(--motion-duration-quick),border-color var(--motion-duration-quick),color var(--motion-duration-quick),opacity var(--motion-duration-quick)}.svc-chip:active{transform:scale(.98)}@keyframes chip-in{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}@keyframes chip-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateX(-6px)}}.svc-chips .svc-chip:not(.svc-chip--filters):not(.svc-chip--summary){animation:chip-in .2s var(--motion-ease-out) both;animation-delay:calc(var(--chip-i, 0) * 22ms)}.svc-chips.is-closing .svc-chip:not(.svc-chip--filters):not(.svc-chip--summary){animation:chip-out .16s var(--motion-ease-out) both;animation-delay:calc((var(--chip-n, 1) - var(--chip-i, 0)) * 18ms)}.svc-chip span[aria-hidden]{display:inline-block;transition:transform var(--motion-duration-quick) var(--motion-ease-out)}.svc-chip:not(.is-selected):hover span[aria-hidden]{transform:translateY(-2px)}.svc-chip:hover{transform:translateY(-1px)}@keyframes chip-pulse{0%{box-shadow:0 0 0 0 var(--color-focus-ring)}to{box-shadow:0 0 0 7px transparent}}.svc-chips .svc-chip.is-selected{animation:chip-pulse .42s var(--motion-ease-out) 60ms}.svc-chips .svc-chip:not(.is-selected):not(.svc-chip--filters){opacity:.7}.svc-chips .svc-chip:not(.is-selected):not(.svc-chip--filters):focus-visible,.svc-chips .svc-chip:not(.is-selected):not(.svc-chip--filters):hover{opacity:1}@media (prefers-reduced-motion:reduce){.svc-chip,.svc-chip span[aria-hidden],.svc-chips .svc-chip{animation:none!important;transform:none!important;opacity:1!important}}.svc-gallery-main .cover-fallback,.svc-media .cover-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:34px;color:var(--color-text-muted);background:var(--color-surface-subtle)}